その他お問い合わせ先

lodestar@truestar.co.jp

運営会社

株式会社truestar
truestar activation株式会社

細分化されたAlteryxワークフローを一度に回してくれるRunnerマクロを使ってみた #Alteryx #20 | Alteryx Advent Calendar 2016

『Alteryx Advent Calendar 2016』スポット参戦シリーズ第六弾です。

Alteryx Advent Calendar 2016 | シリーズ | Developers.IO

Alteryx Advent Calendar 2016 – Qiita

20日目のエントリとして細分化されたAlteryxワークフローを一度に回してくれるRunnerマクロを使ってみたいと思います。

14日目と16日目のエントリにて、調査データをAlteryxで加工してみましたが、調査データをAlteryxで加工すると時に、たとえば、特定質問でYesと答えた回答者で回答率を算出したり、移動平均を算出したりするという加工を入れると、Alteryxワークフローが非常に大きくなってしまうことがあります。

そうなってしまうと、たとえばロジックの改修を行う際に、毎回大きなワークフローを回す必要が出たり、またエラーが出た際に原因を特定するために、大きなワークフローを回す必要が出たりと、ワークフローが回るまでの待機時間が長くなってしまいます。

また、複雑な集計処理をしていなくても、データ量が膨大な場合、ワークフローが完全に回ってからでないと加工状況が見えないため、集計処理が正しいかを確認しようとするたびに、ワークフローを回すことになり、ワークフローが回るまでの待機時間が長くなってしまいます。

上記のような状況の場合、ワークフローを細分化するとワークフローが回るまでの待機時間が短縮されます。

しかし、定期運用をする必要があるデータの場合、毎回細分化されたワークフローをすべて回す必要があるため、更新に時間を費やしてしまうことになります。

これを解決するのが、今回紹介しますRunnerというツールとなります。

このツールは、Alteryxにデフォルトで入ってるツールではなく、Alteryxの社員であるAdam Rileyさんが任意で作成したマクロとなります。

※Alteryxユーザーであれば、任意でマクロを作って、それをネット上で共有することができます。

以下でAdam Rileyさん作成したマクロのパッケージを一括ダウンロードできます。

Adam Rileyさんマクロパッケージ

 

実際にRunnerを使ってみようかと思います。

まずは細分化した2つのAlteryxを用意しました。

1つ目はAlteryxで調査データをTableau用データに加工してみた-Part 1で使ったワークフローです。

2つ目はAlteryxで調査データをTableau用データに加工してみた-Part 2 #Alteryx #16 | Alteryx Advent Calendar 2016で使ったワークフローにさらに加工を加えたものです。

次に、Runnerを使って、Alteryxワークフローを作成します。

Runnerで1つ目のワークフローを指定して、Conditional Runnerで2つ目のワークフローを指定します。

Conditional Runnerは何個もつなぐことができるので、細分化さらたワークフローがいくつあっても問題ありません。

続きを読む 細分化されたAlteryxワークフローを一度に回してくれるRunnerマクロを使ってみた #Alteryx #20 | Alteryx Advent Calendar 2016

Alteryxで調査データをTableau用データに加工してみた-Part 2 #Alteryx #16 | Alteryx Advent Calendar 2016

『Alteryx Advent Calendar 2016』スポット参戦シリーズ第五弾です。

Alteryx Advent Calendar 2016 | シリーズ | Developers.IO

Alteryx Advent Calendar 2016 – Qiita

16日目のエントリとして14日目のエントリのPart 2として、大量の調査データをAlteryxでTableau用データに加工してみたいと思います。

ちなみに14日目のPart 1エントリは以下です。

 

様々な国の調査データを比較したかったり、調査データをトラッキングしたいとなると大量の調査データを取り扱うことになります。

Part 1の形のデータベースとなると、データ粒度が回答者IDごとであり、尚且つTableau上では、表計算で回答率を算出するため、データが大きいとTableauのスピードが著しく悪くなります。

そのため、以下のAlteryxワークフローで大量の調査データにも対応できるTableau用データベースを作成してみました。

 

以下でPart 2で追加したツールの詳細を説明します。

 

このSummarizeを入れるだけで、25003行だったデータが、9008行まで収縮できました。約40%の収縮です。

完成したデータはこれです。

 

明日17日目はクラスメソッドさんの『Communityの使い方 』です。乞うご期待!

Kazuki Koebisawa

続きを読む Alteryxで調査データをTableau用データに加工してみた-Part 2 #Alteryx #16 | Alteryx Advent Calendar 2016

Alteryxで調査データをTableau用データに加工してみた-Part 1 #Alteryx #14 | Alteryx Advent Calendar 2016

『Alteryx Advent Calendar 2016』スポット参戦シリーズ第四弾です。

Alteryx Advent Calendar 2016 | シリーズ | Developers.IO

Alteryx Advent Calendar 2016 – Qiita

 

14日目のエントリとしてクラスメソッドの川崎さんが以下のエントリでもご説明してくださっていますが、調査データをAlteryxで実際に加工してみようかと思います。

Tableau Conference 2016 at Austin [レポート]調査データを可視化する 2.0 – Data Revelations #data16

 

活用するデータは以下になります。

まずは、数値形式で格納されているデータです。

 

次に、文字形式で格納されているデータです。

上記、データがない場合もあるかもしれません。

その場合は、以下のようなマスターを作成することをおすすめします。

 

最後に、質問の補足情報が格納されたデータです。

Tableauで加工する際に、必要になる情報です。

「Wording」は、Tableauで、質問の内容を表示するために使い、また、「Question grouping」は、TableauのView毎の単位となります。

このデータは、ほとんどの場合、手元にないと思いますので、同じようなものを作成することをおすすめします。

ただし、「Question Type」については、必須ではありません。

 

これらのデータを活用し、以下AlteryxワークフローでTableau用データを作成しました。

非常に簡単なロジックとなっています。

 

続きを読む Alteryxで調査データをTableau用データに加工してみた-Part 1 #Alteryx #14 | Alteryx Advent Calendar 2016

ポイントデータ(緯度経度)データをポリゴンデータに紐付けてみる #Alteryx #09 | Alteryx

『Alteryx Advent Calendar 2016』スポット参戦シリーズ第三弾です。

Alteryx Advent Calendar 2016 | シリーズ | Developers.IO

Alteryx Advent Calendar 2016 – Qiita

 

09日目のエントリとしてAlteryxを用いてポイントデータにポリゴンデータを紐付けてみます。

 

例によってデータは国土数値情報さんから取得します。

国土数値情報

 

今回は、医療機関データ(ポイントデータ)に

 

医療圏データ(ポリゴン)を使ってみましょう。

 

 

具体的には、医療機関データには病院などの施設名に住所と位置情報が含まれます。

一方、医療圏データには、病床の整備のために設定された地域領域が含まれます。

参考資料:wikipedia 医療計画

 

医療圏データは、3種類のポリゴン(一次医療圏、二次医療圏、三次医療圏)が含まれていますが、

今回は、医療機関に対して二次医療圏を紐付けてみましょう。

 

完成形のモジュールは以下の通りです。いたってシンプル。

 

左半分の設定内容です。

今回はシェープファイルの文字化けが発生しました。

シェープファイルの読み込み時は文字コードの指定ができないので、[ConvertFromCodePage]ツールでの変換を最初に行っています。

[Spatial Match]では、施設のデータに対して、施設の位置が含まれる医療圏ポリゴンを紐付けています。

紐づかなかったデータはU側にはじかれます。14件ほどはじかれてしまいました。

海に近い施設がポリゴンに含まれなかったり、ポイントデータにも不備がありそうです。

大分県の5施設は海上にプロットされました・・・

Alteryxの[Browse]ツールを使うだけで、エラーも簡単に可視化できます。

このあたりの異常値は本来メンテナンスが必要ですが、今回の趣旨とは外れるのでそこには触れずに進めます。

続きを読む ポイントデータ(緯度経度)データをポリゴンデータに紐付けてみる #Alteryx #09 | Alteryx

API経由で住所データをジオコーディングしてみる #Alteryx #08 | Alteryx Advent Calendar 2016

『Alteryx Advent Calendar 2016』スポット参戦シリーズ第二弾です。

Alteryx Advent Calendar 2016 | シリーズ | Developers.IO

Alteryx Advent Calendar 2016 – Qiita

 

08日目のエントリとしてAlteryxを用いてYahooのAPIと連携し、ジオコーディングを行ってみます。

 

まず、YahooのAPIと連携するためには、Yahoo! デベロッパーネットワークでアプリケーションIDを取得する必要があります。

さすがはYahoo! Japanさん。分かりやすいヘルプがあるので、こちらのページを参考に簡単に取得可能です。

Yahoo!デベロッパーネットワークヘルプ

なお、ジオコーディングにはYahoo! ジオコーダAPIを用います。

Yahoo! ジオコーダAPI

 

今回、ジオコーディングの対象住所には、『住所一覧』でググったら上位に出てきた大阪府の公立小学校のデータを用いることにしました。

エクセルを開くとこんな感じです。データ取得上は不要となるタイトルがついています・・・。

しかも・・・実際には後で気づきましたが、下のほうにも別のテーブルがありました。

APIでジオコーディングする前に、これらの不要なデータをAlteryxで処理する必要がありそうです。

 

さて、実際のモジュールですが、結論から言うと最終形はこんな感じです。

意外と小さなモジュールで済みました。

 

上半分と下半分に分けて細かく見ていきます。

最初に元データとなるエクセルファイルを読み込み、不要なデータを順に取り除いています。 二連続となる[Filter]ツールでは、もう一つのテーブルとのカラム名の列と、テーブルとテーブルの間の空白をカットするために用いています。 右端にある[Formula]ツールで、APIに投げ込むURLデータを生成しています。

続いて下半分です。

API経由でのデータダウンロードに始まり、JSONデータを分解、縦持ちデータを横持ちに変更します。 次にJSON形式で取得した緯度経度はカンマ区切りで一つのカラムに入ってしまっているため、[Formula]ツールで切り分けます。

YahooのジオコーダAPIは番地レベルで厳密にヒットしないと変換されず、Nullで返ってきます。 今回は995レコード中27レコードがはじかれてしまいました。 それらがすぐに判別できるよう変換判定のフラグを立た上で、データのソートまでこのフローに組み込んでいます。

続きを読む API経由で住所データをジオコーディングしてみる #Alteryx #08 | Alteryx Advent Calendar 2016

Polygon for Tableauを使ってみる #Alteryx #06 | Alteryx Advent Calendar 2016

今回、クラスメソッドさんの運営する技術ブログDevelopers.IOで展開されている『Alteryx Advent Calendar 2016』にスポット参戦させていただくことになりました。

Alteryx Advent Calendar 2016 | シリーズ | Developers.IO

Alteryx Advent Calendar 2016 – Qiita

 

06日目のエントリとしてAlteyrxの『Polygon for Tableau』ツールをご紹介します。

 

過去にもAlteryxのマクロを用いて似たような記事がTableau-idに掲載されています。

Alteryxを活用したShapeFileのTDE化

しかし、現在は『Polygon for Tableau』というツールが標準的に存在するため、もっと簡単にシェープファイルをTableau用に加工できるようになりました。

 

ではまず適当にシェープファイルを拾ってきましょう。

シェープファイルのオープンデータといえば国土交通省の運営する

国土数値情報

です。いつもお世話になっております。

今日は線路の情報を使ってみましょう。

 

 

全国のデータを一括でダウンロードできますが、中には二つのシェープファイルが含まれますが、ここでは線路データとなるRailroadSection.shpを使います。

ちなみに今回取り扱う空間データ(Spatial Object)は、Polygon(面)ではなくline(線)です。

『Polygon for Tableau』を使うとこんな簡単なモジュールでTableauデータソース化が可能です。

 

シェープファイルは下図のとおり、lineデータです。線路っぽいデータが見えています。

 

続いて元データの属性情報(カラム名)を[Select]ツールでRenameします。

 

空間データ(Spatial Object)に[Polygon for

続きを読む Polygon for Tableauを使ってみる #Alteryx #06 | Alteryx Advent Calendar 2016