salesforceの画面にTableauのビューを埋め込む方法
はじめに
Salesforceの画面にTableauのビューを埋め込むことができます。
見たいデータがSalesforceの中に存在しなくて困ることはないでしょうか?
当たり前ですが、SalesforceはSalesforceの中に保持しているデータしか表示することができません。
しかし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ビューを埋め込む
インストールが完了したら、次は画面に埋め込みます。
埋め込むビューですが、今回は事前に作成してtableau publicにアップしておいたこちらを使います
https://public.tableau.com/app/profile/atsushi.watanabe/viz/SF_16730673681450/DB1
tableau publicの画面から共有用のURLを取得します
保存して取引先の画面を表示してみます。
tableau publicのビューが表示されました。
ページの内容に応じたフィルター
一応画面の埋込自体はできました。 しかしSalesforceの取引先とTableauのフィルターがあっていません。
これを合わせます。
そのためにはSalesforceとTableauに共通のキーが必要です。
今回はサンプルスーパーストアのデータなので、そこに存在する顧客IDを利用します。
(業務上のデータであればすでに顧客を一意に識別するIDがすでにあるケースが多いと思います)
この顧客IDを取引先の取引先番号に仮で入れてみます
Tableau Lightning WebコンポーネントにTableau側のフィールド名とSalesforce側の項目名を指定する
これで設定を保存します。
そして実際に取引先画面を表示てみます。 (わかりやすいようにtableau側に顧客名表示しました)
このように取引先ごとにフィルターされたTableauビューが表示されます
その他ポイント
埋込の設定はこれで完了ですが、注意点を2つ紹介します。
①tableau server側はhttpsでの接続が必要
これはtableau埋め込みに限った話ではないですが、httpとhttpsが混在していると一般的にセキュリティ上の理由でエラーになります。
tableau cloud(online)であれば気にする必要がありませんが、ローカルネットワークにある組織内tableau serverだと、SSL化していない場合もあるかもしれないので、注意です。
②埋込ビューの高さが500以下だとビューがくずれる
これは私が個人的にはまった仕様?なのですが、Lightning Webコンポーネントの高さ(Height)が500以下だとレイアウトがくずれます。
例えばこういうワークシートを横に並べたダッシュボードを埋め込んでみます。
これで高さを500以下にするとビューがくずれてしまいます。 (今回実際閾値がどこにあるのか色々試してみましたが500がボーダーラインのようでした)
このような高さの制限があるので、Salesforceに埋め込む予定のダッシュボードは、500以上の高さで自然に表示されるレイアウトにするのがよさそうです。
終わりに
以上、salesforceの画面にtableauのビューを埋め込む方法でした。
今回は取引先レコードページへの埋込を例にしました。
その他にもユーザのレコードページにそのユーザが所有している取引先や商談の一覧を出すなども便利です。
SalesforceとTableauを両方使っている場合はこの連携による色々と可能性が広がります。
まだ未実施の方はぜひ試してみてください。