用MDX查询的日期范围子句中的现有成员替换不存在的成员

时间:2012-01-19 14:06:02

标签: ssas mdx

我有一个从SSAS 2005多维数据集中检索数据的MDX查询:

SELECT NON EMPTY { [Measures].[Record Count] } ON COLUMNS
FROM [Cube]
WHERE { [Dimension].[Date].[Day].&[2012]&[1]&[1]:[Dimension].[Date].[Day].&[2012]&[1]&[10] }

这通常很有效。但是,当2012-01-01上没有记录时,似乎替换了NULL值,查询忽略该日期范围的起始参数。

如何检查该维度成员是否存在,并在该范围子句中使用另一个日期(2012-01-02),如果它不存在?

2 个答案:

答案 0 :(得分:1)

看起来这样做了:

SELECT NON EMPTY { [Measures].[Record Count] } ON COLUMNS
FROM [Cube]
WHERE { IIF([Dimension].[Date].[Day].&[2012]&[1]&[1] IS NULL, [Dimension].[Date].[Day].&[2012]&[1]&[2], [Dimension].[Date].[Day].&[2012]&[1]&[1]):[Dimension].[Date].[Day].&[2012]&[1]&[10] }

答案 1 :(得分:0)

子多维数据集查询是否存在同样的问题?

SELECT NON EMPTY { [Measures].[Record Count] } ON COLUMNS
FROM 
(SELECT [Dimension].[Date].[Day].&[2012]&[1]&[1]:[Dimension].[Date].[Day].&[2012]&[1]&[10]
ON COLUMNS FROM [Cube])