
こんにちは。CData Software Japan の杉本です。
CData Arcで取得したデータには、同じキー(商品コードや得意先コードなど)を持つ明細行が複数繰り返される、階層構造を持ったものがよくあります。こうしたデータをそのまま後続のフローに連携するのではなく、キーごとにグルーピングして合計や件数を付与してから連携したい。そんなときに使えるのが、今回ご紹介するXML Group コネクタ です。
XML Group コネクタとは
XML Group コネクタは、XML内の繰り返し要素(レコード)を指定したキー要素でグルーピングし、集計を行うコネクタです。主な特長は次の3点です。
任意の要素をキーにした階層的なグルーピング(複数キーの組み合わせにも対応)
MIN・MAX・SUM・AVG・COUNT・CONCATENATE の集計関数をXPathベースで指定可能
集計結果(サマリー要素)を追加しつつ、元のレコード構造もそのまま保持
集計だけでなく元データも失われないため、後続の変換処理(XML Mapコネクタなど)に「集計値」と「明細の内訳」の両方を引き渡せる点が特徴です。
基本的な使い方
XML Group コネクタの設定は、大きく分けて次の5つのブロックで構成されています。
サンプルファイル | サンプルXMLを取り込み、以降の設定でXPathをクリック選択できるようにする |
ループ設定 | どのXPathを「1レコード」とみなすか、グループの出力要素名を指定する |
グループ設定 | どの要素をキーにしてグルーピングするかを指定する(複数キー可) |
サマリ設定 | どの要素に、どの集計関数を適用するかを指定する |
並び替え設定 | グループ内のレコードをどの要素でどの順に並べ替えるかを指定する |
以下、それぞれの設定項目を具体例とともに見ていきます。
サンプルフロー
ここでは、以下のような請求明細のCSVデータを例に、実際の設定値と出力結果を見てみます。
請求書番号,請求日,取引先名,商品コード,商品名,数量,単価,税抜金額,消費税率,消費税額
INV-2026-001,2026/08/01,株式会社サンプル商事,ST-001,コピー用紙(A4),100,500,50000,10%,5000
INV-2026-001,2026/08/01,株式会社サンプル商事,ST-001,コピー用紙(A4),50,500,25000,10%,2500
INV-2026-002,2026/08/05,合同会社テスト物産,ST-001,コピー用紙(A4),80,500,40000,10%,4000
INV-2026-002,2026/08/05,合同会社テスト物産,ST-002,ボールペン(黒・10本入),10,300,3000,10%,300
INV-2026-002,2026/08/05,合同会社テスト物産,ST-002,ボールペン(黒・10本入),30,300,9000,10%,900
INV-2026-003,2026/08/10,株式会社デモ工業,ST-004,付箋セット,10,400,4000,10%,400
INV-2026-003,2026/08/10,株式会社デモ工業,ST-004,付箋セット,40,400,16000,10%,1600
INV-2026-003,2026/08/10,株式会社デモ工業,ST-003,ファイルボックス,12,800,9600,10%,960
このCSVを、CSVコネクタでXML形式に変換すると次のようになります。
<請求書番号>INV-2026-001請求書番号>
<請求日>2026/08/01請求日>
<取引先名>株式会社サンプル商事取引先名>
<商品コード>ST-001商品コード>
<商品名>コピー用紙(A4)商品名>
<数量>100数量>
<単価>500単価>
<税抜金額>50000税抜金額>
<消費税率>10%消費税率>
<消費税額>5000消費税額>
このXML に対して、XML Froup コネクタを利用して、キー項目によるグルーピングや集計処理を行います。
File コネクタ
File コネクタを利用して、用意したサンプルのCSV を取得します。

CSV コネクタ
CSV コネクタではサンプルCSV をXML に変換する設定を行います。まずサンプルCSV にはヘッダー行が存在するため、設定タブの「カラムヘッダーが存在します」にチェックを入れます。

次にSample Files タブより、サンプルCSV をアップロードします。アップロードすると、CSV をXML に変換したサンプルが表示されます。


XML Group コネクタ
それではXML Group コネクタの説明に移ります。まずはサンプルファイルを有効化して、サンプルファイルを選択します。CSV コネクタとフローを接続していれば、先ほどCSV コネクタのSample Files にアップロードしたサンプルファイルが表示されます。

もしくは直接サンプルファイルをXML Group コネクタにアップロードすることも可能です。

ループ設定はXML のどの要素でループするかを選択します。サンプルフローでは/Items/xmlgroup_blog_invoice_sample でループさせます。


グループ設定では、グルーピングのキーとなる要素を選択します。今回は請求明細のCSVデータがサンプルとなるため、請求書番号とグルーピングします。


またグループの設定では複数のキーを指定することが出来ます。例えば請求書番号と合わせて商品コードもキーとして設定することも可能です。商品コードのキーは不要なので、削除しておきます。

またグルーピングだけではなく集計処理を行いたい場合は、サマリ設定を構成します。例えば請求書ごとの数量、税抜金額、消費税額の合計を集計したい場合は、以下のように設定します。

そして並び替えの設定を行うことも出来ます。並び替え設定では各グループ内のレコードの順序を構成できます。ここでは商品コードで並び替え設定を行います。

そして最後に「テスト」より、グループ設定のてテストを行うことが出来ます。


フローの実行
フローを実行して、最終的に作成されたXML を確認してみます。グルーピング設定に応じて、階層構造のXML に変換されていることが確認出来ます。
<請求書番号>INV-2026-001請求書番号>
<数量sum>150数量sum>
<税抜金額sum>75000税抜金額sum>
<消費税額sum>7500消費税額sum>
<請求書番号>INV-2026-001請求書番号>
<請求日>2026/08/01請求日>
<取引先名>株式会社サンプル商事取引先名>
<商品コード>ST-001商品コード>
<商品名>コピー用紙(A4)商品名>
<数量>100数量>
<単価>500単価>
<税抜金額>50000税抜金額>
<消費税率>10%消費税率>
<消費税額>5000消費税額>
<請求書番号>INV-2026-001請求書番号>
<請求日>2026/08/01請求日>
<取引先名>株式会社サンプル商事取引先名>
<商品コード>ST-001商品コード>
<商品名>コピー用紙(A4)商品名>
<数量>50数量>
<単価>500単価>
<税抜金額>25000税抜金額>
<消費税率>10%消費税率>
<消費税額>2500消費税額>
<請求書番号>INV-2026-002請求書番号>
<数量sum>120数量sum>
<税抜金額sum>52000税抜金額sum>
<消費税額sum>5200消費税額sum>
<請求書番号>INV-2026-002請求書番号>
<請求日>2026/08/05請求日>
<取引先名>合同会社テスト物産取引先名>
<商品コード>ST-001商品コード>
<商品名>コピー用紙(A4)商品名>
<数量>80数量>
<単価>500単価>
<税抜金額>40000税抜金額>
<消費税率>10%消費税率>
<消費税額>4000消費税額>
<請求書番号>INV-2026-002請求書番号>
<請求日>2026/08/05請求日>
<取引先名>合同会社テスト物産取引先名>
<商品コード>ST-002商品コード>
<商品名>ボールペン(黒・10本入)商品名>
<数量>10数量>
<単価>300単価>
<税抜金額>3000税抜金額>
<消費税率>10%消費税率>
<消費税額>300消費税額>
<請求書番号>INV-2026-002請求書番号>
<請求日>2026/08/05請求日>
<取引先名>合同会社テスト物産取引先名>
<商品コード>ST-002商品コード>
<商品名>ボールペン(黒・10本入)商品名>
<数量>30数量>
<単価>300単価>
<税抜金額>9000税抜金額>
<消費税率>10%消費税率>
<消費税額>900消費税額>
<請求書番号>INV-2026-003請求書番号>
<数量sum>62数量sum>
<税抜金額sum>29600税抜金額sum>
<消費税額sum>2960消費税額sum>
<請求書番号>INV-2026-003請求書番号>
<請求日>2026/08/10請求日>
<取引先名>株式会社デモ工業取引先名>
<商品コード>ST-003商品コード>
<商品名>ファイルボックス商品名>
<数量>12数量>
<単価>800単価>
<税抜金額>9600税抜金額>
<消費税率>10%消費税率>
<消費税額>960消費税額>
<請求書番号>INV-2026-003請求書番号>
<請求日>2026/08/10請求日>
<取引先名>株式会社デモ工業取引先名>
<商品コード>ST-004商品コード>
<商品名>付箋セット商品名>
<数量>10数量>
<単価>400単価>
<税抜金額>4000税抜金額>
<消費税率>10%消費税率>
<消費税額>400消費税額>
<請求書番号>INV-2026-003請求書番号>
<請求日>2026/08/10請求日>
<取引先名>株式会社デモ工業取引先名>
<商品コード>ST-004商品コード>
<商品名>付箋セット商品名>
<数量>40数量>
<単価>400単価>
<税抜金額>16000税抜金額>
<消費税率>10%消費税率>
<消費税額>1600消費税額>

まとめ
本記事では、XML Group コネクタの基本的な使い方を解説しました。
Loop Settings / Group Settings / Summary Settings / Order By Settings の4つの設定で、キーによるグルーピングと集計をノーコードで実現できる
SUM・AVG・COUNT・MIN・MAX・CONCATENATE の6関数から用途に応じて選択できる
集計結果を追加しつつ元のレコード構造も保持するため、後続のXML Mapコネクタとの連携がスムーズ
同じキーで繰り返し送られてくるXMLデータを扱う場面であれば、業種やユースケースを問わず活用できる機能です。ぜひ自社のデータ連携フローに組み込んでみてください。
ご不明な点があれば、テクニカルサポートまでお気軽にお問い合わせください。
CData - サポートフォーム
この記事では CData Arc™ 2026 - 26.3.9726.0 を利用しています