根据下一行的总和计算累积百分比

问题描述

我想根据以下公式计算%。它有点技巧,我有点卡住,不知道如何去做。谢谢任何人的帮助。

下表中的记录很少,这些记录按范围分组

Range       Count
0-10        50
10-20       12
20-30       9
30-40       0
40-50       0
50-60       1
60-70       4
70-80       45
80-90       16
90-100      7
Other       1

我想再增加一列,该列具有基于下一行的总和相对于总行数(145)的累积百分比,如下所示

Range       Count   Cumulative % of Range
0-10        50      34.5%   (which is 50/145)
10-20       12      42.7%   (which is 62/145)
20-30       9       48.9%   (which is 71/145)
30-40       0       48.9%   (which is 71/145)
40-50       0       48.9%   (which is 71/145)
50-60       1       49.6%   (which is 72/145)
60-70       4       52.4%   (which is 76/145)
70-80       45      83.4%   (which is 121/145)
80-90       16      94.5%   (which is 137/145)
90-100      7       99.3%   (which is 144/145)
Other       1      100.0%   (which is 145/145)

解决方法

对于累积计算,始终需要订购。无论如何,如果您在“范围”列中给定的值是真实的-这也将以此为目的,因为此字段上的升序将数据保持在预期的顺序中。请执行以下操作以获得所需的输出。

创建以下措施-

count_percentage = 

VAR total_of_count =
CALCULATE(
    SUM(your_table_name[Count]),ALL(your_table_name)
)

VAR cumulative_count =
CALCULATE(
    SUM(your_table_name[Count]),FILTER(
        ALL(your_table_name),your_table_name[Range] <= MIN(your_table_name[Range])
    )
)

RETURN cumulative_count/total_of_count

这是最终输出-

enter image description here

,

按照以下步骤获取答案。请投票并接受答案,如果您认为解决方案有帮助。

第一步--从范围列创建索引列。我已将“其他”值替换为999。您可以将其替换为更大的数字,这不太可能出现在数据集中。将此新列转换为整数

Sort Column = if(Sickness[Range] = "Other",9999,CONVERT(LEFT(Sickness[Range],SEARCH("-",Sickness[Range],1,LEN(Sickness[Range])+1)-1),INTEGER))

第二步-使用以下措施获得价值:

Measure = 
var RunningTotal = CALCULATE(SUM(Sickness[Count]),FILTER(all(Sickness),Sickness[Sort Column] <= MAX(Sickness[Sort Column])))
var totalSum = CALCULATE(SUM(Sickness[Count]),ALL())
Return
RunningTotal/totalSum

下面是与您的要求完全匹配的输出。

enter image description here

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...