Forum Discussion
I Don't Understand a DAX Component.
Hi, I have this DAX SUMMARIZE statement but I don't understand what the final component of it is telling me (in bold) [ABS Diff].
Gross Variance = SUMX(SUMMARIZE('Group Mapping','Group Mapping'[Group2],"ABS Diff",ABS(SUM('Orders'[Ordered])-SUM('Deliveries'[Delivered]))),[ABS Diff])
Thanks.
Abs Diff inside SUMMARIZE is a virtual column. Outside that, it is a virtual column being aggregated. You cannot output a column as is in a measure - it should always return a scalar value ( min, max, sum, average, fist text string, last text string, earliest date, latest date, etc. ), not multiple rows.
3 Replies
- danextian
Super User
Hi 1001
Gross Variance = SUMX ( SUMMARIZE ( 'Group Mapping', 'Group Mapping'[Group2], "ABS Diff", ABS ( SUM ( 'Orders'[Ordered] ) - SUM ( 'Deliveries'[Delivered] ) ) ), [ABS Diff] )Hi 1001 ,
X functions are iterator functions. They iterate over a table or a virtual table (an expression that returns a table). What is wrapped in SUMMARIZE function is a virtual table with a column called ABS Diff for each distinct item in Group2. SUMX now then sums up ABS Diff. If there are two distinct Group2 items based on the current filter context wherein item1 is 5 and item2 is 7, SUMX returns 12.
- 1001
Resolver II
I think the final ABS Diff is outputting my calculation as a column. Is that correct?
- danextian
Super User
Abs Diff inside SUMMARIZE is a virtual column. Outside that, it is a virtual column being aggregated. You cannot output a column as is in a measure - it should always return a scalar value ( min, max, sum, average, fist text string, last text string, earliest date, latest date, etc. ), not multiple rows.