【问题标题】:Sumif equivalent for Power Pivot Measure CalculationsPower Pivot 度量计算的 Sumif 等效项
【发布时间】:2016-10-17 11:59:02
【问题描述】:

这是我在这里的第一个问题,我会尽力以一种好的方式提出我的问题。

我在使用 Excel 方面非常有经验,但对 Power Tools 很陌生。我通过以下方式设置了数据模型

表销售数据:

Day | Amount Ordered | Amount Sent | toBeAchived (Service Level per Month)* 
1          10              10                     87,5%
2          20              15                     87,5%
3          15              15                     87,5%
..
51         20              18                     90,0%

表日历:

Day | Month
1       1
2       1
3       1
..      
51      2

然后我创建了一个度量: 服务水平:= sum(Amount Ordered) / sum( Amount Sent)

如果我现在创建一个数据透视表,我可以聚合月份并查看例如第 1 个月的服务水平。

现在我想构建一个图表,在 x 轴上显示天数,但使用 Mothly 平均服务水平,但由于它是分解的,所以我每天都会得到度量。

所以我需要的是 sumif(Amount order, Month = @Month),这在 Excel 表格中很容易。

*我尝试了这样的计算函数作为计算列: 计算(sum('销售表'[订购数量]), Calender[Month]=Calender[Month])

这当然行不通。那么问题来了,如何将 CALCULATE 函数中的过滤器设置为每一行的 @Month 值?

提前感谢您的帮助

【问题讨论】:

    标签: excel powerpivot dax


    【解决方案1】:

    如果我理解您的问题,我会提供计算每月服务水平度量的答案。但是,我不清楚您将如何根据每月的值计算每月的平均服务水平,因为平均值将与每月的服务水平值相同,在您的示例中,每月的平均值 1 将是87.5,对吧?

    首先使用以下表达式在SalesData 表中创建一个名为SalesMonth 的计算列:

    = RELATED ( 'Calendar'[Month] )
    

    请注意,在创建上一个计算列之前,您必须创建一个关系(如果尚不存在) 在 SalesData 表和 Calendar 表之间使用 Day 列 表格。

    现在为每月订购的总金额创建一个度量:

    Ordered Monthly :=
      CALCULATE (
        SUM ( SalesData[Amount Ordered] ),
        FILTER (
           ALL ( SalesData ),
           COUNTROWS (
              FILTER ( SalesData, SalesData[SalesMonth] = EARLIER ( SalesData[SalesMonth] ) )
              )
          )
    

    )

    必须为每月发送的总金额创建相同的度量:

    Sent Monthly:=
    CALCULATE (
      SUM ( SalesData[Amount Sent] ),
      FILTER (
        ALL ( SalesData ),
        COUNTROWS (
          FILTER ( SalesData, SalesData[SalesMonth] = EARLIER ( SalesData[SalesMonth] ) )
            )
        )
    )
    

    最后,您可以使用此表达式创建 Service Level per Month 度量:

    Service Level per Month := 
    DIVIDE ( [Ordered Monthly], [Sent Monthly], BLANK () )
    

    这是已创建度量的示例:

    注意从 1 到 5 的日子对应于第 1 个月,而 34 和 35 天对应于第 2 个月。

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

    【讨论】:

    • 抱歉回复晚了,但这正是我需要的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-09
    • 2016-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多