🗿

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

2025/01/20に公開

TL;DR

Tableauで選択した顧客リストをData Cloudに連携するにあたって、
あるオブジェクトから複数のオブジェクトを並列で結合することはできない。

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

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

前回は、TableauからData Cloudにセグメント連携をする際に注意すべき前提条件のうち
5.結合はDataCloud上のDMOリレーション設定と一致する必要あり
について説明させていただきました。

今回は
6.オブジェクト間は1:1で結合される必要あり
について説明いたします。
この制約条件は前回の「5.結合はDataCloud上のDMOリレーション設定と一致する必要あり」にも大きく影響を受けます。

Tableauデータソース設定におけるリレーション

Tableau上では1つのオブジェクトから複数のオブジェクトに対して並列にリレーションが設定可能

一例として、Data Cloud上のIndividual DMOとリレーションが設定されているDMOを確認してみます。

Individual DMOとEmail Engagement DMO,Message Engagement DMOはそれぞれリレーションが設定されています。
一方、Email Engagement DMOとMessage Engagement DMOの間にはリレーションが設定されていません。

前回の記事でご紹介した通り、Tableauデータソース上のリレーション設定はData Cloudと一致している必要があります。

前述の3つのDMOについて正しくリレーション設定を行うと、Tableau上ではこのようになります。

こちらのデータソースを参照する形でダッシュボードを作成し、セグメントを連携してみると

エラーとなりました。
エラーメッセージでも明示されている通り、単一テーブルからの複数の結合はサポートされません。


なお、今回作成したダッシュボードではMessage Engagement上の項目は参照していません。
項目として参照されているか否かを問わず、単一のオブジェクトから複数の結合を行った場合
セグメント連携は行えません。

こちらを回避する方法の一例として、
①Email EngagementとMessage Engagementのデータを元に1つのオブジェクトをData Cloud上で作成
②1で作成したオブジェクトとIndividual DMO間のリレーションをDataCloud,Tableau両方で設定する

という手段が考えられます。

ただしデータ構造によっては、並列で結合されている複数オブジェクトを1つにまとめること自体が出来ない場合もあります。
その場合、
「IndividualとEmail Engagementをデータソースとしたダッシュボード」
「IndividualとMessage Engagementをデータソースとしたダッシュボード」
のようにダッシュボード自体を分けることで、並列のリレーション関係を解消し
セグメント連携が可能です。

ただしこの場合、
ダッシュボード1ではMessage Engagementのデータが
ダッシュボード2ではEmail Engagementのデータが参照できないため、
3つのテーブルを組み合わせた分析が行えません。

いずれの場合も対応できないケースがありますので、実施したいデータ分析とそれを実現するためのデータ構造が今回ご紹介した制約事項に引っかからないかは設計段階にて慎重にご検討ください。

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

次回は残る2つの制約についてご紹介予定です。

7.フィルタ条件に計算フィールドや表計算,TOP n等Tableau上での計算結果は使用不可
8.日付でのフィルタ条件に制約あり

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

Discussion