我需要知道床的预订率(就像酒店一样)。
一系列日期的床位数(每月总计),对于该范围内的预订(包括部分在该范围内的日期的预订的部分总和)
我创建了一个带有StartDate和EndDate的“预订”事实表,其中包含度量“countSejoursDate”(count(行))和度量“NbrOfBeds”(总和)。 我创建了2个“向导时间”维度链接如下:
我还创建了第3个“向导时间”维度,称为“日期”,与任何事实无关。
在尝试获取结果时,使用下面的MDX,我只能检索一系列日期内的行数...但即使这样,每个月的1srt日的值也是假的!
with member nbsejsDate as AGGREGATE(
{NULL:LINKMEMBER([Date].[Calendrier].CURRENTMEMBER,[START_DATE].[Start_Calendrier])}
* {LINKMEMBER([DATE].[Calendrier].CURRENTMEMBER, [END_DATE].[End_Calendrier]):NULL}
, [Measures].[countSejoursDate])
select nbsejsDate
on 0
, [Date].[Calendrier].[Jour].&[2015-03-01]:[Date].[Calendrier].[Jour].&[2015-03-31] on 1
from [Cube]
答案 0 :(得分:1)
这有点奇怪,因为我们在这里是一个以开始和结束日期形式的多对多关系。尝试依靠MDX计算进行正确的计算,而不是使用多对多关系,这很棘手,非常非常容易出错。
解决这个问题有不同的可能性:
在事实中的时间维度链接中使用范围(从 - 到)链接类型。
使用Javascript视图创建一个新列,该列是一个日期数组(开始/结束)。多对多关系是即时创建的。
如果我能正确理解问题,这应该会使计算变得更容易。
希望有所帮助