データ可視化のアイデア帳

データ可視化にまつわるあれこれ

今さら聞けない Tableau の拡張子とパブリッシュ

Tableau を使い始めて最初に当たるであろう壁、ファイルの保存。「名前を付けて保存」からなんとなく保存はできているものの、いざ Tableau Server にパブリッシュしようとした時に「ワークブックのパブリッシュ」とか「データソースのパブリッシュ」とか「データソースを埋め込む」とか一体何なのそれ、となった方も少なくないと思います。そこで今回はファイルの拡張子とパブリッシュの流れを整理したいと思います。
オンラインヘルプ読めばいいんですけど、オンラインヘルプってちょっとわかりにくいので、あえて砕けた口調で記述していきます。

まずは拡張子

絶対覚えるべき

正確な説明はオンラインヘルプ読んでくださいね!*1ざっくりなイメージはこちら。
f:id:zkn360:20190219171645p:plain

ワークブック (.twb)

ファイル メニューから「名前を付けて保存」を選択した時のデフォルトの保存形式。データソース (後述する .tds) は含むが、データそのものは含まない純粋なレポート部分のみ*2保存する。次回ファイルを開いたタイミングでデータソース (.tds) の情報を元にデータに接続するため、データ自体にアップデートがあればレポートの表示内容も更新される。

パッケージド ワークブック (.twbx)

ファイル メニューから「名前を付けて保存」を選択した時にファイルの種類をドロップダウン リストで変更した場合の保存形式。ワークブック (.twb) に加えて、ローカルのデータ (ExcelAccess など) と背景イメージなどを含むファイル。Zip 形式なので解凍してワークブック (.twb) とデータ部分に分けることができる。

わざわざデフォルトの保存形式 (.twb) からパッケージド ワークブック形式を選択するシチュエーション
1. Tableau Reader を使用するとき
Tableau Reader はパッケージド ワークブック (.twbx) しか開けません。
2. ファイルを渡された人が元データにアクセスできない場合
ワークブック (.twb) にはデータソース (.tds) の情報はあるものの、データ自体は含まれません。そのため先述の通りファイルを開くとデータにアクセスしようとします。データがデータベース サーバーにあるとか、ネットワーク上の共有フォルダーにあって、ファイルを渡された人がデータにアクセス可能な場合は問題ありません。ところがワークブック作った人の個人 PC のフォルダーの中にある場合などは共有された人はデータにアクセスできません。この場合、データも含めて保存する必要があります。それがパッケージド ワークブック (.twbx) です。

パッケージド ワークブックの思いつく限りの注意点
・データやイメージを含むのでワークブックと比較してサイズが大きくなります。
・データを含むうえ、解凍可能なので元データを抜けます
・データが更新されても、パッケージド ワークブックに含まれるデータが更新されるわけではないので毎度手動更新が必要になる。(接続の編集や名前を付けて保存など)

結構パッケージド ワークブックについては注意点がありますね…

データソース (.tds)

Tableau で厄介なのは Tableau 内で使われている用語と用語が持つ一般的なイメージが違うこと。その代表格がこのデータソースです。ひとことでデータソースといった場合、多くの方はデータそのものを想定していることが多いのですが、Tableau のデータソース (.tds) はデータ自体は持ちません。どこにあるどんなデータにどんな認証で接続し、どのテーブルを結合/ジョインしたとか、データに対して行った変更 (列名の変更/型の変換/別名/既定のプロパティの変更/計算フィールドの作成など) の情報を持つファイルです。ひとつのワークブック内で複数のデータソース (.tds) を持つこともできます。ワークブック内に接続されているデータソース (.tds) の情報はデータ ペインの上部で確認できます。

f:id:zkn360:20190219163424p:plain
サンプル ワークブック「日本分析」に接続されているデータソース (.tds) は 8 個。現在のワークブックで使用されているデータソースには ✔ マークが入っています。

抽出ファイル (.tde もしくは .hyper)

その名の通り、データを抽出した時にできるファイル。Tableau 10.4*3 以前は拡張子が .tde で、Tableau 10.5 以降は拡張子 .hyper になります。 データの一部または全部を抽出 (≒コピー) したもので、Tableau 形式に変換、圧縮して保存されます。

興味があればどうぞ

ぶっちゃけ使う機会があんまりない拡張子たちです。

パッケージド データソース (.tdsx)

先述したデータソース (.tds) にはデータが含まれないのですが、それでは困る場合に備えてデータを含むファイル等を Zip 形式で保存したもの。保存はデータソースの一覧から保存したいデータソースを右クリックして「保存されたデータソースに追加」を選択し、保存画面で拡張子を選択して保存します。
f:id:zkn360:20190219165128p:plain

Tableau Server 使ってればこれ全く必要ないので、普段目にする機会がないのだと思います。

ブックマーク (.tdm)

Tableau 使い始めて 2 年強ですが、(説明目的を除くと) 1 回も使ったことない拡張子。要はワークブック開いたときに特定のシートを指定するためのショートカットみたいなものです。対象はシートのみ。(ダッシュボードはダメ。) というかこの記事書いてて初めて My Tableau Repository フォルダー配下にブックマークというフォルダーあるのに気付きました。。アイコンも見覚えがない笑。保存はウィンドウ メニューからブックマークの作成です。
f:id:zkn360:20190219165956p:plain

拡張子とパブリッシュの関係

ファイルの拡張子を特に気にするのは Tableau Desktop のみを前提としている場合です。ここからは Tableau Server のお話。Tableau Desktop で作成したファイルを Tableau Server にアップロードすることをパブリッシュと言います。*4なんとなくパブリッシュしていると何をパブリッシュしているのかわからなくなることがままあるため、ここではきちんと整理していきたいと思います。

パブリッシュできるファイルは 3 種類

パッケージド ワークブック (.twbx) のパブリッシュ

ハンズオンや各種講習で一番最初に体験するパブリッシュは実はパッケージド ワークブック (.twbx) のパブリッシュです。サーバー メニューから「ワークブックのパブリッシュ」を選択し、特に何も変更せずに右下のパブリッシュ ボタンを押した場合にパブリッシュされるのがパッケージド ワークブックです。
f:id:zkn360:20190221160314p:plain

パッケージド ワークブックをパブリッシュした場合データも一緒にパブリッシュされることになるので、同じデータを使用して別のワークブック (レポート) を作成したい場合は元のワークブックを編集し別名で保存します。これ、実はデメリットが 2 つあります。1 つめは単純にディスクの容量に対する影響です。パッケージド ワークブック自体はワークブック (.twb) より容量が大きいので、たくさん別名のコピーを作れば作るほど全体の容量が増えます。2 つめはデータ変更時の影響です。データ元やテーブルの定義が変更された際に、同じデータを使っているレポートでありながら、ファイルごと別々に分かれているのですべてのファイルに対してダウンロード → データソースの編集 → 再パブリッシュ (同名で上書き) をする必要があり、メンテナンス性が良いとは言えません。

ワークブック (.twb) とデータソース (.tds) を別々にパブリッシュ

パッケージド ワークブックのパブリッシュにデメリットがあるなら、レポート部分 (ワークブック) とデータソース (.tds) を別々にパブリッシュすればいいじゃない、というのが次のお話。実はパブリッシュの画面で下の方をよく見るとデータソースをどう扱うか編集できます。ここで編集ボタンを押してワークブックに接続されているデータソースひとつひとつにたいしてワークブックに埋め込むか、個別にパブリッシュするかを選択できます。ここで個別にパブリッシュを選択するとワークブック (.twb) とデータソース (.tds) を別々にパブリッシュすることができます。*5
f:id:zkn360:20190221163732p:plain

ちなみにワークブック (.twb) とパッケージド ワークブック (.twbx) は Tableau Server 上の UI ではどちらも「ワークブック」として表記されるため見分けが付きません。抽出を含む形でパッケージド ワークブックとしてパブリッシュしたものだけは、メニューに「更新のスケジュール」があるんでかろうじて判別できます。だからこそパブリッシュする時にどんな形式でパブリッシュするかが重要になってくるんですね。
f:id:zkn360:20190221173948p:plain
自分で作ったので私自身は判別できますが、普通は判別できないですよね。

データソース (.tds) のみをパブリッシュ

組織の中ではデータベースを管理する人と分析をする人が分かれているのは良くあることです。データベースを管理している人は分析がメイン業務じゃないし、分析をする人はデータのモデリングはできれば気にしたくない。そんな時に使うのがデータソース (.tds) のみのパブリッシュです。要はデータを誰か準備しておいてくれればそれで良し!という場合、データソースだけを編集、パブリッシュしてあれば充分です。もちろん Tableau はこの願望をかなえるための仕組みを用意しています。データソースのみをパブリッシュしたいときは、データ メニューからパブリッシュしたいデータソース名を選択、「サーバーにパブリッシュ」を選択してパブリッシュするだけです。
f:id:zkn360:20190221165035p:plain

データソース (.tds) を個別にパブリッシュしておくメリットは、ずばりメンテナンス性です。データソースに変更が生じても、データソースを編集すればそのデータソースを利用するワークブックは特に何の編集をしなくてもデータソースの変更を反映します。直す箇所が少なくて済むってことですね!


ということで今回は Tableau の拡張子とパブリッシュについて書いてきました。実はこれ説明頻度がものすごく高い話題です。毎回この文字数の分だけしゃべってるのですが、*6いつでも参照できるように記事にしました。何かの役に立つといいな!

*1:onlinehelp.tableau.com

*2:ワークシート、ダッシュボード、ストーリーのこと。

*3:未だに 32bit マシンの方は使っていると思います。

*4:Tableau Server 上での保存も実はパブリッシュ。

*5:わかりにくいという声をよく聞きます…

*6:とても大変