次の値を持つテーブルがあります。
ItemName 数量 F ビット 日付
項目 1 100 2011 年 1 月 1 日
アイテム2 150 2011/1/5
アイテム3 200 2011/1/14
アイテム4 250 2011/1/20
項目 5 1000 2011 年 2 月 1 日
MDX クエリでは、日付範囲に基づいてデータをフィルター処理する必要があります。たとえば、2011 年 1 月 1 日から 2011 年 1 月 31 日までの日付範囲のアイテムとその数量を取得する必要がある場合は、次の MDX クエリを使用します。
SELECT
NON Empty
{[Final Report View For Scorecards].[F Bit Date].Children} ON ROWS,
NON Empty
{[Measures].[Qty]} ON COLUMNS
FROM
(
SELECT
(
{[Final Report View For Scorecards].[F Bit Date].&[2011-01-01T00:00:00] :
[Final Report View For Scorecards].[F Bit Date].&[2011-01-31T00:00:00]}
) ON COLUMNS
FROM [FinalReportView]
)
ここで、FromDate および ToDate パラメーターが 01/01/2011 および 01/20/2011 として渡されると、アイテム 1 から 4 とそれぞれの数量が正しく取得されます。しかし、FromDate と ToDate が 01/01/2011 と 01/31/2011 (または) 01/01/2011 と 01/19/2011 として渡されると、間違った Item5 の値も返されます。つまり、テーブルで使用可能な正確な日付がパラメーターとして渡された場合にのみ、正しい結果が返されます。ただし、テーブルで使用できない日付が渡されると、データセット全体が返されます。
「FILTER」を使用した場合も同様です。
この問題へのポインタはありますか?