我正在撰写报告,需要报告每位员工的小时数。 但是,有些人的工作时间超过了Max Hours,在以下情况下,一笔简单的金额将不起作用...... 我尝试使用Min函数,但它只能用作列级... 我看到=计算函数应该可以工作,但我不知道如何写它...下面是例子:
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)
非常感谢你的帮助!
答案 0 :(得分:0)
从一个名为hours的Measure开始,它只是对列进行求和:
=SUM(Table1[Work Hours])
此度量然后使用该总和并执行IF()以检查该人是否超过限制并返回适当的数字。 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相关的表。