あけましておめでとうございます。
truestar工房の三村です。本年もどうぞよろしくお願いいたします。
truestar工房の三村です。本年もどうぞよろしくお願いいたします。
Tableau Prep カスタムSQL使ってみました
TableauPrepで文字列の集約をするのに苦労している、との話を聞きました。ならばカスタムSQLでやってみよう!と思った次第です。
データベースはPostgresqlを使いました。
文字列の集約
↓ こんな感じのデータを(testテーブル)
| ID | 区分 | 名前 | 値段 |
| 1 | 果物 | リンゴ | 100 |
| 2 | 果物 | みかん | 20 |
| 3 | 穀物 | 米 | 3000 |
| 4 | 穀物 | パン | 200 |
↓ こんな風にしてみる
| 区分 | 名前 |
| 果物 | リンゴ、みかん |
| 穀物 | 米、パン |
postgresqlに接続
まず、TableauPrepを立ち上げて、データに接続します。


初期画面はこんな感じ。(データベースにtestテーブルしかないの…。)

カスタムSQL実装
左下のカスタムSQLをダブルクリックします。
そしてカスタムSQLタブにSQL文を入力して(改行OKでした。)実行ボタン押下。
select string_agg(name, ‘,’) as names, kubun from test group by kubun

フローで確認すると、こんな感じ

簡単にできちゃった♬
出力時のカスタムSQL
他にもデータ出力時に、出力の前後でカスタムSQLを設定できるようになってました。



データベースに書き込む前にデータをバックアップしたり、書き込んだ後にもう1回複雑な更新をしたり。便利ですね。実際にはExcelファイルを読み込んで、SQLで加工してデータベースに出力、という使い方の方が多いのかなとも思います。
まとめ
TableauPrepはデータベースとセットで使うことで、より便利なツールになると思いました。
今年はみんなが元気になれますように。では、また。




