Tableau Semantics — 语义层、语义模型、逻辑视图与计算字段

Tableau Semantics 是 Data 360 内部的语义层平台,把杂乱数据翻译成标准化业务术语,作为组织内单一可信来源。本文完整讲解语义层的价值与访问控制、语义模型的创建与关系配置(手动 + Semantics AI)、用联接和并集构建逻辑视图、计算维度/计算度量/指标的创建,以及在 Data 360 Reports、Tableau Next 和 Tableau Semantics 连接器中测试与消费语义模型。...

📅 2026/3/22 ✍️ ponybai 🏷️ headless-360, salesforce, data-360

一、了解 Tableau Semantics 基础

什么是 Tableau Semantics?

Tableau Semantics 是 Data 360 内部的语义层平台,它是位于电子表格或数据库中原始、杂乱数据与业务用例之间的翻译层。语义层让你把复杂数据映射为标准化业务术语——这样你就能以自己思考的方式向数据提出业务问题,而不是用公式或数据库术语。

这一抽象层提供了一种一致的方式,把复杂数据映射到熟悉的业务术语(如收入、投资回报率、留存率),从而在整个组织内提供标准且无歧义的数据解释。

目前,Tableau Semantics 在 Data 360Tableau Next 中原生可用;你还可以通过 Tableau Semantics 连接器在 Tableau Desktop 和 Tableau Cloud 中连接并使用语义模型。

如果没有语义层,每个人都会反复创建自己的数据模型和计算字段,导致效率低下,并可能产生错误或偏差。

Tableau Semantics 的用例与收益

借助 Tableau Semantics,你可以把语义模型和语义定义构建在 Data 360 的数据之上,作为 Salesforce 内的单一可信来源(single source of truth)。它通过以下三点帮助组织释放数据的全部潜力:

  • 规模化统一可信数据:把数据和指标集中到一个受治理的层中,便于分析并提高效率。
  • 加速获得洞察:借助 AI 功能(如关系建议和辅助编写计算)赋能自助分析,减少人工工作量。
  • 具备业务语境的智能体(Agents):利用实时业务语境,从数据中获得更准确、更相关的答案,让 Agentforce 理解"收入"或"流失"在你的业务中的确切含义。

一个受治理的层,让所有人都基于相同的定义工作,也让 AI 真正理解你的业务术语。

探索语义层

你可以在 Data 360 的 Semantic Layer 标签页或 Tableau Next 工作区中创建和定义语义模型。在 Data 360 中,你可以看到组织中存在的所有语义模型,并直接从这里创建、编辑甚至克隆它们。

创建或编辑语义模型时,你会进入 Semantic Model Builder(语义模型构建器)。它有 10 个关键区域:

  1. Model properties(模型属性):编辑语义模型的名称、API 名称和描述。
  2. Suggested relationships(建议关系):开启或关闭建议关系,让 Einstein 自动创建数据对象间的关系。
  3. New elements(新元素):创建新元素,包括指标、计算字段、参数、逻辑视图和数据对象。
  4. Search(搜索):搜索语义模型中存在的不同定义。
  5. Filter(过滤):按不同定义过滤面板。
  6. Sort(排序):对结果排序,例如按降序。
  7. Model definitions pane(模型定义面板):查看语义模型中的所有定义,每创建新定义都会出现在这里,可编辑或删除。
  8. Canvas(画布):以图标形式查看所有数据对象及其关系,关系以线表示。
  9. Relationship recommendations(关系建议):点击 Show Suggestions 查看 Einstein 推荐的关系。
  10. Test(测试):点击测试语义模型,确保其按预期工作。

如果在画布中点击某个数据模型对象,画布下方会出现一个预览面板,显示所有字段及其定义。

控制语义模型的访问

要在 Data 360 中访问语义层和语义模型,需要确保三件事:数据空间访问用户级权限语义模型的显式共享

  1. 数据空间访问:确保你能访问语义模型所在的数据空间。如果用户没有数据空间访问权限,无论其权限如何都无法查看语义模型。
  2. 用户级权限:通过名为 Semantic Models 的对象权限控制谁能创建、编辑、读取或删除语义模型。该权限在所有 Data 360 标准权限集中可用,包括:Read(查看读取)、Create(创建模型和定义)、Edit(编辑)、Delete(删除自己创建的模型);管理员额外拥有 Modify All RecordsView All Records
  1. 显式共享:默认情况下所有语义模型都是私有的。除非你把模型显式共享给用户,否则即使他们拥有正确权限,也不会在工作区中看到它。

二、创建语义模型

探索语义模型

语义模型是一流的 Salesforce 元数据,贯穿 Data 360 为分析型和数据驱动型体验提供支撑。一个语义模型由一个或多个数据对象、它们之间的关系,以及针对特定分析用例定制的语义定义组成。例如,把字段 COGS 重命名为 Cost of Goods,或把默认聚合设为中位数。

创建语义模型有多种方式:从零开始、扩展现有模型、从数据套件(data kit)部署预构建模型等。语义模型是所有语义定义、关系和业务逻辑的容器。

创建你的语义模型

为了更好地理解 Tableau Semantics 如何帮助业务,我们用 Account、Individual 和 Case 三个数据模型对象(DMO)创建模型。之后业务分析师可以用它回答诸如"上个季度某个客户画像有多少升级案例"等问题。

开始前,先检查 Data 360 中可用的数据对象,确保拥有全部所需数据:

  1. 从 Data Cloud 选择 Data Model 标签页。

确认数据齐全后,开始创建语义模型:

  1. 在 Data 360 选择 Semantic Layer 标签页。
  1. 点击 New Model。创建新模型有几种方式:从零开始、扩展其他模型、从数据套件开始。
  1. 选择 Start with a New Model,点击 Next
  2. (可选)选择数据对象所在的数据空间,每个模型只能用一个数据空间。
  1. 选择要在语义模型中使用的数据对象(DMO、DLO 或计算洞察)。本例选择 AccountSalesProductProduct CategoryCaseCase Representative,点击 Next
  2. 输入唯一的语义模型名称,定义 API 名称(创建后不可编辑),可选填描述,点击 Create

Semantic Model Builder 出现,选中的数据对象显示在画布中央。下一步是设置这些对象之间的关系。

在数据对象间添加关系

关系(relationships)是基于公共字段在不同数据对象之间建立的灵活连接。用语义层在数据对象间建立关系,无需预定义联接类型即可丰富数据模型。可以把关系看作两个 DMO 之间的"契约":当你用这些 DMO 的字段构建可视化时,语义层会根据分析需要决定使用哪种联接类型。

我们建议优先用关系(而非手动联接)来组合数据,因为它让数据准备和分析更简单、更直观。

默认情况下,Data 360 中已在 DMO 之间映射的任何关系都会自动带入模型;任何可能形成循环引用(引用同一对象多次)的现有关系会被自动移除。你还可以手动移除不想要的关系。如果不存在关系或需要新建,可以手动创建,或使用 Semantics AI。

手动创建关系

  1. 点击数据对象旁的加号,选择要连接的对象(例如 Account 连接到 Individual)。
  2. 选择关系所基于的每个 DMO 的字段,例如 Account.Account = Individual.Account。如需更多字段,点击加号添加。
  3. 当定义关系所需的字段齐全后,选择 Apply

Semantic Model Builder 会显示一条黑色直线,表示关系配置正确。手动关系让你精确控制用哪些字段定义对象间的连接,适用于你清楚数据如何连接的场景。

用 Semantics AI 创建关系

你也可以用 Semantics AI 来帮助创建关系,例如 Account 和 Case 数据对象之间。要使用 Suggest Relationships,需要先在 Feature Manager 中开启 Semantics AI 并完成一些设置。

  1. 在 Semantic Model Builder 中点击 Show Suggestions。Semantics AI 会发现 Account 和 Case 之间通过 Account ID 建立的关系。
  2. 确认这正是你想要的,点击 Review
  3. 确认无误后选择 Apply

Semantic Model Builder 显示一条黑色直线,表示关系配置正确。现在你的语义模型有三个对象、两条关系:Account 与 Individual 之间,以及 Account 与 Case 之间。Semantics AI 通过自动发现你可能在复杂数据模型中遗漏的连接,加速模型构建。

三、为语义模型创建逻辑视图

探索逻辑视图

用关系连接表时,每张表仍是各自独立的对象。如果你想把两张或多张表合并成一个新对象,可以用逻辑视图(logical view)。当数据需要比关系更紧密地耦合时,逻辑视图很有用。逻辑视图是语义模型内的独立对象,拥有自己的字段,并由查询服务作为独立对象单独查询。

有两种方式在逻辑视图中组合表:

  • 联接(Join):基于特定联接类型把多张表合并成一张表,增加列以加宽数据。
  • 并集(Union):基于共享结构把多张表堆叠成一张表,增加行以加长数据。

关系最终会被解析为联接。只有当你需要特定联接类型的行为时,才应使用带联接的逻辑视图;而并集无法用关系实现——如果数据在多个需要追加的表中,就需要带并集的逻辑视图。

用联接创建逻辑视图

如果需要在两个对象之间强制特定联接类型,可以用逻辑视图把联接类型硬编码,确保每次查询数据时联接行为完全一致。四种联接类型:

  • Left join(左联接):返回左 DMO 的所有记录,以及右 DMO 的匹配记录。
  • Inner join(内联接):返回两个 DMO 中具有匹配值的所有记录。
  • Right join(右联接):返回右 DMO 的所有记录,以及左 DMO 的匹配记录。
  • Outer join(外联接,也称全联接):返回两个 DMO 的所有记录。

假设你想知道已被购买的产品。你有 Product 和 Sales 两个数据对象,都包含 Product ID 字段。用内联接得到的逻辑视图将只包含已售出的产品。

  1. 在 Semantic Model Builder 的 New 下拉中选择 Logical View
  1. 在 Create a Logical View 窗口输入唯一名称、API 名称和可选描述,点击 Save。可选择 DMO、DLO 或计算洞察,可包含全部字段或选择特定字段。
  1. 选择对象后点击加号,从下拉选择 Join Object
  1. 选择要联接的对象,点击 Save
  1. 用联接图标选择联接类型,本例选 Inner Join。在 Select Matching Data Object Fields 下点击加号,选择联接子句中要用的字段(本例用 Product ID 连接 Product 和 Sales)。
  1. 点击 Add 后,底部窗格显示逻辑视图预览,连接两个对象的线表示联接成功。点击 Apply

逻辑视图会以独立图标出现在语义模型中,之后可以像其他数据对象一样使用它。

用并集创建逻辑视图

联接为每条记录带来更多数据列,让数据更"宽";而并集(union)则根据共享的列结构把表堆叠起来,给新合并表增加更多行。例如,你可能用邮件、社交媒体和数字广告三个渠道跟踪线索生成信息,每个渠道从不同系统捕获相同信息(相同列)——一个并集就能基于共享列结构把三张表追加到一起。

  1. 在 Semantic Model Builder 的 New 下拉中点击 Logical View,输入名称、API 名称和描述,点击 Save。
  2. 选择并集的第一个数据对象,点击 Save。
  3. 选择对象后点击加号,从下拉选择 Create Union
  4. 在 Select Data Objects for Union 对话框中选择并集的第一个对象,点击 Save。最多可选择九个对象,合并字段从第一个添加的对象获取元数据。
  5. 所有数据对象添加完成后,点击 Apply 把新并集加入逻辑视图。

并集以独立图标出现在画布中,填补了关系和联接无法完成的场景:把来自多个来源、结构相似的数据追加为一个可查询对象。

四、创建计算字段与指标

探索计算字段

当需要数据中不存在的额外字段时,可以给语义模型添加计算字段(calculated fields)。可以把计算字段看作存在于数据之上的、可包含复杂逻辑的"即时"字段。计算字段有两种类型:

  • 计算维度(Calculated dimensions):创建新维度的自定义计算,用于对数据分类或分组,如产品类别、汽车制造商。
  • 计算度量(Calculated measures):创建新度量的自定义计算,是可聚合、可做数学运算的字段,如测试分数、价格。

有两种方式创建计算字段:用 Semantics AI 起草,或手动创建。使用 Semantics AI 时,输入对计算字段的描述,点击 Draft with Einstein,就会生成包含全部属性和公式的草稿。请务必在保存前仔细审查草稿内容的准确性。使用该功能需要启用 Einstein Generative AI 并在 Feature Manager 中开启 Semantics AI。

创建计算维度

计算维度不物理存在于数据库中,可用于数据操作,如拼接字段、分组值或执行逻辑测试。例如:

  • [First Name] + " " + [Last Name] 拼接姓和名(注意中间的空格);
  • [Last Name] + ", " + [First Name] 按"姓, 名"拼接;
  • 用 CASE 表达式把多种装帧格式标准化为 Paperback / Hardcover 等类别。

假设你要创建一个计算维度,标记"承诺当日发货但未在当日发货"的订单:

  1. 在 Semantic Model Builder 的 New 下拉选择 Calculated Field
  2. 在 Field Type 下选择 Dimension
  3. 从 Data Type 下拉选择存储的数据类型,本例选 Text
  4. 在 Name 中输入描述性唯一名称,如 At Risk Cases,并添加描述、自定义 API 名称(创建后不可编辑)、设置 Data Role(离散/连续)、切换字段可见性。

可添加过滤器,公式形如:

IF [Ship Mode] = "Same Day" AND ISNULL([Ship Date]) = true AND DATEDIFF('day', [Order Date], TODAY()) > 1 THEN "Late shipping" END

这段计算逐条检查记录,如果发货方式为当日达、发货日期为空且订单日期已超过一天,就把该记录标记为"Late shipping"。点击 Save 后,你就可以在案例健康仪表板中使用这个计算维度,比较高风险与低风险案例的数量。

创建计算度量

计算度量不物理存在于数据库中,可用于数值运算,如计算比率或百分位。像其他度量一样,计算度量还有额外元数据,如默认聚合、数据类型(数字、百分比)、数据角色(离散/连续)。

假设数据中有 Price 和 Discount 字段,要计算 Sale Amount,就需要创建计算度量:

  1. 在 New 下拉选择 Calculated Field,Field Type 选 Measure
  2. Data Type 选 Number,Name 输入如 Sales Amount
  3. 配置度量属性:Aggregation Type(Sum/Average/Count 等)、Decimal Place(默认 2 位)、Data Role(连续/离散)、Sentiment(上升趋势是好/坏/中性)、Treat Nulls as Zeros(把空值替换为零)。
  4. 输入公式 [Price]*(1-[Discount])
  5. 点击 Save

计算度量比维度拥有更丰富的元数据——聚合类型、情感和空值处理都会影响度量在可视化中的表现,使其无需额外配置即可用于可视化。

创建指标

指标(metric)是随时间跟踪的 KPI,例如过去一年的收入。指标的核心组件是代表 KPI 的度量和跟踪其随时间发展的时间维度。例如,你可以创建每周销售绩效指标,评估业务是否达成目标。

  1. 在 Semantic Model Builder 打开 New 下拉,选择 Metric
  2. 添加名称和可选描述,点击 Next
  3. 为 Measure 选择代表 KPI 的字段。
  4. (可选)用搜索框 Add Filter 添加过滤器以缩小指标范围。
  5. 配置:定义度量上升的 Sentiment、选择默认聚合、选择是否累计。
  6. 为 Time Dimension 选择数据源中的日期字段,点击 Next。
  7. (可选)添加 Additional Dimensions(最多 20 个)以增加上下文和粒度,点击 Next。
  8. (可选)调整洞察设置——Insights 标签页仅对有 Tableau Next 的组织可用。
  9. 点击 Save

指标提供了标准化、时间感知的 KPI,可跨报告、仪表板和应用消费。

五、测试并消费你的语义模型

测试你的语义模型

测试语义模型很重要,以确保它按预期工作。你可以在模型创建过程中的任意时刻测试。Tableau Semantics 会把模型送入 Query Generator 验证其是否可用,所有错误都会显示在预览面板中,便于排查。

Test Semantic Model 面板的功能:

  1. Outline:在正确标题下搜索并添加维度和度量(只能添加已加入模型的字段)。
  2. Hide Total:取消勾选以在测试结果中包含合计。
  3. Sample Size Rows:调整样本行数,默认 100 行。
  4. Filters 标签页:添加过滤器查看数据子集。
  5. Run:开始测试,通过 Query Generator 运行模型并在底部面板右侧返回结果。
  6. 修改并重跑:调整 outline 后重新运行测试。
  7. Reset:清空测试结果和所有 outline 设置与过滤器。

修复问题后重跑,直到模型产生预期结果。

在其他应用中使用语义模型

语义模型可在多个 Salesforce 应用中使用。目前,你可以在以下应用中创建和管理语义模型:Data 360 ReportsTableau NextTableau Semantics Connector

一个语义模型,多种消费方式:在语义层定义一次业务逻辑(收入、流失、客户终身价值),每个连接它的应用都会自动获得相同的受治理定义、计算和指标——消除了"CRM 仪表板和 BI 工具算出不同收入数字"的经典问题。

Data 360 Reports

在语义模型上构建标准 Data 360 报告,可以同时从最多 20 个 Data 360 对象中发现可操作洞察。当你在语义模型上创建报告时,Report Builder 会保留模型的对象(如计算字段和逻辑视图),以及对象间现有的关系和联接。

你可以轻松地把数据可视化为图表、按字段分组报告、应用高级过滤器,并把报告作为小组件添加到仪表板。单个语义模型报告可跨最多 20 个对象——远超自定义报告类型 4 个对象的限制。由于报告继承了所有语义定义,计算字段和指标会自动出现。

Tableau Next

在 Tableau Next 中使用 Tableau Semantics,可以为分析和报告创建语义模型。你可以引用 Data 360 或 Tableau Next 中其他工作区的现有语义模型,或直接在工作区中创建它们,确保所需模型在需要的地方可用——无需复制或同步。

Tableau Next 与 Tableau Semantics 构成互联生态:构建一次语义模型,即可立即在 Tableau Next 中用于可视化、探索,以及与 Agentforce 集成的 agentic 分析。

Tableau Semantics 连接器

通过把 Tableau Cloud 和 Tableau Desktop 连接到 Tableau Semantics 作为数据源,你可以轻松可视化可信数据。Tableau Semantics 连接器把 Data 360 中受治理的数据模型与 Tableau 强大的可视化桥接起来:

  • 利用可复用模型,无需为每个工作簿重建数据连接;
  • 无需从零开始即可创建有说服力的仪表板并获得有意义的洞察;
  • 所有语义定义(计算字段、指标、逻辑视图)都作为原生 Tableau 字段可用。

该连接器把受治理语义模型的影响力扩展到 Salesforce 平台之外,覆盖整个 Tableau 生态,确保在任何分析数据的地方指标都保持一致。


文章来源:Trailhead - Tableau Semantics