DAX 度量:如果所有用户的总和 = 最大值 THEN return 单个用户的值

DAX Measure: IF sum of all users = Max THEN return value of individual user

他大家,

我是 DAX 度量的新手,我正在尝试让我的度量具有以下逻辑:

When sum of all users = Max, THEN return value of individual user

数据模型包含以下列:CustomerID \ Usage \ Interval (DATETIME)。让我感到困惑的是 DATETIME 以 15 分钟为增量。我有大约 700 个唯一的 CustomerID,我需要能够 return 在所有 CustomerID 的 MAXSUM 期间使用每个 CustomerID。

我不确定这是否是一个 IF-THEN 语句,或者我是否需要使用时间函数。我正在 Power Pivot 中编写此 DAX 度量以发送到 Excel.

内的 Pivot Table

提前致谢,

这可能不是最简单的解决方案,但对我有用(我将 table 命名为 Load)。

CustomerUsage = 
    VAR Summarized = CALCULATETABLE(
                         SUMMARIZE(Load, Load[Interval], "TotalUsage", SUM(Load[Usage])),
                         ALLSELECTED(Load))
    VAR MaxUsage = MAXX(Summarized, [TotalUsage])
    VAR MaxInterval = MAXX(FILTER(Summarized, [TotalUsage] = MaxUsage), [Interval])
    RETURN CALCULATE(SUM(Load[Usage]), Load[Interval] = MaxInterval)

首先,您生成一个 table,它通过对所有选定用户求和来计算每个时间间隔的总使用量。

MaxUsage 是所有区间中最大的 TotalUsage

MaxIntervalTotalUsage = MaxUsage.

的区间

然后我们可以找到 Usage 客户的最大使用间隔。