【问题标题】:PowerPivot DAX Set the Maximum Value Per GroupPowerPivot DAX 设置每组的最大值
【发布时间】:2015-01-15 03:09:55
【问题描述】:

我正在编写一份报告,需要报告每位员工的工时。 但是,有些人的工作时间超过了 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)

非常感谢您的帮助!

【问题讨论】:

    标签: powerpivot dax


    【解决方案1】:

    从一个名为 hours 的度量开始,它只是对列求和:

    =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 的表与 Staff ID 相关。

    【讨论】:

      猜你喜欢
      • 2013-03-22
      • 1970-01-01
      • 2015-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-17
      • 1970-01-01
      • 2016-04-07
      相关资源
      最近更新 更多