Forum Discussion
Weighted Average on Narrow Table Using DAX Measure
- Anonymous2 years ago
Hi WishAskedSooner ,
First of all, many thanks to lbendlin for your very quick and effective replies.
Based on my testing, please try the following methods:
1.Create the simple table.
2.Create the new measure to calculate sum across all entry id.
Weighted Average = DIVIDE( SUMX( FILTER( 'Fact Table', RELATED('Dim Table'[Category]) = "A" ), 'Fact Table'[Value] * LOOKUPVALUE('Fact Table'[Value], 'Fact Table'[EntryID],'Fact Table'[EntryID], 'Dim Table'[Category], "B") ), CALCULATE(SUM('Fact Table'[Value]), ALL('Dim Table'), 'Dim Table'[Category] = "B") )3.Select the measure and edit the number of shown for the value.
4.Drag the measure into the card visual. The result is shown below.
You can also view the following links to learn about DAX function.
LOOKUPVALUE function (DAX) - DAX | Microsoft Learn
SUMX function (DAX) - DAX | Microsoft Learn
Best Regards,
Wisdom Wu
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Here is hopefully more meaningful data that fully describes my problem. I have three tables:
Fact
DimE joined on EID
DimA joined on AID
and the following Data Model:
What I am trying to do is multiply Category A with Category B (not Category C) for EID X. Repeat for EID Y. Then sum the individual results. I have created a Pivot to illustrate:
The final result would be 75 + 200 = 275. In other words, I am trying to do the following:
(5*15 + 10*20) = 275
I am hoping I can do this in a DAX measure versus having to actually pivot the Fact table to a new table.
I hope this makes more sense. Thanks in advance for the help!