Powerpivot 平均值,仅显示一定范围的行

Powerpivot average, only show a range of rows

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

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

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

有什么想法或建议吗?

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

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

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

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

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

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

差不多,谢谢你的宝贵意见,让我走上了正确的方向!!!,因为我的年份格式 table 不同,我想列出平均价格我做了一点不同的。我只是将你的公式与我的 平均公式 结合起来,得到了我想要的结果。 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....] 计算我感兴趣的年份的平均值。