我有一个从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),如果它不存在?
答案 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])