如何计算DAX的累计总和和%?

时间:2016-10-24 20:16:03

标签: powerbi dax running-total cumulative-sum pareto-chart

这可能非常简单......

我在Power BI中有以下摘要表,需要构建一个Pareto图表,我正在寻找的是一种创建列的方法" D"和" E" ...提前致谢!

来自专栏" B"是基于多个过滤器在PBI中创建的度量。我已经尝试了一些计算/总和/过滤类型的表达式而没有运气。

enter image description here

我的原始数据看起来像图像#2 ...我有措施建立摘要表,但列#34; I" - 运行% - (我还需要每桶的累计事件总数)。

不幸的是,我还没能成功应用DAXPATTERNS的计算。

enter image description here

1 个答案:

答案 0 :(得分:4)

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%度量:

Running % =
DIVIDE (
    [Cumulative Count],
    CALCULATE ( [Event Count], ALL ( EventTable ) ),
    BLANK ()
)

你应该在Power BI中得到这样的东西:

表格可视化

enter image description here

条形图可视化

enter image description here

注意我的表达式使用EventTable,您应该用表的名称替换它。另请注意,running %行从0开始到1,左侧只有一个Y轴。

如果有帮助,请告诉我。