拡張フィルタ基準を使用した抽出のフィルタ
拡張フィルタ基準を使用して、複雑なSQL問合せを使用するデータをフィルタしたり抽出します。式またはFastFormulaを使用してデータをフィルタすることもできます。式を使用する場合、使用可能な演算子だけでは複雑な式を構築できないことがあります。
FastFormulaを使用すると、複雑なフィルタ基準を構築できます。ただし、拡張フィルタ基準を使用すると、抽出実行のパフォーマンスが向上する可能性があります。拡張フィルタ基準を使用するには、表の別名およびSQLコンストラクトの作成方法をよく理解する必要があります。
休暇中の従業員の抽出
この例では、拡張フィルタ基準を使用して、次の7日間休暇する従業員を抽出する方法について説明します。マネージャは、この情報を使用して、次の7日間の休暇が承認された従業員のリストを検索できます。
-
「抽出定義」ページで、抽出定義を作成します。
-
作成した抽出定義を開き、「設計」タブを選択します。
-
階層から「データ・グループ」リンクを選択し、「追加」アイコンをクリックして「データ・グループ」を選択します。
-
「データ・グループ」セクションで、ユーザー・エンティティPER_EXT_SEC_PERSON_UEを検索し、「拡張」をクリックして「ユーザー・エンティティ詳細」ウィンドウを表示します。
-
「問合せ」タブで、使用するユーザー・エンティティの表と別名をレビューし、「OK」をクリックします。
-
「データ・グループ」セクションで、「フィルタ」タブを選択して「フィルタ基準」セクションを表示します。
-
「追加」アイコンをクリックします。
-
「フィルタ基準」列の「編集」アイコンをクリックします。
-
「フィルタ基準条件の編集」ウィンドウで、「抽出個人システムPersonタイプ」がEMPである従業員のみをレビューするために次の式を作成します
-
「拡張」をクリックします。基本モードの式がSQLコンストラクト(pptum.system_person_type='EMP')に変換されます
-
これで、EXISTS句を使用して新しいSQLコンストラクトを追加できるようになりました。次のSQLコンストラクトを入力すると、次の7日間の休暇が承認されている従業員が抽出されます。
((pptum.system_person_type='EMP') and EXISTS ( select 1 from fusion.ANC_PER_ABS_ENTRIES abs where abs.person_id = pptum.person_id and abs.start_datetime between pay_report_utils.get_parameter_value_date('EFFECTIVE_DATE') and (pay_report_utils.get_parameter_value_date('EFFECTIVE_DATE')+7) and abs.approval_status_cd = 'APPROVED' ) )
SQL問合せを作成して実行時にパラメータ値を取得する場合は、pay_report_utils.get_parameter_value_date('ESS PARAMETER')関数を使用します。ESSパラメータは、明示的に変更されないかぎり、通常は空白がアンダースコアで置き換えられた大文字のパラメータです。たとえば、Effective DateのESSパラメータはEFFECTIVE_DATEです。
ノート: 2000を超える文字を使用してSQL問合せを作成することはできません。 -
SQLコンストラクトに構文エラーがないか検証するには、「検証」をクリックします。
-
「OK」をクリックします。
-
拡張SQL基準が正しく適用されたかどうかを確認するには、GMZFTロギング・モードで抽出を実行し、ログを確認します。