Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Lookup / Unique Count Problem in DAX

Example Excel File with Data 

 

Hello!

 

I need help with the above file. I am trying to write a function within PowerPivot that will lookup 'Activity Code' from [Activity Info] and put the corresponding value 'Minutes to Complete' for each activity code. The end goal with this is to build a Pivot Table that will multiply the count of each activity code with the minutes it takes to complete that activity. This will be scaled up for each employee (this part of the model is working) so that I am able to measure workload.

 

I'm not entirely sure how the Pivot Table interacts with PowerPivot, so I would love any solution that results in a Pivot Table column containing the product of minutes spent on an activity with the count of said activity.

 

Thank you in advance!

  • Hello Anonymous !

     

    For this sort of calculation, I would suggest writing a measure that:

    1. Groups the 'Activity Report' table by ActivityInfo[Minutes to Complete]
    2. Iterates over this grouped table, multiplying ActivityInfo[Minutes to Complete] by the row count of 'Activity Report'.

    To do this, I would create two measures:

     

    Activity Count =
    COUNTROWS ( 'Activity Report' )
    Total Minutes =
    SUMX (
        SUMMARIZE( 'Activity Report', ActivityInfo[Minutes to Complete] ),
        ActivityInfo[Minutes to Complete]
            * [Activity Count]
    )

     

     

    You can then create a PivotTable with 'ActivityInfo'[Activity Code] on the rows, with the Total Minutes measure displayed.

     

    This measure should work correctly with any other filters you might want to apply.

     

    I've knocked this together in a copy of your Excel file, with a 2nd PivotTable displaying the two measures (attached).

     

    Is that the sort of thing you were looking for?

     

    Regards,

    Owen

2 Replies

  • Hello Anonymous !

     

    For this sort of calculation, I would suggest writing a measure that:

    1. Groups the 'Activity Report' table by ActivityInfo[Minutes to Complete]
    2. Iterates over this grouped table, multiplying ActivityInfo[Minutes to Complete] by the row count of 'Activity Report'.

    To do this, I would create two measures:

     

    Activity Count =
    COUNTROWS ( 'Activity Report' )
    Total Minutes =
    SUMX (
        SUMMARIZE( 'Activity Report', ActivityInfo[Minutes to Complete] ),
        ActivityInfo[Minutes to Complete]
            * [Activity Count]
    )

     

     

    You can then create a PivotTable with 'ActivityInfo'[Activity Code] on the rows, with the Total Minutes measure displayed.

     

    This measure should work correctly with any other filters you might want to apply.

     

    I've knocked this together in a copy of your Excel file, with a 2nd PivotTable displaying the two measures (attached).

     

    Is that the sort of thing you were looking for?

     

    Regards,

    Owen

    • Anonymous's avatar
      Anonymous
      Not applicable

      OwenAuger you beauty! This worked splendidly, I greatly appreciate your time and help!