SFA管理者の日常

salesforceとtableau関連の記録

salesforceの画面にTableauのビューを埋め込む方法

はじめに

Salesforceの画面にTableauのビューを埋め込むことができます。

見たいデータがSalesforceの中に存在しなくて困ることはないでしょうか?

当たり前ですが、SalesforceSalesforceの中に保持しているデータしか表示することができません。

しかしSalesforceにはデータ容量の制限がありますし、データ連携のハードルはそこそこ高いです。

基幹システム系のデータや行動ログ系のデータなど、データ量が多かったりすると連携が行われていない場合も多いと思います。

そんなときに、わざわざ別のシステムの画面やTableau Serverを見に行かなくてもシームレスにSalesforceの画面からTableauの画面を表示できます。

たとえば私の所属する組織では、Salesforceの取引先のページに、その顧客の過去の売上推移を表示しています。 (売上データは量が多いのでSalesforceにデータ連携していません)

TableauであればSalesforceのレポートよりも柔軟かつリッチなビューを表示できるので、その意味でもTableauの埋込ビューの利点があります。

Tableau ServerやTableau Cloud(Online)を利用していることが前提にはなりますが、以下に手順や注意点などをまとめます。

手順

Lightning Web コンポーネントインストール

まずはTableau Lightning WebコンポーネントをAppExchangeからインストールします。

通常のAppExchangeのアプリと同様の手順です。

https://appexchangejp.salesforce.com/appxListingDetail?listingId=a0N3u00000OMuhjEAD

今すぐ入手

通常通りインストール

インストール完了

正常にインストールが完了するとLightning アプリケーションビルダーにコンポーネントが表示されます

Tableau Visualizationが表示されている

Tableauビューを埋め込む

インストールが完了したら、次は画面に埋め込みます。

試しに画面上部にドラッグ&ドロップ

デフォルトでtableau publicのサンプルビューが表示される

埋め込むビューですが、今回は事前に作成してtableau publicにアップしておいたこちらを使います

https://public.tableau.com/app/profile/atsushi.watanabe/viz/SF_16730673681450/DB1

Salesforce埋込用

tableau publicの画面から共有用のURLを取得します

画面右上のShareをクリック

共有用のLinkをコピー

コピーした共有用LinkをSalesforce側のURL欄に貼り付け

保存して取引先の画面を表示してみます。

これで埋込自体は完成です

tableau publicのビューが表示されました。

ページの内容に応じたフィルター

一応画面の埋込自体はできました。 しかしSalesforceの取引先とTableauのフィルターがあっていません。

これを合わせます。

そのためにはSalesforceとTableauに共通のキーが必要です。

今回はサンプルスーパーストアのデータなので、そこに存在する顧客IDを利用します。

(業務上のデータであればすでに顧客を一意に識別するIDがすでにあるケースが多いと思います)

顧客名と顧客ID

この顧客IDを取引先の取引先番号に仮で入れてみます

サンプルスーパーストアの顧客IDを取引先番号へ

確認用の2つ目

Tableau Lightning WebコンポーネントにTableau側のフィールド名とSalesforce側の項目名を指定する

顧客とIdの間にスペースがあるので注意

これで設定を保存します。

そして実際に取引先画面を表示てみます。 (わかりやすいようにtableau側に顧客名表示しました)

阿久さん

綾部さん

このように取引先ごとにフィルターされたTableauビューが表示されます

その他ポイント

埋込の設定はこれで完了ですが、注意点を2つ紹介します。

①tableau server側はhttpsでの接続が必要

httpsでないとNGというエラー

これはtableau埋め込みに限った話ではないですが、httpとhttpsが混在していると一般的にセキュリティ上の理由でエラーになります。

tableau cloud(online)であれば気にする必要がありませんが、ローカルネットワークにある組織内tableau serverだと、SSL化していない場合もあるかもしれないので、注意です。

②埋込ビューの高さが500以下だとビューがくずれる

これは私が個人的にはまった仕様?なのですが、Lightning Webコンポーネントの高さ(Height)が500以下だとレイアウトがくずれます。

例えばこういうワークシートを横に並べたダッシュボードを埋め込んでみます。

わかりやすいように枠線で囲んでいます

これで高さを500以下にするとビューがくずれてしまいます。 (今回実際閾値がどこにあるのか色々試してみましたが500がボーダーラインのようでした)

500にしてみる

こういう風に縦に並んでしまいます

501にしてみる

501以上なら正しいレイアウトで表示されます

このような高さの制限があるので、Salesforceに埋め込む予定のダッシュボードは、500以上の高さで自然に表示されるレイアウトにするのがよさそうです。

終わりに

以上、salesforceの画面にtableauのビューを埋め込む方法でした。

今回は取引先レコードページへの埋込を例にしました。

その他にもユーザのレコードページにそのユーザが所有している取引先や商談の一覧を出すなども便利です。

SalesforceとTableauを両方使っている場合はこの連携による色々と可能性が広がります。

まだ未実施の方はぜひ試してみてください。

参考

help.tableau.com