# 批量报告

QV2QS 在批量运行后会生成单项目报告和汇总报告，提供各个层级的详细转换结果。

## 按项目报告

批处理中的每个项目都会获得单独的 Excel 转换报告和执行摘要 JSON 文件，与单项目模式完全一致。这些文件将写入每个项目输出目录中的 `reports/` 子文件夹。

## 聚合报告

QV2QS 将以下聚合文件写入输出根目录：

* `batch_summary.json` — 机器可读摘要，包含项目计数、成功/失败状态、耗时以及聚合 KPI（工作表总数、对象、自动化百分比）。
* `batch_summary.html` — 用于快速查看的自包含 HTML 报告。
* `batch_conversion_report_<timestamp>.xlsx` — 整合的 Excel 工作簿，包含汇总工作表、按项目细分以及跨所有项目的合并对象详细信息。

## batch\_summary.json 结构

`batch_summary.json` 文件包含以下顶级字段，用于 CI/CD 集成和编程解析。

| 字段 | 描述 |
| --- | --- |
| `schema` | 架构版本（当前为 `1`）。 |
| `kind` | 始终 `qv2qs_batch_summary`。 |
| `version` | QV2QS 版本字符串。 |
| `timestamp_utc` | 批处理运行的 ISO 8601 时间戳。 |
| `batch.total_projects` | 已发现的项目总数。 |
| `batch.succeeded` | 成功完成的项目数。 |
| `batch.failed` | 失败的项目数量。 |
| `batch.wall_clock_sec` | 总耗时（以秒为单位）。 |
| `batch.cumulative_sec` | 所有单个项目工期的总和。 |
| `aggregated_kpis` | 所有成功项目的总计：`sheets`, `objects_in_scope`, `auto`, `follow_up`, `errors`, `images_unique`, `auto_pct`, `follow_up_pct`。 |
| `projects` | 每个项目的条目数组。每个条目包含 `name`、`ok`（布尔值）、`duration_sec` 以及 `output_dir`。成功的项目包含一个带有工作表/对象计数的 `summary` 对象。失败的项目包含一个 `error` 字符串。 |
| `exec_summaries` | 所有成功项目的完整执行摘要对象数组。 |

每个单独项目的 `executive_summary.json` 文件均使用相同的架构 (`kind: qv2qs_exec_summary`)，并包含 `project` 元数据、`kpis`（工作表、对象、自动化评分、溢出计数）、`breakdowns`（按类型划分的结果、溢出操作）以及 `object_details`（占位符、错误、按类型分组的调整）。在单项目模式下，该文件还包含一个 `data_model` 部分，其中包含字段和表计数、字节大小以及应用程序属性。应用程序属性包括上次重新加载时间、窗口标题、部分访问状态以及数据世系连接类型。`data_model` 部分未包含在批处理模式的单项目文件中。

`kpis` 对象包含以下计时字段：

| 字段 | 描述 |
| --- | --- |
| `kpis.duration_sec` | 本地转换耗时（以秒为单位）（仅限 PRJ 解析和 JSON 生成）。 |
| `kpis.app_build_sec` | 云应用程序构建时长（以秒为单位）(`qlik app build`)。仅在执行了云部署时存在。 |
| `kpis.app_build_included_reload` | 布尔值。如果应用程序构建时间包含重新加载，则为 `true`，否则为 `false`。仅在执行了云部署时存在。 |
| `kpis.total_duration_sec` | 端到端实际运行时间（以秒为单位）（转换 + 云部署）。仅在执行了云部署时存在。对于仅本地运行，请使用 `duration_sec`。 |

## 控制台输出

所有项目完成后，控制台将显示一个摘要表，其中包含项目总数、成功数量、失败数量、实际用时（墙上时钟时间）以及累计处理时间。失败的项目会单独列出，并附带错误消息。

## Batch CLI 参考

以下参数专用于批处理模式。有关同样适用于批处理模式的通用转换参数，请参阅[参数参考](https://help.qlik.com/zh-CN/migration/Content/Qv2qsMigration/command-line-interface/argument-reference.htm)。

| 参数 | 描述 | 默认 |
| --- | --- | --- |
| `--batchDir PATH` | 用于扫描 QVW/QVF 项目的根目录（或以分号分隔的路径）。 | 必填字段 |
| `--batchWorkers N` | 并发转换的最大项目数（`0` = 自动：CPU 核心数减 1）。 | `0` |
| `--batchFlatOutput` | 展平输出目录结构，而不是镜像源层级结构。 | 关闭 |
| `--generatePrj` | 自动为没有 PRJ 文件夹的源文件生成 PRJ 文件夹。 | 关闭 |
| `--qsAppName TEMPLATE` | 适用于 Qlik Cloud 部署的应用程序命名模板。支持 `{name}`、`{rel}` 和 `{index}` 占位符。 | 项目名称 |

## 了解更多

* [输出结构和应用程序命名](https://help.qlik.com/zh-CN/migration/Content/Qv2qsMigration/batch-conversion/output-structure-and-app-naming.htm)
* [转换报告](https://help.qlik.com/zh-CN/migration/Content/Qv2qsMigration/conversion-results/conversion-report.htm)
* [执行摘要仪表板](https://help.qlik.com/zh-CN/migration/Content/Qv2qsMigration/user-interface/executive-summary-dashboard.htm)