Hi @eddie_nunezt on the first bit of your question, you could use hidden fields under points to generate the ranges for each type then a case formula on value to select the correct one:
case dataType when 'fire' then __firevalue when 'air' then __airvalue when 'water' then __watervalue end
On your second query:
I imagine each of your different ranges may have different rules about incrementing - you have several options, custom list, dataset, or some function based on rownumber of the points array (look at your other query - How to have timestamp using UTC with each timestamp 3 minutes apart with the latest being the current time? - #10 by mp_np - for an example of that). You might need to be more specific about how they should increment.