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

基于客户ID为对应订单时期生成顺序编号(DAX需求)

为客户订单时期标注顺序的DAX解决方案

方法一:使用RANKX函数(推荐,处理重复日期更灵活)

在新建列中输入以下DAX公式,替换成你的实际表名和列名:

订单顺序 = 
RANKX(
    FILTER('订单表', '订单表'[客户ID] = EARLIER('订单表'[客户ID])),
    '订单表'[订单时期],
    ,
    ASC,
    DENSE
)
  • FILTER('订单表', '订单表'[客户ID] = EARLIER('订单表'[客户ID])):仅筛选当前行对应客户的所有订单数据
  • '订单表'[订单时期]:指定按订单日期排序的依据
  • ASC:设置升序排列,最早的订单标注为第1
  • DENSE:确保排名连续,若同一客户有相同订单日期,会给相同排名,后续日期继续按顺序编号

方法二:使用COUNTROWS函数(适合无重复日期的场景)

如果你的订单时期没有重复值,也可以用这个更直观的公式:

订单顺序 = 
CALCULATE(
    COUNTROWS('订单表'),
    FILTER(
        '订单表',
        '订单表'[客户ID] = EARLIER('订单表'[客户ID]) &&
        '订单表'[订单时期] <= EARLIER('订单表'[订单时期])
    )
)

这个公式的逻辑是:统计当前客户所有订单时期早于或等于当前行时期的记录数,结果就是该订单的顺序号。

操作步骤

  1. 在Power BI(或Excel的Power Pivot)中,切换到「建模」选项卡
  2. 点击「新建列」
  3. 粘贴上述任意一个公式,替换表名和列名为你实际使用的名称
  4. 回车确认,即可生成标注顺序的新列

内容的提问来源于stack exchange,提问作者Thijs van den Engel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 23:55:25