主题
.tbl 数据模型元数据
.tbl 用于保存 SuccApp 数据模型,覆盖数据仓库建模、业务应用模型、SQL 模型、数据加工、取数模型、ODS 和外部数据接入等场景。
.tbl 遵守 SuccApp Super JSON 规范,包括版本、设置、参数、数据来源、内部资源和资源引用等共同结构。
在 SuccApp 中,.tbl 是数据驱动能力的基础单位。它把一个业务对象或数据集抽象成页面、报表、仪表板、程序流、权限和接口都能理解的模型:字段不只是数据库列,也可能代表维度、指标、计算口径、取数公式、校验规则和可提交的业务属性。这样页面搭建、填报、分析查询和数据加工可以共享同一份数据语义,而不是各自重新解释同一批数据。
.tbl 可以很轻,也可以很重。轻的时候,它只是对已有数据库表、SQL、外部数据或脚本数据的语义包装;重的时候,它负责创建和维护物理表、定时提取、增量更新、加工输出、知识库。选择哪种模型形态,主要看数据是需要被业务应用直接维护、被分析系统稳定查询、从外部系统同步进来,还是作为若干模型组合后的统一入口。
当你要为低代码应用保存业务数据、为报表和仪表板提供稳定分析口径、把业务系统数据沉淀到数据仓库、用 SQL/脚本/连接器接入数据,或把多个模型包装成更合适的业务视角时,应先考虑 .tbl。tableType 表达的是这类建模意图,它影响设计器体验和可用结构,但不要把它理解成唯一的底层执行机制。
第一次直接编辑 .tbl 文件时,先阅读 SuccApp Super JSON 中的编辑 .tbl 文件,再打开 DTS 理解字段、加工流程和查询结构。
模型类型
tableType 决定模型的编辑方式、可用结构和查询/提取行为,取值见 succ.meta.dw.DwTableType。常见模型类型包括:
App:应用模型,用于低代码业务应用、填报和明细数据维护,通常会落到可增删改查的物理表。FetchData:取数模型,通过来源模型和字段取数公式组织数据,可按需落地到目标表。DataFlow:数据加工模型,通过dataFlow流程描述文件、数据库、模型、API 等来源的抽取、转换和输出。Sql:SQL 模型,通过 SQL 查询或 DML 语句定义模型结果。Ods:ODS 模型,用于从第三方业务系统提取原始数据到数据仓库。ThirdData:外部数据模型,通过数据连接器接入第三方服务数据。Script:脚本数据模型。KnowledgeBase:知识库。
示例文件
- HR_DIM_BM.tbl - 简单维表模型
- HR_FACT_RYJBXX.tbl - 事实表模型,字段较多并包含资源引用
- 各种显示格式.tbl - App 模型,包含字段属性和单元格配置示例
- 跨源多来源提取.tbl - 取数模型,包含
sources[]和计算字段 - 多个csv.tbl - 数据加工模型,包含
dataFlow文件输入流程
DTS 入口
- 根结构与模型类型:
types/meta/file-types/tbl.d.ts - 字段、层次和字段类型:
types/meta/data-model/field.d.ts - 数据加工结构:
types/meta/data-model/dataflow.d.ts - 查询结构:
types/meta/file-types/query.d.ts - Super JSON 基础结构:
types/meta/superjson/base.d.ts - 原始 DW 类型:
types/api/succ.dw.d.ts
