社内でTableauなどのダッシュボードを利用している会社も増えてきました。しかしながら、「Tableauを導入しているものの、思ったより社内に普及していないな」と感じている人はいないでしょうか。
どんなにいいダッシュボードを作ったとしても、ダッシュボードをみる頻度が少なければ意味をなしません。実際、先日プリンシプルで行ったイベント「The Principle Week」のTableauセッションでアンケートを取ったところ、半分以上の人がこのような課題を持っていました。
このブログでは、作成したTableauダッシュボードを社内に浸透させるために、プリンシプルが実践していることを1つ紹介します。
今回の前提条件
今回の記事は前提条件として、
- TableauサーバーまたはTableauオンラインにダッシュボードを展開している
- 社内の情報共有ツールとして、Slack(有料版)を利用している
- TableauやSlackのAPIを使ったプログラミングが可能である
を置いています。この前提条件を置いている理由は単純に「プリンシプルがこのような環境である」ことにあります。
もし、SlackではなくチャットワークやMicrosoft Teamsを利用していたとしても、代替技術を使うことで同様のことを実現できるはずです。また、ダッシュボードについても、Tableauではなくデータポータルでも問題ない内容となっています(記事末尾に、データポータルの場合の方法も簡単に記載しています)。
そのため、上記の前提条件を満たしていない場合であっても、同様のことができないか、エンジニアの方に相談してみると良いでしょう。
プリンシプルで行っていること
「Slack App」(非公開アプリ)を開発
プリンシプルでは、Slack APIを利用した「Slack App」(非公開アプリ)を自社開発し、自社のTableauサーバーと連携して利用しています。
開発したアプリケーションの概要は以下のようになっています。
これにより、社内情報共有ツールであるSlackでTableauダッシュボード(のサムネイル)を直接閲覧することができます。つまり、データの共有・閲覧の敷居がグッと下がります。
アプリケーションの処理の流れ
このSlack APIを利用したアプリケーションは、Google Cloud Functionを用いて実装しています。Slackの利用ユーザーが、Tableauサーバー上にアップロードされているダッシュボードのURLを投稿すると、Slack APIのUnfurl機能により、Google Cloud Functionが呼び出されます。
Unfurl機能では、Slackに特定のURLを含む投稿が行われたときに処理を行うことができる仕組みになっています。例えば、Slackに画像URLを投稿したときに、自動で画像が展開されキャプチャが表示されることがあります。これはSlackが標準で提供しているUnfurl機能です。
Google Cloud Functionでは、TableauサーバーのAPIを利用して投稿されたダッシュボードのサムネイルを取得します。そして取得したサムネイルをGoogle Cloud Storageにアップロードし、Slackから閲覧できる状態にします。
最後に、Google Cloud Functionは、SlackのUnfurlに対して、サムネイルのURLを返します。
このような一連の流れによって、SlackにTableauサーバーのダッシュボードのURLをアップロードすると、そのダッシュボードのサムネイルが展開されます。今までであれば、Slackに投稿されたURLをクリックしてTableauサーバーの認証を行いダッシュボードを開く必要がありましたが、Slack上でそのままダッシュボードの中を確認することができます。
さらにこのアプリケーションの良いところは、Slackのリマインダー機能にも対応している点です。例えば、Slackのリマインダー機能を用いて、毎日一定の時刻にTableauサーバーのダッシュボードのURLを投稿させるだけで、そのダッシュボードのサムネイルが展開されます。
これをSlackの全社員が参加するチャンネルや、チーム内のチャンネル、案件別のチャンネルなどで行うことで、関係する人のほとんどがダッシュボードを見るようになりました。
平日の決まった時間に、当月の広告の進捗簡易レポートを通知している例
データポータルでやるなら
今回は弊社のダッシュボード環境上、Tableauサーバーを用いた方法での説明となりました。しかしながら、Tableauではなく、データポータル を利用している人も多くいると思います。
今回解説した内容は、Tableauに依存した内容ではなく、ダッシュボードのURLからサムネイルを取得できるBIツールであれば同様のことができます。
データポータルの場合、公式ヘルプ「データポータル レポートのサムネイルを生成する」にあるように、ダッシュボードのURLに少し加工を行うだけで簡単にサムネイル画像を取得することができます。
この場合は、Slackに共有するURLを毎回加工する手間は必要ですが、Slack APIによる実装も不要になります。リマインダー機能を使って自動投稿するのであれば、一度セットしてしまえば自動でできるので、問題にはなりにくいでしょう。
セキュリティ上の注意点
Slackに渡すサムネイル画像は、誰でもアクセス可能なインターネット上に公開する必要があります。これは、URLさえ分かってしまえば、誰でもそのダッシュボードのサムネイルを閲覧できてしまうということです。
弊社では、サムネイル画像のURLにuuidを使った長いランダムな文字列を利用することで、第3者にURLが漏れるリスクを減らしています。
特に、上で紹介したデータポータルで実現する場合、データポータルのダッシュボード自体の公開範囲を変更する必要があり、URLが漏れてしまった場合、自由にダッシュボードを閲覧できてしまいます。もちろん、Tableauと同じように、Cloud Functionsで画像を生成し、そのURLを共有することでリスクを減らすことは可能です。
このように、自社のセキュリティ・ポリシーに注意する必要があります。
まとめ
この記事では、「Tableauダッシュボードを社内に浸透させるためにプリンシプルが実践していること」をご紹介しました。
この仕組みを導入してから約1年が経過し、10,000を超えるサムネイルをSlack上に展開してきました。特に、リマインダー機能と組み合わせることで定期的にダッシュボードをみる機会が増え、数字をみる文化が浸透してきたように思います。
「Tableauダッシュボードを全社的に導入したものの、社内への浸透がイマイチ」という会社がたくさんあるのが現状です。そのような場合は、今回紹介したような仕組み開発を検討してみてはどうでしょうか。
もし自社での開発が難しい場合でも諦めず、ぜひ弊社にご相談ください。