DAX测量:所有用户的IF总和=单个用户的最大值返回值

时间:2018-02-15 14:54:15

标签: excel pivot-table dax powerpivot powerquery

他是每个人,

我对DAX措施更新,我试图让我的措施具有以下逻辑:

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

数据模型具有以下列:CustomerID \ Usage \ Interval(DATETIME)。绊倒我的是DATETIME以15分钟为增量。我有大约700个唯一的CustomerID,我需要能够在所有CustomerID的MAXSUM期间返回每个CustomerID的使用情况。

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

提前致谢,

1 个答案:

答案 0 :(得分:0)

这可能不是最简单的解决方案,但它适用于我(我已将表命名为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)

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

MaxUsage只是所有时间间隔内最大的TotalUsage

MaxIntervalTotalUsage = MaxUsage

的间隔

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