Forum Discussion

pbrainard's avatar
pbrainard
Icon for Helper III rankHelper III
4 years ago
Solved

Measure not able to be used as Filter

I've got this measure which is working in the view. This is a calculated table.   DatesOkay = IF(MAX('CTab'[End Date]) > MAX('CTab'[Start Date]), "YES", "NO")     But when I add a Data Car...
  • bcdobbs's avatar
    bcdobbs
    4 years ago

    Adding this into your card visual I think should work:

     

    Distinct Ids With Okay Dates = 
    CALCULATE (
        DISTINCTCOUNT ( CTab[Client_Id] ),
        FILTER ( 
            CTab,
            CTab[End Date] > CTab[Start Date]
        )
    )

     

  • bcdobbs's avatar
    bcdobbs
    4 years ago

    Actually moving the logic into your calculated table will be more efficient:

    CTab =
    ADDCOLUMNS (
        ADDCOLUMNS (
            SUMMARIZE ( GAD_PHQ, GAD_PHQ[Client_ID], GAD_PHQ[Assess_Type] ),
            "Start Date", CALCULATE ( MIN ( GAD_PHQ[Assess_Date] ) ),
            "End Date", CALCULATE ( MAX ( GAD_PHQ[Assess_Date] ) )
        ),
        "Start Score",
            VAR _current_asset_type = GAD_PHQ[Assess_Type]
            VAR _current_start_date = [Start Date]
            RETURN
                CALCULATE (
                    AVERAGE ( GAD_PHQ[Assess_Score] ),
                    GAD_PHQ[Assess_Date] = _current_start_date,
                    GAD_PHQ[Assess_Type] = _current_asset_type
                ),
        "End Score",
            VAR _current_asset_type = GAD_PHQ[Assess_Type]
            VAR _current_end_date = [End Date]
            RETURN
                CALCULATE (
                    AVERAGE ( GAD_PHQ[Assess_Score] ),
                    GAD_PHQ[Assess_Date] = _current_end_date,
                    GAD_PHQ[Assess_Type] = _current_asset_type
                ),
    	"Dates Okay",
    		IF (
    			[End Date] > [Start Date],
    			"Yes",
    			"No"
    			)
    )

     

    The measure can then filter a plane distinct count or write a measure like:

    Distinct Ids With Okay Dates = 
    CALCULATE (
        DISTINCTCOUNT ( CTab[Client_Id] ),
        CTab[Dates Okay] = "Yes"
    )