複数パーティション用のファクト テーブルのフィルタ選択
1 つのファクト テーブルをキューブ内の複数のパーティションで使用する場合は、同じ行が複数のパーティションで使用されないようにしてください。1 つの行が複数のパーティションで使用されると、この行はキューブの処理またはクエリ実行時に重複して処理される可能性があり、クエリが間違ったデータを返す原因になることがあります。
パーティション内でフィルタを使用すると、パーティション間のデータ重複を回避できます。パーティションのフィルタは、そのパーティションで使用されるファクト テーブル内のデータを指定します。キューブに含まれるすべてのパーティションのフィルタが、ファクト テーブルから相互排他的なデータセットを取り出すことが重要です。たとえば、次のフィルタのセットは、各セット内で相互排他的です。
セット 1
"SaleYear" = 2004
"SaleYear" = 2005
セット 2
"Continent" = 'NorthAmerica'
"Continent" = 'Europe'
"Continent" = 'SouthAmerica'
セット 3
"Country" = 'USA'
"Country" = 'Mexico'
("Country" <> 'USA' AND "Country" <> 'Mexico')
テーブル内の行を制限するクエリは、パーティション ウィザードの [クエリを指定して行を制限する] ページで指定します。このページで、[クエリを指定して行を制限する] チェック ボックスをオンにし、行を制限するクエリを作成します。
パーティション用に相互排他的なクエリを作成する場合は、キューブに含めようとしたデータが結合後のパーティション データにすべて含まれていることを確認する必要があります。通常、テーブル自体に基づいた既定のパーティションは削除してください。そうしないと、クエリ パーティションに基づいたクエリが、完全なテーブルに基づいたクエリと重複してしまいます。
注 |
---|
パーティション内のデータをフィルタ選択する代わりに、同じクエリを使用してデータ ソース ビューで名前付きクエリを作成し、その名前付きクエリに基づいてパーティションを作成できます。 |