1,203,400.00
产品一览
笔记本里写,
对话里问,
应用里看。
三种入口,底下是同一个语义层:同样的口径、同样的权限、同样的数字,不管你从哪扇门进来。
SQL
-- 第三季度各品类收入,仅含已确认订单
SELECT category,
SUM(amount) AS revenue
FROM orders
WHERE status = 'confirmed'
AND quarter = 'Q3'
GROUP BY category
ORDER BY revenue DESC5 行 · 完成
结果
| 品类 | 收入 | 环比 |
|---|---|---|
| 服饰 | 454万 | +3.9% |
| 家居 | 448万 | +8.2% |
| 数码 | 304万 | -1% |
| 美妆 | 270万 | +1.9% |
| 食品 | 213万 | +6% |
图表
各品类收入
- 454服饰
- 448家居
- 304数码
- 270美妆
- 213食品
在受限的 SQL 沙箱里运行,只能读你有权限读的表。
用大白话提问。Agent 读取语义层、亮出每一步,再把答案画出来。
按区域和季度对比收入,并按品类堆叠。
- cube_list_models1 个模型
- cube_get_metadataretail_model
- cube_queryrevenue × region × quarter
仅限你有权限的数据
三个区域的收入逐季上升。华东最大,服饰在每个区域都排第一,数码是唯一在下滑的品类。
- 服饰
- 家居
- 美妆
- 数码
- 食品
- 收入
- 1689万
- +4.0% 较上季度
- 收入最高品类
- 服饰
- 增长最快品类
- 家居
各品类收入
渠道构成 · 服饰
行级权限对每一位查看者生效。
示意界面,数据取自一家虚构的零售公司。没有连接任何真实数据,也没有调用真实 AI。
办公室里常听到的话
- 这个数,怎么和财务的对不上?
- 上个月的报表,能按当时的数据再出一份吗?
- 谁给他开的这张表的权限?
- 想看个数,又要等数据组排期。
- AI 给的数,我敢直接用吗?
- 报表改了好几版,没人说得清哪版是对的。
01 · 口径
一个词,
三个数。
财务按确认收入,销售按下单金额,运营按回款。各自一张报表,各自一套 SQL,周会开成了对账会。
1,318,950.25
1,176,280.40
示例数据。统一定义后,报表、AI 助手与接口读取的是同一份定义。
02 · 梳理的五个动作
从来源到答案,
五个动作。
每一步都有版本、有定义、有记录。靠的不是约定,是结构。
01 / 05 · 接入
上个月的报表,能按当时的数据再出一份吗?
来源再杂,
也落成同一种样子。
数据库、接口、上传文件,经工作流取数、转换、合并,落成带版本的不可变快照。每次刷新都是新的一版,出了问题回到上一版。
- 工作流取数可视化编排取数与转换。跨来源的数据先同步成受管理的快照,再联合分析。
- 不可变版本发布后的快照不再改动,可追溯、可回滚,被引用的版本不会被误删。
- 写读分离写入只经调度器,查询走只读副本。接口不会在你不知情时改动数据。
来源
- PostgreSQL
- SQL Server
- REST API
- CSV · XLSX
工作流
- 01取数
- 02转换
- 03按主键合并
快照
- v13parquet 不可变
- v12parquet
- v11parquet
snapshot v13 · parquet · immutable
02 / 05 · 建模
这个数,怎么和财务的对不上?
口径,只定义一次。
在画布上把表、关联、维度和度量搭成语义模型,验证后发布。报表、AI 助手与开放接口读的是同一份定义,没有人再各算各的。
- 图形化建模表、关联、维度、度量在画布上完成,需要时可查看原生定义。
- 草稿到发布先验证,再整体发布成新修订。历史口径不会被悄悄改写。
- 统一计算口径报表、AI 助手与开放接口使用同一套语义模型计算,结果可复核。
measures:
- name: revenue
type: sum
sql: amount
filters:
- sql: "{CUBE}.status = 'confirmed'" ref(revenue)
- 报表
- AI 助手
- API
- PG 端口
- MCP
revenue = SUM(amount) WHERE status = 'confirmed'
03 / 05 · 分析
想看个数,又要等数据组排期。
业务自己点,
分析师不再排队。
在已发布的模型上选维度、拖度量、切图表、加筛选。一个数字背后的原因,点下去就能看到。
- 拖拽探索维度、度量、图表类型随手切换,结果即时刷新。
- 下钻与筛选从汇总到明细,筛选条件随图表一起保存。
- 分析师有 SQL准备数据时可以写 SQL;但结果必须落成受管理的表,才能被报表消费。
维度
度量
收入view → members → query → chart
04 / 05 · 问答
AI 给的数,我敢直接用吗?
问数据,答案带着来处。
用自然语言提问。助手只能通过语义层取数:列出模型、读取元数据、执行查询。每一步都摊开给你看,并且按提问者本人的权限执行。
- 步骤可见用了哪个工具、查了哪些成员,一目了然,可以复核。
- 同一权限边界你看不到的模型和行,助手同样看不到。
- 自选模型服务管理员配置兼容 OpenAI 协议的服务商、模型与密钥,密钥加密保存。
哪个区域的收入更高?
- cube_list_models1 个模型
- cube_get_metadatarevenue_model
- cube_queryrevenue × region
仅限你有权限的数据
示例回答:北区收入更高。选择区域和季度,可以查看不同范围的示例结果。
cube_list_models → cube_get_metadata → cube_query
05 / 05 · 发布
报表改了好几版,没人说得清哪版是对的。
改动留痕,
随时可回。
图表组成看板,草稿自动保存,发布时固定一份不可变的版本。改坏了,恢复到任何一个历史版本;要迁移环境,就导出成 YAML。
- 自动保存草稿编辑时自动保存到服务器,换一台电脑也能接着做。
- 发布与恢复发布固定一份历史版本;恢复先为当前草稿留档,再回到所选版本。
- 报表即代码图表与看板可导出为 YAML,整批校验、整批导入,失败即整体回滚。
版本
- v7当前
- v6·
- v5·
↺ 恢复到 v6
⇣ 导出 YAML
dashboard.yml · version 1 · dry-run → apply
03 · 数据结构
五层结构,
一个事实来源。
从原始来源到屏幕上的答案,每一层只做一件事、守一条边界。点一层,看那里放着什么。
人们接触到的一切都读下面那一层,不绕路。笔记本、Agent、看板、数据应用、JSON API、MCP 和 PG 端口走的是同一扇门。
- 笔记本与 SQL
- Agent 对话
- 看板与应用
- API · MCP · PG 端口
行级权限只在一个地方执行。拿不到决定时,查询被拒绝,而不是放行。
- 唯一执行点
- 拿不准就拒绝
- 各处看到同样的行
收入只定义一次,连同它的过滤条件,每张图、每个回答、每次 API 调用都复用它。已发布的模型会固定它读取的快照,查询不会读到一半混进新旧数据。
- 维度
- 度量
- 关联
- 固定快照
每次刷新都写入一个新的不可变版本,没有原地修改。只有调度器写入,其余一律只读。
- 不可变
- Parquet
- 主键必填
连接十种数据库、上传文件、从接口拉取。工作流按计划抽取、转换、合并。
- 10 种数据库
- CSV · Excel
- 接口拉取
- 定时工作流
示意图。层的名称由产品架构简化而来。
04 · AI 生成
说出来,
就得到一个能用的应用。
告诉 Agent 你想看什么。它读取语义层,写出一个单文件数据应用,立即预览。你检查之后,保存为数据应用。
按区域和品类做一个销售看板。
销售总览
1689万收入 · Q3 · 示例数据
- 服饰
- 家居
- 美妆
- 数码
- 食品
让我试一下调价,看收入和毛利会怎样。
调价推演
- 收入
- 474万
- +22万
- 毛利率
- 62.8%
- +1.8
收入预测
按注册月份看客户留存。
留存分析
按批次与月份的留存
把每个客户按收入和增长画出来,标出离群点。
客户地图
示意应用,数据取自一家虚构的零售公司。生成的应用跑在沙箱里,不能联网,通过宿主按你的权限取数。
05 · 治理
同一张表,不同的人,
看到不同的行。
身份认证、空间授权、行权限、审计,层层收紧。行权限只在语义层执行一次:报表、AI 助手、API 与 PG 端口一视同仁。拿不到决定就拒绝,不放行。
试一下:切换身份
四个入口,同一个结果
- 报表7,549,201.50
- AI 助手7,549,201.50
- API7,549,201.50
- PG 端口7,549,201.50
- 01
身份
账号与 OIDC 登录。访问任何数据之前,先验证你是谁。
- 02
空间与资源授权
资产归属个人或团队空间,文件夹与资源按成员授权。
- 03
行权限
权限表决定每个人能看哪些行,只在语义层执行一次。
- 04
审计
关键操作留下记录,谁在什么时候做了什么,可以查。
SQL 在沙箱里
SQL 控制台在受限的 DuckDB 沙箱中执行,外部文件访问被关闭。
出站有策略
工作流与连接的出站请求,统一受全局出站访问策略约束。
AI 与你同权限
助手按提问者的身份取数,不继承更大的权限。
06 · 开放
进得来,
也出得去。
原生 JSON API、MCP、PG 协议端口,以及 YAML 形式的图表与看板。数据与定义,不被锁在界面里。
数据来源
- PostgreSQL
- MySQL
- Oracle
- SQL Server
- ClickHouse
- Doris · StarRocks
- 文件上传 · 接口取数
Cube Core
- 数据建模维度、度量、关联与视图,只定义一次
- 访问控制行权限唯一执行点,只开放视图
- 快照固定每次查询读取不可变的数据版本
- 开放接口JSON API · MCP · PG 端口
语义层
消费端
- 看板与数据应用工作台内
- AI AgentMCP
- 外部系统JSON API
- BI 工具与 ExcelPG 端口 · Power Query
POST /api/v1/query
Authorization: Bearer <token>
{
"model_id": "valuation",
"view": "asset_view",
"query": {
"measures": ["asset_view.revenue"],
"dimensions": ["asset_view.region"],
"order": [["asset_view.revenue", "desc"]],
"limit": 100
}
}
// → { "data": [ … ], "release_id": "…", "snapshot_set_id": "…" }原生 JSON 查询,结果附带发布版本与快照标识。
支持的数据库
- PostgreSQL
- MySQL
- Oracle
- SQL Server
- ClickHouse
- TiDB
- Doris
- StarRocks
- KingbaseES
- DuckDB
另有 CSV / XLSX 上传与接口取数。
支持 SSH 跳板与双向 TLS 的数据库连接
你可能想知道
梳子是什么?
梳子把数据接入、准备、语义建模、分析和发布连成一条链路,让团队使用共享的指标口径。
需要会写 SQL 吗?
业务人员可以使用已发布的报表、探索界面或 AI 助手;分析师可以在数据准备阶段使用 SQL。
AI 会看到我没有权限的数据吗?
不会。助手按提问者的身份,经同一套授权与行权限取数。
可以从其他工具查询吗?
可以。已发布的模型可通过 JSON API、MCP 或 PG 端口使用,实际访问需要身份认证与授权。
官网上的数据是真的吗?
不是。官网只使用本地示例数据与预置问答;进入系统并登录后,才按你的权限使用真实数据。