リレーショナルソース修飾子にキー範囲パーティション化を指定する場合、追加のフィルタ条件を入力することができます。この操作を行った場合、セッションプロパティで入力したフィルタ条件を含むWHERE句がIntegration Serviceによって生成されます。
[マッピング]タブの[トランスフォーメーション]ビューに入力したフィルタ条件により、ソース修飾子トランスフォーメーションを設定する際にDesignerで設定したフィルタ条件が上書きされます。
キー範囲パーティション化を使用する場合、フィルタ条件はキー範囲と関連しながら機能します。たとえば、顧客IDに基づいてデータを選択したいが、USA以外の顧客の情報は抽出したくないとします。次のキー範囲を定義します。
USA以外の顧客のIDが特定のパーティションの範囲内にあると分かっている場合は、そのパーティションにフィルタを入力してそれらを排除することができます。したがって、2番目のパーティションに次のフィルタ条件を入力します。
CUSTOMERS.COUNTRY = ‘USA’
このセッション実行すると、次のような2つのパーティション用クエリーがセッションログに記録されます。
READER_1_1_1> RR_4010 SQ instance [SQ_CUSTOMERS] SQL Query [SELECT CUSTOMERS.CUSTOMER_ID, CUSTOMERS.COMPANY, CUSTOMERS.LAST_NAME FROM CUSTOMERS WHERE CUSTOMER.CUSTOMER ID < 135000]
[...]
READER_1_1_2> RR_4010 SQ instance [SQ_CUSTOMERS] SQL Query [SELECT CUSTOMERS.CUSTOMER_ID, CUSTOMERS.COMPANY, CUSTOMERS.LAST_NAME FROM CUSTOMERS WHERE CUSTOMERS.COUNTRY = ‘USA’ AND 135000 <= CUSTOMERS.CUSTOMER_ID]
フィルタ条件を入力するには、まず[ソースフィルタ]フィールドで[参照]ボタンをクリックします。[SQLエディタ]ダイアログボックスにフィルタ条件を入力し、[OK]をクリックします。
ソースフィルタトランスフォーメーションを設定したときにDesignerでフィルタ条件を入力している場合は、各パーティションの[ソースフィルタ]フィールドにそのクエリーが表示されます。このフィルタを上書きするには、[ソースフィルタ]フィールドの右端のボタンをクリックし、[SQLエディタ]ダイアログボックスでフィルタ条件を変更したあと、[OK]をクリックします。