3回目は、1,2回目のデータ入力ツールにおける、複数ファイルの読み込みの続きです。
前回までスキーマが同じファイルの読み込みを行いましたが、今回は異なるスキーマのファイルの読み込みについてお話したいと思います。
異なるスキーマのファイルを一気に読み込むためには
結論としては、バッチマクロが必要になります。
バッチマクロは、コントロールパラメーター入力に入力されたレコード数分繰り返して同じワークフローを実行するタイプのマクロです。繰り返して実行するため、データ入力ツールで読み込むデータは、毎回独立して扱うため、複数ファイル間でのスキーマの違いを無視して読み込むことができます(が、とあるオプションをオンにする必要があります)。
バッチマクロの詳細については、こちらを参照願います。
それではワークフローを見ていきましょう。
バッチマクロを利用して異なるスキーマのファイルを一気に読み込む
まず、ベースとなるのは2週目のワークフローです。動的入力ツールの部分をバッチマクロに変えていきます。
CSVファイルの場合
バッチマクロとしては、以下のように作成します。
※コントロールパラメーターツールとマクロ出力ツールに設定はありません。また、データ入力ツールは、正常にファイルを読み込めるように設定します。
コントロールパラメータツールを配置した時点で自動的にマクロタイプはバッチマクロになります。また、アクションツールは以下のように設定しましょう。
- アクションタイプ:「値を更新」
- 更新する値:「File-value」
ここで、ポイントは、インターフェースデザイナーを開き、「出力モード」を「フィールド名による自動設定」にすることです。これにより、アウトプットは最終的にフィールド名に応じてまとめられます。
デフォルトオプションは「すべての反復は同じ出力スキーマ」なのですが、今回スキーマが異なるファイルを読み込むとしているため、デフォルトオプションではエラーになってしまいます。
あとは、動的入力ツールをバッチマクロに差し替えます。
これで完了です。
Excelの場合
Excelの場合は、バッチマクロを作成する際に、データ入力ツールにてExcelファイルを読み込んでおけばオッケーです。それ以外はCSVと何ら違いはありません。これは、2週目のときにExcelファイルのパスをフォーミュラツールでしっかり作ったからです。
つまり、この部分が効いています。
サンプルワークフロー
次回
次回は、Excelの複数シート読み込みを見てみましょう。
コメント