Power BI矩阵可视化rqty列出现重复值问题求助
Power BI矩阵可视化中rqty列重复值问题解决
原始数据
Table 1
| Date | Ref | Product | Quantity | Lot |
|---|---|---|---|---|
| 10/13/2023 | SI2502 | Tray | 26 | a1 |
| 10/3/2023 | SO3214 | Nut | 36 | d2 |
| 10/3/2023 | SO3214 | Screw | 20 | s6 |
| 10/3/2023 | SO3214 | Sheet | 50 | s5 |
| 10/3/2023 | SI2489 | Tray | 100 | a1 |
| 9/29/2023 | SI6535 | Sheet | 50 | s5 |
| 9/29/2023 | SO5789 | tray | 41 | a1 |
| 9/27/2023 | SO3652 | Rack | 65 | r4 |
| 9/26/2023 | SI5420 | Nut | 100 | d2 |
| 9/22/2023 | SO3476 | Sheet | 36 | s5 |
| 9/22/2023 | SO3476 | tray | 30 | a1 |
Table 2
| Date | prods | order | qty | rqty |
|---|---|---|---|---|
| 10/15/2023 | Rack | SO5658 | 54 | 30 |
| 10/3/2023 | Nut | SO3214 | 36 | 64 |
| 10/3/2023 | Screw | SO3214 | 20 | 60 |
| 10/3/2023 | Sheet | SO3214 | 50 | 250 |
| 9/29/2023 | Sheet | INV | 50 | 300 |
| 9/29/2023 | tray | SO5789 | 41 | 44 |
| 9/27/2023 | Rack | SO3652 | 65 | 84 |
| 9/26/2023 | Nut | INV | 100 | 100 |
| 9/22/2023 | Sheet | SO3476 | 36 | 250 |
| 9/22/2023 | tray | SO3476 | 30 | 85 |
期望矩阵可视化输出
| Date | Ref | Product | Quantity | Lot | rqty |
|---|---|---|---|---|---|
| 10/3/2023 | SO3214 | Nut | 36 | d2 | 64 |
| 10/3/2023 | SO3214 | Screw | 20 | s6 | 60 |
| 10/3/2023 | SO3214 | Sheet | 50 | s5 | 250 |
| 9/29/2023 | SO5789 | tray | 41 | a1 | 44 |
| 9/27/2023 | SO3652 | Rack | 65 | r4 | 84 |
| 9/22/2023 | SO3476 | Sheet | 36 | s5 | 250 |
| 9/22/2023 | SO3476 | tray | 30 | a1 | 85 |
实际遇到的问题
使用Matrix可视化时,rqty列出现大量重复值,输出如下:
| Date | prods | order | qty | rqty |
|---|---|---|---|---|
| 10/3/2023 | Nut | SO3214 | 36 | 64 |
| 10/3/2023 | Nut | SO3214 | 36 | 60 |
| 10/3/2023 | Nut | SO3214 | 36 | 250 |
| 10/3/2023 | Screw | SO3214 | 20 | 64 |
| 10/3/2023 | Screw | SO3214 | 20 | 60 |
| 10/3/2023 | Screw | SO3214 | 20 | 250 |
| 10/3/2023 | Sheet | SO3214 | 50 | 64 |
| 10/3/2023 | Sheet | SO3214 | 50 | 60 |
| 10/3/2023 | Sheet | SO3214 | 50 | 250 |
| 9/29/2023 | tray | SO5789 | 41 | 44 |
| 9/27/2023 | Rack | SO3652 | 65 | 84 |
| 9/22/2023 | Sheet | SO3476 | 36 | 250 |
| 9/22/2023 | Sheet | SO3476 | 36 | 85 |
| 9/22/2023 | tray | SO3476 | 30 | 85 |
| 9/22/2023 | tray | SO3476 | 30 | 250 |
已尝试以Ref/Order为键建立两表关系,但问题未解决。
解决方法
1. 建立复合关联键
仅用Ref/Order作为关联键会导致同一订单下多产品的重复匹配,需使用复合键确保一对一关联:
- 在Power Query中,为Table1新增计算列,统一大小写避免匹配误差:
Key = Text.Lower([Ref]) & "|" & Text.Lower([Product]) - 为Table2新增对应计算列:
Key = Text.Lower([order]) & "|" & Text.Lower([prods]) - 以新增的
Key列建立两表的一对一关系。
2. 使用DAX计算列精准匹配
若无需修改数据源,可在Table1中创建DAX计算列直接获取对应rqty:
rqty = CALCULATE( MAX(Table2[rqty]), FILTER( Table2, Table2[order] = Table1[Ref] && Text.Lower(Table2[prods]) = Text.Lower(Table1[Product]) && Table2[qty] = Table1[Quantity] ) )
该公式通过订单、产品名称(统一大小写)、数量三重条件,精准匹配对应rqty值。
3. 筛选无关数据
在可视化层面,筛选掉Table1中Ref为SI开头的记录(此类记录在Table2中无对应订单匹配),减少无效数据干扰。
内容的提问来源于stack exchange,提问作者Alicia96
相关产品推荐
相关产品推荐

