ORDER BY句の変更、WHERE句の追加、またはキャッシュする前にルックアップデータの変換を行う場合は、デフォルトのクエリをオーバーライドします。例えば、データベース関数を使用して、マッピングで使用されるフィールドのデータ型およびフォーマットと一致するようにルックアップテーブルのデータ型またはフォーマットを調整できます。または、デフォルトのクエリをオーバーライドして複数のテーブルを照会できます。
LKPDP_1> DBG_21097 [2018-11-07 14:11:33.509] Lookup Transformation [lkp_ALC_ORDER_DETAILS]: Default sql to create lookup cache: SELECT PRODUCTID,UNITPRICE,QUANTITY,DISCOUNT,ORDERID FROM "icsauto"."ALC_ORDER_DETAILS" ORDER BY ORDERID,PRODUCTID,UNITPRICE,QUANTITY,DISCOUNT
ORDER BY句をオーバーライドしてPRODUCTIDの順に並べ替えるには、
[詳細]
タブの
[ルックアップSQLオーバーライド]
フィールドに次のクエリを入力します。
SELECT PRODUCTID AS PRODUCTID, UNITPRICE AS UNITPRICE, QUANTITY AS QUANTITY, DISCOUNT AS DISCOUNT, ORDERID AS ORDERID FROM "icsauto"."ALC_ORDER_DETAILS" ORDER BY PRODUCTID --
マッピングタスクを再度実行すると、ログファイルに次のクエリが表示されます。
LKPDP_1> DBG_21312 [2018-11-07 14:14:36.734] Lookup Transformation [lkp_ALC_ORDER_DETAILS]: Lookup override sql to create cache: SELECT PRODUCTID AS PRODUCTID, UNITPRICE AS UNITPRICE, QUANTITY AS QUANTITY, DISCOUNT AS DISCOUNT, ORDERID AS ORDERID FROM "icsauto"."ALC_ORDER_DETAILS" ORDER BY PRODUCTID -- ORDER BY ORDERID,PRODUCTID,UNITPRICE,QUANTITY,DISCOUNT