DAX设计模式(第2版)
上QQ阅读APP看书,第一时间看更新

大多数时间智能计算不应显示最后有效日期之后的日期值。例如,年初至今的计算也可以显示未来日期的值,但是我们想要将其隐藏。这些示例中使用的数据集在2009年8月15日结束。因此,我们将月份“August 2009”、2009年第三季度“Q3-2009”和年份“2009”视为数据的最后时间段。2009年8月15日以后的任何日期都被视为未来,我们想要隐藏未来值。

为了避免显示未来日期的结果,我们使用ShowValueForDates度量值。

如果所选的时间段不是在数据的最后一个时间段之后,则ShowValueForDates返回TRUE。

Date表中的度量值(隐藏)

ShowValueForDates :=
VAR LastDateWithData =
    CALCULATE ( 
        MAX ( 'Sales'[Order Date] ), 
        REMOVEFILTERS () 
    )
VAR FirstDateVisible =
    MIN ( 'Date'[Date] )
VAR Result = 
    FirstDateVisible <= LastDateWithData
RETURN
    Result

ShowValueForDates度量值是隐藏的。这是一项技术措施,目的是在许多与时间相关的不同计算中实现重复使用同一逻辑,并且用户不应直接在报告中使用ShowValueForDates。