見出し画像

Tableau Cloudでtabcmdを使ってPDF一括出力する

概要

Tableau Cloudでパラメータを変更し、条件を変えながら自動PDFを作成する方法を解説します。

エリア別、店別、人別など、PDFなどで出力して配布する場合に便利な機能です。

注意事項

パーソナルアクセストークンを使ってTableau Cloudにログインする方法です。

トークンが分かればサイト内のコンテンツを削除することも可能です。トークンの管理厳重に行ってください。



事前準備

tabcmdのダウンロード

以下のサイトにアクセスし、最新版のtabcmd.zipをダウンロードします。

 

パーソナルアクセストークンの作成(PAT)

Tableau Cloudにログインし、右上のアイコンから「マイアカウントの設定」に移動します。

マイアカウントの設定

画面中段にスクロールし、「トークンを作成する」をクリックすると、個人用アクセストークンが生成されます。

トークン名の入力

※クリックできない場合、管理者が設定をオフにしているか、権限がありません。管理者に問い合わせてください。

トークンが生成出来たら、トークンをコピーして保存してください。

 

コマンドの作成

以下のサイトを参考に、コマンドを作成します。

 

Tableau Cloudへのログイン

以下はTableau Cloudへのログイン方法の例です。
tabcmdはCドライブ直下の tabcmd フォルダに保存した想定です。

Tableau Cloudのリージョンは日本です。

C:\tabcmd\tabcmd.exe login -s https://prod-apnortheast-a.online.tableau.com/ -t "サイト名" --token-name "トークン名" --token-value "パーソナルアクセストークン名"

サイト名はTableau Cloudにログインし、以下のようにURLで確認することができます。

https://prod-apnortheast-a.online.tableau.com/#/site/[ここがサイト名]/

コマンドを入力し、以下のように表示されたらログイン成功です。

ログイン成功

 

エクスポートするコマンド

以下のコマンドで出力することができます。

C:\tabcmd\tabcmd.exe export "[対象のシート・ダッシュボード名]?[パラメータ1名]=[パラメータ1の値]&[パラメータ2名]=[パラメータ2の値] -–pdf -f “[保存するディレクトリ名]”

ワークシート・ダッシュボード名はTableau Cloudで開いたときに分かります。

https://prod-apnortheast-a.online.tableau.com/#/site/[サイト名]/views[/ワークブック名/シート名]

viewsより後ろのスラッシュから後を入力します。

シート名の後は?を付け、パラメータ名とパラメータの値を入力します。

パラメータを複数入力したい場合、&を付けて増やします。

パラメータを変える場合、Excelでコマンドを作ると楽です。

設定したらコマンドプロンプトを実行しましょう!

 

その他注意点

個人用アクセストークンを15日間利用がないと無効になる

15日間利用がないとトークンの期限が切れます。

月1回しか出力しない場合、毎回トークンを設定する必要があります。
(セキュリティのことを考えないならタスクスケジューラでログインするコマンドを自動実行させる方法もあり)

また、期限は最大で365日です。(デフォルトは180日)

  

パラメータは英語・数字が楽

パラメータ名は英語表記の方が楽でオススメです。

日本語を扱う場合、URLで扱える形式にエンコーディングする必用があるので大変です。

Excelでエンコードする場合はENCODEURL関数を使うと日本語をエンコードしてくれます。

パラメータでカラムを指定した場合、全シートに対してフィルターがかかる

Tableauのパラメータだけでなくカラムに対しても指定することができます。

ただし、カラムを指定した場合はダッシュボードにある全シートに対してフィルターがかかります。
ワークシートの設定で「特定のシート」を選択していても、全シートに掛かります。

特定のシートにだけフィルターをかけたい場合、パラメータを使いましょう。

キャッシュが残る場合がある

TabcmdでPDFを作成した直後にデータソースを修正しても、PDFに反映されない場合があります。

おそらくキャッシュが残っているものと思われます。

どれぐらいキャッシュが残るかは不明ですが、時間を置いてから再度実行してください。

キャッシュをクリアするコマンドはありますが、うまく行きませんw

エクスポート時にサイズ設定ができない

tabcmdの未解決の問題として、サイズ設定ができません。
以下は2024/4/25時点で未解決の問題です。

custom views are not supported in any operations
createsiteusers does not support the --no-wait option
get/export size parameters are not respected
publish does not support the --thumbnail-group option
refresh-extracts does not support incremental refresh, asynchronous refresh, or adding/removing calculations for an extract
No commands that require server administrator permissions are supported

https://github.com/tableau/tabcmd/releases

PDFのサイズはレターサイズ

PDFの出力サイズはTableauの初期値であるレターサイズで出力されます。

縦横比が少し違うので、ダッシュボードのサイズに注意してください。
A4  1 : 1.414
Letter  1 : 1.294

https://yoshikoike.com/letter-a4-size/

日本語化できない

日付や曜日の表記が英語になる場合があります。

これもコマンドにパラメータを追加することで設定できるようですが、私の環境ではうまくいきません。
バージョンアップしてくれることを祈りましょう。

おわり

うまく自動化できましたか?

パーソナルアクセストークンの取り扱いには十分注意し、業務を楽にしていきましょう!



いいなと思ったら応援しよう!