首页 文章

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

提问于
浏览
2

这可能很简单......

我在Power BI中有下面的汇总表,需要 Build 一个Pareto图表,我正在寻找的是一种创建“D”和“E”列的方法......提前感谢!

列“B”中的计数是我基于多个过滤器在PBI中创建的度量 . 我已经尝试了一些计算/求和/过滤类型的表达式而没有运气 .

enter image description here

我的原始数据看起来像Image#2 ......我有措施构建汇总表,但“I”列除外 - 运行% - (我还需要每桶的累计事件总数) .

不幸的是,我无法成功应用DAXPATTERNS的计算 .

enter image description here

1 回答

  • 2

    DAXPATTERNS博客中有一个众所周知的累积计算模式 .

    试试这个表达式 Running % measure:

    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] ) )
    )
    

    基本上,在每一行中,您将计算得到的计数值或百分比值小于或等于评估行中的存储区值,从而产生累计总计 .

    UPDATE: 与您的模型匹配的可行解决方案 .

    假设您的事件计数度量定义如下:

    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中得到这样的东西:

    Table visualization

    enter image description here

    Bar chart visualization

    enter image description here

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

    如果这有帮助,请告诉我 .

相关问题