Free Trial

ナレッジベース

エキスパートから学ぶ。

複数の Excel ファイルから複数のシートを読み込む方法

Community_Admin
Alteryx
Alteryx
Created

この記事では、Designerバージョン10.0を使用して、バッチマクロを利用し、複数のExcelファイルから複数のシートを読み込む方法について説明します。この例で使用する2つのExcelファイル名をFruitsとVegetablesとし、それぞれにApple、Oranges、BroccoliとSpinachという名前のシートがあります。

 

最初のステップは、入力ツールを使用してExcelファイルの1つからシート名のリストを読み込むことです。この機能は10.0の新機能であり、動的入力ツールと組み合わせて使用すると非常に便利です。

1.png

 

次に、前のステップの入力ツールを動的入力ツールに接続します。この構成では、データ入力ソーステンプレートと同じExcelファイルを使用します。入力ツールのシート名フィールドをデータソースのリストとして使用することができます。ファイル/テーブル名の変更を行っていきます。

2.png

 

これで、インタフェースツールをキャンバスに追加する準備が整いました。コントロールパラメーターツール、2つのアクションツール、およびマクロ出力を取り込みます。コントロールパラメーターを2つのアクションツールに接続し、入力と動的入力に接続します。マクロ出力は動的入力の出力に接続されます。

3.png

 

このアクションツールの設定では、アクションタイプを [値を更新] にします。入力と動的入力に渡されるファイル値を更新したいと思います。ただし、シート名を除いて文字列の一部のみを更新する必要があります。そのため、[特定の文字列を置き換える] を選択します。これにより複数のファイルをバッチ処理できます。

4.png

 

最後に、Excelファイルのスキーマが異なる場合は、インタフェースデザイナーでワークフローがエラーにならないように、名前または位置による自動設定によりマクロを設定できます。注記:同じファイル内のシートは同じスキーマにする必要があります。

5.png

これでマクロを保存して使用する準備が整いました!

 

新しいキャンバスにディレクトリツール(すべてのExcelファイルが1つのディレクトリにある場合)を配置するか、テキスト入力を使用して各ファイルパスの場所を手動で入力します。ディレクトリまたはテキスト入力ツールの後に、マクロを挿入し(キャンバスを右クリック -> 挿入 -> マクロ)、マクロ設定内で質問のフルファイルパスを選択します。閲覧を追加して実行し、結果を確認してください!  

6.png

 

これで、複数のExcelファイルから複数のExcelシートを読み込むことができます!

 

添付のワークフローパッケージには、Alteryx v.10.0で作成されたワークフロー、バッチマクロ、およびExcelファイルが含まれています。

 

Tony Moses

クライアントサービス担当

 

添付