Forum Discussion

Imi_Jay's avatar
Imi_Jay
Copper Contributor
Jun 07, 2022
Solved

DAX Question

I have a pivot table created through the data model. I am using measures on the pivot as columns.
Actual and Active are measures.
I want to calculate the total of Actuals where Active >0.
What DAX formula to use ? I couldn't use calculate as filters didn't take >0 as a filter. Thanks in advance!

 

  • Imi_Jay 

    Perhaps like this

    where

    # of Active :=
    CALCULATE (
        COUNT ( Data_AO[Student] ),
        Data_AO[Status] = "Active"
    )
    
    ////////////
    # of Complete :=
    CALCULATE (
        COUNT ( Data_AO[Student] ),
        Data_AO[Status] = "Complete"
    )
    
    ///////////
    # of Actual :=
    [# of Active] + [# of Complete]
    
    //////////
    # of Active Actual :=
    IF (
        HASONEVALUE ( Data_AO[Group No] ),
        [# of Actual],
        SUMX (
            SUMMARIZE (
                Data_AO,
                Data_AO[Group No],
                "actives", CALCULATE ( COUNTROWS ( Data_AO ), Data_AO[Status] = "Active" ),
                "completed", CALCULATE ( COUNTROWS ( Data_AO ), Data_AO[Status] = "Complete" )
            ),
            IF ( [actives], [actives] + [completed], 0 )
        )
    )
    
    

10 Replies

  • Imi_Jay 

    For such model

    assuming you [Actual] and [Active] measures are like

    Actual:=SUM( Table1[Actual value] )
    Active:=SUM( Table1[Active value] )

    Actual with totals for Active only could be

    Actual Active :=
    IF (
        HASONEVALUE ( Table1[Active value] ),
        [Actual],
        CALCULATE ( [Actual], Table1[Active value] > 0 )
    )
    
    • Imi_Jay's avatar
      Imi_Jay
      Copper Contributor
      My measure are different to what you have produced. Apologies I didn't explain the data set well. In the data set there is a column "Status" which has "active and completed as status.

      Hence my measure are as follows,
      Measure "Active" = CALCULATE(COUNT(Data_AO[Student]),Data_AO[Status]="Active")
      Measure "Complete" = CALCULATE(COUNT(Data_AO[Student]),Data_AO[Status]="Complete")

      There is no column as such "Active" or complete. In that case how can I write the formula. That's where I'm stuck. Thanks for the help!
  • Riny_van_Eekelen's avatar
    Riny_van_Eekelen
    Platinum Contributor

    Imi_Jay Like this perhaps?

    Measure used:

     

    =CALCULATE(SUMX(Table1,Table1[Actual]),Table1[Active]>0)

     

     

    =CALCULATE(sumx(Table1,Table1[Actual]),Table1[Active]>0)

    • Imi_Jay's avatar
      Imi_Jay
      Copper Contributor
      Sorry I took long to trail this. I get this error message,
      This formula is invalid or incomplete: 'Calculation error in measure 'Data_AO'[Current enrolment]: A function 'CALCULATE' has been used in a True/False expression that is used as a table filter expression. This is not allowed.'.

      Data_AO is your Table 1.

      This is what I tried before which didn't work

Resources