运行 Sum # 和 运行 Sum % 基于状态 Power BI (DAX)

Running Sum # and Running Sum % based on status Power BI (DAX)

我正在努力根据 table 中的两个状态创建 运行 价值总和。问题是我没有日期,只有文本和数值。

我什至创建了索引 table 但这无济于事。请看看我的数据:

我需要计算 运行 另一个列中列分布的总和,但要分别计算状态“收益”和“总值”。因此,运行 总和是针对“收益”计算的,然后再次针对“总值”计算。

然后我需要用它来创建总百分比 - 也分别用于“收益”和“总值”。我查看了许多论坛、教程,但找不到任何适合我的数据的内容。

你能帮帮我吗?

数据样本:

Score Range tier Distribution Status General Index
1-100 Tier III 38 Gains 1
100-125 Tier III 33 Gains 2
125-150 Tier III 49 Gains 3
150-175 Tier III 46 Gains 4
175-200 Tier III 76 Gains 5
200-225 Tier II 135 Gains 6
225-250 Tier I 348 Gains 7
250-275 Tier I 417 Gains 8
275-300 Tier I 541 Gains 9
300-325 Tier I 682 Gains 10
325-350 Tier I 910 Gains 11
350-375 Tier I 781 Gains 12
375-400 Tier I 754 Gains 13
400-425 Tier I 551 Gains 14
425-450 Tier I 396 Gains 15
450-475 Tier I 214 Gains 16
475-500 Tier I 50 Gains 17
500 + Tier I 2 Gains 18
No Score Tier I 176 Gains 19
1-100 Tier III 350 Gross 1
100-125 Tier III 270 Gross 2
125-150 Tier III 404 Gross 3
150-175 Tier III 463 Gross 4
175-200 Tier III 465 Gross 5
200-225 Tier II 512 Gross 6
225-250 Tier I 599 Gross 7
250-275 Tier I 700 Gross 8
275-300 Tier I 897 Gross 9
300-325 Tier I 1089 Gross 10
325-350 Tier I 1415 Gross 11
350-375 Tier I 1183 Gross 12
375-400 Tier I 1104 Gross 13
400-425 Tier I 725 Gross 14
425-450 Tier I 535 Gross 15
450-475 Tier I 282 Gross 16
475-500 Tier I 67 Gross 17
500 + Tier I 2 Gross 18
No Score Tier I 624 Gross 19

我正在尝试按照以下屏幕进行计算:

谢谢,

我稍微缩短了列的名称以使结果 table 保留在答案中 我将示例数据命名为 table“Status”

对于运行总和,我们迭代过滤当前行的状态和小于或等于当前行的索引

Running Sum = 
VAR CurrentRowStatus = Scores[Status]
VAR CurrentIndex = Scores[General Index]
VAR Result =
    SUMX(
        FILTER(
            Scores,
            Scores[Status] = CurrentRowStatus
                && Scores[General Index] <= CurrentIndex
        ),
        Scores[Distribution]
    )
RETURN
    Result

对于百分比计算列,我们需要计算总数,因此我们使用 MAXX 而不是使用当前行状态

筛选的状态 table
percent = 
VAR CurrentRowStatus = Scores[Status]
VAR Total =
    MAXX(
        FILTER( Scores, Scores[Status] = CurrentRowStatus ),
        Scores[Running Sum]
    )
VAR Result =
    DIVIDE( Scores[Distribution], Total )
RETURN
    Result

累积百分比计算列类似,它只是使用 运行 总和计算列而不是分布

cumulative percent = 
VAR CurrentRowStatus = Scores[Status]
VAR Total =
    MAXX(
        FILTER( Scores, Scores[Status] = CurrentRowStatus ),
        Scores[Running Sum]
    )
VAR Result =
    DIVIDE( Scores[Running Sum], Total )
RETURN
    Result

这是结果table

Score Range tier Distribution Status General Index Running Sum percent cumulative percent
1-100 Tier III 38 Gains 1 38 0.6% 0.6%
100-125 Tier III 33 Gains 2 71 0.5% 1.1%
125-150 Tier III 49 Gains 3 120 0.8% 1.9%
150-175 Tier III 46 Gains 4 166 0.7% 2.7%
175-200 Tier III 76 Gains 5 242 1.2% 3.9%
200-225 Tier II 135 Gains 6 377 2.2% 6.1%
225-250 Tier I 348 Gains 7 725 5.6% 11.7%
250-275 Tier I 417 Gains 8 1142 6.7% 18.4%
275-300 Tier I 541 Gains 9 1683 8.7% 27.1%
300-325 Tier I 682 Gains 10 2365 11.0% 38.2%
325-350 Tier I 910 Gains 11 3275 14.7% 52.8%
350-375 Tier I 781 Gains 12 4056 12.6% 65.4%
375-400 Tier I 754 Gains 13 4810 12.2% 77.6%
400-425 Tier I 551 Gains 14 5361 8.9% 86.5%
425-450 Tier I 396 Gains 15 5757 6.4% 92.9%
450-475 Tier I 214 Gains 16 5971 3.5% 96.3%
475-500 Tier I 50 Gains 17 6021 0.8% 97.1%
500 + Tier I 2 Gains 18 6023 0.0% 97.2%
No Score Tier I 176 Gains 19 6199 2.8% 100.0%
1-100 Tier III 350 Gross 1 350 3.0% 3.0%
100-125 Tier III 270 Gross 2 620 2.3% 5.3%
125-150 Tier III 404 Gross 3 1024 3.5% 8.8%
150-175 Tier III 463 Gross 4 1487 4.0% 12.7%
175-200 Tier III 465 Gross 5 1952 4.0% 16.7%
200-225 Tier II 512 Gross 6 2464 4.4% 21.1%
225-250 Tier I 599 Gross 7 3063 5.1% 26.2%
250-275 Tier I 700 Gross 8 3763 6.0% 32.2%
275-300 Tier I 897 Gross 9 4660 7.7% 39.9%
300-325 Tier I 1089 Gross 10 5749 9.3% 49.2%
325-350 Tier I 1415 Gross 11 7164 12.1% 61.3%
350-375 Tier I 1183 Gross 12 8347 10.1% 71.4%
375-400 Tier I 1104 Gross 13 9451 9.4% 80.9%
400-425 Tier I 725 Gross 14 10176 6.2% 87.1%
425-450 Tier I 535 Gross 15 10711 4.6% 91.7%
450-475 Tier I 282 Gross 16 10993 2.4% 94.1%
475-500 Tier I 67 Gross 17 11060 0.6% 94.6%
500 + Tier I 2 Gross 18 11062 0.0% 94.7%
No Score Tier I 624 Gross 19 11686 5.3% 100.0%