如何计算 DAX 中的累计总数和百分比?
How to calculate cumulative Total and % in DAX?
这可能很简单...
我在 Power BI 中有以下摘要 table,需要构建帕累托图,我正在寻找一种创建列 "D" 和 "E" 的方法。 .. 提前致谢!
"B" 列中的计数是我在 PBI 中基于多个过滤器创建的度量。我已经尝试了一些 Calculate/Sum/Filter 类型的表达式,但没有成功。
我的原始数据看起来像图片 #2...我有办法构建摘要 table,但列 "I" - 运行 % -(为此我还需要每个桶的累计事件总数)。
遗憾的是,我未能成功应用 DAXPATTERNS 的计算。
DAXPATTERNS 博客中有一个众所周知的累积计算模式。
为 Running %
度量试试这个表达式:
Running % =
CALCULATE (
SUM ( [Percentage] ),
FILTER ( ALL ( YourTable), YourTable[Bucket] <= MAX ( YourTable[Bucket] ) )
)
并试试这个作为累积计数度量:
Cumulative Count =
CALCULATE (
SUM ( [Count] ),
FILTER ( ALL ( YourTable ), YourTable[Bucket] <= MAX ( YourTable[Bucket] ) )
)
基本上,在每一行中,您要对小于或等于评估行中存储桶值的那些计数值或百分比值求和,从而产生累计总数。
更新: 与您的模型匹配的可能解决方案。
假设您的事件计数度量定义如下:
Event Count = COUNT(EventTable[Duration_Bucket])
您可以使用 CALCULATE
函数创建累积计数,这样我们就可以计算 Running %
度量:
Cumulative Count =
CALCULATE (
[Event Count],
FILTER (
ALL ( EventTable ),
[Duration_Bucket] <= MAX ( EventTable[Duration_Bucket] )
)
)
现在使用以下方法计算 运行% 测量值:
Running % =
DIVIDE (
[Cumulative Count],
CALCULATE ( [Event Count], ALL ( EventTable ) ),
BLANK ()
)
你应该在 Power BI 中得到这样的东西:
Table可视化
条形图可视化
请注意,我的表达式使用了 EventTable
,您应该将其替换为您的 table 的名称。另请注意 running %
行从 0 到 1 并且左侧只有一个 Y 轴。
如果有帮助请告诉我。
这可能很简单...
我在 Power BI 中有以下摘要 table,需要构建帕累托图,我正在寻找一种创建列 "D" 和 "E" 的方法。 .. 提前致谢!
"B" 列中的计数是我在 PBI 中基于多个过滤器创建的度量。我已经尝试了一些 Calculate/Sum/Filter 类型的表达式,但没有成功。
我的原始数据看起来像图片 #2...我有办法构建摘要 table,但列 "I" - 运行 % -(为此我还需要每个桶的累计事件总数)。
遗憾的是,我未能成功应用 DAXPATTERNS 的计算。
DAXPATTERNS 博客中有一个众所周知的累积计算模式。
为 Running %
度量试试这个表达式:
Running % =
CALCULATE (
SUM ( [Percentage] ),
FILTER ( ALL ( YourTable), YourTable[Bucket] <= MAX ( YourTable[Bucket] ) )
)
并试试这个作为累积计数度量:
Cumulative Count =
CALCULATE (
SUM ( [Count] ),
FILTER ( ALL ( YourTable ), YourTable[Bucket] <= MAX ( YourTable[Bucket] ) )
)
基本上,在每一行中,您要对小于或等于评估行中存储桶值的那些计数值或百分比值求和,从而产生累计总数。
更新: 与您的模型匹配的可能解决方案。
假设您的事件计数度量定义如下:
Event Count = COUNT(EventTable[Duration_Bucket])
您可以使用 CALCULATE
函数创建累积计数,这样我们就可以计算 Running %
度量:
Cumulative Count =
CALCULATE (
[Event Count],
FILTER (
ALL ( EventTable ),
[Duration_Bucket] <= MAX ( EventTable[Duration_Bucket] )
)
)
现在使用以下方法计算 运行% 测量值:
Running % =
DIVIDE (
[Cumulative Count],
CALCULATE ( [Event Count], ALL ( EventTable ) ),
BLANK ()
)
你应该在 Power BI 中得到这样的东西:
Table可视化
条形图可视化
请注意,我的表达式使用了 EventTable
,您应该将其替换为您的 table 的名称。另请注意 running %
行从 0 到 1 并且左侧只有一个 Y 轴。
如果有帮助请告诉我。