Tableau Desktop を Athena に接続して年月日に分かれた日時やstructを含むテーブルを扱う

monitoringaws

Tableau はローカルファイルや BigQuery など多様なデータソースに接続しカラムをドラッグするだけで可視化や分析ができる BI ツール。

トレンドや予測値を追加して

プレゼン用のストーリーやダッシュボードを作成し共有することもできる。

価格はデータソースの接続やワークブックを作成する Creator が $75/月 で、見るだけの Viewer は $15/月 となっている。無料版の Tableau Desktop Public Edition もあるが Tableau Server での社内共有ができずデータソースに制限がある。

ドライバーをダウンロードして指定のディレクトリに配置し以下の接続情報を入力することで Athena と接続する。

今回扱うテーブルは日付が Year, Month, Day に分割されていて、Value は struct になっている。

日付に関しては Calculated Field で次のように処理することで Date にすることができた。

一方、struct を扱うのは大変そうで、Split すると次のような Calculated Field が作成された。結構な力技だ。本来は Prep Builder で前処理することが想定されているのかなと思う。

TRIM( SPLIT( SPLIT( SPLIT( SPLIT( [Value], "{", 2 ), "score", 2 ), "=", 2 ), ",", 1 ) )

そこで Custom SQL で処理することにした。

結果時系列に score を可視化できた。