2017-06-06 55 views
1

我正在尝试创建计算成员来计算员工YTD的nb值。本年迄今我的意思是任何给定时间段内的员工数量。我的事实表有两个日期维度StartDate和EndDate。我想计算年初至今的雇员如下。在MDX中创建按日期范围筛选的计算度量值

成员与起始日期等于当期 和 结束日期在当前周期或结束日期或之前是NULL

+0

定义“当前期间”您是否有实际上代表时间的第三时间维度? – mxix

回答

1

我有一个类似的任务,并与下面的解决方案结束:

SUM(
    [EmployeeChanging].[EmployeeChanging].[EmployeeChanging].Members, 
    IIF(
     [Measures].[EmployeeFrom] <= [Measures].[MaxDay] 
     and 
     [Measures].[EmployeeTo] >= [Measures].[MinDay], 
     [Measures].[EmployeeChangingCount], 
     NULL 
    ) 
) 

有是以下格式的暗淡/事实表格:

EmployeeID + StartDate + EndDate

创建一个新维度EmployeeChanging,其中的关键字是EmployeeID + StartDate和基于与[Measures]相同表的度量值组。[EmployeeFrom],[Measures]。[EmployeeTo],[Measures]。[EmployeeChangingCount]采用最大,最大,计数聚合的措施。您还必须提供[Measures]。[MaxDay]和[Measures]。[MinDay]根据您的日期维度测量相同日期字段的最大和最小聚合。而已。 您也可以隐藏您的EmployeeChanging维度,因为它只需要MDXing。