繰り返し数の変動対応
xoBlos(ゾブロス)では、抽出や生成など様々な処理手順を構築できますが、これらはすべて繰り返し実行が可能です。
では、その繰り返し回数はどのように決めればよいのでしょうか。
例えば、週次なら「7回」、月次なら「12回」といったように、回数があらかじめ決まっている場合は固定値で設定すれば問題ありません。
一方で、「処理対象データの件数分だけ繰り返したい」というケースもあります。このような場合は、回数を動的に決める必要があります。

このとき重要になるのが、「繰り返し回数の元となる情報は一意であること」です。
重複があると、その分だけ不要な繰り返し処理が実行されてしまいます。
この情報の用意方法は主に2通りです。
事前にマスタファイルを用意し、そこから抽出する
入力データから繰り返し対象となる項目を一意に抽出する
どちらの方法でも、抽出結果はXMLファイルとして出力されます。
ここでは前者の方法を採用し、「事業所マスタ.xml」として準備します。

上図の「手順の繰り返し実行の設定」から「…」をクリックすると、設定ウィンドウが表示されます。

ここで「事業所マスタ.xml」を指定すると、件数に応じて繰り返し回数が自動的に決まります。
例えば3件なら3回、5件なら5回と、xoBlos(ゾブロス)では設定変更なしで柔軟に対応できます。
繰り返し項目の活用とは?
繰り返し回数がデータ件数によって決まるということは、
1件のデータに複数の情報を持たせることも可能になります。
これらの情報は、処理対象の特定や参照先の指定に活用できます。
■基本となる入力データの例①

「Data.xlsx」というブックの中に、「東京事業所」「大阪事業所」「名古屋事業所」といったシートが存在するケースです。
この場合、シート名が識別情報になります。
■基本となる入力データの例②

「東京事業所.xlsx」などのブック名に対し、「Sheet1」という共通のシートを持つケースです。
こちらはブック名が識別情報になります。
両者は構造こそ異なりますが、いずれも重要な情報を持っています。
抽出時には、その識別情報も一緒に取得しておくことが重要です。

例①では「%SheetName」を指定することで、シート名を取得できます。

例②では「%BookName」を指定することで、ブック名を取得できます。

結果として、どちらも同じ構造のXMLとして扱うことが可能になります。
■基本となる入力データの例③

ブック名・シート名のどちらからも識別情報が取得できない場合は、
データ内容から直接抽出する必要があります。

高度選択条件を使用して生成する
ここまでの例では「事業所コード」という共通のキーが存在していました。
そのため、「事業所マスタ.xml」との紐付けが可能です。
ただし、入力データの形式によっては、対象データの特定方法が変わります。

「高度選択条件」を使えば対象データを絞り込めますが、
事前にすべてのパターンを想定して設定するのは現実的ではありません。
例えば100パターンある場合、100行の条件設定が必要になってしまいます。
そこで、設定値を記述するセル(例:C13)と、繰り返し変数を活用します。

「$(item:”項目名”)」は、繰り返し対象のXMLから値を取得する予約変数です。
例えば「事業所マスタ.xml」に含まれる「事業所名」や「事業所コード」を、繰り返しごとに取得できます。
これにより、
1回目:東京事業所のデータのみ処理
2回目:大阪事業所のデータのみ処理
3回目:名古屋事業所のデータのみ処理
といった形で、対象を切り替えながら処理を実行できます。
変数を色々なところで使ってみる
「$(item:”項目名”)」は文字列として扱えるため、さまざまな用途に応用できます。

例えば、入力ファイル名に利用することで、
「東京事業所.xml」などを自動的に切り替えることができます。
この方法を使えば、「高度選択条件」や制御シートの設定自体が不要になる場合もあります。

また、出力ファイル名に利用すれば、
事業所ごとにファイルを分割して出力することも可能です。
まとめ
これまでの例では「事業所コード」を前提としていましたが、
もしこの情報が存在しない場合は「事業所名」など別の情報で特定する必要があります。
その際に重要になるのが、「%BookName」や「%SheetName」といった情報です。
これらを活用できるようにするためにも、
日頃からブック名やシート名の命名ルールを統一しておくことが重要です。
これはxoBlosの設定効率だけでなく、運用全体の品質にも大きく影響します。








