Я пытаюсь рассчитать процентный вклад каждой ветви под тем же уровнем.
Например, у нас ниже входные таблицы Amount и Branch J60 и J90 находятся под одним и тем же L1 X900 в иерархической таблице, тогда процентный вклад будет суммой (J60) / суммой (J60 + J90).
MQ0 - единственная ветвь под X600, поэтому процент будет 200/200.
Аналогично, проценты уровня L0 J60, J90, MQ0 находятся под той же веткой уровня 0, что и M1200, тогда проценты будут похожи на J60 / J60 + J90 + MQ0
Как найти этот процентный вклад.
Количество:
+--------+---------+-------+
| amount | branch | Level |
+--------+---------+-------+
| 1000 | J60 | L2 |
+--------+---------+-------+
| 200 | MQ0 | L2 |
+--------+---------+-------+
| 1500 | X600 | L1 |
+--------+---------+-------+
| 100 | J90 | L2 |
+--------+---------+-------+
| 1200 | X900 | L1 |
+--------+---------+-------+
| 2000 | M1200 | L0 |
+--------+---------+-------+
Таблица иерархии: имеет отображение уровней кодов ветвей.
+---------+----------+-----------+
| level0 | level1 | level2 |
+---------+----------+-----------+
| M1200 | X900 | J60 |
+---------+----------+-----------+
| M1200 | X600 | MQ0 |
+---------+----------+-----------+
| M1200 | X900 | J90 |
+---------+----------+-----------+
Таблица ожидаемых результатов:
+--------+---------+-------+--------------+--------------+
| amount | branch | Level | L1 Percent | L0 Percent |
+--------+---------+-------+--------------+--------------+
| 1000 | J60 | L2 | 1000/1100 | 1000/1300 |
+--------+---------+-------+--------------+--------------+
| 200 | MQ0 | L2 | 200/200 | 200/1300 |
+--------+---------+-------+--------------+--------------+
| 1500 | X600 | L1 | NA | 1500/1700 |
+--------+---------+-------+--------------+--------------+
| 100 | J90 | L2 | 100/1100 | 100/1300 |
+--------+---------+-------+--------------+--------------+
| 1200 | X900 | L1 | NA | 1200/1700 |
+--------+---------+-------+--------------+--------------+
| 2000 | M1200 | L0 | NA | NA |
+--------+---------+-------+--------------+--------------+