问题描述
在 DAX 等语言中,有一整页 functions 与(或多或少)创建各种开始/结束日期的日期表相关。例如:
DATESMTD
返回一个表,其中包含当前上下文中当月至今的日期列。
它的主要用途是什么?
解决方法
假设您要创建一个切片器,您可以在其中选择一个日期并希望将本月至今、本季度至今和年初至今的总计显示为单独的指标。
您不必手动编写这些期间至今指标的逻辑,只需编写:
TotalMTD = CALCULATE ( [Total],DATESMTD ( 'Date'[Date] )
TotalQTD = CALCULATE ( [Total],DATESQTD ( 'Date'[Date] )
TotalYTD = CALCULATE ( [Total],DATESYTD ( 'Date'[Date] )
而不必编写更像这样的东西:
TotalQTD =
VAR SelectedDate =
SELECTEDVALUE ( 'Date'[Date] )
VAR QuarterStart =
EOMONTH ( SelectedDate,- MOD ( MONTH ( SelectedDate ) - 1,3 ) - 1 )
RETURN
CALCULATE (
[Total],'Date'[Date] <= SelectedDate,'Date'[Date] > QuarterStart
)
有关时间智能使用的更多示例,请参见此处:
https://www.daxpatterns.com/standard-time-related-calculations/