机器可读结果(JSON)
Important
Tabular Editor CLI 目前为 有限公开预览版。 可使用 Tabular Editor 账户进行评估;预览期间无需许可证。 在正式发布之前,命令、标志位和输出都可能会发生变化。 预览版本将在 2026-10-31 之后停止工作。 在预览阶段,我们不建议在生产环境的 CI/CD 流水线中使用 CLI。
te validate、te bpa run、te test run 和 te query 会使用统一的 JSON 结构来 Report 问题。 使用 --output-format json 时,这些命令都会输出 单个文档,不会出现没有任何内容可供解析的情况。
Note
te query 仅在执行前的 DAX 验证产生至少一个错误时,才会使用此 JSON 结构。 查询成功时,会改为输出查询结果:{columns, rows, rowCount, truncated, durationMs, trace?}。
JSON 文档
{
"command": "validate",
"durationMs": 412,
"summary": { "errors": 1, "warnings": 2, "info": 0, "total": 3 },
"findings": [
{
"severity": "error",
"source": "validate",
"code": "TE0001",
"message": "Unknown column 'Sales'[Amt]",
"object": "Revenue",
"objectType": "Measure",
"objectPath": "Sales/Revenue",
"expressionPosition": { "property": "Expression", "lineNumber": 3, "column": 9 },
"fixable": false
}
],
"valid": false
}
command:生成该文档的命令。durationMs:总运行时长。summary:严重性统计:errors、warnings、info、total。findings:一个扁平数组,通过severity区分。
每个发现项的键名
每个发现项都包含:
| 键 | 值/含义 |
|---|---|
severity |
error、warning 或 info。 |
source |
validate、bpa、test 或 query。 |
code |
稳定的发现代码(验证信息 ID、BPA 规则 ID、TEST_FAIL / TEST_ERROR / TEST_SUITE_INVALID 等)。 |
信息 |
便于理解的描述。 |
object |
该发现所涉及对象的基本名称。 |
objectType |
预定义值之一——见下文。 |
fixable |
仅当 BPA 违规项的规则定义了修复表达式时,值才为 true。 |
仅在 CLI 已知这些值时才会出现——未设置时,这些键会_缺失_,而不是 null:
| 键 | 填充自 | 含义 |
|---|---|---|
objectPath |
仅适用于 validate 和 bpa 的违规项 |
规范对象路径,可由 te get 或 te set 直接按原样解析。 测试发现项、查询发现项以及 BPA 规则错误中没有此字段。 |
expressionPosition |
仅限 validate 和 query |
Named Expression 属性中的 {property, lineNumber, column}。 在所有来源中,包括 validate 和 query,都是可选的 - 只要分析器未报告任何可用位置,此字段就不存在;并且要么完整提供,要么完全不提供(绝不会只提供部分位置信息)。 |
ruleName, category |
仅限 bpa |
所违反规则的名称和类别。 |
objectType 取值表
objectType 的取值是一个封闭集合(使用路径语法中各容器的单数形式,而不是 TOM 枚举):
Measure, Column, Hierarchy, Level, Partition, CalculationItem, Table, Role, TablePermission, Perspective, Culture, DataSource, Expression, Function, Relationship, KPI, RefreshPolicy, Member, Calendar, Variation, Model, BpaRule, Test, TestSuite, Query。
各命令专有字段
每个命令都会在文档顶层带有少量自身专有的键:
| 命令 | 额外键 |
|---|---|
te validate |
valid(布尔值)。 |
te bpa run |
model、rulesEvaluated、violations、ruleErrors、ignoredRules。 规则评估错误会以严重性 error、objectType: "BpaRule" 的形式出现在 findings 中;violations 和 ruleErrors 分别统计这两类数量。 |
te bpa run --fix |
在同一个文档内新增一个 fix 键:changes、fixed、fixErrors、skipped、fixedItems、fixErrorItems。 如果修复步骤本身失败,仍会生成文档,并将原因写入 fix.error。 不带 --fix 时不会出现。 |
te test run |
suites、invalidSuites、testSummary(按状态汇总测试数量;summary 仍为共享的严重性汇总)。 |
te query |
没有——而且只会在验证错误时出现;见上文说明。 |
CI 注释
这四个命令共用同一个注释写入器,用于 --ci vsts / --ci github(接受 azdo、azure-devops 和 gh 作为别名;none 会禁用注释;其他任何值都会在命令运行前被拒绝)。 注释会输出到 stderr;stdout 保持可解析:
- 注释会带上发现项的代码:在 Azure DevOps 中使用
code=,在 GitHub 中使用title=。 - 信息级 Info 发现项不是警告:在 GitHub 上会输出
::notice::,在 Azure DevOps 上则是一条普通日志行。 如果某次 Azure DevOps 运行的发现项只有信息类 Report,则该运行会显示为 Succeeded。 - 多行信息会被转义为单行注释,因此规则说明不会破坏日志格式。