# Creazione di report in batch

QV2QS genera report sia per singolo progetto sia aggregati dopo un'esecuzione batch, fornendo risultati di conversione dettagliati a ogni livello.

## Report per progetto

Ogni progetto del batch riceve un report di conversione Excel individuale e un file JSON di riepilogo esecutivo, identici a quelli della modalità a progetto singolo. Questi file vengono scritti nella sottocartella `reports/` all'interno di ciascuna directory di output del progetto.

## Report aggregati

QV2QS scrive i seguenti file aggregati nella directory radice di output:

* `batch_summary.json` — Riepilogo leggibile da macchina con conteggi dei progetti, stato di riuscita/fallimento, tempistiche e KPI aggregati (fogli totali, oggetti, percentuale di automazione).
* `batch_summary.html` — Report HTML autonomo per una rapida revisione.
* `batch_conversion_report_<timestamp>.xlsx` — Cartella di lavoro Excel consolidata con un foglio di riepilogo, scomposizione per progetto e dettaglio combinato degli oggetti per tutti i progetti.

## Struttura di batch\_summary.json

Il file `batch_summary.json` contiene i seguenti campi di primo livello per l'integrazione CI/CD e l'analisi programmatica.

| Campo | Descrizione |
| --- | --- |
| `schema` | Versione dello schema (attualmente `1`). |
| `kind` | Sempre `qv2qs_batch_summary`. |
| `version` | Stringa di versione QV2QS. |
| `timestamp_utc` | Timestamp ISO 8601 dell'esecuzione batch. |
| `batch.total_projects` | Numero totale di progetti rilevati. |
| `batch.succeeded` | Numero di progetti completati con successo. |
| `batch.failed` | Numero di progetti non riusciti. |
| `batch.wall_clock_sec` | Tempo totale trascorso in secondi. |
| `batch.cumulative_sec` | Somma di tutte le durate dei singoli progetti. |
| `aggregated_kpis` | Totali per tutti i progetti riusciti: `sheets`, `objects_in_scope`, `auto`, `follow_up`, `errors`, `images_unique`, `auto_pct`, `follow_up_pct`. |
| `projects` | Array di voci per progetto. Ogni voce include `name`, `ok` (booleano), `duration_sec` e `output_dir`. I progetti completati con successo includono un oggetto `summary` con i conteggi foglio/oggetto. I progetti non riusciti includono una stringa `error`. |
| `exec_summaries` | Array di oggetti completi di riepilogo esecutivo per tutti i progetti completati con successo. |

Il file `executive_summary.json` per ogni singolo progetto utilizza lo stesso schema (`kind: qv2qs_exec_summary`) e contiene i metadati `project`, `kpis` (fogli, oggetti, punteggi di automazione, conteggi di overflow), `breakdowns` (risultati per tipo, azioni di overflow) e `object_details` (segnaposto, errori, regolazioni raggruppate per tipo). In modalità a progetto singolo, il file contiene anche una sezione `data_model` con conteggi di campi e tabelle, dimensioni in byte e proprietà dell'applicazione. Le proprietà dell'applicazione includono l'ora dell'ultimo ricaricamento, il titolo della finestra, lo stato di accesso alla sezione e i tipi di connessione della derivazione dei dati. La sezione `data_model` non è inclusa nei file per progetto in modalità batch.

L'oggetto `kpis` include i seguenti campi di temporizzazione:

| Campo | Descrizione |
| --- | --- |
| `kpis.duration_sec` | Durata della conversione locale in secondi (solo parsing PRJ e generazione JSON). |
| `kpis.app_build_sec` | Durata della build dell'app cloud in secondi (`qlik app build`). Presente solo quando è stata eseguita una distribuzione cloud. |
| `kpis.app_build_included_reload` | Booleano. `true` se il tempo di build dell'app include un ricaricamento, `false` in caso contrario. Presente solo quando è stata eseguita una distribuzione cloud. |
| `kpis.total_duration_sec` | Tempo effettivo end-to-end in secondi (conversione + distribuzione cloud). Presente solo quando è stata eseguita la distribuzione cloud. Per le esecuzioni solo in locale, utilizza `duration_sec`. |

## Output della console

Al termine di tutti i progetti, la console visualizza una tabella di riepilogo con il numero totale di progetti, quanti sono stati completati con successo, quanti non sono riusciti, il tempo effettivo trascorso e il tempo di elaborazione cumulativo. I progetti non riusciti vengono elencati singolarmente con i messaggi di errore.

## Riferimento della CLI Batch

I seguenti argomenti sono specifici per la modalità batch. Per gli argomenti di conversione generali che si applicano anche in modalità batch, vedere [Riferimento agli argomenti](https://help.qlik.com/it-IT/migration/Content/Qv2qsMigration/command-line-interface/argument-reference.htm).

| Argomento | Descrizione | Predefinito |
| --- | --- | --- |
| `--batchDir PATH` | Directory radice (o percorsi separati da punto e virgola) da scansionare per i progetti QVW/QVF. | Obbligatorio |
| `--batchWorkers N` | Numero massimo di progetti da convertire contemporaneamente (`0` = auto: core della CPU meno 1). | `0` |
| `--batchFlatOutput` | Appiattire la struttura della directory di output invece di rispecchiare la gerarchia di origine. | Disattivato |
| `--generatePrj` | Genera automaticamente cartelle PRJ per i file sorgente che non ne hanno una. | Disattivato |
| `--qsAppName TEMPLATE` | Modello di denominazione delle app per la distribuzione di Qlik Cloud. Supporta i segnaposto `{name}`, `{rel}` e `{index}`. | Nome progetto |

## Ulteriori informazioni

* [Struttura dell'output e denominazione dell'app](https://help.qlik.com/it-IT/migration/Content/Qv2qsMigration/batch-conversion/output-structure-and-app-naming.htm)
* [Report di conversione](https://help.qlik.com/it-IT/migration/Content/Qv2qsMigration/conversion-results/conversion-report.htm)
* [Dashboard di riepilogo esecutivo](https://help.qlik.com/it-IT/migration/Content/Qv2qsMigration/user-interface/executive-summary-dashboard.htm)