【问题标题】:Time intelligence in BI toolsBI 工具中的时间智能
【发布时间】:2020-12-19 04:56:28
【问题描述】:

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

DATESMTD 返回一个表,其中包含当前上下文中当月至今的日期列。

这个的主要用途是什么?

【问题讨论】:

    标签: excel powerbi dax business-intelligence powerpivot


    【解决方案1】:

    假设您要创建一个切片器,您可以在其中选择一个日期并希望将本月至今、本季度至今和年初至今总计显示为单独的指标。

    您不必手动编写这些周期至今指标的逻辑,您可以简单地编写:

    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/

    【讨论】:

    • 谢谢,您能否展示一个图形或类似上面在 Excel 或 PowerBI 中的样子?
    • 我一直在创造这样的东西:i.stack.imgur.com/tTVCm.png
    • 太棒了,谢谢,你能展示一下日期过滤器/切片器的样子吗?这是有人可以在 start_date 中输入的东西吗?结束日期?从各种“检查点日期”中选择?基本上,我只是好奇这与 YEAR(NOW()) - NOW() 的静态计算有何不同,例如 YTD。
    • 在这种情况下,切片器仅用于结束日期(来自下拉列表),因为开始日期因度量而异。您的建议不起作用,因为它是一个整数减去日期时间。
    • 我明白了,如果我理解正确(使用 SQL 等价物),那就是这样了——imgur.com/a/7GFmuJI ?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多