mdx获取startDate和endDate之间日期范围的度量值

mdx获取startDate和endDate之间日期范围的度量值,date,mdx,iccube,iccube-reporting,Date,Mdx,Iccube,Iccube Reporting,我需要知道预订床位的价格(比如在酒店)。 一个日期范围内的床位数(每月合计),对于该范围内的预订(包括部分在该范围内的日期的预订部分合计) 我创建了一个“booking”事实表,其中包含StartDate和EndDate,度量值为“countSejoursDate”(count(rows)),度量值为“NbrOfBeds”(sum)。 我创建了两个“向导时间”维度,链接如下: 我还创建了一个名为“日期”的第三个“向导时间”维度,它与任何事实都没有链接 在尝试获得结果时,使用下面的MDX,我只能

我需要知道预订床位的价格(比如在酒店)。

一个日期范围内的床位数(每月合计),对于该范围内的预订(包括部分在该范围内的日期的预订部分合计)

我创建了一个“booking”事实表,其中包含StartDate和EndDate,度量值为“countSejoursDate”(count(rows)),度量值为“NbrOfBeds”(sum)。 我创建了两个“向导时间”维度,链接如下:

我还创建了一个名为“日期”的第三个“向导时间”维度,它与任何事实都没有链接

在尝试获得结果时,使用下面的MDX,我只能检索日期范围内的行数。。。但即使如此,每个月的第1天的值也是错误的

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]

这有点奇怪,因为我们这里有一个多对多的关系,以开始和结束日期的形式。试图依靠MDX计算而不是使用多对多关系来进行正确的计算是非常棘手的,而且非常容易出错

解决这个问题有不同的可能性:

  • 在事实中的时间维度链接中使用范围(从-到)链接类型

  • 使用Javascript视图创建一个新列,该列是日期数组(开始/结束)。多对多关系是动态创建的

如果我正确理解了这个问题,这将使任何计算变得容易得多


希望有帮助

您的olap服务器是免费的吗?在16gig笔记本电脑上,它是否能与AdvWrks DWH兼容?我能用这台笔记本电脑玩标准的mdx吗?或者我需要购买你的前端吗?我们有一个限量版的社区版,但我们的产品不是免费的。对于这种尺寸,您必须购买Enterprise VersionShare-我只想在家里用一种便宜的方式与AdvWrks玩mdx…有办法吗?