「差分抽出機能」のサンプル(後編)

「差分抽出機能」のサンプル(前編)
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)

「区分」値や表示色を変更する

デフォルトだと「区分」タグの値として「追加」「削除」「旧」「新」が設定されますが、この値は変更できます。また、「区分」というタグ名も変更できます。

塗りつぶし色の変更は、制御シートで簡単に指定できます。

「区分」の表示内容と塗りつぶし色が、指定通りとなって出力されます。