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
。
MaxInterval
是 TotalUsage = MaxUsage
.
的区间
然后我们可以找到 Usage
客户的最大使用间隔。
他大家,
我是 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
。
MaxInterval
是 TotalUsage = MaxUsage
.
然后我们可以找到 Usage
客户的最大使用间隔。