【发布时间】:2021-08-28 19:09:02
【问题描述】:
我有两个表,分别是数据和报表。
在数据表中,以下列分别为尺寸A、尺寸B和尺寸C、类型和等级。
在数据表中,我根据大小为每种类型创建了排名。 rank 列的目的是针对相同大小进行多次匹配,在这种情况下,rank 列将有助于确定匹配多个的确切类型。
在报告表中,以下列分别为尺寸 A、尺寸 B 和尺寸 C。
在两个表中,尺寸 A、尺寸 B 和尺寸 C 列是共同/关系。
我正在尝试从数据表到报告表中根据尺寸 A、尺寸 B 和尺寸 C 找出合适的类型。
数据:
| TYPE | SIZEA | SIZEB | SIZEC | RANK |
|---|---|---|---|---|
| A6 | 420 | 600 | 440 | 11.00 |
| A4 | 640 | 600 | 480 | 9.00 |
| A5 | 890 | 1100 | 1330 | 2.00 |
| A6 | 1335 | 1100 | 2350 | 1.00 |
| A7 | 890 | 1100 | 390 | 5.00 |
| A8 | 890 | 1100 | 530 | 3.00 |
| A9 | 670 | 1100 | 540 | 4.00 |
| A10 | 670 | 1100 | 440 | 6.00 |
| A11 | 320 | 1100 | 440 | 10.00 |
| A12 | 600 | 400 | 400 | 12.00 |
| A13 | 800 | 600 | 400 | 8.00 |
| A14 | 1000 | 600 | 500 | 7.00 |
报告:
| SIZEA | SIZEB | SIZEC | DESIRED RESULT-TYPE |
|---|---|---|---|
| 400 | 300 | 140 | A12 |
| A12 | |||
| 250 | 250 | 160 | A12 |
| 600 | 400 | 285 | A12 |
| 400 | 300 | 150 | A12 |
| 280 | 230 | 170 | A12 |
| 320 | 320 | 320 | A12 |
| 320 | 320 | 320 | A12 |
| 600 | 400 | 140 | A12 |
| 400 | 300 | 140 | A12 |
| 400 | 300 | 140 | A12 |
| 370 | 320 | 340 | A12 |
| 320 | 240 | 250 | A12 |
| 300 | 200 | 90 | A12 |
| 400 | 290 | 140 | A12 |
我在报告表中应用以下公式,以便根据尺寸 A、尺寸 B 和尺寸 C 获得合适的类型
=INDEX(DATA!$D$2:$D$16,AGGREGATE(15,6,(ROW(DATA!$H$2:$H$16)-1)/(DATA!$H$2:$H$16=1/(1/MAX(((DATA!$E$2:$E$16>=$B3)*(DATA!$F$2:$F$16>=$A3)+(DATA!$E$2:$E$16>=$A3)*(DATA!$F$2:$F$16>=$B3)>0)*(DATA!$G$2:$G$16>=$C3)*DATA!$H$2:$H$16))),1))
如何在 Power BI 中应用相同的逻辑?请有任何建议。
我正在寻找新的计算列选项。特此分享Excel文件供大家参考
【问题讨论】:
-
您需要
ranking还是type?看起来很长的公式最后只返回A12,有什么错误吗? -
我正在寻找类型而不是排名。
-
好的,我先看看能不能看懂你的公式。
-
我使用排名列来根据两个表中的大小获取适当的类型。示例 - 如果我们在报告表中寻找类型为第一行大小将适合从 A4 到 A14 在这种情况下,我们必须根据大小选择适当的类型。这就是我使用排名列的原因。
-
感谢您的支持和帮助。这是非常复杂的场景
标签: powerbi aggregate-functions multi-index