You can use following method (espesially if holes count less then example 20).
1. Create cylinder.
2. Create datum axis along cylinder axis.
3. Create first hole (using sketch, hole feature or another method).
4. Position WCS with X axis along cylinder axis.
5. Create linear feature array hole along X axis (along cylinder axis) with increments along cylinder axis. Example you need create 15 holes. If increment not constant - use clock instance along X.
6. Then fill you array holes using "simplify" feature or another method (remove faces of array holes).
7. Enter expression for angle increment - example "alfa=25".
8. For even hole in linear array (holes not visible, because filling - and you must select his in features list) create circular array with 2 hole , around datum axis (cylinder axis). For first hole enter angle "angle*1", for second "angle*2", ... ( increments around the circumference). You must create 15 circular arrays.
9. For decrease model tree, group holes with "group" feature wiht "hide members" options.
This fully parametrized method, but add or remove hole in helical pattern you must manual - in steps 5 and 8.
For better work you can use spreadsheet with defined expressions range.