在calculate函数中用 ALL( 'Dim_Calendar' )

Axis_X_SM_Tgt = 
VAR Sele_Month = SELECTEDVALUE( 'Axis_X_Dec 3 75'[Sort] )
VAR Sele_Year = MAX( 'Dim_Calendar'[Calendar Year] )
RETURN
SWITCH(
    SELECTEDVALUE( 'Axis_X_Dec 3 75'[Sort] ),
    13,[D_3.75_Y_SM_Tgt],
    CALCULATE( [D_3.75_SM_Tgt],'Dim_Calendar'[Calendar Month Num] = Sele_Month,'Dim_Calendar'[Calendar Year] = Sele_Year,ALL( 'Dim_Calendar' ) )

以上代码的整体作用

这个度量值计算的逻辑如下:

  1. 移除 Dim_Calendar 表的所有筛选上下文:通过 ALL('Dim_Calendar'),这个度量值忽略了任何已经应用于 Dim_Calendar 表的现有筛选条件。
  2. 应用新的筛选条件:接下来,它应用 Sele_MonthSele_Year 这两个新的筛选条件,指定计算目标度量值时所需的月份和年份。
  3. 计算目标度量值 [D_3.75_SM_Tgt]:在上述筛选条件下计算 [D_3.75_SM_Tgt]

实际应用场景

这个度量值可能在以下场景中使用:

  • 你需要在报表中显示特定月份和年份的目标值,而不受其他时间筛选器的影响。
  • 你想确保度量值计算时只考虑特定的月份和年份,忽略任何其他日期筛选。
posted @ 2024-07-04 14:06  白云~  阅读(7)  评论(0编辑  收藏  举报