次の方法で共有


複数パーティション用のファクト テーブルのフィルタ選択

1 つのファクト テーブルをキューブ内の複数のパーティションで使用する場合は、同じ行が複数のパーティションで使用されないようにしてください。1 つの行が複数のパーティションで使用されると、この行はキューブの処理またはクエリ実行時に重複して処理される可能性があり、クエリが間違ったデータを返す原因になることがあります。

パーティション内でフィルタを使用すると、パーティション間のデータ重複を回避できます。パーティションのフィルタは、そのパーティションで使用されるファクト テーブル内のデータを指定します。キューブに含まれるすべてのパーティションのフィルタが、ファクト テーブルから相互排他的なデータセットを取り出すことが重要です。たとえば、次のフィルタのセットは、各セット内で相互排他的です。

セット 1

"SaleYear" = 2004

"SaleYear" = 2005

セット 2

"Continent" = 'NorthAmerica'

"Continent" = 'Europe'

"Continent" = 'SouthAmerica'

セット 3

"Country" = 'USA'

"Country" = 'Mexico'

("Country" <> 'USA' AND "Country" <> 'Mexico')

テーブル内の行を制限するクエリは、パーティション ウィザードの [クエリを指定して行を制限する] ページで指定します。このページで、[クエリを指定して行を制限する] チェック ボックスをオンにし、行を制限するクエリを作成します。

パーティション用に相互排他的なクエリを作成する場合は、キューブに含めようとしたデータが結合後のパーティション データにすべて含まれていることを確認する必要があります。通常、テーブル自体に基づいた既定のパーティションは削除してください。そうしないと、クエリ パーティションに基づいたクエリが、完全なテーブルに基づいたクエリと重複してしまいます。

注意

パーティション内のデータをフィルタ選択する代わりに、同じクエリを使用してデータ ソース ビューで名前付きクエリを作成し、その名前付きクエリに基づいてパーティションを作成できます。