AlteryxでGoogleスプレッドシートにInput/Outputしてみる

title

こんにちは、S.Satoです。

AlteryxでGoogleスプレッドシートへ読み込み、書き込みってできるのかな・・・?
と思い立ち調べたら簡単にできたのでご紹介したいと思います。


Google Sheets Toolsのインストール

まず、Google Sheets ToolsをAlteryx Analytics Galleryからダウンロードします。
こちらはAlteryx Designerと同時にはインストールされないため、別途導入する必要があります。

Google Sheets Tools
https://gallery.alteryx.com/#!app/Google-Sheets-Tools/5952d212a18e9e0e48a0cafe

ダウンロードの仕方がちょっと独特なのですが・・・、手順が書いてありますのでそれに従います。
Runを押下→もう一度Runを押下→ダウンロードページに遷移するので、好きなバージョンのインストーラを入手します。

今回は現時点で最新のGoogle Sheets v2.2.0を使います。
リンクをクリックし、GoogleSheetsTools_v2.2.0.yxiファイルを保存・実行します。
これでDesignerへの導入は完了です。では早速使ってみましょう!


スプレッドシートを用意する

まず適当なデータを入れたスプレッドシートを用意しておきます。
このシートに対して読み込み&書き込みを行っていきます。

スプレッドシートのデータ


Alteryxでスプレッドシートを読み込む

Designerで、Google Sheets Inputツールをキャンバスに入れます。
ツールのConfigurationでConnectを押下します。

ブラウザでアカウントの選択が求められるので、使いたいアカウントを選びます。

AlteryxSheetsToolへの権限の付与が求められるので「許可」します。

選択内容を確認してください、と念を押されるので「許可」します。

Authorization Succssfulが出ました。認証されたようです!

Designerに戻ります。ツールのConfigurationでシートが選択できるようになっていました。
事前に用意したスプレッドシート「Alteryx_Sample_Data」を選択します。

読み込むシートの選択と、「先頭行をフィールド名とするかどうか」のチェックボックスが表示されるので設定し、Doneを押下します。

ツールの設定が完了しました。

フローを実行します。スプレッドシートのデータが読み込めました!


Alteryxでスプレッドシートに書き込む

続いて、スプレッドシートへのOutputをやってみましょう。
Google Sheets Outputツールをキャンバスに入れます。

ConfigurationでConnectを押下し、認証を行います。
認証の手順はInputの時と全く同じなので、説明は省略します。

認証後のGoogle Sheets OutputのConfigurationです。
新規スプレッドシートを作成、既存のスプレッドシートにシートを追加・・・など更新方法を選択できます。
この辺りは、通常のOutput ToolでExcelファイルをOutputする際の設定に似ていますね。

今回は、Inputしたスプレッドシートのシートに対し、差分データだけ更新(追加)したいので
Append to Existing Sheetを選択します。

更新対象のシートを選択してDoneを押下します。

ツールの設定が完了しました。

次のようなフローを作り、データの更新をしてみます。

上側のスプレッドシートからInputしたデータはNoが1~3までのデータ
下側のText InputのデータはNoが1~4までのデータ
を持っています。

2つのデータをJoinして、Text Input側にしかないデータのみ更新されるようにフローを組みます。
No4のオレンジジュースのみがスプレッドシートに追加される想定です。
フローを実行します。

エラーなく実行できたら、スプレッドシートを確認します。

No4のデータが挿入されていますね!


おまけ

Google Sheet Outputに関して気をつけておきたい点がありましたので書いておこうと思います。

・設定がAppend to Exsiting Sheetで更新データが0件の場合、「#402: Error trying to publish spreadsheet」エラーが発生する
通常のOutput Toolの場合はエラーは発生しませんが、Google Sheet Outputはエラーが発生します。
エラーを出したくない場合、データがある場合だけGoogle Sheet Outputの処理に進むようにフローを組む必要があります。

・コネクタにつながっていない場合でもスプレッドシートへの更新処理が実行されてしまう
設定がOverwrite Spreadsheet(Remove)またはOverwrite Sheet(Drop)の場合、
通常のOutput Toolはコネクタにつながっていない場合はエラーが出てファイルは更新されませんが、
Google Sheet Outputのは空でスプレッドシートが更新されてしまいます(データが全件消えてしまう)。

 

以上、AlteryxでGoogleスプレッドシートにInput/Outputする方法のご紹介でした。

 


メンバー募集中
truestarでは、新しい仲間を募集しています。詳細は以下をご覧ください。
株式会社truestar採用サイト https://en-gage.net/truestar/