Forum Discussion

WishAskedSooner's avatar
WishAskedSooner
Continued Contributor
2 years ago
Solved

Weighted Average on Narrow Table Using DAX Measure

My Fact Table is quite narrow with a few Dimension tables (think EAV model if you are familiar with dB architecture). Let's say I have the following 'Fact' table:   EntryID AttrID Value 1 ...
  • Anonymous's avatar
    Anonymous
    2 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.