こんにちは
サイバーエージェントの子会社でチャットボット及び音声対話事業を行っている株式会社AI Shiftに所属するAIチームの友松です。
本記事はCyberAgent Developers Advent Calendar 2020の9日目の記事になります。
本日はTableauのダッシュボードの機能の限界を引き上げる拡張機能(Dashboard Extension)についての解説記事を書きたいと思います。
拡張機能自体はTableau 2018.2からある機能なのですが、周りで意外と使われていないことを知り、かつ意外と簡単に導入ができるものとなっています。本記事が導入のきっかけになってもらえればと思い執筆しました。
拡張機能について
Tableauの拡張機能は3rd party製の機能として提供されます。
現在配布されている拡張機能についてはTableau Extension Galleryにてダウンロードが可能となっています。こちらでは、Tableauのバージョンに応じてダウンロードできます。

まずは、私自身が最もよく利用しているExportAllという拡張機能をTableauで利用する手順を紹介したいと思います。
Export All
Export Allはダッシュボードに配置されている複数のデータをExcelファイルでダウンロードするボタンを設置するための拡張機能になります。この拡張機能の説明ページには
どんなに説得しても、見栄えのする Tableau チャートを Excel の数値テーブルに縮小したいと考えているユーザーは必ずいるものです。そのようなユーザーに対しては、大量の CSV ファイルではなく Excel ワークブックを 1 つ生成する簡単かつ控え目な方法を提供できます。
https://extensiongallery.tableau.com/extensions/25?version=2020.3
と記述がありますが、このニーズは現場でダッシュボード(Viz)を見てもらっている立場としてかなり起こりうるケースになります。
手順は以下のとおりです
- trexファイルのダウンロード
- ダッシュボードの作成
- 拡張機能をダッシュボードに埋め込み
- Export Allの設定
- データのダウンロード
1. trexファイルのダウンロード
拡張機能を追加するためにはtrexファイルを使用します。
Tableau Extension Galleryの各ページにて入手できます。
Export Allはこちらから入手できます。
ページに入ったらダウンロードボタンを押し、Tableauのアカウントでログインするとtrexファイルが入手できます。
trexファイルはTableau Desktopをダウンロードしたときに作成されるマイTableauリポジトリの中の拡張子というディレクトリに追加しておくと、今後使いたいときに参照性が上がります。
2. ダッシュボードの作成
データをダウンロードする対象となるダッシュボードを作成します。
(今回は例のためにTableauの組み込みデータである、サンプル - スーパーストアを使用します)

上記はダッシュボード左側都道府県別売上を色で表したもの, 右側はさらにカテゴリ、サブカテゴリに分割したものになります。このダッシュボードに拡張機能を追加します。
3. 拡張機能をダッシュボードに埋め込み

ダッシュボード左下にある拡張をドラッグ&ドロップでダッシュボード内に配置します。

上記のような画像が出たら拡張を選択します。

先程ダウンロードしたtrexファイルを選択し、開くを押します。

拡張の許可を求められるのでOKを選択します。
ここまでの流れはすべての拡張で共通となります。
以下からExport Allに関する作業になります。
4. Export Allの設定
4.1 Select Sheets

Excelファイルにダウンロードするシートを選択します。(複数選択可)

チェックボックスに選択を行うとExcelでのシート名を修正したり、シートの並び順を変更することができます。
4.2 Select Columns

ダウンロードするデータに含めるカラムや順番を選ぶことができます。
また、シート名同様にカラム名の変更を行うことができます
4.3 Configure

各種設定を行えます
Button Label:
ダウンロードボタンのラベルを設定できます。
Export Filename:
ダウンロード時のExcelファイルのファイル名を設定できます。
Set Button Style to:
ボタンのスタイルを["outline", "primary", "destructive"]から設定できます。



作業としては以上で完了になります。
5. データのダウンロード
4までの作業を行うとダウンロードボタンの設置が完了します。
実際にボタンを押してダウンロードをしてみます。

先程設定したファイル名で保存するかの確認が求められます。

ファイルを開くと先程設定したシートが2つ存在します。


カラムも先程設定したものが設定した名前で設定した順番で配置されています。
その他の拡張機能
先程まで紹介したExport All以外にもたくさんの拡張機能が存在し、日に日に新しい拡張がリリースされています。その中から一部抜粋して紹介できればと思います。
Show Me More
Tableauのデフォルトで存在しないグラフの表示形式を提供してくれます。レイダーチャート, サンキーダイアグラム, ネットワークダイアグラム, カレンダーチャートなど10種類以上のビジュアライゼーションタイプが提供されており、Tableauでの表現がさらに柔軟になります。
CodePad
TabPy, Rserverなどによってソースコードを埋め込んだ分析をさらに捗らせる拡張になります。もともとコードのシンタックスハイライトなどがTableau側で提供されていないため、TabPyを使ったコーディング埋め込みがいまいちやりづらい部分がありましたが、この拡張によってTableau画面上でコードを書き、修正するというプロセスを行うことができます。
また、検証できていないので願望的なところではありますが、Tableau Desktop上の操作だけではなく、Tableau ServerおよびTableau Onlineにパブリッシュ後にもこの操作できるとしたら更に使い勝手が良さそうです
Write-Back Free
Tableauシートに表示されているデータを修正したりデータを新規追加したりといった作業を行い、編集したデータはGoogle Spread Sheetで永続化できます。
AI Shiftでも以前同じような問題にハマり、違う解決手段を取っていました(こちらのブログ参照)。Tableauで可視化したデータにクライアントに渡すためのメモなどを追加して渡したいときにExcelでデータをダウンロードして記入してExcelをレポートとして渡すなどと言った手間をなくしTableauに集約することができます。
本ブログを執筆中にこの拡張を見つけたので、今後試していければと思います。
Image Filter
クリック可能な画像を配置してFilterとして機能させることができる拡張です。ビジュアル的にわかりやすくなったり、複数のフィルタの設定を一枚の画像に集約させたりできるので便利です。
Picture This
フィールド内の画像のURLから画像のテーブル/リストを動的に作成してくれます。
まとめ
本ブログではTableauのダッシュボード拡張の機能についての説明と導入手順、提供されている拡張機能の一部紹介を行いました。非常に少ないステップで導入ができるのでお試しで色々拡張を追加することをおすすめします。
またこちらでは自作の拡張機能を作ることも可能なようです。
本ブログが拡張機能の導入のきっかけになれば幸いです。