タスク > Data Integrationタスク > データフィルタ
  

データフィルタ

データフィルタは、タスクによって処理される行数を制限するためにソースに適用するフィルタです。簡易または詳細データフィルタを作成して、ソースデータがデータフローに追加される前にフィルタリングを行います。
データ転送タスクの任意のタイプのタスク
レプリケーションタスクまたは同期タスク。データフィルタの各セットは他のセットとは独立して機能します。

簡単なデータフィルタ

1つ以上の簡単なデータフィルタを作成できます。
簡単なデータフィルタを複数作成すると、関連付けられたタスクがフィルタ間にAND演算子を作成し、簡単なデータフィルタすべてに適用される行をロードします。
例えば、Salesforceの取引先オブジェクトの行をデータベーステーブルにロードするとします。ただしロードするのは、年収が$100,000以上あり、従業員が500人を超える取引先のみです。次の簡単なデータフィルタを設定します。
フィールド
演算子
フィールド値
AnnualRevenue
>=
100000
NumberOfEmployees
>
500

簡易データフィルタの構成

タスクウィザードで簡易データフィルタを構成します。
    1 簡易データフィルタを作成するには、次のいずれかのアクションを実行します。
    2必要に応じて、データフィルタを作成するオブジェクトを指定します。
    タスクに含まれるソースオブジェクトごとに別々のデータフィルタを作成します。
    3フィールド、演算子、およびフィールド値に基づいてフィルタ条件を入力します。
    4[OK]をクリックします。
    5必要に応じて、追加の簡易データフィルタを作成します。
    データフィルタを削除するには、データフィルタの横の[削除]アイコンをクリックします。
    6[次へ]をクリックします。

詳細データフィルタ

詳細データフィルタを作成して、AND、OR、またはネストされた条件を使用する複雑な式を作成します。
詳細データフィルタを作成する場合は、すべてのフィルタを含む1つの式を入力します。入力する式は、ソースからレコードを取得するために使用するクエリ内のWHERE句になります。
SQL ELTモードのマッピングには、利用するクラウドデータウェアハウスで有効な式構文を使用します。詳細については、利用するクラウドデータウェアハウスのドキュメントを参照してください。他のタイプのマッピングの場合は、Informaticaトランスフォーメーション言語の式構文を使用します。
例えば、Salesforceの取引先オブジェクトの行をデータベーステーブルにロードするマッピングを作成するとします。ただしロードするのは、請求先の州がカリフォルニアまたはニューヨークであり、年収が$100,000以上のレコードです。次の詳細フィルタ式を設定します。
(BillingState = 'CA' OR BillingState = 'NY') AND (AnnualRevenue >= 100000)
Salesforceオブジェクトにデータフィルタを作成すると、対応するタスクがWHERE句のあるSOQLクエリを生成します。WHERE句はデータフィルタを表します。SOQLクエリは、20,000文字未満にする必要があります。クエリが文字制限を超過すると、次のエラーが表示されます。
Salesforce SOQL limit of 5000 characters has been exceeded for the object: <Salesforce object>. Please exclude more fields or decrease the filters.
注: フィルタ条件はランタイムまで検証されません。

詳細データフィルタの構成

タスクウィザードで詳細データフィルタを構成します。簡易データフィルタを詳細データフィルタに変換することはできますが、詳細データフィルタを簡易データフィルタに変換することはできません。
    1詳細データフィルタを作成するには、次のいずれかのアクションを実行します。
    2必要に応じて、データフィルタを作成するオブジェクトを指定します。
    タスクに含まれるソースオブジェクトごとに別々のデータフィルタを作成します。
    3フィルタ式を入力します。
    フィールド名をクリックして、フィールドを式に追加します。
    4[OK]をクリックします。
    データフィルタを削除するには、データフィルタの横の[削除]アイコンをクリックします。
    5[次へ]をクリックします。

データフィルタ演算子

各フィールドの種類に応じて特定の演算子を使用できます。
SQL ELTモードのマッピングには、利用するクラウドデータウェアハウスの式言語で有効な演算子を使用します。詳細については、利用するクラウドデータウェアハウスのドキュメントを参照してください。その他のタイプのマッピングについては、次の表に示すInformaticaトランスフォーメーション言語の演算子を使用します。
次の表は各フィールドの種類で使用できる演算子を示しています。
フィールドの種類
演算子
Boolean
=, ! =, Is Null, Is Not Null
Currency
=, ! =, <, <=, >, >=, Is Null, Is Not Null
Date
=, ! =, <, <=, >, >=, Is Null, Is Not Null
日時
=, ! =, <, <=, >, >=, Is Null, Is Not Null
Double
=, ! =, <, <=, >, >=, Is Null, Is Not Null
ID
=, ! =, Is Null, Is Not Null
Int
=, ! =, <, <=, >, >=, Is Null, Is Not Null
参照
=, ! =, Is Null, Is Not Null
文字列
=, ! =, LIKE'_%', LIKE'%_', LIKE'%_%', Is Null, Is Not Null, <, <=, >, >=
Textarea
=, ! =, LIKE'_%', LIKE'%_', LIKE'%_%', Is Null, Is Not Null, <, <=, >, >=
その他の型
=, ! =, Is Null, Is Not Null

データフィルタ変数

データフィルタ変数は、タスクが以前に実行された日付または時刻を表します。データフィルタ変数を使用して、前回のタスク実行から変更されたソースデータのキャプチャに役立てます。簡単なデータフィルタまたは詳細なデータフィルタの条件でデータフィルタ変数を使用できます。
次のデータフィルタ変数を使用できます。
変数
説明
$LastRunDate
成功あるいは警告で終了した最後のタスク実行のGMTタイムゾーンでの開始日。時刻は含みません。例: 2018-09-24。フィールドタイプがDATEのフィルタの値として使用できます。
$LastRunTime
成功あるいは警告で終了した最後のタスク実行のGMTタイムゾーンでの開始日時。例: 2018-09-24 15:23:23。フィールドタイプがDATETIMEのフィルタの値として使用できます。
$LastRunTime変数をDATEフィールドで使用することはできません。
SQL ELTモードのマッピングの式でデータフィルタ変数を使用することはできません。
例えば、次の簡単なフィルタ条件を含めることができます。
LastModifiedDate > $LastRunTime
注: タイムゾーン間の日付を比較するときはタイムゾーンの違いを考慮します。$LastRunDate変数および$LastRunTime変数の日時は、Informatica Intelligent Cloud Servicesで設定されたタイムゾーンに基づきます。実際のジョブの日時は、SalesforceソースおよびデータベースソースのデータベースサーバーのGMTタイムゾーンに基づきます。タイムゾーンの違いによって、予期しない結果が発生する可能性があります。

データフィルタのルールおよびガイドライン

データフィルタに使用されるルールおよびガイドラインは、次のとおりです。