BI 工具中的时间智能

Time intelligence in BI tools

在诸如 DAX 之类的语言中,有一整页 functions 与(或多或少)创建各种 start/end 日期的日期表有关。例如:

DATESMTD Returns a table that contains a column of the dates for the month to date, in the current context.

这个的主要用途是什么?

假设您想创建一个切片器,其中 select 一个日期,并希望将月至今、季初至今和年初至今的总计显示为单独的指标。

您不必手动编写这些期初至今指标的逻辑,只需编写:

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/