改进招聘应用的数据质量:公式、验证规则与汇总字段

用跨对象公式、验证规则、公式字段和汇总字段为招聘应用构建数据质量自动化。本文系统讲解跨对象公式的 __r 关系语法(显示候选人和职位信息)、验证规则(招聘经理必填、申请日期不能在未来、邮箱格式、邮编与州匹配 VLOOKUP)、自定义对象数据模型,以及公式字段(拼接、天数、条件分类)和汇总字段(COUNT/SUM 聚合子记录),最后端到端测试,让数据质量内置到应用中。...

📅 2026/10/5 ✍️ ponybai 🏷️ salesforce, admin, data-quality, headless

一、创建跨对象公式

slide_2

跨对象公式从相关对象获取字段,用于详情页、列表视图和报告的显示,避免重复工作和数据不一致。本单元在 Recruiting 应用的 Review 对象上创建跨对象公式字段,显示候选人和职位信息。

创建跨对象公式

slide_3

跨对象公式引用相关对象的字段,用合并字段跨对象关系拉取数据。语法:Object_Relationship__r.Field_Name__c(__r = 关系,__c = 自定义字段)。示例:在 Review 对象上显示候选人的全名和职位名称。

创建步骤:Setup → Object Manager → 目标对象 → Fields & Relationships → New → Formula → 选输出类型(Text/Number/Date)→ 用公式编辑器构建(Insert Field 浏览相关对象、Insert Operator 运算符/函数)→ 设置选项 → 加到页面布局 → 保存。

跨对象公式是只读的——从相关记录显示数据而不复制。示例公式:Job_Application__r.Candidate__r.First_Name__c & " " & Last_Name__c(候选人全名)、Job_Application__r.Position__r.Name(职位名称)。

二、创建验证规则

slide_4

验证规则在用户保存记录前验证数据是否符合标准。本单元创建多个验证规则、构建自定义对象、设置邮政编码验证,实现综合数据质量。

设置第一条规则

slide_5

验证规则基于公式:公式求值为 TRUE 就显示错误并阻止保存。第一条规则:职位必须包含招聘经理。公式 ISBLANK(Hiring_Manager__c) && $Profile.Name <> "System Administrator",错误消息「Every Position must have a Hiring Manager」。

创建步骤:Object Manager → 对象 → Validation Rules → New → 填规则名/描述 → 写错误条件公式 → 填清晰的错误消息 → 选错误位置(页面顶部或某字段下方)→ 保存(立即激活)。验证规则在保存前触发,公式为 TRUE 就阻止保存。错误消息应引导用户如何修复。

创建自定义对象

slide_6

招聘应用的数据模型需要三个自定义对象:

  • JOB POSTING(职位)——标题、部门、要求、薪资范围、地点、雇佣类型、状态。
  • CANDIDATE(候选人)——姓名、邮箱、电话、技能、经验等级、当前状态、简历链接。
  • JOB APPLICATION(职位申请)——关联候选人和职位(Lookup/Master-Detail)、申请日期、状态、备注反馈。

关系:Job Application → Candidate(Lookup)、Job Application → Job Posting(推荐 Master-Detail,便于在职位上做汇总)。从 Setup → Object Manager → Create → Custom Object 创建每个对象。

创建邮政编码标签

slide_7

添加邮政编码验证确保位置数据质量:① 给相关对象加 Zip_Code__c 字段(Text,长度 10,容纳 5+4 格式)② 创建格式验证规则(REGEX:^[0-9]{5}(-[0-9]{4})?$)③ 加到页面布局 ④ 测试(「ABC」报错、「12345」保存成功)。

同时创建 Zip Code 自定义对象(含 State、City 字段)和 Zip Code 标签页,为后续用 VLOOKUP 验证邮编与州匹配做准备。

设置第二条规则

slide_8

更多验证规则实现综合数据质量:① 申请日期不能在未来(Application_Date__c > TODAY())② 最低薪资必须小于最高薪资 ③ 邮箱必须含 @ ④ 全职职位必须列出必需技能。以及邮政编码一致性规则:用 VLOOKUP 检查输入的邮编前 5 位在 Zip_Code__c 对象中是否存在且州匹配。

每个规则针对特定数据质量问题,多条规则 = 全面保护,用户得到清晰的修复指引。

三、创建公式与汇总字段

slide_9

公式字段在单个对象上计算值;汇总字段从子记录聚合数据到父对象。本单元创建公式、汇总字段和更多公式,并用职位申请记录测试。

创建公式

slide_10

公式字段在单个对象上计算:输出类型 Text/Number/Date/Checkbox,用同对象字段 + 内置函数。常见招聘公式:Full_Name(First & " " & Last)、Days_Since_Applied(TODAY() - 日期)、Application_Age_Label(IF 嵌套分类)。公式自动更新,无触发器无代码,访问记录时计算。注意:公式不能引用子记录——聚合用汇总字段。示例:Overall Review Score 计算综合评分。

创建汇总字段

slide_11

汇总字段从子记录聚合数据到主从关系的父对象。操作:COUNT、SUM、MIN、MAX。招聘示例(在 Job Application 上):Number of Reviews(COUNT 子记录数)、Total Review Score(SUM 综合评分)。

要求:父子必须是 Master-Detail(非 Lookup),子记录变化时自动更新,可用于报告/列表视图/页面布局。汇总字段给你无代码的实时指标。

创建更多公式

slide_12

更高级的公式:跨对象引用(Hiring_Manager__r.Email)、条件逻辑评分(多个 IF 相加的 Priority_Score)、文本超链接(HYPERLINK)。示例:Average Review Score(IF(Number_of_Reviews__c <> 0, Total_Review_Score__c / Number_of_Reviews__c, null))、Review Indicator(根据平均分显示红黄绿指示灯)。

复杂公式技巧:增量构建(先简单再加条件)、用 Check Syntax 验证、用真实数据测试边界、在 Description 文档化、注意 5000 字符编译限制。

创建职位申请记录

slide_13

端到端测试:① 创建 CANDIDATE 记录(填姓名/邮箱/技能、有效邮编)② 创建 JOB POSTING 记录(填标题/部门/薪资范围)③ 创建 JOB APPLICATION 记录(选候选人和职位、填申请日期、保存确认无验证错误)④ 验证公式正确显示(跨对象职位名称、全名拼接、天数计算)⑤ 验证汇总字段(申请数递增、汇总值刷新)⑥ 用无效数据测试验证规则(缺候选人被阻止、未来日期被阻止、错误消息清晰)。

数据质量现已内置到招聘应用——系统自动强制执行。


文章来源:Trailhead - Improve Data Quality for a Recruiting App