# Batch-Reporting

QV2QS erstellt nach einem Batch-Lauf sowohl projektbezogene als auch aggregierte Berichte und liefert detaillierte Konvertierungsergebnisse auf jeder Ebene.

## Projektbezogene Berichte

Jedes Projekt im Batch erhält einen individuellen Excel-Konvertierungsbericht und eine Executive-Summary-JSON-Datei, identisch mit dem Einzelprojektmodus. Diese Dateien werden in den Unterordner `reports/` im jeweiligen Projektausgabeverzeichnis geschrieben.

## Aggregierte Berichte

QV2QS schreibt die folgenden aggregierten Dateien in das Ausgabe-Stammverzeichnis:

* `batch_summary.json` — Maschinenlesbare Zusammenfassung mit Projektanzahl, Erfolgs-/Fehlerstatus, Zeitangaben und aggregierten KPIs (Gesamtzahl der Arbeitsblätter, Objekte, Prozentsatz der Automatisierung).
* `batch_summary.html` — In sich geschlossener HTML-Bericht zur schnellen Überprüfung.
* `batch_conversion_report_<timestamp>.xlsx` — Konsolidierte Excel-Arbeitsmappe mit einem Zusammenfassungs-Arbeitsblatt, einer Aufschlüsselung nach Projekten und kombinierten Objektdetails über alle Projekte hinweg.

## Struktur von batch\_summary.json

Die Datei `batch_summary.json` enthält die folgenden Top-Level-Felder für die CI/CD-Integration und das programmatische Parsen.

| Feld | Beschreibung |
| --- | --- |
| `schema` | Schema-Version (aktuell `1`). |
| `kind` | Immer `qv2qs_batch_summary`. |
| `version` | QV2QS-Versionszeichenfolge. |
| `timestamp_utc` | ISO 8601-Zeitstempel des Batch-Laufs. |
| `batch.total_projects` | Gesamtzahl der erkannten Projekte. |
| `batch.succeeded` | Anzahl der erfolgreich abgeschlossenen Projekte. |
| `batch.failed` | Anzahl der fehlgeschlagenen Projekte. |
| `batch.wall_clock_sec` | Gesamte verstrichene Zeit in Sekunden. |
| `batch.cumulative_sec` | Summe aller einzelnen Projektdauern. |
| `aggregated_kpis` | Gesamtsummen über alle erfolgreichen Projekte: `sheets`, `objects_in_scope`, `auto`, `follow_up`, `errors`, `images_unique`, `auto_pct`, `follow_up_pct`. |
| `projects` | Array von projektspezifischen Einträgen. Jeder Eintrag enthält `name`, `ok` (boolesch), `duration_sec` und `output_dir`. Erfolgreiche Projekte enthalten ein `summary`-Objekt mit Arbeitsblatt-/Objektanzahlen. Fehlgeschlagene Projekte enthalten eine `error`-Zeichenfolge. |
| `exec_summaries` | Array von vollständigen Executive-Summary-Objekten für alle erfolgreichen Projekte. |

Die `executive_summary.json`-Datei für jedes einzelne Projekt verwendet dasselbe Schema (`kind: qv2qs_exec_summary`) und enthält `project`-Metadaten, `kpis` (Arbeitsblätter, Objekte, Automatisierungs-Scores, Überlaufzähler), `breakdowns` (Ergebnisse pro Typ, Überlaufaktionen) und `object_details` (Platzhalter, Fehler, Anpassungen gruppiert nach Typ). Im Einzelprojektmodus enthält die Datei auch einen `data_model`-Abschnitt mit Feld- und Tabellenanzahlen, Byte-Größen und Anwendungseigenschaften. Zu den Anwendungseigenschaften gehören der Zeitpunkt des letzten Ladens, der Fenstertitel, der Status des Abschnittszugriffs und die Verbindungstypen der Datenherkunft. Der Abschnitt `data_model` ist in projektbezogenen Dateien im Batch-Modus nicht enthalten.

Das `kpis`-Objekt enthält die folgenden Timing-Felder:

| Feld | Beschreibung |
| --- | --- |
| `kpis.duration_sec` | Lokale Konvertierungsdauer in Sekunden (nur PRJ-Parsing und JSON-Generierung). |
| `kpis.app_build_sec` | Build-Dauer der Cloud-App in Sekunden (`qlik app build`). Nur vorhanden, wenn eine Cloud-Bereitstellung durchgeführt wurde. |
| `kpis.app_build_included_reload` | Boolean. `true`, wenn die App-Build-Zeit ein Neuladen beinhaltet, andernfalls `false`. Nur vorhanden, wenn eine Cloud-Bereitstellung durchgeführt wurde. |
| `kpis.total_duration_sec` | End-to-End-Wall-Clock-Zeit in Sekunden (Konvertierung + Cloud-Bereitstellung). Nur vorhanden, wenn eine Cloud-Bereitstellung durchgeführt wurde. Verwenden Sie für rein lokale Ausführungen `duration_sec`. |

## Konsolenausgabe

Nachdem alle Projekte abgeschlossen sind, zeigt die Konsole eine Übersichtstabelle mit der Gesamtzahl der Projekte, wie viele erfolgreich waren, wie viele fehlgeschlagen sind, der Wall-Clock-Zeit und der kumulierten Verarbeitungszeit an. Fehlgeschlagene Projekte werden einzeln mit Fehlermeldungen aufgeführt.

## Batch-CLI-Referenz

Die folgenden Argumente sind spezifisch für den Batch-Modus. Allgemeine Konvertierungsargumente, die auch im Batch-Modus gelten, finden Sie unter [Argumentreferenz](https://help.qlik.com/de-DE/migration/Content/Qv2qsMigration/command-line-interface/argument-reference.htm).

| Argument | Beschreibung | Standard |
| --- | --- | --- |
| `--batchDir PATH` | Stammverzeichnis (oder durch Semikolons getrennte Pfade), das nach QVW/QVF-Projekten durchsucht werden soll. | Erforderlich |
| `--batchWorkers N` | Maximale Anzahl gleichzeitig zu konvertierender Projekte (`0` = automatisch: CPU-Kerne minus 1). | `0` |
| `--batchFlatOutput` | Die Ausgabeverzeichnisstruktur verflachen, anstatt die Quellhierarchie zu spiegeln. | Aus |
| `--generatePrj` | Automatisch PRJ-Ordner für Quelldateien generieren, die über keinen verfügen. | Aus |
| `--qsAppName TEMPLATE` | App-Benennungsvorlage für die Qlik Cloud-Bereitstellung. Unterstützt die Platzhalter `{name}`, `{rel}` und `{index}`. | Projektname |

## Mehr erfahren

* [Ausgabestruktur und App-Benennung](https://help.qlik.com/de-DE/migration/Content/Qv2qsMigration/batch-conversion/output-structure-and-app-naming.htm)
* [Konvertierungsbericht](https://help.qlik.com/de-DE/migration/Content/Qv2qsMigration/conversion-results/conversion-report.htm)
* [Executive-Summary-Dashboard](https://help.qlik.com/de-DE/migration/Content/Qv2qsMigration/user-interface/executive-summary-dashboard.htm)