# Calculation help

265
3
05-27-2020 12:02 PM
New Contributor

Good Afternoon I am building a Water Quality field data sheet and I am hoping someone can help me out.  Our water Quality crews go out and take up to 4 but not always 4 could be 3,2,or 1 measurements.  After taking the measurements they perform a calculation to determine if the measurements are within 10% of each other.  The calculation I have come up with is below.  I am wondering how if there is a way to make it so the value returned is always positive.  For example is the first measurement is 5.7 and the second is 6.2 the value returned is -8.403361344537814. I would like it to be returned as a positive number.  I am also wondering if there is a way to control the number of decimal places that are returned.

(\${secchi_depth} - \${secchi_depth_a}) div ((\${secchi_depth} + \${secchi_depth_a}) div 2) *100

Thanks

Dan Senner

Tags (1)
1 Solution

Accepted Solutions
New Contributor

There doesn't seem to be support for an absolute value function, so I've gotten around that by taking the second power and then the square-root so that it is always positive. (sqrt(pow((YOUR_FORMULA),2))

To control the decimal places use round(sqrt(pow((YOUR_FORMULA),2)),3) -in this case it's rounding it to 3 decimal places.

3 Replies
New Contributor

There doesn't seem to be support for an absolute value function, so I've gotten around that by taking the second power and then the square-root so that it is always positive. (sqrt(pow((YOUR_FORMULA),2))

To control the decimal places use round(sqrt(pow((YOUR_FORMULA),2)),3) -in this case it's rounding it to 3 decimal places.

New Contributor

Hi Katherine, thank you for the above recommendation.  When I tried to use this example round(sqrt(pow((YOUR_FORMULA),2)),3) I keep getting unbalanced brackets and I cannot seem to figure out what I am doing wrong.  I put my formula in from above where you say to put it but no luck.  Any additional help or guidance with this would be appreciated.

Thanks

Dan

MVP Notable Contributor

I did mine with an if instead.

from a repeat of shots

if(sum(\${ElevationChange1})>0, sum(\${ElevationChange1}), sum(\${ElevationChange1}) * -1)

then compare across passes

100* ((\${TotalElevationChangePass1} - \${TotalElevationChangePass2}) div \${TotalElevationChangePass1})

Again the negative in a hidden field just to make it easier to read

if(\${SumCalc} > 0, round(\${SumCalc},1), round(\${SumCalc}*-1,1))

Then I have a note

Pass 3 is needed  with a relevant of  \${SumCompare} > 10 " Pass 1 and Pass 2 are not within 10%"

Seems to be working so far.

Hope that helps.