对于数据透视表中的特定日期间隔,如果重叠

时间:2015-07-27 09:54:53

标签: excel powerpivot

我有一份员工名单,以及他们开始的日期和退出的日期:

Name    Started     Quit
Liza    2014-01-01  2014-07-18
Erik    2003-01-01  
John    2007-02-05  2015-02-12
Sigurd  2012-02-20  
Ivo     2014-01-01  2014-12-31

在数据透视表中,对于任何已过滤的日期间隔,我想查看在该时间间隔内至少工作一天的人数。

因此,如果我在数据透视表中选择2014-12-31 - Any time,我会得到:

Erik    
John
Sigurd  
Ivo

如何使用Power Pivot数据模型创建此行为?

可能解决方案的想法:

我想我会为此创建某种计算字段,或者可能是一个包含标题NameMonthWorking (boolean)的新联结表。但我不知道。

1 个答案:

答案 0 :(得分:1)

您可以添加一项考虑“退出”栏中空白的指标:

[Lasteffectivedate]:=IF(ISBLANK(LASTDATE(Employees[Quit])),TODAY(),LASTDATE(Employees[Quit]))

然后,您可以添加另一个度量来确定员工在所选日期或某个日期是否处于活动状态:

[IsActive]:=CALCULATE(COUNTROWS(Employees),FILTER('Employees',firstdate(Employees[Started])<=LASTDATE('Date Table'[Date])),FILTER('Employees',[Lasteffectivedate]>=FIRSTDATE('Date Table'[Date])))

这假设您有一个断开连接的日期表,该日期表用作日期选择的来源。

enter image description here