Forum Discussion

ShivGC's avatar
ShivGC
Helper I
1 year ago
Solved

Understanding a DAX Measure

Hi Everyone, 

I wrote a DAX Measure:

Count of Unique Colleagues with Compliance Rate =

VAR
UniqueColleaguesTable =
    SUMMARIZE(
        OriginalTable,
        OriginalTable[Colleague],
        "ComplianceRate",
        [Total Compliance Rate]
    )
I first performed a summarize because the data includes colleagues name repeating many time. 
VAR FilteredTable  =

FILTER(
    UniqueColleaguesTable,
    AND([Total Compliance Rate] >= 0.5, [Total Compliance Rate] < 1)
)
I then performed a filter on the siummairzed table, to get the compliance rate for each colleague
RETURN
    COUNTROWS(FilteredTable)

I then performed a countrows to get the count of employees that are compliant or not.

Question:
I wanted to understand why the Filter formula was able to read off [Total Compliance Rate] instead of [Compliance Rate] as I had renamed the column to that in the previous variable (UniqueColleaguesTable). 

  • ShivGC 

    In your DAX measure, the FILTER function is able to read [Total Compliance Rate] because it is referring to the measure [Total Compliance Rate] that exists in your data model, not the column you created in the SUMMARIZE function.

    When you use SUMMARIZE, you are creating a new table with a summarized view of your data, and you can add calculated columns to this table. However, these calculated columns are not directly accessible outside the context of the SUMMARIZE function. Instead, DAX continues to use the measures and columns defined in your data model.

4 Replies

  • ShivGC 

    In your DAX measure, the FILTER function is able to read [Total Compliance Rate] because it is referring to the measure [Total Compliance Rate] that exists in your data model, not the column you created in the SUMMARIZE function.

    When you use SUMMARIZE, you are creating a new table with a summarized view of your data, and you can add calculated columns to this table. However, these calculated columns are not directly accessible outside the context of the SUMMARIZE function. Instead, DAX continues to use the measures and columns defined in your data model.

    • ShivGC's avatar
      ShivGC
      Helper I

      Thank you for your response. 

      May I ask what you mean by data model?

      • bhanu_gautam's avatar
        bhanu_gautam
        Super User

        It means rest columns, measure and calculated columns in your report

         

        In your DAX measure, [Total Compliance Rate] is a measure that exists in your data model. When you reference [Total Compliance Rate] in your FILTER function, DAX understands it as the measure defined in your data model, not the column you created in the SUMMARIZE function. This is why the filter works correctly.