PowerPivot DAX 设置每组的最大值
PowerPivot DAX Set the Maximum Value Per Group
我正在处理一份报告,需要报告每位员工的工时。
但是,有些人的工作时间超过了 Max Hours,在以下情况下简单求和将不起作用......
我尝试使用 Min 函数,但它仅适用于列级别......
我看到 =calculation 函数应该可以工作,但我不确定如何编写它...下面是示例:
Staff ID Date Work Hours
A001 5-Jan-2015 8
A001 6-Jan-2015 8
A001 7-Jan-2015 8
A001 8-Jan-2015 8
A001 9-Jan-2015 8
A002 5-Jan-2015 7
A002 6-Jan-2015 7
A002 7-Jan-2015 6
A002 8-Jan-2015 7
A002 9-Jan-2015 6
Staff ID Staff Name Max Hours Per Week
A001 Person A 35
A002 Person B 35
Output:
Staff ID Hours
A001 35 (instead of 40)
A002 33 (7+7+6+7+6)
非常感谢您的帮助!
从名为 hours 的 Measure 开始,该 Measure 只是对列求和:
=SUM(Table1[Work Hours])
此度量然后使用该总和并执行 IF() 来检查此人是否超过限制和 returns 适当的数字。 SUMX() 遍历每个人,以便为您提供正确的总数。
=
SUMX (
VALUES ( Table1[Staff ID] ),
IF (
[Hours] > VALUES ( Table2[Max Hours Per Week] ),
VALUES ( Table2[Max Hours Per Week] ),
[Hours]
)
)
假设您有 2 个表,名为 table1 和 2,它们与员工 ID 相关。
我正在处理一份报告,需要报告每位员工的工时。 但是,有些人的工作时间超过了 Max Hours,在以下情况下简单求和将不起作用...... 我尝试使用 Min 函数,但它仅适用于列级别...... 我看到 =calculation 函数应该可以工作,但我不确定如何编写它...下面是示例:
Staff ID Date Work Hours
A001 5-Jan-2015 8
A001 6-Jan-2015 8
A001 7-Jan-2015 8
A001 8-Jan-2015 8
A001 9-Jan-2015 8
A002 5-Jan-2015 7
A002 6-Jan-2015 7
A002 7-Jan-2015 6
A002 8-Jan-2015 7
A002 9-Jan-2015 6
Staff ID Staff Name Max Hours Per Week
A001 Person A 35
A002 Person B 35
Output:
Staff ID Hours
A001 35 (instead of 40)
A002 33 (7+7+6+7+6)
非常感谢您的帮助!
从名为 hours 的 Measure 开始,该 Measure 只是对列求和:
=SUM(Table1[Work Hours])
此度量然后使用该总和并执行 IF() 来检查此人是否超过限制和 returns 适当的数字。 SUMX() 遍历每个人,以便为您提供正确的总数。
=
SUMX (
VALUES ( Table1[Staff ID] ),
IF (
[Hours] > VALUES ( Table2[Max Hours Per Week] ),
VALUES ( Table2[Max Hours Per Week] ),
[Hours]
)
)
假设您有 2 个表,名为 table1 和 2,它们与员工 ID 相关。