Tableau 埋め込み分析 費用面と技術面の概要
公開日: 2023.05.25
Tableauをご利用いただき(もしくはご検討いただき)ありがとうございます!
この記事では、Tableauの埋め込み分析 (Embedded Analytics) に関して、費用面と技術面の概要を解説させていただきます。
記事の執筆時点から内容に変更がある可能性もございますので、詳細な最新情報はこちらから営業担当までお問い合わせいただき、この記事はあくまでも参考情報としてご確認いただけますと幸いです。また、全体を通してTableau Cloudのご利用を前提とした内容になっております。Tableau Serverの場合も基本的な概要は同じですが、一部異なる部分もありますので、詳細は営業担当までお問い合わせください。
目次
はじめに
早速ですが、Tableauで作成したダッシュボードは、Webアプリに埋め込むことができ、エンドユーザーにTableauのパワフルなビジュアルアナリティクスの機能を提供することができます。Tableauの公式サイトでも埋め込み分析についての紹介がありますので、まずはこちらをご覧ください。
Tableau 埋め込み分析 顧客にデータで価値を提供する埋め込み分析
なお、埋め込み分析は登場人物が多いため、Tableauをご契約いただく「Tableauにとってのお客様」をX社とし、X社が提供するWebアプリを使用する「X社にとってのお客様」をA社、B社、C社...(またはエンドユーザー)とさせていただきます。
1. 費用面の概要
Tableauの埋め込み分析を提供するために、まずX社がエンドユーザーの分も含めてTableauのライセンスを契約する必要があります。そのパターンは大きく分けて以下の3つが挙げられます。
- ユーザーライセンス
- 使用量ベースのライセンス(Tableau Cloudのみ)
- コアライセンス(Tableau Serverのみ)
1-1. ユーザーライセンス
ユーザーライセンスは、Tableauのダッシュボードを利用する人数分だけライセンスが必要になります。なお、エンドユーザーに付与できるライセンスはダッシュボードを編集できるExplorerと、ダッシュボードを閲覧できるViewerの二種類で、データソースの準備から行うことができる最上位のCreatorは付与することができません。
たとえば、Tableauのダッシュボードを編集するエンドユーザーが100人、閲覧するエンドユーザーが1000人いる場合は、シンプルにExploere×100、Viewer×1000のライセンスを、X社が契約する必要があります。
1-2. 使用量ベースのライセンス
使用量ベースのライセンスは、ユーザーではなく使用量に基づいた新しいライセンスモデルです。エンドユーザーがダッシュボードを閲覧するなどの特定のアクションを実行すると、あらかじめ購入していた「分析インプレッション」のプールが消費されていくという形になっています。たとえば携帯電話のデータ通信の料金プランで、月額3,000円で20GBまで通信でき、20GBを超えてしまったら追加購入が必要になるというプランがよくあると思いますが、そのイメージに近いかもしれません。
エンドユーザーのアクセス頻度が低い場合、ユーザーライセンスよりも使用量ベースのライセンスの方が投資対効果を得やすいと考えられます。
使用量ベースのライセンスについては、こちらのブログ記事もご参照ください。
1-3. コアライセンス
コアライセンスは、Tableau Serverのみで提供しているライセンスモデルです。Tableau ServerはX社自身でTableauのプラットフォームを構築/運用いただくことになりますが、コアライセンスはそのTableau Serverのコア数に基づいて費用が発生します。この場合ユーザー数は無制限になりますので、たとえばX社のWebアプリ上のTableauによる分析機能をD社が新たにトライアルで利用したいといった場合に、追加コストなしでユーザーを追加することができます。
しかし、Tableau Serverのコア数に対してユーザー数(厳密には同時アクセス数)が多すぎると、スペック不足になってしまう恐れもあるため、必要なコア数を慎重に見積もる必要があります。
2. 技術面の概要
TableauのダッシュボードをX社のWebアプリに埋め込むためには、主に以下の3つを考慮しながら、X社側で開発する必要があります。
- ダッシュボードを埋め込む方法
- WebアプリとTableauの認証の連携(シングルサインオン)
- エンドユーザーのデータをセキュアに管理する方法
2-1. 埋め込む方法
TableauのダッシュボードをTableau Cloudにパブリッシュすると、URLを取得することができます。

このURLを以下のAPIで呼び出すことで、Webアプリにダッシュボードを埋め込みます。
埋め込むだけでなく、“Tableau”と記載されたツールバーを非表示にしたり、Webアプリのボタンからダッシュボードにフィルターをかけるような連携をさせたりすることもできます。また、REST APIも利用することで、Webアプリにログインしているユーザーが利用できるTableauのダッシュボードの一覧を、サムネイル化して並べて表示するようなことも可能です。
※無料のTableau Publicを埋め込む場合、“Tableau”の記載があるツールバーを非表示にすることはできません。
以下のアニメーションでは、エンドユーザーがWebアプリにサインイン後、ダッシュボードのサムネイル一覧から見たいダッシュボードをクリックして表示し、Webアプリ側のフィルターボタンでダッシュボードに表示される地域をUSに絞っています。ダッシュボード自体はTableauで作成したものをAPIで呼び出しており、ダッシュボード以外の部分はWebアプリ側で実装しています。

どのようなコードを書けばいいのかについては、Tableau Embedding Playgroundも参考にしてみてください。
※2023年5月時点で上記のPlaygroundは正式リリース前のDeveloper Previewとなっております(参考Twitter)
2-2. WebアプリとTableauの認証の連携(シングルサインオン)
認証を連携せずにTableauのダッシュボードをWebアプリに埋め込んだ場合、ユーザーがWebアプリにサインインしてTableauのダッシュボードが埋め込まれた画面を開くと、Tableauのサインイン画面が表示されてしまいます。これでは二度手間となり、ユーザーフレンドリーではない体験になってしまうため、基本的にはシングルサインオン(SSO)できるように開発する必要があると言えます。
SSOを実現する方法は主に以下の二つが挙げられます。
- 外部のIDプロバイダー (IdP) を利用する(詳細はこちら)
- Connected Apps(接続済みアプリ)
Connected Appsの場合は外部のIdPが不要で、WebアプリとTableauをJSON Web Token (JWT)の連携によって認証します。いずれの場合も、Tableauのダッシュボードを閲覧する人は、Tableau側にユーザーとして登録されている必要があります。
Tableau側のユーザー登録は、Tableau Cloudの管理画面から以下のようなGUIで登録できます。また、CSVファイルのインポートや、REST APIでも登録できます。REST APIで自動化する場合はX社側での開発が必要になります。
※REST APIのライブラリはこちら(Python)

なお、Tableau Cloudの場合、多要素認証(MFA)が必須となっていますが、2023年5月時点では、埋め込み分析の場合はMFAを免除可能となっております。詳細はこちらのFAQの「MFA 要件が免除されているユースケースを自動有効化や適用からどのように除外できますか?」をご確認いただき、営業担当までお問い合わせください。
2-3. エンドユーザーのデータをセキュアに管理する方法
X社がWebアプリに埋め込んだTableauのダッシュボードをA社、B社、C社に展開する際、誤ってA社が他社のデータを閲覧できてしまうと、大問題になってしまいます。そのような事態を防ぐために、Tableau上で各社のデータを適切に出し分ける方法は主に以下の二つが挙げられます。
- 各社のデータやダッシュボードをプロジェクト単位で分割して個別管理
- 各社のデータやダッシュボードを分割せずに行レベルセキュリティで動的に表示を切り替える
各社のデータやダッシュボードをプロジェクト単位で分割して個別管理
Tableau Cloudでは、プロジェクトと呼ばれるフォルダのようなものを自由に構成でき、その中にワークブックやデータソースを格納することができます。このプロジェクトを各社ごとに作成し、その中に各社のワークブックやデータソースを格納することで、ワークブックやデータソースを各社ごとに分けて管理することができます。また、各プロジェクトごとに誰がアクセスできるようにするかパーミッションを設定することも可能です。

参考:プロジェクト管理画面のUI

この場合、ダッシュボードのデザインが同じであってもURLは各社ごとに異なるため、A社のユーザーならA社のURL、B社のユーザーならB社のURL、C社のユーザーならC社のURL、という形でURLを出し分けるようにWebアプリ側で実装いただく必要があります。また、例えばエンドユーザーの企業数が100社を超えるような規模になってくると、ワークブックやデータソースを100社分用意したり、ダッシュボードの更新時に100社分のワークブックを更新したりすることになり、手作業では限界があります。
REST APIのPublish WorkbookやUpdate Workbook Connectionなどを利用して開発すれば、ワークブックやデータソースの複製および接続先の変更を自動化できる可能性もありますが、X社がご利用中のDBやその構成によっては実現が難しい場合もありますので、事前の検証をお願いします。特に接続先の変更については、APIで実現できない場合、ワークブックやデータソースのファイル自体のXMLを直接修正するという方法もありますが、サポート対象外になりますので、自己責任で実施いただく必要があります。
※REST APIのライブラリはこちら(Python)
各社のデータやダッシュボードを分割せずに行レベルセキュリティで動的に表示を切り替える
行レベルセキュリティでは、同じダッシュボードをA社のユーザーが見るとA社のデータのみが表示され、B社のユーザーが見るとB社のデータのみが表示され...ということが実現できます。設定方法はヘルプや解説動画をご参照ください。

行レベルセキュリティの懸念点としては、すべてのエンドユーザー企業のデータを同じテーブルで保持するため、データ量が増大しパフォーマンスが悪化する可能性があります。パフォーマンスについては様々な要因が絡むため、実際の環境で検証いただくことを推奨いたします。
おわりに
以上がTableauの埋め込み分析 (Embedded Analytics) に関する費用面と技術面の概要となります。繰り返しになりますが、技術面については各種APIを使用するため、X社側での開発が必要になります。開発支援を行うTableauのプロフェッショナルサービスやパートナー企業をご紹介することも可能です。その点も含めて、より詳細な内容や最新情報については、こちらから営業担当までお問い合わせください。
最後までお読みいただきありがとうございました。引き続きTableauのご利用もしくはご検討のほど、よろしくお願い致します。
公開日: 2023.05.25
この情報は役に立ちましたか?
ご意見お待ちしております。
フィードバックありがとうございます。
より役に立つために
役に立たなかった一番の理由を教えてください。