🗿

TableauからData Cloudへのセグメント連携 その3

2025/01/16に公開

TL;DR

Tableauで選択した顧客リストをData Cloudに連携するにあたって、
DataCloud上のDMO間のリレーション設定とTableauデータソース上のリレーション設定は同一である必要がある。
DataCloud上の設定と異なるキーで結合したり、DataCloud上でリレーション関係がないオブジェクト同士を結合した場合セグメント作成がエラーとなる。

TableauからData Cloudへのセグメント連携における前提条件

前回の記事はこちら。
https://zenn.dev/dcsp/articles/d3ecf90df9f126

前回は、TableauからData Cloudにセグメント連携をする際に注意すべき前提条件のうち
4.データソース間は「関係」でなく「結合」で連結される必要あり
について説明させていただきました。

今回は
5.結合はDataCloud上のDMOリレーション設定と一致する必要あり
について説明いたします。

Data Cloud上のDMOリレーション設定?

Data CloudではDMO間にあらかじめリレーションが定義されている

複数の異なるデータを組み合わせて使いたい場合、
それぞれのデータがどの項目でどのように結合されるか、という情報が必要になります。

Data CloudにおいてはCustomer360 データモデルにより
あらかじめオブジェクト間のリレーションが設定されています。
https://help.salesforce.com/s/articleView?id=sf.c360_a_c360datamodel.htm&type=5

上記ヘルプの中にもオブジェクト間のリレーションを表した画像が掲載されていますが、
Data CloudのUIからも簡単に確認が可能です。

Data Cloudにアクセスし「データモデル」タブを選択。
デフォルトでは一覧表示になっていますが、右上の「表示名」ボタンからグラフに切り替えることで
画像のような、オブジェクト間のつながりが分かりやすいダイアグラムが表示されます。

オブジェクトが多くて見づらい場合は、確認したいオブジェクトにマウスカーソルを合わせると
選択したオブジェクトと直接リレーションがあるオブジェクトだけが表示されます。

ただしこちらでは、オブジェクト間がどの項目で結合されているかまではわかりません。
結合キーを確認したい場合は、対象のオブジェクトをクリックし、
リレーションタブを選択することで確認が出来ます。

どのオブジェクトが、どのキーで、どのように結合されるかは任意に編集が可能ですが
この設定が正しく行われていないといざデータを利用しようとした場合に正しく組み合わせが行われず、データの欠損や重複加算など誤った結果の原因となります。
Data Cloudではあらかじめリレーションが設定されているため、もともとある
DMOにデータをマッピングしていくことで複雑な設定を必要とせずとも正しいデータ処理が行える、
というのが嬉しいポイントです。

前置きが長くなりましたが、今回重要なポイントとして
Data Cloud上でDMO間のリレーションが定義されているということを改めてご確認ください。

5.結合はDataCloud上のDMOリレーション設定と一致する必要あり

冒頭の前提条件の話に戻ります。
Tableauで複数のデータを組み合わせて分析する場合、
それぞれのオブジェクトをデータソース定義にて「結合」する必要があります。

こちらTableauのデータソースにおけるリレーション設定は下記のように、
DataCloud上のリレーション設定とは異なる内容が設定可能です。

a.DataCloud上ではリレーション関係にないオブジェクト同士をTableau上で結合する
b.DataCloud上で設定されているものとは異なる項目を結合キーとする

ただし結論から申し上げますと、上記a.bのいずれにおいてもTableauからDataCloudへのセグメント連携はエラーとなります。

今回検証にあたり下記のようなデータを用意しています。

また、Individual DMOとEmail Engagement DMOは[Individual ID / Individual]にてリレーションが設定されています。

このような環境下において、Tableauのデータソース上で下記3パターンの設定を行ったダッシュボードを用意します

①Individual DMOとEmail Engagement DMOをIndividual ID / Individualで結合する
まずはData Cloud上のリレーション設定と同一内容にてリレーション設定を行ったケースです。
こちらは当然ながら、正常にTableauからData Cloudへの連携が行われます。

②Individual DMOとEmail Engagement DMOをIndividual ID / dummy individualで結合する
次に、Data Cloud上でリレーション関係にあるオブジェクト同士ですが結合キーを別の項目に変えています。Email Engagement DMOの「Individual」項目と「dummy individual」項目の値は同一であるため、Tableauダッシュボード自体は①のパターンと全く同様に表示されますが、セグメント連携を行うとエラーが発生します。

③Individual DMOとDummy Email Engagement DMOをIndividual ID / individualで結合する
最後に、Data Cloud上でリレーション関係にないオブジェクト同士を結合します。
Email Engagement DMOとDummy Email Engagement DMOは同じ構造/同じ値であるため
Tableauダッシュボード自体は①のパターンと全く同様に表示されますが、セグメント連携を行うとエラーが発生します。

以上のように、TableauからData Cloudへのセグメント連携を行う場合は
Tableau上でのリレーションの設定をData Cloudと同一にする必要がありますのでその点ご注意ください。

今回はTableauデータソースにおけるリレーションの制約をご紹介いたしました。

6以降についてはまた次回。

6.オブジェクト間は1:1で結合される必要あり
7.フィルタ条件に計算フィールドや表計算,TOP n等Tableau上での計算結果は使用不可
8.日付でのフィルタ条件に制約あり

※本記事は、私が所属する会社とは一切関係のない事柄です。

Discussion