基于状态 Power BI (DAX)

时间:2021-01-06 15:46:02

标签: powerbi dax powerbi-desktop cumulative-sum

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

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

enter image description here

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

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

你能帮我吗?

数据样本:

<头>
分数范围 分布 状态 综合索引
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

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

enter image description here

谢谢,

1 个答案:

答案 0 :(得分:0)

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

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

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%