見出し画像

Snowflakeで分析するSalesforce CRMデータ: 取引先/会計年度ごとの売上を出力する

前回のポストではSnowflakeに同期するべきSalesforce CRMのデータを紹介しました。今回はそれらのデータを用いて、実際にSnowflake上でレポートを出力してみたいと思います。

今回は「取引先/会計年度ごとの売上」を出力してみたいと思います。単純な売上出力なので本来はSalesforce CRMの標準レポート機能で充分なのですが、Snowflake上でSalesforce CRMのデータを用いたレポート出力の最初の一歩として試してみましょう。

前提

  • SalesforceのオブジェクトはSnowflakeの同一スキーマに存在しているものとします。

  • テーブル名およびカラム名はスネークケースで登録してるものとします。

それでは実際のSQLを確認してみましょう。

SQL

SELECT
    a.name AS "Account Name",
    o.fiscal_year AS "Fiscal Year",
    SUM(o.amount) AS "Total Sales",
FROM
    opportunity o
    INNER JOIN account a ON a.id = o.account_id
    INNER JOIN user u ON o.owner_id = u.id
WHERE
    o.probability = 100
GROUP BY
    a.name,
    o.fiscal_year
ORDER BY
    a.name,
    o.fiscal_year;

簡単な解説

取引先/会計年度ごとの売上に関連したオブジェクトのER図
  • 取引先の情報はAccountオブジェクトに、実際の取引を示す商談の情報はOpportunityオブジェクトに存在します。

  • Opportunityオブジェクトはaccout_idとしてAccountの外部キーを有しています。この外部キーを用いてAccountオブジェクトとINNER JOINします。

  • ただし、Opportunityオブジェクトは成立した取引だけでなく、失注した取引の情報も有しています。そのため、Probabilityが100のレコードのみをフィルタしています。

以上、簡単でしたね。今後もこのように、カジュアルにSQLのサンプルを紹介していく予定です。

いいなと思ったら応援しよう!