Forum Discussion

MrMichael's avatar
MrMichael
Frequent Visitor
4 years ago
Solved

Remove Variable filter context

Hi, 

 

I am calculating earned premium up till a specific date using the variable "LatestReportingDate".
However, when using this variable, the filter context "YOA <= 2020" is kept. 

Earned = 

VAR LatestReportingDate = 

CALCULATE(MAX(TABLE[ReportingPeriodStartDate]),
FILTER(TABLE, TABLE[YOA] <= 2020))

RETURN CALCULATE(SUM(TABLE[EarnedPremium]),
FILTER(TABLE, TABLE[ReportingPeriodStartDate] = LatestReportingDate)
)

When visualizing 

Class12
YOAEarned Earned
2019xxxxxx
2020xxxxxx
2021BLANKBLANK
2022BLANKBLANK


It seems the filter context from LatestReportingPeriod spills over such that earned is not calculated for 2021 and 2022 YOA. 
I have tried using ALL, ALLEXCEPT to no avail. This also removes connections in the model, which I do not want. 

 

  • Hi MrMichael 
    The LatestReportingDate will return the last available date in in current filter context only if the year is 2020 or less. In the case of the year 2021 it will return blank. In this case the measure will also return blank as there is no blank date in your table. 
    You can FILTER ( ALL ( Table ), ..... in both measures but the best way to achieve what you need is the have a date table.

4 Replies

  • tamerj1's avatar
    tamerj1
    Community Champion

    Hi MrMichael 
    The LatestReportingDate will return the last available date in in current filter context only if the year is 2020 or less. In the case of the year 2021 it will return blank. In this case the measure will also return blank as there is no blank date in your table. 
    You can FILTER ( ALL ( Table ), ..... in both measures but the best way to achieve what you need is the have a date table.

    • MrMichael's avatar
      MrMichael
      Frequent Visitor

      Thank you. 
      However, I find that using ALL on both measures, removes connections in my model which makes earned premium the same for all years. 

      • tamerj1's avatar
        tamerj1
        Community Champion

        MrMichael 
        This is why I advised you to use a date table. This will give you the freedom to filter without the need for sophisticated dax code.