AlteryxからデータをCSVファイルにしてSFTPサーバにアップロードする

2019.05.20

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。Alteryxサポートエンジニアとして勉強中のスズです。

Alteryxはパスワード認証を使用してSFTPサーバに接続することが可能です。Alteryx Communityにて、AlteryxからSFTPサーバにファイルをアップロードする方法が紹介されております。

今回はCommunityの記事を参考にして、Alteryxで処理したデータをCSVファイルにしてSFTPサーバにアップロードする方法についてご紹介いたします。

データをCSVファイルにしてSFTPサーバにアップロードする

アップロードするデータとアップロード先

SFTPサーバには以下のデータをCSVファイルにしてアップロードします。
※今回はファイルとして保存されているデータを読み込んでいますが、Alteryxで処理を行ったデータという想定で見ていただければと思います。

以下の画像の右側がファイルのアップロード先のSFTPサーバです。ファイルは特にない状態です。

CSVファイルをSFTPサーバにアップロードしたのち、Windowsマシンでファイルをダウンロードして中身を確認していきます。

CSVファイルのアップロード

ワークフローの全体

今回作成するワークフローでは、以下のような処理を行っています。

  1. データをBlobに変換
  2. アップロード先のURLと結合
  3. ファイルのアップロード

各処理に分けてワークフローを確認していきます。

データをBlobに変換

CSVファイルとして出力するデータに対してRecord IDツールでIDを付与したのち、Transposeツールでデータを縦持ちに変換します。

Summarizeツールを使用して、IDでグループ化(Group By)と「Value」列をConcatenateで出力します。

この時点のデータは、IDごとにまとめられています。

再度Summarizeツールを使用します。先ほどIDごとにまとめたデータをConcatenateでさらにまとめます。Separatorには\r\nを使用します。

データは以下のようになっています。全てのデータが1つにまとめられました。

Blob Convertツールを使用してデータをBlobに変換します。

設定はこちら。

  • Convert To a Blob Field
  • String Field: まとめたデータがある列
  • Put Text Data into Blob with Code Page: ANSI/OEM - Japanese Shift-JIS

Blobに変換するとAlteryx上ではサイズが表示されます。

アップロード先のURLと結合

Text Inputツールを使用して、CSVファイルのアップロード先のURLとファイル名を用意します。

Append Fieldsツールを使用して、Blobとアップロード先を結合します。Alteryx上では以下のように表示されます。

ファイルのアップロード

Downloadツールを使用してSFTPにファイルをアップロードします。

主な設定はこちら。

  • Basic
    • URL: ファイルのアップロード先がある列
    • String: ANSI/OEM - Japanese Shift-JIS
  • Payload
    • HTTP Action: PUT
    • Take Query String/Body from Field: まとめたデータがある列
  • Connection
    • 認証情報の設定

ワークフローを実行すると、Alteryx上では以下のように表示されました。

アップロードしたファイルの確認

SFTPサーバを確認してみると、ファイルが追加されていました。

Windowsマシンでファイルをダウンロードして中身を確認してみます。ファイルにカンマで区切られたデータがあることを確認できました。

最後に

今回はAlteryxで処理したデータをCSVファイルにしてSFTPサーバにアップロードする方法についてご紹介しました。

AlteryxからSFTPサーバへの接続は現時点ではパスワード認証のみ対応していますが、Alteryx CommunityのIDEAに秘密鍵認証への対応が要望として挙がっています。今後機能が追加されるとうれしいですね。

Alteryxの導入なら、クラスメソッドにおまかせください

日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。

alteryx_960x400