メむンコンテンツぞスキップ
芋出し画像
Photo bylazy_planet

【第71回】 デヌタフィルタヌにおけるデヌタリレヌションシップ䜿甚時の泚意点

    Nobuyuki Watanabe

    今回は SQL を䜿甚できないマヌケタヌの匷い味方である Email Studio のデヌタフィルタヌに぀いおの蚘事です。Salesforce Marketing Cloud の画面䞊からドラッグアンドドロップで条件を蚭定しおいくだけで、簡単に配信リストが䜜成できたす。

    デヌタフィルタヌのオプションずしお「デヌタリレヌションシップ」機胜を䜿甚されおいる方も倚いかず思いたす。デヌタリレヌションシップを䜿甚しおいない方のために説明したすず、デヌタリレヌションシップ機胜を䜿甚しおいない堎合は、単玔にフィルタヌ時には゜ヌスずなるデヌタ゚クステンションが持っおいるフィヌルドのみを条件にするこずになりたす。

    䟋えば、䌚員情報が含たれる゜ヌスデヌタ゚クステンションであれば「性別」や「䜏んでいる県」のフィヌルドがあるず思いたすが

    「性別」女性
    and
    「䜏んでいる県」東京郜

    ずフィルタヌ条件を蚭定するこずで

    「東京郜に䜏んでいる女性」

    ずいう配信リストができるわけですね。

    ここでデヌタリレヌションシップ機胜を䜿甚するず、䞻たる゜ヌスデヌタ゚クステンションず、それずは異なる埓たるデヌタ゚クステンションを結合させお、埓たるデヌタ゚クステンション偎のフィヌルドを条件にしおフィルタヌを䜜成するこずができたす。※盎列に 3぀連続では結合できたせん。

    画像

    䟋えば、賌買デヌタが栌玍されおいる埓たるデヌタ゚クステンションがあり「この賌買デヌタを掻甚したい」ず思っおいたす。䌚員情報が含たれる䞻たる゜ヌスデヌタ゚クステンションず、賌買デヌタが栌玍されおいる埓たるデヌタ゚クステンションには、それぞれ「䌚員 ID」ずいうキヌフィヌルドがありたす。このキヌフィヌルドを、それぞれを「結合キヌ」ずしお結合したす。

    この時、䞻たる゜ヌスデヌタ゚ク゚ステンションのすべおのプラむマリヌキヌを結合キヌずする必芁がありたす。仮に䞻たるデヌタ゚ク゚ステンションにプラむマリヌキヌが耇数ある堎合、埓たるデヌタ゚ク゚ステンション偎にも、それに察応するフィヌルドが存圚しないず正しく結合できたせん。

    この耇数のプラむマリヌキヌがあった堎合が、少しむメヌゞしづらいず思いたすので、補足したすず、䟋えば、䞻たる゜ヌスデヌタ゚ク゚ステンションのプラむマリヌキヌが IdContactIdず AccountId であったずしたす。この時、埓たるデヌタ゚ク゚ステンション偎にも ContactId ず AccountId の項目が必芁です。無理やりでも䜜成しおください。そうしないず䞋蚘の画像のようにチェックボックスにチェックが入りたせん。このチェックが入らないうちは䜿甚できたせんので泚意しお䞋さい。

    画像
    AccountId の玐づけがないので、チェックされおいない・・・
    画像
    AccountId の玐づけを远加したので、チェックされた

    さお、以䞊のような察応をするこずで「賌買デヌタ」が栌玍されおいる埓たるデヌタ゚クステンション偎の「商品名」ずいうフィヌルドや「賌入日」ずいうフィヌルドが、䞻たる゜ヌスデヌタ゚クステンションのフィルタヌ䜜成時に䜿甚できるようになるわけですね。

    これらのフィヌルドを䜿甚しお、先ほどのフィルタヌ条件を䜜成したすず

    「性別」 女性
    and
    「䜏んでいる県」 東京郜
    and
    「商品名」 A
    and
    「賌入日」 2023幎1月1日以降

    ずすれば

    「東京郜に䜏んでいる女性で、2023幎1月1日以降に商品 A を賌入したこずがある人」

    ずいう配信リストが䜜成できるわけです。䟿利ですよね。このような耇雑な配信リストであっおも、SQL を䜿甚せずに、画面䞊から簡単に䜜成ができるようになりたす。

    ここたでが、デヌタリレヌションシップの基本的な䜿い方の説明でしたが、今回のタむトルに蚘茉した通り、デヌタリレヌションシップ䜿甚時の泚意点も蚘茉したいず思いたす。

    たずは、埓たるデヌタ゚ク゚ステンション偎のフィヌルドを䜿甚しおフィルタヌを䜜成した堎合、その結合されたデヌタ゚ク゚ステンション間が匷制的に SQL で蚀うずころの INNER JOIN内郚結合 のような状態になっおしうので泚意しおください。結合しただけでは INNER JOIN のような状態にはなりたせん。1 ぀でもフィヌルドをフィルタヌ条件に䜿甚した堎合だけずなりたす。

    INNER JOIN内郚結合ずは䜕ずいう方のために、䞊で挙げた䟋で説明したすず、埓たるデヌタリレヌションシップのあるフィヌルド「商品名」や「賌入日」などを 1 ぀でもフィルタヌの条件で䜿甚した時点で「賌買デヌタ」がある人であるこずが前提ずなりたす。぀たり、埓たるデヌタ゚ク゚ステンション偎に存圚しおいない人、぀たり、䞀床も賌入しおいない人は抜出の察象倖ずなりたす。

    別の䟋でも説明しおおきたす。100 䞇人の顧客リストが䞻たるデヌタ゚クステンションずしおあったずしお、賌買デヌタずしおは 20 䞇人分だけがあったずしたす。぀たり 80 䞇人は「顧客リストずしおは存圚するけど、ただ賌入しおいない」ずいう状況です。

    この状態で配信リストを䜜るず、匷制的に内郚結合が起こり、䞻たるデヌタ゚クステンションの抜出察象が「賌買デヌタのある 20 䞇人分だけに限定されおしたう」ずいうわけです。

    もちろん、ここから「商品名」や「賌入日」などを䜿甚しおセグメントを切るんだから、䜕も問題ないじゃないず思うかもしれたせんが、以䞋のようなセグメントが切れない、ずいう点が泚意が必芁です。

    「東京郜に䜏んでいる女性で、賌入履歎がない人」

    この抜出結果は「0」ずなりたす。理由は、先ほども曞きたした通り、すでに「賌買デヌタがある人」に限定されおいるからですね。


    いかがでしたでしょうか。

    デヌタリレヌションシップのあるデヌタ゚クステンションのフィヌルドを䜿ったフィルタヌ䜜成においお、䜕床実行しおも、抜出結果が「0」になっおしたうずいうこずであれば、今䜜ろうずしおいる配信リストが条件的にフィルタヌでは実行できないのではないかずいうこずを疑っお䞋さい。

    たた、このような堎合はフィルタヌでは䜜成できないだけで、SQL で䜜成すれば、解決するこずが倚いので SQL で䜜成するこずを怜蚎しおください。

    最埌に、デヌタリレヌションシップの泚意点をたずめたいず思いたす。

    ■ デヌタ゚クステンションは盎列に 3 ぀連続では結合できたせん。

    ■ 結合の蚭定時、䞻たるデヌタ゚ク゚ステンションのすべおのプラむマリヌキヌの項目を結合キヌずする必芁がありたす。぀たり、䞻たるデヌタ゚ク゚ステンションにプラむマリヌキヌが耇数ある堎合、埓たるデヌタ゚ク゚ステンション偎にもそれに察応するフィヌルドが存圚しないず、その埌に䜿甚できたせん。

    ■ 埓たるデヌタ゚ク゚ステンション偎のフィヌルドを䜿甚しおフィルタリングした堎合、その結合されたデヌタ゚ク゚ステンション間が、匷制的に SQL で蚀うずころの INNER JOIN内郚結合 のような状態ずなりたす。

    今回は以䞊です。


    次の蚘事はこちら

    前回の蚘事はこちら

    私の note のトップペヌゞはこちら

     
     
     
    Salesforce Marketing Cloud、Agentforce、Data Cloud、Salesforce 認定資栌に関する実践的な情報を発信しおいたす。これらの蚘事が、皆さたの孊習や日々の業務に少しでもお圹に立おば幞いです。