#05 : Alteryxサンプルワークフロー「XMLの解析」- Alteryx & Tableau 連携 Advent Calendar 2018

当エントリは『Alteryx&Tableau連携 Advent Calendar 2018』シリーズの5本目のエントリです。

当エントリでは、Alteryx Designerの実行ワークフローサンプル「Parsing XML(XMLの解析)」の内容を紹介します。

目次

 

「本日のテーマ」概要紹介

AlteryxとTableauはそのツール特性から非常に相性が良く、製品間それぞれにパートナー企業としての(特集)ページが設けられています。

本日は、Alteryx Designerの「Sample Workflows」にて展開されている「Tableau Starter Kit」の中で、「Data Preparation」配下の「Parsing XML(XMLの解析)」というサンプルワークフローについて見ていきたいと思います。

このワークフローでは、入力データとしてXMLファイルを読み込んでいます。XMLファイルはその構成上、XMLタグを含む構成となっているため、まずはその内容を解析、構成を組み替えるところから処理を行っています。最終的にはデータベースやCSV等の行列形式にまとめた上でTableauに繋げています。

 

ワークフローの全体像

サンプルワークフローの全体像は以下となります。

 

ワークフローを読み解く

まずは入力データの設定から。Input Data Toolを使い、対象ファイルを選択。ファイルフォーマットをXMLとしています。XMLにはその構成上、データをより分かりやすく表現するために子要素を持っている事が大半を占めます。このため、XMLの要素それぞれを解析した上で統合されたデータセットに生成し直す必要があります。

ファイルの内容を確認してみます。値の特性から、下記赤枠線の部分はヘッダー情報に相当、

また、そこから下の情報についてはデータ行が続く形となっています。

ワークフローの上部では、「ヘッダー」に関する情報を、下部では「データ」に関する情報をパースし、生成しているようです。

まずは上部(ヘッダー生成)のフローを見ていきましょう。XML Parse Toolでカラム名:column-nameの子要素を取得。

Transpose Toolでcolumn-nameのデータをピボットしています。

Formula Toolでは取得したヘッダ行名に相当する内容から、不要と思しき情報をカットしています。

Record ID Toolでカラム名にIDを割り振り、

Cross Tab Toolで縦持ちのデータを横持ちに変換しています。

続いてデータ部分の情報解析。XML Parse Toolを使うのはヘッダー部と同様ですが、こちらでは取得する内容にdatum及び子ノードの内容を指定しています。

Dynamic Select Tool では、「Expressions」で指定した式に合致するカラムが指定される形となります。ここではデータ型を表している「type」を含むカラム以外を選択する形で処理しています。

Dynamic Replace Toolでは、REGEX_REPLACE関数を使用して、ヘッダーレコードに一致するようにフィールド名を変更しています。

ここまででヘッダー部、データ部それぞれのデータ解析が行えました。いずれもカラムの値としてID・数値で生成出来てますので、このタイミングでUnion Toolを使い、この数値でデータを結合させます。「ヘッダー部」→「データ部」という順番も守りたかったので、「Output Order」で結合順序の指定も行っています。

以降の処理は、Tableauで可視化を行うための構成変更を実現しています。

  • Dynamic Rename Toolを使い、フィールド名をヘッダーレコードの名前で置換(オプションで「データ行1行目のフィールド名を使う」を指定)
  • Transpose Toolを使い、列の在庫データをトランザクションにピボット(日毎にOpen/High/Low/Close/Volumeの値を持ちたいのでこういう処理を行っている)
  • RegEx Toolを使い、NameフィールドをStockとColumn Nameに分離
  • Select Toolを使い、必要な列に絞る
  • Cross Tab Toolを使い、最終的に欲しいデータの構成に整える

(最終的に欲しかったデータ内容)

 

ワークフローの実行・Tableauワークブックの内容確認

画面右上の「Run」ボタン、または「Control」+「R」のショートカットでワークフローを実行。tdeファイル及びワークブックが作成されます。

生成されたTableauワークブックを開いてみます。Ticker毎の時系列データが線グラフとして表示されるTableau Vizが確認出来ました。

 

まとめ

という訳で、『Alteryx&Tableau連携 Advent Calendar 2018』5本目、「Parsing XML(XMLの解析)」のご紹介でした。「XMLデータの解析」は普通にプログラミングで実現しようとすると結構骨の折れる作業となりますが、AlteryxではGUIで一通りの作業をこなせるので幾らかハードルは下がるかなと思います。(※とは言え、データの構成等を把握しておかないとAlteryxでも結構たいへんそうかな、という気もしますが...w)

引き続き、明日もお楽しみに!

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

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

alteryx_960x400