Power BI中关联相同批次与订单前缀的订单及配方历史
需求可实现方案
核心思路
- 基于订单前缀+LOT的组合条件筛选出同组订单集合
- 关联这些订单对应的配方,拉取配方的全量历史版本数据
具体实现步骤
1. 提取订单前缀
在cakes表中添加计算列,拆分出订单前缀(以示例中2000-010格式为例):
订单前缀 = LEFT('cakes'[订单号], SEARCH("-", 'cakes'[订单号]) - 1)
2. 标记同组订单
创建计算列,标记存在同前缀+同LOT的订单:
同组标记 = VAR 当前前缀 = 'cakes'[订单前缀] VAR 当前LOT = 'cakes'[LOT] RETURN COUNTROWS(FILTER('cakes', 'cakes'[订单前缀] = 当前前缀 && 'cakes'[LOT] = 当前LOT)) > 1
3. 生成同组订单及配方历史表
创建自定义表,直接筛选出符合条件的订单及对应所有配方版本:
同组订单配方历史 = VAR 同组订单集合 = FILTER( 'cakes', COUNTROWS(FILTER('cakes', 'cakes'[订单前缀] = EARLIER('cakes'[订单前缀]) && 'cakes'[LOT] = EARLIER('cakes'[LOT]))) > 1 ) VAR 关联配方集合 = DISTINCT(SELECTCOLUMNS(同组订单集合, "配方ID", 'cakes'[配方ID])) RETURN NATURALLEFTOUTERJOIN( 同组订单集合, NATURALLEFTOUTERJOIN(关联配方集合, 'recipe') )
4. 可视化展示
- 用表格/矩阵组件展示
同组订单配方历史表的内容,可按订单号分组,展开查看对应配方的全量版本历史 - 也可通过筛选器选择
同组标记 = TRUE(),联动展示订单列表和配方历史表
内容的提问来源于stack exchange,提问作者Dreqnoid
相关产品推荐
相关产品推荐

