返回正文目录

doc_type: reference intended_for: model authors and engine maintainers purpose: 区分 QM 具体列的查询标识、来源和输出别名,说明兼容访问与权限边界。

QM 字段命名合同

{ ref: line.invoiceLineId, name: 'queryId', alias: 'resultId', caption: '明细 ID' }
配置 合同
ref 绑定来源列、表实例和维度角色,不因重命名改变 SQL 表达式
name QM 查询标识,columns、slice、groupBy、orderBy 使用此名称
alias SELECT 输出别名和结果对象键;已选列 orderBy 也可使用输出别名
caption 展示标题

上例选择 columns: ['queryId'],结果键为 resultId。name 与 alias 可以不同。 未提供 name 或 alias 的值各自沿用既有 ref 派生规则;仅改 name 不会自动改 alias。 alias 不自动成为 columns/slice/groupBy 的通用同义词;显式 condition 定义的既有解析保持不变。 SQL WHERE 不直接引用 SELECT alias,而是由引擎解析为条件绑定的源表达式。

具体维度列也适用上述合同:

{ ref: line.track.album.artist$id, name: 'albumArtistId', alias: 'albumArtistId' },
{ ref: line.track.album.artist$caption, name: 'albumArtistName', alias: 'artistLabel' }

查询使用 albumArtistId / albumArtistName,结果使用 albumArtistId / artistLabel。 具体 caption 命名投影按其来源 caption 进行筛选;既有默认路径和显式 condition 配置仍沿用原规则。

兼容与元数据

模型名称/输出配置改变后须按既有流程刷新模型;部署新引擎时,对受影响模型按现有运维流程 失效旧结果缓存,避免继续读取此前忽略 alias 时的返回键。

计算列、度量和 pivot

部署兼容性:此前显式配置但被忽略的 formula alias 将生效,相关调用方应按 alias 读取结果; 此前可间接使用未授权窗口依赖的查询将被拒绝。部署时刷新模型并失效受影响的结果缓存。

使用封闭 JSON schema 的客户端需允许结果列上的可选 queryName;默认 name 与 alias 相同时不返回该属性。