一、学习 SQL 概念
Data 360 中的洞察
您的数据从多个来源进入 Data 360。洞察(Insights)让您创建新指标、组织、分组和操作数据。基于 SQL 的洞察有两类:
- 计算洞察(Calculated Insights):基于存储数据做复杂计算——聚合历史数据、计算终身指标、排名客户、创建细分属性;
- 流式洞察(Streaming Insights):基于实时数据创建——在持续流动的数据上生成时间序列分析、在实时流中发现模式、通过 Data Actions 分享洞察。
虽然构建洞察不一定要是 SQL 专家,但了解 SQL 的用法有助于:理解现有洞察、调试意外结果、在预置模板之外自定义、充分利用 Data 360 数据的威力。本模块讲解基本 SQL 概念并提供示例。
构建洞察的术语
先学习词汇。Data 360 SQL 讨论中的 8 个关键术语:
- Data Streams(数据流):引入 Data 360 的数据源(如 Marketing Cloud 客户数据扩展);
- Data Model Objects(DMO,数据模型对象):映射到数据模型的数据流(如 Sales Order、Party、Engagement);
- Attributes(属性):数据流中的信息字段(如名字、客户 ID、邮箱);
- Measures(度量):属性的聚合值(如总消费额、平均订单金额);
- Dimensions(维度):用于分类度量的定性值(如客户 ID 作为总消费额度量的维度);
- Foreign Key(外键):关系数据库中提供数据源间链接的列(如连接订单到客户记录的客户 ID);
- Fully Qualified Key(FQK,全限定键):包含源键(如 CRM 联系人 ID)和键限定符的复合键,用于避免跨源数据调和时的键冲突;
- Primary Key(主键):用户选择的记录唯一标识符(如客户邮箱、产品 SKU)。
属性 = 原始字段值;度量 = 属性的聚合计算;维度 = 度量的分组类别;外键 = DMO 间的链接;FQK = 跨源的安全外键。
SQL 结构
SQL 以由关键字组成的语句编写。五个核心关键字:
- SELECT:选择属性的字段 API 名称和要执行的计算;
- FROM:确定要搜索的数据源(DMO)的对象 API 名称;
- JOIN(可选):按指定条件从另一数据源搜索,用 ON 定义连接点(外键),JOIN 中始终包含键限定符属性确保数据正确;
- WHERE(可选):包含关于数据的条件语句——过滤、排除、收窄;
- GROUP BY:确定如何组织或分类所选度量。
示例——客户总消费额:SELECT sum(spend) as customer_spend FROM SalesOrder JOIN Individual ON (SalesOrder.party_id = Individual.id AND SalesOrder.key_qualifier = Individual.key_qualifier) WHERE spend_date > current_date - 365 GROUP BY customer_id, key_qualifier。各节含义:SELECT 要什么指标、如何聚合;FROM 数据在哪;JOIN 链接到什么;WHERE 什么过滤;GROUP BY 按什么组织。
数据模型对象
任何 SQL 表达式的第一部分都聚焦于基于 DMO 选择属性和度量——了解数据模型至关重要,无法查询找不到的东西。五个常见 DMO 及其可度量属性:
- Party DMO:定义与谁有关系(客户),包含统一画像——如「7 天内生日」做生日活动;
- Product DMO:定义要销售或追踪服务的内容——如「$50 以上的女鞋」高端细分;
- Sales Order DMO:定义收入、商机、购买、订单——如「购物车价值 $500 以上」高价值买家;
- Engagement Data DMO:定义客户互动/活动(通常邮件互动)——如「至少 5 次邮件点击」互动细分;
- Case Data DMO:定义记录的问题或支持工单——如「去年未结工单 >1」风险客户。
写 SQL 前先问:哪个 DMO 有我需要的数据?能选什么属性?什么外键把它连接到其他 DMO?——先在 Data Explorer 探索 DMO,这是编码前的研究工具。
SQL 函数
除了基本结构,函数为查询增加力量和精度。
SQL JOIN 四种类型:
- INNER JOIN:返回两个 DMO 中都有匹配值的记录——特定客户的特定订单(最常用);
- LEFT JOIN:返回左 DMO 全部 + 右 DMO 匹配——所有订单及可用的客户数据;
- RIGHT JOIN:返回右 DMO 全部 + 左 DMO 匹配——所有客户及他们的订单;
- FULL JOIN:返回两个 DMO 所有匹配记录——所有订单 + 所有客户。
CASE 语句:基于条件创建新维度——如 CASE WHEN spend < 100 THEN 'Low Spender' WHEN spend < 500 THEN 'Mid Spender' ELSE 'High Spender' END。条件为真时停止并返回,无条件匹配返回 ELSE,无 ELSE 则返回 NULL。
格式化函数:最终输出前清理数据——如 ROUND(total_spend, 2) 把 $143.5555 变成 $143.56。还有更多函数(字符串、日期、数学),先确定用例再找服务它的函数。
二、复习 SQL 示例
计算洞察示例
示例 1——按客户的邮件互动:计算每个统一个体打开的邮件数。Section 1(SELECT)= COUNT(email_opens);Section 2(FROM)= EmailEngagement DMO;Section 3(JOIN)= EmailEngagement → IndividualIdentityLink DMO(连接互动与个体的桥接表)→ UnifiedIndividual DMO,用外键 source_record_id、individual_id、unified_record_id + 键限定符,只过滤邮件打开事件;Section 4(GROUP BY)= customer_id。
重要模式:UnifiedIndividual 通过桥接对象(IndividualIdentityLink)与互动对象关联,映射统一个体 ID ↔ 个体 ID。
示例 2——按消费排名客户:用 RANK() OVER (ORDER BY sum(spend) DESC) 窗口函数按总消费排名所有统一个体。FROM SalesOrder → JOIN IndividualIdentityLink → UnifiedIndividual,GROUP BY customer_id,WHERE spend_rank <= 1000 过滤前 1000 名。
要识别的模式:桥接对象模式(互动 → 身份链接 → 统一个体,三 DMO JOIN)、窗口函数(RANK、ROW_NUMBER、LAG)做高级分析、WHERE 过滤做 top-N 或日期限定。
流式洞察 SQL 示例
构建流式洞察与计算洞察类似,只是需要考虑时间窗口。流式洞察可:在持续流动的数据上生成时间序列分析、发现模式并通过 Data Actions 分享、用洞察构建器和 SQL 编写、通过 JDBC API 连接到 Tableau 等可视化工具。
示例——5 分钟窗口的页面浏览:与计算洞察的关键区别是 WINDOW 命令定义结果如何按时间分组,每行代表一个5 分钟聚合。结果形如:START 12:00 / END 12:05 / CUSTOMER 1 / PRODUCT HK0012 / VIEWS 1。
示例——5 分钟窗口的移动应用订单:基于 MobileApp 事件流式源,按 product_id 分组到 5 分钟聚合,包含订单数量、产品、开始和结束时间。FROM 是 MobileApp 事件流式源(不是存储的 DMO,而是实时数据流)。
流式 vs 计算总结:计算 = SELECT-FROM-JOIN-WHERE-GROUP BY(查询存储数据,任意时间范围);流式 = 同样结构 + WINDOW(查询实时数据,固定时间窗口)。SQL 结构几乎相同,WINDOW 命令是唯一补充。
构建您的语句
现在有了基本概念和示例,探索构建洞察的各种选项。三个继续学习的资源:
- SQL Rules for Insights(Salesforce Help):Data 360 中 SQL 的具体规则和约束——什么支持、什么不支持、性能最佳实践;
- Calculated Insights GitHub 仓库:Salesforce Marketing Cloud 维护的 SQL 示例仓库,复制、修改并学习真实模式;
- Enhance Data with Insights(Salesforce Help):创建计算洞察的分步指南——从打开构建器到测试部署。
本模块学到的内容:单元一——计算 vs 流式洞察、8 个术语、SELECT-FROM-JOIN-WHERE-GROUP BY 结构、5 个常见 DMO、4 种 JOIN/CASE/格式化函数;单元二——邮件互动(三 DMO 桥接模式)、客户排名(窗口函数)、5 分钟窗口页面浏览(WINDOW 命令)、移动应用订单聚合。
Data 360 的 SQL 公式 = SELECT(要什么)→ FROM(正确 DMO)→ JOIN(在 FQK 上)→ WHERE(过滤)→ GROUP BY(维度)+ WINDOW(流式)。从示例开始,适配到您的 DMO,构建驱动真实业务价值的洞察。









