在我的日期维度中,我有 2 个层次结构:
[年-周-日]和[年-月-日]
如果日期维度的当前级别是 [日期](最低级别)或更高级别,我想检查多维数据集计算。
我怎样才能做到这一点?
背景:我需要这个来计算员工在一段时间内有多少工作日。我目前有这个代码(未经测试)应该可以解决 1 个层次结构的问题,但我想当用户使用 [Year - Week - Date] 层次结构时这会失败。
CASE WHEN
[Date].[Year - Month - Date].CURRENTMEMBER.Level
IS
[Date].[Year - Month - Date].[Date]
THEN
//at day level,
//if there is any duration booked, this is a working day
IIF([Measures].[Duration] = 0,0,1)
ELSE
//at higher than day level,
//count days
COUNT(
// where duration > 0 (employee work day)
FILTER(
Descendants([Date].[Year - Month - Date].CURRENTMEMBER, [Date].[Year - Month - Date].[Date]),
[Measures].[Duration] > 0
)
)
END
tl;博士我如何以最简洁的方式使上述代码也适用于 [Year - Week - Date] 层次结构。