DAX编写计算列:提取每个分组最新快照对应到期日期
分组取最新快照对应到期日期的DAX计算列方案
你可以直接在对应数据表新建计算列,使用以下DAX代码,注意替换代码里的占位字段/表名为你模型里的实际名称:
最新快照到期日期 = // 读取当前行所属的分组ID VAR _curGroup = '你的业务表名'[分组维度列] // 替换为实际分组字段,比如合约ID、客户ID // 计算当前分组下的最新快照日期 VAR _maxSnapshot = CALCULATE( MAX('你的业务表名'[快照日期列]), ALLEXCEPT('你的业务表名', '你的业务表名'[分组维度列]) ) // 匹配最新快照对应的到期日期返回 RETURN CALCULATE( SELECTEDVALUE('你的业务表名'[到期日期列]), ALLEXCEPT('你的业务表名', '你的业务表名'[分组维度列]), '你的业务表名'[快照日期列] = _maxSnapshot )
使用注意事项
- 如果你的业务场景里,同一个分组下最新快照日期对应多条到期日期不一致的记录,
SELECTEDVALUE会返回空值,你可以根据业务规则把它替换为MAX('你的业务表名'[到期日期列])或者MIN('你的业务表名'[到期日期列])即可 - 该计算列创建后,同分组内的所有行都会统一展示该分组最新快照对应的到期日期,匹配你需要的输出效果
- 如果你的分组逻辑是多字段组合分组(比如同时按客户ID+产品ID分组),只需要在
ALLEXCEPT的参数里追加对应的分组列即可
内容的提问来源于stack exchange,提问作者kzmlbyrk
相关产品推荐
相关产品推荐

