テーブル間のリレーションシップ
多くの場合、顧客データは複数のテーブルに分散されます。 シナリオに活用できるように、このデータを相互に接続することが重要です。 たとえば、ユーザー、注文、注文の詳細、製品のテーブルがあるとします。 最近注文したすべてのユーザーのセグメントが必要だとします。 このセグメントを作成するには、ユーザー テーブルを単独で使用することはできません。注文 テーブルと ユーザー テーブルが必要です。 ユーザー と 注文 のテーブルは、userId のようなキーを使用して相互にリンクする必要があります。 Customer Insights - Data のリレーションシップを使用すると、テーブルをリンクして、セグメント、メジャー、およびその他の Customer Insights - Data プロセスですべてのデータを使用できるようになります。
リレーションシップは、テーブルが共通の識別子である外部キーを共有する場合にデータのグラフを定義します。 この外部キーは、あるテーブルから別のテーブルへ参照することができます。 関連付けは、外部キーを含む ソース テーブル と ソース テーブルの外部キーが指す 対象テーブル で構成されます。
関連付けには次の 3 つのタイプがあります:
- 編集不可能なシステム定義の関連付け、データの統合プロセスの一部としてシステムによって作成
- 編集不可能な継承された関連付け、データ ソースの取り込みから自動的に作成
- 編集可能なユーザー定義の関連付け、ユーザーが作成および構成
編集不可能なシステム定義の関連付け
データの統合時に、システム定義の関連付けがインテリジェント マッチングに基づいて自動的に作成されます。 これらの関連付けは、顧客プロファイル レコードを対応するレコードと関連付けるのに役立ちます。 次の図は、3 つのシステム ベースの関連付けの作成を示しています。 顧客テーブルは他のエンティティと照合され、統合された Customer テーブルを生成します。
- CustomerToContact リレーションシップ が、Customer テーブルと 取引先関係者 テーブルとの間に作成されました。 Customer テーブルはキー フィールド Contact_contactID を取得し、Contact テーブルのキー フィールド contactID に関連付けます。
- CustomerToAccount リレーションシップ が Customer テーブルと Account テーブルの間に作成されました。 Customer テーブルは、キー フィールド Account_accountID を取得し、Account テーブルのキー フィールド accountID と関連付けます。
- CustomerToWebAccount リレーションシップ は、Customer テーブルと WebAccount テーブルとの間に作成されました。 Customer テーブルは、キー フィールド WebAccount_webaccountID を取得し、WebAccount テーブルのキー フィールド webaccountID と関連付けます。
編集不可能な継承された関連付け
データ取り込みプロセス時に、システムは既存の関連付けについてデータ ソースを確認します。 関連付けが存在しない場合、システムが自動的に作成します。 これらの関連付けは、下流プロセスでも使用されます。
ユーザー定義の関連付けの作成
カスタム リレーションシップを使用すると、2つのテーブルを接続して、ダウンストリームのセグメントおよびメジャーで一緒に使用できるようになります。
たとえば、ニューヨークの店舗でコーヒーを購入したすべての顧客のセグメントを構築するとします。 データは 3 つのテーブルに保存されます:
- loyaltyContacts には、全顧客の一覧が含まれています。 列には LoyaltyId と FullName が含まれます。
- 購入にはすべての顧客の購入履歴が含まれます。 列には、Timestamp、LoyaltyId、PurchasePrice、StoreId が含まれます。
- ストアには、 各ストアの詳細が含まれます。 列には StoreId、StoreSize、StoreLocation が含まれます。 この例では、StoreId 列に多 (購入) 対 1 (店舗) の関係として購入と店舗の間のカスタム関係を作成します。 確立した後は、Stores テーブルの StoreLocation 列にフィルターを追加して、必要なセグメントを作成できます。
データ>テーブル に移動します。
関係タブを選択します。
新規リレーションシップ を選択します。
新しい関連付け ペインで以下の情報を入力します:
関連付け名: 関連付けの目的を反映する名前。 リレーションシップは大文字小文字が区別されます。 例: PurchasesToStores。
説明: リレーションシップの説明。
ソース テーブル: 関連付けのソースとして使用されるテーブル。 例: Purchases。
ターゲット テーブル: リレーションシップのターゲットとして使用されるテーブル。 例: Stores。
ソースの基数: ソース テーブルの基数。 基数は、セット内の可能な要素の数を表します。 常に対象の基数に関連します。 一 と 多 から選択できます。 多対一および一対一のリレーションシップのみがサポートされています。
- 多対一: 複数のソース レコードを 1 つの対象レコードに関連付けることができます。 例: ひとつの店舗からの購入。
- 一対一: 1 つのソース レコードが、1 つの対象レコードに関連付けられます。
注意
多対多のリレーションシップは、2 つの多対一のリレーションシップと、ソース テーブルとターゲット エンティティを接続するリンク テーブルを使用して作成できます。
ターゲット基数 : ターゲット テーブル レコードの基数。
ソース キー フィールド: ソース エンティティの外部キー フィールド。 例: StoreId
ターゲット キー フィールド: ターゲット エンティティのキー フィールド。 例: StoreId
保存 を選択して、ユーザー定義の関連付けを作成します。
既存の関連付けの管理
データ>テーブル と リレーションシップ タブに移動して、作成されたリレーションシップ、それらのソースタブ、ターゲット テーブル、基数を表示します。
特定のリレーションシップを見つけるためのフィルターまたはリレーションシップを検索オプション。 既存の関連付けとその基数のネットワーク図を表示するには、ビジュアライザー を選択します。
リレーションシップを選択して、使用可能なアクションを表示できます。
- 編集: 編集ペインでユーザー定義の関連付けのプロパティを更新し、変更を保存します。
- 削除: ユーザー定義の関連付けを削除します。
- 表示: システムで作成および継承された関連付けを表示します。
関連ビジュアライザーの確認
リレーションシップ ビジュアライザーは、接続されたテーブル間の既存の関連付けとその基数のネットワーク図を示します。 また、リレーションシップ パスを視覚化します。
ビューをカスタマイズするには、ボックスをキャンバス上でドラッグして、位置を変更します。 次のオプションがあります。
- 画像としてエクスポート: 現在のビューを画像ファイルとして保存します。
- 水平/垂直レイアウトに変更: テーブルと関連付けの配置を変更します。
- 編集: 編集ペインでユーザー定義の関連付けのプロパティを更新し、変更を保存します。
関連付けパス
リレーションシップ パスは、ソース テーブルとターゲット テーブル間の関係で結ばれたテーブルを記述します。 統合プロファイル エンティティ以外のエンティティを含むセグメント、またはメジャーを作成し、統一されたプロファイル エンティティに到達する複数のオプションがある場合に使用されます。 リレーションシップ パスが異なれば、結果も異なる可能性があります。
テーブル eCommerce_eCommercePurchases は、統合プロファイルの Customer テーブルと以下の関係にあります:
- eCommerce_eCommercePurchases > 顧客
- eCommerce_eCommercePurchases > eCommerce_eCommerceContacts > POS_posPurchases > 顧客
- eCommerce_eCommercePurchases > eCommerce_eCommerceContacts > POS_posPurchases > loyaltyScheme_loyCustomers > 顧客
関連付けパスは、メジャーやセグメントのルールを作成する際に、どのテーブルを使用するかを決定します。 一致するレコードがすべてのテーブルの一部である必要があるため、最も長いリレーションシップ パスを持つオプションを選択すると、結果が少なくなる可能性があります。 この例では、顧客は電子商取引 (eCommerce_eCommercePurchases) を通じて販売時点管理 (POS_posPurchases) で商品を購入し、当社のロイヤルティ プログラム (loyaltyScheme_loyCustomers) に参加する必要があります。 最初のオプションを選択した場合、顧客は他の 1 つのテーブルに存在するだけでよいため、より多くの結果を得られる可能性があります。
直接的な関連付け
ソース テーブルがターゲット テーブルと 1 つの関連付けだけで関連している場合、その関係は 直接的リレーションシップ に分類されます。
たとえば、eCommerce_eCommercePurchases という活動テーブルが ContactId のみでターゲット テーブル eCommerce_eCommerceContacts のテーブルに接続している場合、これは直接的な関連付けです。
複数パスの関連付け
マルチパス リレーションシップ は、ソース テーブルを複数のターゲット テーブルに接続する特別なタイプの直接的な関連付けです。
たとえば、eCommerce_eCommercePurchases という活動テーブルが、eCommerce_eCommerceContacts と loyaltyScheme_loyCustomers という 2 つのターゲット テーブルに関係している場合、それはマルチパス リレーションシップです。
間接的な関連付け
ソース テーブルがターゲット テーブルに関連付けられる前に、1 つ以上の他のテーブルに関係する場合、リレーションシップは 間接的なリレーションシップ として分類されます。
複数ホップの関連付け
マルチホップ リレーションシップ は、ソース テーブルとターゲット テーブルを、1 つ以上の他の仲介テーブルを介して接続することができる 間接的リレーションシップ です。
たとえば、eCommerce_eCommercePurchasesWest という活動テーブルが eCommerce_eCommercePurchasesEast という中間テーブルに接続し、さらに eCommerce_eCommerceContacts というターゲット テーブルに接続した場合、それはマルチホップ リレーションシップです。
複数ホップ、複数パスの関連付け
複数ホップと複数パスの関連付けを一緒に使用して複数ホップの関連付け、複数パスの関連付けを作成できます。 この特殊なタイプは、複数ホップと複数パスの関連付けの機能を兼ね備えています。 中間テーブルを使用しながら、複数のターゲット テーブルに接続できます。
eCommerce_eCommercePurchasesWest という活動テーブルが eCommerce_eCommercePurchasesEast という中間テーブルに接続し、さらに eCommerce_eCommerceContacts と loyaltyScheme_loyCustomers という 2 つのターゲット テーブルに接続した場合、これは複数ホップ、複数パス リレーションシップとなります。
次のステップ
システムやカスタムの関連付けを利用して、サイロ化から解き放たれた複数のデータソースに基づいて セグメントの作成 と 対策 を行います。