Tableau Serverの基礎 - サイト管理を行うその前に（１）

# はじめに
本記事は、「Tableau Serverサイト管理入門」の一部として構成されています。
Tableau Serverサイトの管理を行うために、まず押さえておきたい製品の基礎知識についてまとめています。

:::note warn
本記事は、Tableau Server Ver2022.1 時点の情報をもとに記載しています。
:::

# Tableau Serverを使うと何ができるのか
サイト管理者として業務を実施するにあたり、Tableau Serverの各機能や、行わなければならない設定について理解を深める必要はもちろんありますが、その前提として
* Tableau Serverとはどのような製品なのか
* Tableau Serverを使うと何がウレシイのか
についても押さえておく必要があります。

## そもそもTableau Serverとは？
Tableau Desktopが、分析ユーザ個人がデータと対話し、ビジュアルの力によりデータを「見える化」し、インサイトを得ることを目的としたツールであるのに対し、**Tableau Serverはそのインサイトを組織内外の他の人と共有し、コラボレーションを行うためのツール** です。
Tableau Serverが利用できる環境では、主にブラウザベースでワークブック、ダッシュボードの閲覧が行えるようになります。多くのユーザはPCに製品をインストールする必要がなくなります。
Tableau Desktopで作成したワークブックをアップロード（Tableauでは「パブリッシュ」
といいます）するか、ブラウザ上で直接ワークブックを作成・保存し、組織内のユーザで共有する、という **コラボレーションが主なユースケース** ですが、サーバ環境がもつ潤沢・強力なハードウェアリソースを生かしてデータ加工・抽出の高速化を実現したり、加工・更新処理のスケジュール実行を行うほか、分析に必要なデータそのものをTableau Serverに集約するなど、**データ連携基盤としての側面** も持ちます。

:::note warn
利用にはTableau Server標準機能に加えオプションの契約が必要となる機能もあります
:::

:::note info 
**＜補足＞Tableau Cloudとは？** 
Tableau Cloudは、端的に言うとTableau ServerのSaaSサービスです。
Tableau Software（Salesforce）社がホスティングするサーバ環境を利用してTableau Serverと（ほぼ）同じ機能が提供され、利用企業は自身でインフラ環境を用意、またTableau Server製品の導入や管理を行うことなくコラボレーション・データ連携機能を利用することができます。
本記事はTableau Serverの利用を想定した記載を行っていますが、基盤よりの記載を省略していることから、Tableau Cloudにおいてもおおむね同じことが当てはまります。Tableau ServerとTableau Cloudで仕様等が異なる点については、できるだけ注釈をつけていきたいと思います（が、漏れていたらゴメンナサイ）
:::


## Tableau Serverを利用するメリット
Tableau Desktopのみを利用している環境でも、ワークブック（twbxファイル）自体を配布し、相手にもTableau Desktopまたは閲覧用ツール（Tableau Reader）をインストールしてもらうことで組織内で共有することはできますが、Tableau Serverを導入することで得られるメリットはTableau Desktopのみの環境と比較すると多数あります。

* ブラウザによる容易なアクセス
* ユーザ管理、パーミッション管理機構によるセキュリティ・ガバナンス強化
* データベースへのアクセス制御の集中管理
* データ自体の集中管理
* 通知機能によるコラボレーションの加速
* アクセスログを利用した監査、効果測定
* データ加工、更新の自動化
* ユーザエクスペリエンスの向上


それでは、それぞれについてもう少し詳しく見ていきましょう。

#### ブラウザによる容易なアクセス
Tableau Server上にワークブックをパブリッシュしてしまえば、閲覧する人はReaderをインストールする必要はありません。 **ブラウザからTableau Server上にパブリッシュされたワークブックにアクセスするだけで閲覧** することができます。
もちろん、Readerのインストールが不要なので、「新しいバージョンのTableau Desktopを導入したから、相手にも新しいバージョンを入れてもらわなきゃ！」なんてこともなくなります。

#### ユーザ管理、パーミッション管理機構によるセキュリティ・ガバナンス強化
組織内でワークブックを共有するといっても、社員であればだれにでも公開してよいものばかりではないはずです。職位や部署などにより、公開範囲を制限したいという要望は当然に発生します。
Tableau Server上にパブリッシュされたワークブックにアクセスするためには、一部の例外的な環境を除き、必ずログインが必要になります。また、 **ワークブックやデータソースまたはそれらをまとめたフォルダ（Tableau Serverでは「プロジェクト」と呼びます）ごとに閲覧、編集可能なユーザを制御** できますし、「閲覧はOKだけどダウンロードはNG」といった具合に、 **ワークブック等に対して「できること」を制御** することもできるため、組織内で発生する様々なアクセス制御要件に対応することができ、ワークブック閲覧、共有環境のガバナンスを強化することができます。
一方、Desktopで作成したワークブックを配布して共有している環境では、ワークブックが置いてある共有フォルダにはアクセス制御がかかっているかもしれませんが、そこからファイルをコピーし本来閲覧してはいけない人に配布されてしまうリスクもあります。

#### データベースへのアクセス制御の集中管理
ライブ接続のデータソースをTableau Serverにパブリッシュすると、データソース（DBなど）に対する接続はTableau Serverから行われることになります。パブリッシュの際、データソースに対する認証資格情報（ID/PW等）を埋め込むことで、**パブリッシュされたデータソースまたはそのデータソースを使用したワークブックにアクセスする人は、DBのID/PWを知らなくてもデータを閲覧、利用することができる** ようになります。（もちろん、データソース自体にも先ほど説明したアクセス制御がかけられるため、無制限に誰でもデータが利用できてしまう、といったことはありません。

これによって何が起きているかというと、 **DBへのアクセス制御を、DB側からTableau Server側に移して** いるということになります。ID管理という観点ではDB側で閲覧ユーザを含めた全員分のIDを発行し管理する必要はなく、Desktopを使ってワークブックを作成する人の分だけ発行すればよくなります。また、NW管理の面でも、Desktopを使う環境とTableauServerからDBにアクセスできればよいので、「とりあえず全拠点からDBに繋がるようにしてほしい」というような、断られる未来しか見えない依頼をする必要性がなくなります。（Desktopを使う人も許可してもらえるのか・・・という話もあるのですが、ここらへんはデータマネジメントにおける責任分界点の話になるので本記事では省略します）

#### データ自体の集中管理
ライブ接続、抽出接続を問わず、 **Tableau Serverにデータソースをパブリッシュすることで、「最新のデータはそこにある」という状態を作り出す** ことができます。Desktopのみの環境では、Reader利用者のために抽出データを含んだワークブック（twbxファイル）を配布することになりますが、（Excel等のレポートでもしばしば起きることですが）データ更新のたびに別々のファイルとして保存することで、どのデータが最新なのかわかりづらくなり、閲覧者が異なったデータをもとに判断を行ってしまうリスクがあります。
（業績レポート_最新.twbx　というようなファイル名で置かれるが「最新っていつだ？」というように・・・）
Tableau Serverにデータソースをパブリッシュしておくと、ライブ接続では当然都度閲覧時点の最新データをDBから参照することができますし、抽出接続でも常に同じデータソースが最新データに上書きされていくため、「TableauServer上に上がっているデータが常に最新」という状態にすることができます。もちろんTableauServerの画面を見れば、そのデータソースが最後にいつ更新されたのかを知ることができます。

#### 通知機能によるコラボレーションの加速
Tableau Desktopのみの環境では、ファイルを閲覧してもらうという性質上、Push型で閲覧者に通知することはできません（メールやSlack等で「更新したので見てください」と連絡したり、作成者が頑張って画像やPDFに出力してメール添付することはできますが…）
一方、Tableau Serverには様々な通知機能が備わっています。メールでの通知が主となりますが、メールにスクリーンショットを含めることにができるので、 **実際にワークブックにアクセスすることなく概況を確認してもらう** ことができます。もちろん、これらの通知にはワークブックへのリンクがついていますので、「続きはWebで」といった具合に詳細を確認したい場合は通知からすぐにワークブックに誘導することができます。

* ダッシュボード等のスクリーンショットとともに定期的にメール通知（サブスクリプション）
* ワークブック内の特定のメジャーが、あらかじめ設定した閾値を上回った/下回ったときにメール通知（データドリブンアラート）
* Tableau Server上でワークブックに対してコメントを付けることができ、メンションされたユーザにメールで通知される（コメント機能）
* コメントやデータドリブンアラートをメールではなくSlackにアプリで通知（Slack連携）

:::note warn
**以下は完全に私の私見ですが…**
今のところはサブスクリプションとデータドリブンアラートの２つを理解しておけばよいと思います。他のビジネスチャットツールが導入されている環境において、Tableau Server上でのみコメントをやりとりするというのは実業務ではあまり使われないと思われます。また、2022年9月時点の最新版であるTableau Server 2022.1では、Slack連携では特定のチャンネルに通知することはできず、あくまでアプリとして通知されるのみです。（チャンネルへの通知が実装されればもっと使われる機能になりそうです）
:::

#### アクセスログを利用した監査、効果測定
Tableau Desktopのみの環境では、誰がいつどのワークブックにアクセスしたかを把握することは困難ですが、 **Tableau Serverではログイン、ワークブックへのアクセス、ダウンロードといった操作がすべて記録** され、Tableau Server内のDBに保存されるため、このデータを監査に利用することができます。（ID使い回しなどの不正ログイン、極端なデータダウンロードによる情報漏洩リスクの検知など）
アクセスログは監査目的以外にも利用できます。ワークブックごと、ユーザグループごとなどにログを集計することで、「今月のアクティブユーザは何人だった」「このワークブックはこれだけ見られている」など、 **活用効果を測定することにも役立ちます。** たくさん閲覧・利用されていることがわかればそれはTableau Serverへの投資対効果という点で良いことですし、仮に思ったほど閲覧されていないな、ということがわかればそれはそれで改善策の検討のインプットになります。

:::note warn
ここで言及しているアクセスログのデータにアクセスし自由に分析するには、サーバ管理者にTableau Severの内部DB（リポジトリDB）へアクセスするためのID/PWを公開してもらう必要があります。
:::
:::note warn
Tableau CloudではリポジトリDBへのアクセスは利用者に公開されておらず、一部のDBテーブルに相当する情報が「管理者インサイト」というデータソースで公開されます。
:::

#### データ加工、更新の自動化
ライブ接続のデータをTableau Serverにパブリッシュすることのメリットは先に述べましたが、抽出接続のデータも同じくパブリッシュすることでメリットを得ることができます。
Tableau Desktopでは、抽出を最新化するためには一度ワークブックを開き、手動でデータを更新する必要がありましたが、 **Tableau Serverでは抽出の更新が自動化** できます。データをパブリッシュする際に一度スケジュールを設定してしまえば、Tableau Serverが決まった時間（毎日、毎週、etc…）に自動でデータソースにアクセスし、抽出データを更新してくれるため、データ更新にかかっていた作業が削減されます。
さらに抽出更新処理はTableau Server上で行われるので、一般的にはTableau Desktopを動作させているPCよりもずっと高スペックな環境で更新処理が行われることになり、 **データ更新の高速化が期待** できます。また、万一自動化された抽出更新処理が失敗した場合はメールで失敗を通知する機能も備わっているので、「知らない間に抽出が止まっていてずっと古いデータのままだった」という事態も防げます。
なお、Tableau ServerにはTableau Prep Builderで作成したデータ加工フローをパブリッシュすることができます。Tableau Prepによるデータ加工処理はマシンリソースを消費し、CPUやメモリが心もとない環境では処理に長時間かかってしまうようなことがありますが、 **フローをTableau Server上で実行することでデータ加工処理の高速化が期待** できます。（とはいえサーバ側のリソースをある程度利用するので注意は必要です。この点については別項で説明する予定。）
また、Data Managementというオプション機能を契約したTableau Server環境であれば、このフロー実行もスケジュール設定ができるようになり、抽出の更新だけではなく、データの加工処理もTableau Server上で自動化できるようになります。

#### ユーザエクスペリエンスの向上
Tableau Serverにコンテンツを集約し、サーバ製品ならではの機能を利用することで、利用者の利便性をさらに高めることができます。

* ワークブック表示性能の向上
Tableau DesktopやTableau Readerでワークブックを共有している環境では、ワークブックを開いたときの処理はすべてPC上で行われます。そのため、スペックの低いPCでデータ量の多いワークブックを開くと、表示するのに1分くらいかかるんだけど…といったことがしばしば起こります。
Tableau Serverでは表示処理の大半がサーバ側で行われるため、一般的に表示にかかる時間が短縮されます。
表示速度はコンテンツが見られる、活用される際のポイントの1つとなりますので、Tableau Serverの利用による表示性能の向上はユーザの利便性を大きく高めると言ってよいと思います。

* 利用頻度の高い/閲覧してほしいコンテンツへのアクセス性向上
様々なツールによくある機能ですが、Tableau Serverにも「お気に入り」機能があります。ブラウザのブックマークと同じ概念で、Tableau Serverにログインした各ユーザが、よく使うワークブック等をお気に入り登録しておくことで目的のコンテンツに素早くたどり着くことができます。
これだけであれば何のことはないのですが、2021年のリリースから、Tableau Serverに「 **コレクション** 」という面白い機能が追加されました。これはざっくりいうと「ワークブック等へのリンク集」で、お気に入りに近いといえば近いのですが、 **自分自身だけではなく他の人にもリンク集を公開できることから、メニュー画面のような使い方ができます。** 
例えば、営業部のユーザ全員に対して、「毎日確認するダッシュボード集」「営業戦略会議で使うダッシュボード集」といった形でコレクションを公開しておけば、各ユーザは迷うことなく目的のコンテンツにたどり着くことができます。

* よく使う検索条件の保存（カスタムビュー）
「店舗別売上状況一覧」としてフィルタで店舗を選ばせるようなワークブックで、「渋谷店の人は渋谷しか基本見ないし、新宿店の人も新宿しか見ないよね」といったケースはよくあると思いますが、Tableau Server上では **各ユーザが行ったフィルタ条件を保存しておき、好きなタイミングで呼び出したり、ワークブックを開いた際のデフォルトに指定することができます。** これにより、ユーザが毎回「ダッシュボードを開いた後自分の店舗をフィルタする」という操作をすることなく「ダッシュボードを開いたらすでに渋谷店にフィルタされている」といった具合にすぐ目的のデータを見ることができるので、特に閲覧頻度が高いワークブックからデータを得るための時間短縮につながります。
また、この検索条件の保存は、一定の権限をもったユーザであれば他の人に公開することもできるので、「この条件で閲覧してね」という条件を一式公開しておき、閲覧する人が複雑なフィルタ設定をしなくても必要なデータにたどり着けるようにする、といったこともできるようになります。

上記は一例ですが、ユーザの利便性を高める機能がいくつもあるため、Desktopのみの環境と比較するとユーザの満足度は必ず向上すると思います。
（ここだけ細かく機能説明してしまった。。。他で書くところがなさそうなのでご容赦ください。）


# おわりに
本記事での説明はここまでです。[次の記事](https://qiita.com/dandeehouse/items/d2554e1e0bc815fd1ff3)では、Tableau Serverサイトを管理するにあたり知っておきたい事項についての説明に移ります。