Forum Discussion
Calculated average value isnt correct
- Anonymous4 years ago
Anonymous , that's interesting. Try adding some more debug code. I'm interested to see if the two methods you use to refer to [H2SO4 kg/d] give the same result.
VAR H2SO4measure = [H2SO4 kg/d] VAR H2SO4column = CALCULATE ( SUMX ( ImportOfLIMS, 'ImportOfLIMS'[H2SO4 kg/d] ) ) VAR Bleed = [APL Bleed m3/day] VAR H2SO4mg = [H2SO4 mg/l] RETURN FORMAT(MINX(MostRecentDates, [Date]), "YYYYMMDD") & " ; " & FORMAT(MAXX(MostRecentDates, [Date]), "YYYYMMDD") & " ; " & MINX(MostRecentDates, [@H2SO4]) & " ; " & MAXX(MostRecentDates, [@H2SO4]) & " ; " & FORMAT(Result, "0.00") & " ; " & FORMAT(H2SO4measure, "0.00") & " ; " & FORMAT(Bleed, "0.00") & " ; " & FORMAT(H2SO4mg, "0.00")If 'ImportOfLIMS'[H2SO4 kg/d] is actually a measure and not a column, then I believe you can change the [Avg_10_H2SO4_(kg/d)] to refer to it like this below. ADDCOLUMNS is an iterator and will calculate the expression for "@H2SO4" for every row in the AllDatesPrior table variable, so there is no need for a SUMX or CALCULATE.
VAR AllDates_H2SO4 = ADDCOLUMNS ( AllDatesPrior, //"@H2SO4", CALCULATE ( SUMX ( ImportOfLIMS, 'ImportOfLIMS'[H2SO4 kg/d] ) ) "@H2SO4", [H2SO4 kg/d] )Incidentally, from the raw data, what actually is the correct result for 21 Jun?
Anonymous , it looks like your [H2SO4 kg/d] and [Avg_10_H2SO4_(kg/d)] measures in the column above are calculated slightly differently.
The [H2SO4 kg/d] measure is using data from [H2SO4 mg/l] * [APL Bleed m3/day],
but the [Avg_10_H2SO4_(kg/d)] measure is averaging the SUMX of the column 'ImportOfLIMS'[H2SO4 kg/d].
Are you sure this is exactly the same data?
Is 'ImportOfLIMS'[H2SO4 kg/d] a column in a source table, or it is the measure defined in your post?
To help look at what is being produced by the measure more closely, you could try replaceing the "RETURN NoBlanks" in your measure with this:
RETURN
FORMAT(MINX(MostRecentDates, [Date]), "YYYYMMDD")
& " ; " & FORMAT(MAXX(MostRecentDates, [Date]), "YYYYMMDD")
& " ; " & MINX(MostRecentDates, [@H2SO4])
& " ; " & MAXX(MostRecentDates, [@H2SO4])
& " ; " & FORMAT(Result, "0.00")and this will give you some "debug" output to analyse.
- Anonymous4 years agoNot applicable
Thanks for you comment. I followed your advice and the output for june 21st = minn 2595 and maxx also 2595
also you said that "the [Avg_10_H2SO4_(kg/d)] measure is averaging the SUMX of the column 'ImportOfLIMS'[H2SO4 kg/d]."am I averaging the column or the row by row in the column? My intention was the 2nd.
- Anonymous4 years agoNot applicable
Anonymous , that's interesting. Try adding some more debug code. I'm interested to see if the two methods you use to refer to [H2SO4 kg/d] give the same result.
VAR H2SO4measure = [H2SO4 kg/d] VAR H2SO4column = CALCULATE ( SUMX ( ImportOfLIMS, 'ImportOfLIMS'[H2SO4 kg/d] ) ) VAR Bleed = [APL Bleed m3/day] VAR H2SO4mg = [H2SO4 mg/l] RETURN FORMAT(MINX(MostRecentDates, [Date]), "YYYYMMDD") & " ; " & FORMAT(MAXX(MostRecentDates, [Date]), "YYYYMMDD") & " ; " & MINX(MostRecentDates, [@H2SO4]) & " ; " & MAXX(MostRecentDates, [@H2SO4]) & " ; " & FORMAT(Result, "0.00") & " ; " & FORMAT(H2SO4measure, "0.00") & " ; " & FORMAT(Bleed, "0.00") & " ; " & FORMAT(H2SO4mg, "0.00")If 'ImportOfLIMS'[H2SO4 kg/d] is actually a measure and not a column, then I believe you can change the [Avg_10_H2SO4_(kg/d)] to refer to it like this below. ADDCOLUMNS is an iterator and will calculate the expression for "@H2SO4" for every row in the AllDatesPrior table variable, so there is no need for a SUMX or CALCULATE.
VAR AllDates_H2SO4 = ADDCOLUMNS ( AllDatesPrior, //"@H2SO4", CALCULATE ( SUMX ( ImportOfLIMS, 'ImportOfLIMS'[H2SO4 kg/d] ) ) "@H2SO4", [H2SO4 kg/d] )Incidentally, from the raw data, what actually is the correct result for 21 Jun?
- Anonymous4 years agoNot applicable
The correct result is 2471.
after applying the debug code I get:
your suggestion to edit out the sumx from the ADDCOLUMNS did the trick!
VAR AllDates_H2SO4 = ADDCOLUMNS ( AllDatesPrior, //"@H2SO4", CALCULATE ( SUMX ( ImportOfLIMS, 'ImportOfLIMS'[H2SO4 kg/d] ) ) "@H2SO4", [H2SO4 kg/d] )after this I do get the right result: 2471.
I still don't really comprehend how that would matter and where the difference comes from. I feel like if I don't fully understand this i'l keep on making this same mistake in the future.
you said: "ADDCOLUMNS is an iterator and will calculate the expression for "@H2SO4" for every row in the AllDatesPrior table variable, so there is no need for a SUMX or CALCULATE."
I didn't know that ADDCOLUMNS automatically goes over every row just like SUMX. but does that explain the difference in value? if so, how exactly?