I'm trying to get hourly change from a measurement . I tried using *PIAdvCalcDat* with Calculation mode set to *Range* but this will only show all positive values (Max-Min). I need also to get negative values if measurement is going down. Please help!

The range will give you the Max-Min and should only ever be a positive number. From your post subject, it seems you might be interested in the first value minus the last value. To calculate the delta you can use syntax similar to tagval('sinusoid', '*') - tagVal('sinusoid', '*-1h') and use sampled data. If you need the range and want to know if if the max values is below zero, you could use PE statements and an IF statement to determine that or two datalink calls combined with Exele functions.

From your problem description, I am not exactly sure what problem you are trying to solve.