Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
7 years ago
Solved

Incorrect Measure Total

Hi everyone!

 

Hope you can help me this time :)

 

I am performing the analysis and I need to show the correct total of the measure.

 

Here is an  example of the table on which I am working now and the column which I should calculate. This column is a measure (actions/hours). 

 

I tried to use this formula but ot doesnt give the correct total.

 

Total test =
var Actions = DIVIDE('General'[Actions],'General'[Total Hours],0)
return if
(HASONEFILTER('General'[Person]), Actions, sumx(values('General'[Person]),actions))
 
Thank you!!

 

  • Hi Anonymous,

     

    Change you measure to something like this

    Total test =
    VAR Actions =
        DIVIDE ( 'General'[Actions], 'General'[Total Hours], 0 )
    RETURN
        IF (
            HASONEFILTER ( 'General'[Person] ),
            Actions,
            SUMX ( ALLSELECTED ( 'General'[Person] ), Actions )
        )

     

    Regards,

    MFelix

  • Hi @dariadb,

     

    To wha I could get from your sample file your issue is regarding the way you calculate your measures so the best way is to create the following measures:

     

    Actions =
    IF (
        HASONEFILTER ( Table[Name] );
        DIVIDE ( [Actions Measure]; [Hours Measure]; 0 );
        SUMX (
            ALLSELECTED ( Table[Name] );
            DIVIDE ( [Actions Measure]; [Hours Measure]; 0 )
        )
    )

     

    Total hours Worked Total =
    IF (
        HASONEFILTER ( Table[Name] );
        [Hours Measure];
        SUMX ( ALLSELECTED ( Table[Name] ); [Hours Measure] )
    )
    

     

     

    The Actions Measure and Hours Measure are your two base measures that you can use to make the calculations.

     

    Regards,

    MFelix

     

8 Replies

  • Anonymous

     

    What's the purpose of using hasonefilter formula? I think  DIVIDE('General'[Actions],'General'[Total Hours],0) can work correct.

     

    Thanks and BR

    Ryan

    • Anonymous's avatar
      Anonymous
      Not applicable

      Because using just divide function it doesnt show the correct total of the column. 

      As there is a Person filter (for each row) I used hasonefilter to calculate total. 

  • Hi Anonymous,

     

    Change you measure to something like this

    Total test =
    VAR Actions =
        DIVIDE ( 'General'[Actions], 'General'[Total Hours], 0 )
    RETURN
        IF (
            HASONEFILTER ( 'General'[Person] ),
            Actions,
            SUMX ( ALLSELECTED ( 'General'[Person] ), Actions )
        )

     

    Regards,

    MFelix

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi MFelix,

       

      Thank you for your solution!

      However it gives me a strange total:

      • affan's avatar
        affan
        Solution Sage

        Hi Anonymous

         

        Can you share some base data or the pbix

         

        Regards

        Affan