この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

cogroup を使用して複数のデータストリームのデータを組み合わせる

cogroup を使用して、複数のデータストリームのデータを組み合わせて 1 つのデータストリームにまとめることができます。データストリームには、1 つ以上の共通項目が必要です。

例 - 内部 cogroup

たとえば、営業担当が各取引先とのミーティングにどれだけ時間をかけているかを把握したいとします。かける時間の多さと商談成立との間に関係があるのでしょうか? 営業担当によっては、かける時間が平均とは大きく異なるのでしょうか? これらの質問に答えるには、最初に cogroup を使用して、ミーティングデータを取引先データと組み合わせます。

Salesforce の行動オブジェクトから取得したミーティング情報のデータセットがあるとします。この例では、営業担当は 4 つの異なる会社と 6 回のミーティングを実施しました。「Meetings (ミーティング)」データセットには [MeetingDuration (ミーティング時間)] 列があり、この列にはミーティング時間 (時単位) が含まれます。

ミーティングデータセットを表示している図。

取引先データは Salesforce の商談オブジェクトに存在します。「Ops (運用)」データセットには、[Account (取引先)]、[Won (成立)]、[Amount (金額)] 列があります。[Amount (金額)] 列には、100 万ドル単位の商談金額が含まれます。

「Ops (運用)」データセットを表示している図。

ミーティング時間が商談に及ぼす影響を確認するには、まず cogroup を使用してこの 2 つのデータセットを組み合わせて 1 つのデータストリームにまとめます。

1q = cogroup ops by 'Account', meetings by 'Company';

内部的に (この結果をまだ参照できません)、共通グループ化されたデータストリームには次のデータが含まれます。データストリームが 1 つ以上のディメンションに基づいてどのように積み上げ集計されるかを確認してください。

1(1,{(Shoes2Go,2,), (Shoes2Go,5)},{(Shoes2Go,1,1.5), (Shoes2Go,0,3})
2
3(2,{(FreshMeals,3), (FreshMeals, 5)},{(FreshMeals,1,2) (FreshMeals, 1, 1.4)})
4
5(3,{(ZipBikeShare,4)},{(ZipBikeShare,1, 1.1)})
6
7(4,{(ZenRetreats,6)},{(ZenRetreats,0, 2)})

データセットを組み合わせました。データを参照するには、次のように foreach を使用して射影を作成します。

1ops = load "Ops";
2meetings = load "Meetings";
3q = cogroup ops by 'Account', meetings by 'Company';
4q = foreach q generate ops.'Account' as 'Account', sum(ops.'Amount') as 'sum_Amount', sum(meetings.'MeetingDuration') as 'TimeSpent';

結果のデータストリームには、会社ごとの総額と総ミーティング時間が含まれます。総額は、会社の各商談金額の合計です。

組み合わせたデータセットを表示している図。

データを組み合わせて 1 つのデータストリームにまとめました。これで、総ミーティング時間が商談に及ぼす影響を分析できます。