You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Power BI技术问询:创建月度最后一天与每周周六数据度量值

没问题!针对你要在Power BI里创建的两个度量值,我给你整理了适配数据持续追加场景的DAX写法和逻辑说明:

一、每月最后一天各服务的统计数值度量值

因为数据会不断追加,我们需要动态获取当前筛选范围内的当月最后一天,而不是固定某个日期。假设你的业务数据表名为业务数据表,日期列是日期,需要统计的数值列是统计数值,服务分类列是服务名称,可以用下面的DAX创建度量值:

每月最后一天统计值 = 
VAR 当前月份最后一天 = EOMONTH(MAX('业务数据表'[日期]), 0)
RETURN
CALCULATE(
    SUM('业务数据表'[统计数值]),
    '业务数据表'[日期] = 当前月份最后一天
)

逻辑说明:

  • EOMONTH(MAX('业务数据表'[日期]), 0)会自动获取当前筛选范围内最新日期所属月份的最后一天,不管后续追加多少新数据,都会动态更新。
  • 如果你的统计需求不是求和,把SUM换成COUNTAVERAGE或者你需要的聚合函数即可。
  • 搭配服务名称列使用时,就能自动按服务分类展示每月最后一天的统计值。
二、每周最后一天(周六)的统计数值度量值

针对每周周六的数据统计,分两种场景给你提供写法:

场景1:获取当前筛选范围内最新一周的周六统计值

适合看板上固定展示最新周六的数据:

最新周六统计值 = 
VAR 当前筛选范围的周六 = 
    MAXX(
        FILTER(
            ALL('业务数据表'[日期]),
            WEEKDAY('业务数据表'[日期], 2) = 6 // 参数2表示周一=1,周六=6
        ),
        '业务数据表'[日期]
    )
RETURN
CALCULATE(
    SUM('业务数据表'[统计数值]),
    '业务数据表'[日期] = 当前筛选范围的周六
)

场景2:展示每一周的周六统计值(按周分组)

适合放在矩阵或表格中,搭配周数列查看历史每周六的数据:

各周周六统计值 = 
CALCULATE(
    SUM('业务数据表'[统计数值]),
    WEEKDAY('业务数据表'[日期], 2) = 6
)

逻辑说明:

  • WEEKDAY函数的第二个参数设为2,是为了让周一对应1、周六对应6,符合你“周六为每周最后一天”的需求。
  • 如果使用单独的日期维度表,把代码中的业务数据表'[日期]替换成日期表的日期列,计算效率会更高。

内容的提问来源于stack exchange,提问作者Arpit

火山引擎 最新活动