使用 DAX 计算前几个月的活跃员工人数

Calculating the number of active employees as at previous months with DAX

我想知道是否有一种方法可以使用开始日期/终止日期来计算活跃员工的数量,而无需创建每日快照 table。

员工table是这样的:

Emp_ID.   Start Date        Termination Date      other columns 

显然 Dim_date 和往常一样:

Date_key      Date            Year.    Month.    Etc... 

员工 table 通过开始日期字段连接到 Dim_Date,因此如果我们使用像这样的 DAX 公式:

ActiveEmps =
CALCULATE (
COUNTX (
    FILTER (
        employee,
        [start date] < MIN ( Dim_Date[Date] )
            && [Termination Date] > MAX ( Dim_Date[Date] )
    ),
    Emp_ID
) 
,other filters within calculate context)

它不起作用,原因是它只计算开始日期在所选时间段内的在职员工。 (因为关系)

我会这样做的:

ActiveEmps :=
VAR ThisDate =
    MIN( Dim_Date[Date] )
RETURN
    CALCULATE(
        COUNTROWS( employee ),
        FILTER(
            ALL( employee ),
            employee[Start Date] < ThisDate
                && employee[Termination Date] > ThisDate
        )
    )