Designer:キーワードの処理順序

処理順序を意識して作成しよう。

制御シートのキーワードは、記述する分には順不同で問題ありません。しかし当然ながら、処理が行われる順序は決まっています。抽出や生成で、「エラーも出ず」「正常終了しているのにも拘らず」「作成した制御シートには一見やりたいことが全て施されているのにも拘らず」‥‥期待する結果が出ない!――と成った場合は、設定したキーワードの処理順序から、見直してみても良いかもしれません。

役割が近いキーワードは要注意

下図のようなマスタデータ(左)とメインの入力データ(右)があったとします。

f:id:xoblos:20180207165043p:plain

更にその入力データを基本入力データとし、マスタデータを変換入力データとし、事業所の ID でマッチングさせ、「事業所名称」を取る制御シートがあったとします。

f:id:xoblos:20180207172338p:plain

「#事業所_切り出し」は、キーワード『取得データの切り出し』により、"入力項目「事業所」の 1桁目から全ての文字列" を保持しています。打って変わって「#事業所_組合せ」は、キーワード『取得データの組合せ』により、"入力項目「事業所」を丸々参照した内容" を保持しています。‥‥つまるところ、これら保持している内容は全く同じということになります。

それぞれを全く同じ、変換入力ファイル参照/マッチ条件/変換対象項目の取得を行い、生成します。

f:id:xoblos:20180207172053p:plain

E列――もとい、キーワード『取得データの組合せ』で変換させたものは、事業所名を取得できませんでした。

つまり、①キーワード『取得データの切り出し』、②変換入力、③キーワード『取得データの組合せ』という処理順序が生成の仕様であり、「#事業所_組合せ」は値が何も入っていない状態で変換入力を行い、アンマッチであったことが明らかになります。要件によって、『取得データの切り出し』の「%項目名%,1」と、『取得データの組合せ』の「%項目名%」は、使い分ける必要があるということですね。

処理順序は、「xoBlos Designer ヘルプ」サイトよりダウンロードできる、各リファレンスマニュアルに「Exporter処理順序」「Importer処理順序」とシートが用意されておりますので、ご確認ください。