【问题标题】:How to work out total headcount per Month and Year using two date columns?如何使用两个日期列计算每月和每年的总人数?
【发布时间】:2017-07-07 05:26:06
【问题描述】:

我有一个名为 Staff_Starters (https://www.dropbox.com/s/khowqfgytc6fvq8/data.csv?dl=0) 的表,它连接到日期维度。

是否可以在 Staff_Starters 中创建一个计算列或度量来计算具有 DateEmployed 的每个人,并在具有 Termination_Date 时停止计数。

该公式将计算个人多次,直到他们的结束日期不等于当前日期。

我目前有一个名为 Staff_Starterts 的表,其中包含主要列:

  1. 员工编号
  2. 全名
  3. 就职日期
  4. 终止日期
  5. 团队成员
  6. 状态
  7. 练习
  8. 地区
  9. 集群
  10. 等级

[初学者、离职者和净值][1]

使用的公式:人员变动 = CALCULATE( COUNTROWS(员工), 过滤器(工作人员, AND(员工[工作日期]=MAX(Date_Dim[C​​alendar_Date]))))

【问题讨论】:

    标签: powerbi dax


    【解决方案1】:
    Count = CALCULATE(                                   
      COUNTROWS(data),
      FILTER(data, 
          AND(data[Date Employed]<MIN('Calendar'[Date]),
              data[TerminationDate]>MAX('Calendar'[Date])
          )
      )
    )
    

    结果

    Date        Count
    2017-01-01  85
    2017-02-01  74
    2017-03-01  58
    2017-04-01  37
    

    编辑:回应评论,解释如下。 (引用自 msdn)

    CALCULATE:

    在由指定过滤器修改的上下文中计算表达式

    COUNTROWS:(很明显,但保持完整性)

    计算指定表或由表达式定义的表中的行数

    FILTER

    返回代表另一个表或表达式的子集的表。

    AND

    检查两个参数是否为真。


    AND(data[Date Employed]<MIN('Calendar'[Date]), 
    

    仅包括在当前选定周期开始之前带有Date Employed 的条目。

        data[TerminationDate]>MAX('Calendar'[Date])
    

    仅包括在当前选定周期结束后带有TerminationDate 的条目。


    这应该足以使度量值适应“离开者”、“开始者”等,只要您可以根据比较开始、终止和选定的期间日期来定义它。

    【讨论】:

    • 嗨@user5226582 该公式让我返回一个错误,指出无法确定表“Date_Dim”中“Calendar_Date”列的单个值。当度量公式引用包含许多值但未指定聚合(例如 min、max、count 或 sum)以获得单个结果的列时,可能会发生这种情况。
    • 非常感谢@user5226582,它现在可以工作了。是否也可以根据计算首发、离职和净增长的公式来锻炼人数变动?
    • 不客气。这是一个不同的问题,尽管我添加了一些解释,这应该足以使该措施适应您的需要。
    • 很抱歉,这个公式与我的初学者和离职者所说的不符,因为它应该在 5 月份有所下降。
    猜你喜欢
    • 1970-01-01
    • 2021-07-31
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-08
    相关资源
    最近更新 更多