To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.
Hi all,
I've been trying to compute a weighted average of Roll Throughput Yield (RTY) using a DAX Measure, this would ideally compute at aggregations across multiple days and production lines. I'm sure this is possible, but I haven't been able to make it work yet. The particular problem I'm seeing is forcing the correct order of operations in the Measure. I have tried using SUMMARIZE inside the measure to pre-aggregate the calculations as well as also working from the Quick Measure Weighted average, but I've not been able to make either method work.
The desired result is like in the Excel screenshot below:
1-Jan | Line1 | A | 25 | 25 | |
1-Jan | Line1 | B | 23 | 26 | |
1-Jan | Line1 | C | 20 | 25 | TRUE |
2-Jan | Line1 | A | 20 | 25 | |
2-Jan | Line1 | B | 23 | 25 | |
2-Jan | Line1 | C | 24 | 24 | TRUE |
1-Jan | Line2 | A | 23 | 27 | |
1-Jan | Line2 | B | 23 | 26 | |
1-Jan | Line2 | C | 20 | 24 | TRUE |
2-Jan | Line2 | A | 20 | 25 | |
2-Jan | Line2 | B | 23 | 26 | |
2-Jan | Line2 | C | 21 | 23 | TRUE |
Solved! Go to Solution.
I was ultimately able to determine the right function. You need to pre-calculate the table then group by and calculate. That will ensure the correct order of operations.
RTY Summary =
var opSummary =
SUMMARIZE(
FTT
,[LINE],[OPERATIONNAME],[DATE],[Key Station]
,"FPY",DIVIDE(SUMX(FTT,[PASS]),SUMX(FTT,[TOTAL]),0)
,"TOTAL",sumx(ftt,[TOTAL])
,"KEY_TOTAL",sumx(FILTER(ftt,[Key Station]=True),[TOTAL])
)
var lineSummary =
GROUPBY(opSummary,[LINE],[DATE]
,"RTY",PRODUCTX(CURRENTGROUP(),[FPY])
,"LINE_TOTAL",SUMX(CURRENTGROUP(),[KEY_TOTAL])
)
return
CALCULATE(
DIVIDE(
SUMX(lineSummary,[RTY]*[LINE_TOTAL]),
SUMX(lineSummary,[LINE_TOTAL])
)
)
I was ultimately able to determine the right function. You need to pre-calculate the table then group by and calculate. That will ensure the correct order of operations.
RTY Summary =
var opSummary =
SUMMARIZE(
FTT
,[LINE],[OPERATIONNAME],[DATE],[Key Station]
,"FPY",DIVIDE(SUMX(FTT,[PASS]),SUMX(FTT,[TOTAL]),0)
,"TOTAL",sumx(ftt,[TOTAL])
,"KEY_TOTAL",sumx(FILTER(ftt,[Key Station]=True),[TOTAL])
)
var lineSummary =
GROUPBY(opSummary,[LINE],[DATE]
,"RTY",PRODUCTX(CURRENTGROUP(),[FPY])
,"LINE_TOTAL",SUMX(CURRENTGROUP(),[KEY_TOTAL])
)
return
CALCULATE(
DIVIDE(
SUMX(lineSummary,[RTY]*[LINE_TOTAL]),
SUMX(lineSummary,[LINE_TOTAL])
)
)
I've added the formula examples now. Thanks!
User | Count |
---|---|
14 | |
11 | |
6 | |
6 | |
5 |
User | Count |
---|---|
29 | |
17 | |
11 | |
7 | |
5 |