はじめに
Tableauのワークブックをパブリッシュすると、URLが変わる現象が発生した為、
原因と対応策を調査をしました。
目次
TableauのURLの仕組みと生成の特徴
URLの構成
Tableau Server ではワークブックをパブリッシュしたときに、基本的に以下のような組み合わせで生成されているので、ダッシュボード URL リンクが変わらないように運用する必要がある為、いくつかポイントを抑える必要がある。
- URL構成
https://<Tableau Server名・IP>/#/site/<サイト名>/views/<ワークブック名>/<ビュー名・ダッシュボード名>
生成の特徴
このときに<ワークブック名>や<ビュー名・ダッシュボード名>は実際の名前を元に生成されるが、他に以下のような特徴がある。- 日本語など全角の文字列は反映されない(削られる)
- 空白や記号は反映されない(削られる)
- 半角英数はそのまま反映される
- 上記のルール適用後に重複してしまう<要素>が存在するときは、一意になるように数値が追加される
- プロジェクトは URL に反映されないため、他のプロジェクトにあるワークブック名と重複する可能性もある
例 1 半角英数のみで構成されている
サイト: デフォルト ワークブック名: Test Workbook ビュー名: Sheet 1 ダッシュボード名: Dashboard 1- Sheet 1 URL
https://tableau.example.com/#/views/TestWorkbook/Sheet1 - Dashboard 1 URL
https://tableau.example.com/#/views/TestWorkbook/Dashboard1
例 2 半角英数のみで構成されている
サイト: デフォルトワークブック名: Test Workbook
ビュー名: Sheet 1
同じファイル名が Project 1 と Project 2 に存在する
- Project 1/TestWorkbook/Sheet 1 URL
https://tableau.example.com/#/views/TestWorkbook/Sheet1 - Project 2/TestWorkbook/Sheet 1 URL
https://tableau.example.com/#/views/TestWorkbook_16353001465040/Sheet1
あとからパブリッシュしたワークブックには一意になるように数字が付与されている
例 3 日本語と数字で構成されている
サイト: デフォルトワークブック名: テストワークブック
ビュー名: シート 1、シート 2
ダッシュボード名: ダッシュボード 1
- シート 1 URL
https://tableau.example.com/#/views/_0/1 - シート 2 URL
https://tableau.example.com/#/views/_0/2 - ダッシュボード 1
https://tableau.example.com/#/views/_0/1_1
ワークブック名部分は「テストワークブック」に半角英数がないため「_0」が割り当てられてしまっている
ビュー名の「シート 」の部分は削られて「1」と「2」だけが残る
ダッシュボード名の「ダッシュボード 」の部分が削られたのちに、ビュー名とかぶらないように _1 が追加されて [1_1] になる
例 4 日本語と数字で構成されていて、単純な日本語の削除だけだと例 3 と重複してしまう
上記の例 2 が存在する状態に以下のワークブックをパブリッシュサイト: デフォルト
ワークブック名: 本番データワークブック
ビュー名: シート 1
ダッシュボード名: ダッシュボード 1
- シート 1 URL
https://tableau.example.com/#/views/1/1 - ダッシュボード 1
https://tableau.example.com/#/views/1/1_1
ワークブック名部分は「本番データワークブック」に半角英数がないのと、例 2 と重複しないように「1」が割り当てられてしまっている
ダッシュボード名、ワークブック名その他は例 2 と同じ
例 5 日本語と英数字が混在している
サイト: デフォルトワークブック名: Prod-Section-1本番データワークブック2021
ビュー名: SHシート 1、SHシート 2
ダッシュボード名: DASHダッシュボード 1、DASHダッシュボード 2
- SHシート 1 URL
https://tableau.example.com/#/views/Prod-Section-12021/SH1 - SHシート 2 URL
https://tableau.example.com/#/views/Prod-Section-12021/SH2 - DASHダッシュボード 1 URL
https://tableau.example.com/#/views/Prod-Section-12021/DASH1 - DASHダッシュボード 2 URL
https://tableau.example.com/#/views/Prod-Section-12021/DASH2
ワークブック名、ビュー名、ダッシュボード名ともに英数字のみが残った URL になる
URLが変わらないようにするには
例3,4の場合、日本語のみのワークブック名やビュー名・ダッシュボード名のご利用が多いと、数字だけの URL になったり、
ワークブック内での重複が起きて、意図しないURLになりやすいのが現状。
URLの変更が起きにくいように以下の点を実施した。
- サイト全体でワークブック名が他のワークブックと重複しにくいように、固有の英数字を追加する
- ワークブック内の各シートでも日本語を削ったあとの名前が重複しないように、固有の英数字を追加する
- ワークブックを Tableau Desktop にパブリッシュするときは、確実に同じ場所のワークブックを指定して上書きパブリッシュする
同じ名前で違うプロジェクトに保存すると、サイト内での重複とみなされて URL の<ワークブック名>の部分に数字が付与される要因になる