Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

Average from calculated measure

I have a calculated measure to return the date diff from from different rows based on job, status, and date. But I also need the measure to average when in Values field in the matrix visual.

Table 1:

Table 2:

Calucated Measure:

Days Confirmed to Shipped =

VAR M =

    CALCULATE(

        MAX('(a) Table 1’[changed_date]),

        FILTER(ALL('Table 1’),'Table 1’ [Job Id] = MAX(Table 1’[Job ID])),

        FILTER(

        'Table 2’,

            'Table 2’[name] = "Shipped"

            )  

    )

VAR N =

CALCULATE(

        MIN('Table 1’[changed_date]),

        FILTER(ALL('Table 1),'Table 1’[Job Id] = MAX(‘Table 1’[Job Id])),

        FILTER(

        'Table 2,

            'Table 2’[name] = "Confirmed"

            )  

    )

Return

    IF(m=MAX('(a) national_work_instance_status_change'[changed_date]),DATEDIFF(N,M,DAY),0)

 

Thank you in advance for your help.

2 Replies

  • Greg_Deckler's avatar
    Greg_Deckler
    Icon for Community Champion rankCommunity Champion

    Anonymous - Not entirely clear, but maybe this is a measure aggregation problem? See my blog article about that here: https://community.powerbi.com/t5/Community-Blog/Design-Pattern-Groups-and-Super-Groups/ba-p/138149

    The pattern is:
    MinScoreMeasure = MINX ( SUMMARIZE ( Table, Table[Group] , "Measure",[YourMeasure] ), [Measure])
    MaxScoreMeasure = MAXX ( SUMMARIZE ( Table, Table[Group] , "Measure",[YourMeasure] ), [Measure])
    AvgScoreMeasure = AVERAGEX ( SUMMARIZE ( Table, Table[Group] , "Measure",[YourMeasure] ), [Measure])
    etc.

  • Anonymous , try a formula like

     

    AverageX(summarize(Table, Table[Job Id], "_1", calculate(Max(Table[status_date]),table[status id] =2), "_2", calculate(Max(Table[status_date]),table[status id] =1)),
    datediff([_2],[_1],day))