Forum Discussion

JeanMariePBI's avatar
JeanMariePBI
Helper I
4 years ago
Solved

Incorrect Total in Measure

Hello,   

The total in my measure for "Elasticity" is incorrect and it is still calculating rows that I have tried to filter out.   I need the total in the measure to only calculate the rows that have "Dir Customer PP Count" > 3.  This is a snapshot of the table before I added the >3 logic:

This is the table after >3 logic added:

The total elasticity remains unchanged at 0.81.  The measure is working correctly at the row level by not calculating elasticity for rows w>3 PP but the total is incorrect

.

This is the logic for the elasticity calculation:

With this calculation, I can't create another measure to do a sumx(values... or avgx(values.....  I need the calculation to be performed at the total level using only qualified rows that have >3 PP

Still fairly new to BI, any help would be greatly appreciated.

 

  • Hi JeanMariePBI ,

     

    In general for this problem, try to use the sumx function for accumulation, similar to the following.

    M =
    VAR a =
        CALCULATE ( COUNTROWS ( 'Table' ), ALLEXCEPT ( 'Table', 'Table'[ID] ) )
    RETURN
        IF ( a > 2, SUM ( 'Table'[Value] ), BLANK () )
    
    M_ = SUMX('Table',[M])


    If the problem is still not resolved, please provide detailed error information and test data. Looking forward to your reply.


    Best Regards,
    Henry


    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

2 Replies

  • davehus's avatar
    davehus
    Memorable Member

    Hi JeanMariePBI ,

     

    Try for the last line of code

     

    Sumx(Firstnonblank(DimensionColumn,1), ifstatement on last line)

     

  • v-henryk-mstf's avatar
    v-henryk-mstf
    Community Support

    Hi JeanMariePBI ,

     

    In general for this problem, try to use the sumx function for accumulation, similar to the following.

    M =
    VAR a =
        CALCULATE ( COUNTROWS ( 'Table' ), ALLEXCEPT ( 'Table', 'Table'[ID] ) )
    RETURN
        IF ( a > 2, SUM ( 'Table'[Value] ), BLANK () )
    
    M_ = SUMX('Table',[M])


    If the problem is still not resolved, please provide detailed error information and test data. Looking forward to your reply.


    Best Regards,
    Henry


    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.