「差分抽出機能」のサンプル(前編)
https://xoblos.hatenablog.jp/entry/2022/11/24/151803
前回記事の続きです。旧・新表の抽出データ(XMLデータ)が用意できていますので、「抽出データの比較」手順の設定を行います。
「抽出データの比較」手順の設定
「ユニークキーとなるタグ」の指定
2つのデータのマッチング(突き合わせ)を行うには、ユニークキーの指定が必要となります。このサンプルでは、「SYSTEM番号」をユニークキーとして指定しています。
ユニークキーは複数指定が可能であり、「SYSTEM番号」「工事種別」をユニークキーとしたい場合は、[追加] して [タグ名] に「工事種別」を指定してキーを追加します。
「抽出データの比較」手順のヘルプ
[この手順の設定] の [処理の動作設定] バーの右端の [?] をクリックすると、オンラインヘルプの「抽出データの比較」手順についてのトピックが表示されます。
出力タグのサンプル
このサンプルでの出力タグは次のようになります。追加データ(新しく追加されたデータ)の場合は Status 属性が "Add" になり、「区分」タグの値は "追加" となっています。
<区分 Status="Add">追加</区分>
<AssortmentId Status="Add">8</AssortmentId>
<工事種別 Status="Add">ABCD_新設工事</工事種別>
<工事項目 Status="Add">08年度</工事項目>
<SYSTEM番号 Status="Add">10003</SYSTEM番号>
出力タグのサンプル(XMLデータ)
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <Root> <ROWS> <区分 Status="Add">追加</区分> <AssortmentId Status="Add">8</AssortmentId> <工事種別 Status="Add">ABCD_新設工事</工事種別> <工事項目 Status="Add">08年度</工事項目> <SYSTEM番号 Status="Add">10003</SYSTEM番号> <名称 Status="Add">店名-え</名称> <旧店舗番号 Status="Add" /> <店舗番号 Status="Add">B14967</店舗番号> <都道府県 Status="Add">大阪府</都道府県> <物件内諾日 Status="Add">2008/09/25</物件内諾日> <付帯工事完工日 Status="Add">2008/12/09</付帯工事完工日> <総合検査 Status="Add">2008/12/17</総合検査> <食品免許許可日 Status="Add">2008/12/10</食品免許許可日> <冷凍機試験完了日 Status="Add">2008/12/17</冷凍機試験完了日> <広告配布日 Status="Add">2008/12/25</広告配布日> </ROWS> <ROWS> <区分>旧</区分> <AssortmentId>8</AssortmentId> <工事種別>ABCD_新設工事</工事種別> <工事項目>08年度</工事項目> <SYSTEM番号>10007</SYSTEM番号> <名称>店名-く</名称> <旧店舗番号 /> <店舗番号>B15058</店舗番号> <都道府県>滋賀県</都道府県> <物件内諾日>2007/12/14</物件内諾日> <付帯工事完工日>2008/02/20</付帯工事完工日> <総合検査 Status="Chg">2008/02/01</総合検査> <食品免許許可日>2008/02/12</食品免許許可日> <冷凍機試験完了日>2008/02/22</冷凍機試験完了日> <広告配布日>2008/02/28</広告配布日> </ROWS> <ROWS> <区分>新</区分> <AssortmentId>8</AssortmentId> <工事種別>ABCD_新設工事</工事種別> <工事項目>08年度</工事項目> <SYSTEM番号>10007</SYSTEM番号> <名称>店名-く</名称> <旧店舗番号 /> <店舗番号>B15058</店舗番号> <都道府県>滋賀県</都道府県> <物件内諾日>2007/12/14</物件内諾日> <付帯工事完工日>2008/02/20</付帯工事完工日> <総合検査 Status="Chg">2008/02/22</総合検査> <食品免許許可日>2008/02/12</食品免許許可日> <冷凍機試験完了日>2008/02/22</冷凍機試験完了日> <広告配布日>2008/02/28</広告配布日> </ROWS> (中略) <ROWS> <区分 Status="Del">削除</区分> <AssortmentId Status="Del">8</AssortmentId> <工事種別 Status="Del">ABCD_新設工事</工事種別> <工事項目 Status="Del">08年度</工事項目> <SYSTEM番号 Status="Del">15057</SYSTEM番号> <名称 Status="Del">店名-く3</名称> <旧店舗番号 Status="Del" /> <店舗番号 Status="Del">B15058</店舗番号> <都道府県 Status="Del">滋賀県</都道府県> <物件内諾日 Status="Del">2007/12/14</物件内諾日> <付帯工事完工日 Status="Del">2008/02/20</付帯工事完工日> <総合検査 Status="Del">2008/02/22</総合検査> <食品免許許可日 Status="Del">2008/02/12</食品免許許可日> <冷凍機試験完了日 Status="Del">2008/02/22</冷凍機試験完了日> <広告配布日 Status="Del">2008/02/28</広告配布日> </ROWS> </Root>
削除データ(削除されたデータ)の場合は Status 属性が "Del" になり、「区分」タグの値は "削除" となっています。変更データ(変更があったデータ)の場合は Status 属性が "Chg" になり、「区分」タグの値は旧データの方が "旧"、新データの方が "新" となっています。
目標(GOAL)を再掲すると
後続手順の生成制御シートと、目標(GOAL)となる出力結果を再掲します。Status 属性の値を判定し、[条件塗りつぶし]-[Status属性] キーワードで指定した色で、セルの背景を塗りつぶしていることがわかります。
【生成制御シート】
目標(GOAL)
「区分」値や表示色を変更する
デフォルトだと「区分」タグの値として「追加」「削除」「旧」「新」が設定されますが、この値は変更できます。また、「区分」というタグ名も変更できます。
塗りつぶし色の変更は、制御シートで簡単に指定できます。
「区分」の表示内容と塗りつぶし色が、指定通りとなって出力されます。