Free Trial

ディスカッション

答えを見つけ、質問し、Alteryx の専門知識を共有してください。
解決済み

Alteryxでファイルの入力前に、ツールアイコンの処理を実行する方法

cresco_ohsaka
メテオール

やりたい事の概要は下記の通りです。

①Alteryx上のコマンド実行のツールアイコンで、Windowsのバッチファイルの実行を行う。

ここで、バッチファイルはネットワーク上からファイルの取得を行う。

②バッチファイル取得後、ネットワークから取得したファイルを読み込む。

③ファイルから読み込んだデータに対して、Alteryxでデータ加工を行い、最終的なデータを出力する。

 

Alteryxでは基本的にすべての処理を行う前に、ファイルの入力を全て行うという認識をしています。上記の流れを1回の実行処理で行うことは可能でしょうか?

もしくは、特定のデータのインポートにディレイをかけることはできますでしょうか?

 

よろしくお願いいたします。

2件の返信2
AkimasaKajitani
17 - Castor
17 - Castor

@cresco_ohsaka さん

 

まさにコマンドラインツールで実行可能かと思います。

 

AkimasaKajitani_0-1608820757208.png

 

このサンプルでは以下のようなことを行っています。

 

1.テキスト入力ツールを使ってバッチファイルの中身を作成します。

 

その1.png

 

2.コマンド実行ツール以下の設定を行います

 2-1.テキスト入力ツールの内容をバッチファイルとして書き出します

 2-2.バッチファイルを実行します

 2-3.バッチファイルでコピーされたファイルを読み込みます

 

 

その2.png

2-1の書き出し設定は以下の感じです。

 

その3.png

・デリミタは\0

・出力フィールドを引用「常に非表示(Never)」

・先頭業にフィールド名を含める → チェックなし

 

複数ファイルがあったり、ファイルの名前や数などが不定の場合は、バッチファイルでワイルドカードを使ったり、ディレクトリツールでファイルリストを取り込んでからフォーミュラツールで加工してバッチファイルの中身を作る、という手もあります。

 

また、ファイル読み取りも一種類のファイルではないなど、複雑な場合はマクロを使わざるをえない、というケースもあるかと思います。その場合は一旦コマンド実行ツールの結果の読み取りのところでダミーファイルを読ませてから改めてマクロで再開する、といったことも可能です。

 

 

なお、ネットワーク越しの場合はNET USEなどで先にセッションを張る必要があったりしますが、そのあたりはWindowsのバッチファイルのナレッジになりますので、今回は省略させてください。

 

Mizuno
アステロイド

ちょっとした小技ですけどコマンドラインツールを使わない場合は下記の様にファイルを読み込むバッチマクロを作ります。

例.PNG

この時あえて何も更新しないけど、入力ツールにはコントロールパラメータをつなげておきます。

こうすることで、コントロールパラメータに入力が無い場合はファイルの読み込みを行わなくなります。

これで任意のタイミングでファイル読み込みを行う事ができます。