我有一个立方体(多维)
[Person]
,
[Arrival Date]
和
[Departure Date]
尺寸,
[Measures].[persons #D]
- [Person]
的不同计数,以及包含人员出发和到达日期的事实表。
我需要计算在用户选择的日期“住在这里”的人数的不同数量。 这意味着我需要计算在用户选择的日期之前和之后具有
[Arrival Date]
和 [Departure Date]
的人员。
用户选择的日期存储在
[Measure].[EndOfPeriodDate]
中。
在 Dax/表格模型中我可以让它变得简单。类似的东西:
CALCULATE(COUNTA([Person]); FILTER(FactTable; ('FactTable'[Arrival Date] < [EndOfPeriodDate]) && 'FactTable'[Departure Date] > [EndOfPeriodDate])))
但我真的不明白如何在 MDX 中编写相同的内容(我正在使用 icCube)。
我写了以下措施,效果很好:
create member [Measures].[PersonsAtEndOfPeriod] AS aggregate ( NULL:[Arrival Date].[Arrival Date].[Day].lookupByName([measures].[EndOfPeriodDate]) ,[Measures].[Persons #D] )
但这只是第一部分。我需要添加我的条件的第二部分
([Departure Date].[Departure Date].[Day].lookupByName([measures].[EndOfPeriodDate]:NULL)
我想它可能看起来像:
NULL:[Arrival Date].[Arrival Date].[Day].lookupByName([measures].[EndOfPeriodDate]) + ([Departure Date].[Departure Date].[Day].lookupByName([measures].[EndOfPeriodDate]:NULL)
但是不起作用...
问题:如何在我的测量中添加第二个(或两个以上)条件?
提前致谢!