You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Power BI中使用DAX将日订单数据生成月度汇总表

使用DAX实现Power BI中日粒度数据的月度汇总

要将日粒度的订单数据按月汇总为目标格式,有两种常用的DAX实现方式:

方法1:直接使用SUMMARIZE生成汇总表

直接对源表按格式化后的月份字符串分组,同时计算订单总和:

月度订单汇总 = 
SUMMARIZE(
    'Table 1',
    "月份(Month)", FORMAT('Table 1'[日期(Day)], "M yyyy"),
    "订单数(Order)", SUM('Table 1'[订单数(Order)])
)
  • SUMMARIZE 函数用于分组聚合,第一个参数指定源表Table 1
  • 第二个参数定义分组列,通过FORMAT函数将日期转换为「月份 年份」的字符串格式
  • 第三个参数定义聚合列,用SUM计算每月的订单总数

方法2:优化排序的汇总方案

如果需要确保月份按时间顺序正确排序(避免字符串排序导致的逻辑错误,比如"10 2022"排在"2 2022"之前),可以先按年份和月份的数值分组,再转换为目标格式:

月度订单汇总 = 
VAR 分组中间表 = 
    SUMMARIZE(
        'Table 1',
        "年份", YEAR('Table 1'[日期(Day)]),
        "月份编号", MONTH('Table 1'[日期(Day)]),
        "订单总数", SUM('Table 1'[订单数(Order)])
    )
RETURN
    SELECTCOLUMNS(
        分组中间表,
        "月份(Month)", FORMAT(DATE([年份], [月份编号], 1), "M yyyy"),
        "订单数(Order)", [订单总数]
    )
  • 先用SUMMARIZE按年份、月份的数值分组,保证分组逻辑和排序的正确性
  • 再通过SELECTCOLUMNS将数值型的年月转换为目标字符串格式,同时保留聚合后的订单数

注意事项

  • 确保Table 1中的「日期(Day)」列是日期/时间类型,而非文本类型,否则DAX日期函数无法正常工作
  • 如果你的Power BI模型中存在独立的日期表,也可以通过关联日期表的「年月」列来实现更灵活的汇总

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 18:39:41