2012-01-19 10 views
0

の日付範囲句内の既存のものと、存在しないメンバーを代入:私はSSAS 2005キューブからデータを取得するMDXクエリ持つ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)を使用する方法はありますか。

答えて

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] } 
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]) 
+0

はい、それが見えます。そのサブクエブクエリを単独で実行すると、同じ問題が強調表示されるように見える - 2012-01-01にレコードが存在しないため、そのメンバーのNULLに置き換えられ、日付範囲の開始句が無視され、存在するすべてのレコードが返されるキューブで2012年1月10日まで – JML