我希望我的MDX查询计算员工全天工作的天数。
措施是小时和出席时间,而维度是员工和日历日期。我不知道如何修改此查询:
WITH MEMBER [Measures].[IsPresent] as IIF([Measures].[Hours] >= [Measures].[Attended Hours],1,0)
MEMBER [Measures].[CountOfDays] as DISTINCTCOUNT(EXISTING FILTER([Calender Date].[Calender].[Date], [Measures].[Hours] >= [Measures].[Attended Hours]))
select {[Employee].[Number].[Number].ALLMEMBERS} on 0, {[Measures].[CountOfDays]} on 1 from (
SELECT ({[Employee].[Number].[Number].ALLMEMBERS},{[Measures].[Hours],[Measures].[Attended Hours]}) ON 0
, { [Calender Date].[Calender].[Date]}on 1
From (select {[Calender Date].[Calender].[Date].&[2016-01-01T00:00:00] : [Calender Date].[Calender].[Date].&[2016-01-31T00:00:00]} ON COLUMNS
FROM [BJ Cube] WHERE ([Calender Date].[Is Work Day].&[Y]))
)
示例数据集是:
答案 0 :(得分:1)
以下MDX是否适合您?
MEMBER [Measures].[CountOfDays] as
SUM(
existing [Calender Date].[Calender].[Date].Members,
IIF(
[Measures].[Hours] >= [Measures].[Attended Hours],
1,
NULL
)
)