首页 > 解决方案 > DAX,PowerBI:具有来自其他计算列的年度最大值的计算列

问题描述

表格的样本部分

我有一个计算表,其中包含日历表中的日期,[Rok] 是 Year([Data]),KB... 列只是这一天的值,并且那天过去 3 年,Avg KB t-3 是计算列的平均值过去 3 年的价值。

我需要为每个 Rok 添加一个 MAX 为 [Avg KB t-3] 的计算列。

这听起来很容易,但我尝试了许多不同的方法并失败了。

请用你的想法启发我,因为我输了:)

标签: powerbidaxcalculated-columns

解决方案


好的,所以我采取了不同的方法并最终得到了这个:

MaxAVG = 
VAR tabela =
CALCULATETABLE(
    ADDCOLUMNS(
        DATESBETWEEN('Calendar Table'[Data]; [Start]; [Koniec]);
        "Avg"; [AvgKB]
    );
    ALLEXCEPT(
        'WSF Baza';
        'WSF Baza'[Poziom]
    )
)
RETURN
IF(
    OR(
        MAX('Calendar Table'[Data]) < [Start];
        MAX('Calendar Table'[Data]) > [Koniec]
    );
    BLANK();
    MAXX(tabela;[Avg])
)

首先,我正在创建一个“虚拟”表,其中包含我感兴趣的一段时间内的所有日期,并添加计算出的某天过去 3 年平均值的列。'WSF Baza'[Poziom] 是我希望能够过滤我的数据的参数。

然后通过 IF 语句,我将结果缩小到我感兴趣的日期,并且对于此期间的每个日期,我返回整个期间的平均值 MAX。


推荐阅读