【问题标题】:Powerpivot average, only show a range of rowsPowerpivot 平均值,仅显示一系列行
【发布时间】:2016-01-15 21:31:03
【问题描述】:

我计算了苹果的平均价格。 See example

在新列“testar”中,我只想显示 1990 - 1994 年(黄色单元格),因为我的公式中没有指定其他年份。 我用于平均计算的公式是:

=CALCULATE (
AVERAGEX (Datasrc; Datasrc[C_P2] );
DATESBETWEEN(Datasrc[Year];"1990-01-01";"1994-01-01")
)

有什么想法或建议如何做到这一点?

【问题讨论】:

    标签: excel average powerpivot dax


    【解决方案1】:

    您需要在 IF() 中测试 Datasrc[Year] 的值。

    这是一个使用我拥有的虚拟数据集的示例。

    Testar = 
    IF(
        MAX( DimDate[Year] ) > 2010
            && MAX( DimDate[Year] ) < 2014
        ,[SumAmt]
    )
    

    我们正在测试 MAX() DimDate[Year]。在任何给定的数据透视行上,上下文中只有一年,因此 max 是该数据透视行上的年份。

    您使用的度量计算您定义的 5 年上下文中的平均值,覆盖当前过滤器上下文。

    此外,AVERAGEX() 在这种情况下是不必要的;您可以使用 AVERAGE(Datasrc[C_P2])。

    【讨论】:

      【解决方案2】:

      几乎,感谢您的宝贵意见,让我朝着正确的方向前进!!!,因为我的年表格式不同,我想列出平均价格,所以我做了一点不同。我只是将您的公式与我的 平均公式 结合起来,得到了我想要的结果。 See final result here

      使用的代码:

      =IF(
          MAX( Datasrc[Year2] ) >= 1990
              && MAX( Datasrc[Year2] ) <= 1994
          ;
      CALCULATE (
      AVERAGEX (Datasrc; Datasrc[C_P2] );
      DATESBETWEEN(Datasrc[Year];"1990-01-01";"1994-01-01")
      )
      )
      

      公式的第一部分,只取出我感兴趣的年份。 公式的第二部分 [CALCULATE(AVERAGEX....] 计算我感兴趣的年份的平均值。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多