> For the complete documentation index, see [llms.txt](https://docs.reorc.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.reorc.com/cn-reorc-help-center/semantics_modeling/gai-shu.md).

# 概述

## 什么是语义层（Semantic Layer）？

构建数据模型和数据管道只是挖掘数据价值的第一步，数据价值的最终实现则依赖于其对业务决策的有效支持。然而，使用数据进行决策的业务团队，通常并不熟悉 SQL 或复杂的数据处理工具，因此一个友好的交互界面能够让用户可以灵活查询数据，而无需处理或关心技术细节。

**语义层**的作用，就是将现实世界的业务实体和指标转换为数据结构。它把数据库中的概念翻译成大家熟悉的业务术语，比如“产品”、“客户”和“收入”，从而在整个组织内建立统一的数据视图。

Recurve 基于此提供了语义层建模，能够简化数据访问，并提升查询性能。通过将数据组织成有意义的结构，例如 **Cube（语义层模型）**、**View（语义层视图）** 和 **Relationships（关系）**，使用户能够构建高效、可复用且可扩展的数据分析模型。

***

## 它在你的工作流程中扮演什么角色？

当你完成数据的集成和转换后，需要让这些数据对业务产生意义。这个“意义”来自可以帮助业务用户做决策的各种指标。比如，一个业务团队的成员可能会问：

* “今年每个月的收入是多少？”
* “哪些商品的利润率最高？”

通过 Recurve 的语义层，这些答案无需编写任何 SQL 查询即可直接获取。用户通过 **度量（Measures）** 和 **维度（Dimensions）** 来表达需求，便能获得一致且精准的洞察结果。

{% hint style="info" %}
需要注意的是，Recurve 的语义层仅在 **生产环境（Production Environment）** 中可用。这意味着创建的 Cube 或 View 会使用生产数据库的数据。请确保：

1. 你的生产环境数据连接已正确配置。
2. 所使用的数据模型（model）已在生产环境被构建。
   {% endhint %}

***

## 核心概念

Recurve 的语义层旨在弥合原始数据与 BI 之间的差距，通过结构化的数据呈现，使数据更加直观。

主要包括以下核心概念：

### **Cube（语义层模型）**

Cube 是一种结构化数据模型，支持多维度分析。它包括以下内容：

* **度量（Measures）**：可聚合的数值（如收入、销售数量）。
* **维度（Dimensions）**：用于分组和筛选的分类值（如产品类别、地区、日期）。
* **主键和外键（Primary and Foreign Keys）**：用于与其他 Cube 或数据模型建立关联。

Cube 的特点：

* **复用性**：每个 Cube 都可以进一步创建 View。
* **BI 工具集成**：Cube 提供结构化数据，可直接用于 BI 工具中的报表和分析。

### **View（语义层视图）**

View 是基于一个或多个 Cube 的逻辑数据表示，作为简化和优化后的数据源，具备以下功能：

* 预定义复杂的聚合和计算。
* 根据不同分析场景，定制化数据集。

### **Relationships（关系）**

Recurve 允许用户定义 Cube 和 View 之间的关系，从而实现数据的连通性。这些关系带来：

* 跨数据集的无缝集成。
* 通过预定义的关联（Join），提升查询效率。
* 更结构化的数据治理和安全控制。

***

## 使用语义层的优势

* **性能优化**：降低查询复杂度，加速数据获取。
* **复用与可维护性**：保障数据建模的一致性和模型复用。
* **可扩展性**：支持日益增长的数据规模和多样化的分析需求。
* **改进数据治理**：通过结构化的访问控制，确保数据的完整性与安全性。
