トレジャーデータの結果をタブローに出力 |
トレジャーデータ(treasure data)の結果をタブローオンライン(tableau online)に出力する方法をご紹介します。できてみればすごい簡単なんですが、私自身は何も知らずにやった結果、いろいろ調べたりエラーに振り回されて結構時間かかってしまいました。。
1.Catalogからtableauを選択してAuthenticationsを作成
catalogからtableauを選択 |
トレジャーデータにログインして、catalogからtableauを選択します。
2.ホスト名とタブローのログイン情報を入力
Server versionで「Tableau Online」を選択 |
タブローオンラインにログインした際のURLとして下記のものがあるとします。
https://*****.online.tableau.com/#/site/*この部分はサイトID*/home
3.Export Results To に上記で作ったAuthenticationsを選択
上記作成のAuthentications「test_tableau_online」を選択 |
4.Export Resultsの内容を設定する
Site IDに注意 |
ここでエラーが沢山でて苦労しました(泣)。Site IDのところですが、TDのサイトに「Site ID The URL of the site to sign in to, it’s required for Tableau Online」と記載されていたので、URL全部書くのかなと勘違いしてエラー([ERROR] (main): HTTP 301 Moved Permanently)が出まくりました。実際は、下記のタブローオンラインのURLを例にすると、site直下の「*この部分はサイトID*」がSite IDになります。
https://*****.online.tableau.com/#/site/*この部分はサイトID*/home
5.トレジャーデータでSQLを実行するとタブローにデータが出力されます
もし、401エラー([ERROR] (main): HTTP 401 Unauthorized)が出たら下記の原因が考えられます。
- authentication設定画面で、host, user, passwordなどが間違っていた場合
- result output設定画面で、datasource, site, project nameが間違っていた場合
- tableau側でprojectとdatasourceの権限設定により発生する場合
私の場合は、hostとsiteの設定が正しくなくてエラーが出まくりました。。
補足
tableauはタイムスタンプ型でないと時間データとして扱うことができません。そこで、CASTでタイムスタンプ型に変換します。
例:時間文字列(例:2019-10-17 08:21:36)をCASTでタイムスタンプ型に変換するクエリ
SELECT
CAST(
time AS TIMESTAMP
) AS "time"
FROM
log LIMIT 1