首页 > 解决方案 > 基于状态 Power BI (DAX) 的运行总和 # 和运行总和百分比

问题描述

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

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

在此处输入图像描述

我需要分别计算另一列中列分布的运行总和,但分别计算状态“增益”和“总和”。因此,为“收益”计算运行总和,然后为“总和”重新开始计算。

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

你能帮帮我吗?

数据样本:

分数范围 等级 分配 地位 一般索引
1-100 三级 38 收益 1
100-125 三级 33 收益 2
125-150 三级 49 收益 3
150-175 三级 46 收益 4
175-200 三级 76 收益 5
200-225 二级 135 收益 6
225-250 第一层 348 收益 7
250-275 第一层 417 收益 8
275-300 第一层 541 收益 9
300-325 第一层 682 收益 10
325-350 第一层 910 收益 11
350-375 第一层 781 收益 12
375-400 第一层 754 收益 13
400-425 第一层 551 收益 14
425-450 第一层 396 收益 15
450-475 第一层 214 收益 16
475-500 第一层 50 收益 17
500+ 第一层 2 收益 18
没有分数 第一层 176 收益 19
1-100 三级 350 总的 1
100-125 三级 270 总的 2
125-150 三级 404 总的 3
150-175 三级 463 总的 4
175-200 三级 465 总的 5
200-225 二级 512 总的 6
225-250 第一层 599 总的 7
250-275 第一层 700 总的 8
275-300 第一层 897 总的 9
300-325 第一层 1089 总的 10
325-350 第一层 1415 总的 11
350-375 第一层 1183 总的 12
375-400 第一层 1104 总的 13
400-425 第一层 725 总的 14
425-450 第一层 535 总的 15
450-475 第一层 282 总的 16
475-500 第一层 67 总的 17
500+ 第一层 2 总的 18
没有分数 第一层 624 总的 19

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

在此处输入图像描述

谢谢,

标签: powerbidaxpowerbi-desktopcumulative-sum

解决方案


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

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

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

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

这是结果表

分数范围 等级 分配 地位 一般索引 运行总和 百分 累计百分比
1-100 三级 38 收益 1 38 0.6% 0.6%
100-125 三级 33 收益 2 71 0.5% 1.1%
125-150 三级 49 收益 3 120 0.8% 1.9%
150-175 三级 46 收益 4 166 0.7% 2.7%
175-200 三级 76 收益 5 242 1.2% 3.9%
200-225 二级 135 收益 6 377 2.2% 6.1%
225-250 第一层 348 收益 7 725 5.6% 11.7%
250-275 第一层 417 收益 8 1142 6.7% 18.4%
275-300 第一层 541 收益 9 1683 8.7% 27.1%
300-325 第一层 682 收益 10 2365 11.0% 38.2%
325-350 第一层 910 收益 11 3275 14.7% 52.8%
350-375 第一层 781 收益 12 4056 12.6% 65.4%
375-400 第一层 754 收益 13 4810 12.2% 77.6%
400-425 第一层 551 收益 14 5361 8.9% 86.5%
425-450 第一层 396 收益 15 5757 6.4% 92.9%
450-475 第一层 214 收益 16 5971 3.5% 96.3%
475-500 第一层 50 收益 17 6021 0.8% 97.1%
500+ 第一层 2 收益 18 6023 0.0% 97.2%
没有分数 第一层 176 收益 19 6199 2.8% 100.0%
1-100 三级 350 总的 1 350 3.0% 3.0%
100-125 三级 270 总的 2 620 2.3% 5.3%
125-150 三级 404 总的 3 1024 3.5% 8.8%
150-175 三级 463 总的 4 1487 4.0% 12.7%
175-200 三级 465 总的 5 1952年 4.0% 16.7%
200-225 二级 512 总的 6 2464 4.4% 21.1%
225-250 第一层 599 总的 7 3063 5.1% 26.2%
250-275 第一层 700 总的 8 3763 6.0% 32.2%
275-300 第一层 897 总的 9 4660 7.7% 39.9%
300-325 第一层 1089 总的 10 5749 9.3% 49.2%
325-350 第一层 1415 总的 11 7164 12.1% 61.3%
350-375 第一层 1183 总的 12 8347 10.1% 71.4%
375-400 第一层 1104 总的 13 9451 9.4% 80.9%
400-425 第一层 725 总的 14 10176 6.2% 87.1%
425-450 第一层 535 总的 15 10711 4.6% 91.7%
450-475 第一层 282 总的 16 10993 2.4% 94.1%
475-500 第一层 67 总的 17 11060 0.6% 94.6%
500+ 第一层 2 总的 18 11062 0.0% 94.7%
没有分数 第一层 624 总的 19 11686 5.3% 100.0%

推荐阅读