mdx:检索两个不同日期维度之间的天数

Posted

技术标签:

【中文标题】mdx:检索两个不同日期维度之间的天数【英文标题】:mdx: retrieve the number of days between two different date dimensions 【发布时间】:2010-01-07 14:13:00 【问题描述】:

我正在处理具有两个不同日期维度的多维数据集:第一个管理患者住院日期: [hosp_date] 它按年、季、月和 relative_date 组织:这个计算自 1980 年 1 月 1 日以来的天数。

第二个管理患者出院日期: [disc_date] 与第一个组织相同。

这两个维度都是满的,两天之间没有空洞。

在这个多维数据集中,只有一个衡量住院人数的措施。 我想创建一个具有住院天数的计算成员,因此使用相对日期如下:

with member [Measures].[dd] AS '[disc_date].[relative_date].currentmember - [hosp_date].[relative_date].currentmember'


select [Measures].[dd] on 0,
[patient].[patient_id].members on 1
from [cube]

这个查询并没有像我想象的那样工作。它返回在 disc_date 结束的住院次数与在 hosp_date 开始的住院次数之间的差值。所以它为每个病人返回 0。 我怎样才能找回号码。每位患者的住院天数?

tnx 用于阅读。

【问题讨论】:

【参考方案1】:

事实上,在计算你的计算度量的过程中,MDX 会采用你的多维数据集的默认度量,因为你没有指定一个。

此外,对于维度中的 2 个 [relative_date] 级别,查询中没有指定成员,因此采用默认成员(可能是 [all] 成员)。因此结果始终为 0。

一种可能的解决方案是将维度中的 2 个 relative_date 级别作为度量添加到多维数据集。然后在您的计算中使用这些新度量。

【讨论】:

以上是关于mdx:检索两个不同日期维度之间的天数的主要内容,如果未能解决你的问题,请参考以下文章

SSAS MDX - 根据其他两个维度从一个维度中选择

事实和维度表之间的 MDX 查询

MDX 查询以对具有特定日期范围的日期维度进行分组

mondrian mdx 过滤日期维度中年份级别的集合

如何编写按日期范围和维度成员值进行切片的 mdx 查询

具有不同级别日期维度数据作为日期维度键的事实表