过去12个月的员工总数

时间:2020-10-13 12:40:24

标签: date powerbi dax

我有以下查询,当我从日期表中选择一个很好且可以正常工作的月份时,可以得到每月的人数。

我希望从所选日期算起过去12个月的平均人数,例如,如果我选择2020年8月,则该平均值应为2019年7月至2020年8月的总人数

Active Employees = 
var currentdate = 'Date'[Max Date]

RETURN
CALCULATE(
    DISTINCTCOUNT('Joined Query'[EMP_NO]),
    'Joined Query'[DATE_OF_EMPLOYMENT] <= currentdate,
    or(
        ISBLANK('Joined Query'[DATE_OF_LEAVING]),
        'Joined Query'[DATE_OF_LEAVING] > currentdate
    )
)

2 个答案:

答案 0 :(得分:1)

您可以像这样每月重新使用您的人数指标:

average 12 months =
VAR currentdate = SELECTEDVALUE('Date'[Max Date])

RETURN AVERAGEX(
  SUMMARIZE(
     FILTER(ALL('Date'), 
       'Date'[Max Date] <= currentdate && 'Date'[Max Date] >= EDATE(currentDate,-11)), 
       'Date'[Max Date],
       "headcount", [Active Employees]
  ), [headcount])

请注意,-11为您提供12个月前的当前日期。在问题中,您说如果选择“八月”,则要从去年七月开始查看,实际上是14个月而不是12个月。如果是用例,则需要将其更改为-13。

答案 1 :(得分:0)

为以下两个指标创建12个开始和结束日期-

12 Month End Date = 
    
VAR D1 = 
    DATEVALUE(
        SELECTEDVALUE('Date'[Max Date].[MonthNo]) 
        & "/1/" 
        & SELECTEDVALUE('Date'[Max Date].[Year])
    )    

RETURN D1-1
12 Month Start Date = 

VAR D1 = 
    DATEVALUE(
        SELECTEDVALUE('Date'[Max Date].[MonthNo]) 
        & "/1/" 
        & SELECTEDVALUE('Date'[Max Date].[Year])
    )

RETURN EDATE(D1,-12) 

现在为平均计算创建以下度量-

12_month_average = 
(
    CALCULATE(
        DISTINCTCOUNT('Joined Query'[EMP_NO]), 
        DATESBETWEEN(
            'Date'[Max Date],
            [12 Month Start Date],
            [12 Month End Date]
        )
    ) + 0
) / 12
相关问题