Elaborazione report
Elaborazione report è un componente interno di un'istanza del server di report che elabora i report e i modelli di report utilizzati per la creazione di report ad hoc.
Panoramica sull'elaborazione di report
L'elaborazione di report implica la descrizione di una serie di passaggi di elaborazione che trasformano le istruzioni statiche incluse in una definizione di report in un report visualizzabile in un formato di presentazione finale. Nel diagramma seguente vengono mostrati le fasi e gli elementi dell'elaborazione di report.
Quando si accede a un report tramite accesso push o su richiesta, il server di report esegue l'elaborazione end-to-end oppure restituisce un report che viene pre-elaborato e salvato in formato temporaneo perché possa essere visualizzato in futuro in un formato specifico. Il risultato è determinato dalle impostazioni di esecuzione del report. Se un amministratore del server di report specifica che un report è accessibile dalla cache o come snapshot, il formato temporaneo viene recuperato dal database del server di report e quindi ne viene eseguito il rendering per consentirne la visualizzazione. In caso contrario, vengono eseguite tutte le fasi dell'elaborazione.
Richieste di elaborazione di report
Elaborazione report risponde alle richieste seguenti:
Richiesta di un report su richiesta. Quando un utente apre un report che è configurato per essere eseguito su richiesta, nel server di report viene attivata l'elaborazione del report. Il componente Elaborazione report recupera la definizione del report, invia la richiesta di dati a un'estensione per l'elaborazione dati, integra la definizione del report con i dati, invia il tutto a un'estensione per il rendering e restituisce il report visualizzabile. L'elaborazione del report su richiesta viene eseguita anche in risposta alle azioni dell'utente in un report basato sul modello. Un utente che esplora un percorso dei dati in un report basato sul modello avvia una serie di richieste per i report click-through temporanei.
Richiesta di un report memorizzato nella cache. L'elaborazione dei report memorizzati nella cache è una variazione dell'elaborazione dei report su richiesta eseguita all'interno del servizio Web. Quando l'utente apre un report che è configurato per essere eseguito da una copia memorizzata nella cache, allo scadere della copia viene attivata l'elaborazione del report. In tal caso, il report viene rielaborato prima di essere nuovamente aggiunto alla cache, quindi viene inviato al browser dell'utente.
Richiesta dal componente Elaborazione pianificazione e recapito. L'elaborazione del report pianificata viene avviata dal server di report ed eseguita in background. Ogni accesso push finalizzato all'elaborazione e al recapito del report viene eseguito secondo pianificazioni ed eventi gestiti dal componente Elaborazione pianificazione e recapito del server di report. Quando viene ricevuta la richiesta, il componente Elaborazione report recupera la definizione del report, invia la richiesta di dati a un'estensione per l'elaborazione dati, integra la definizione del report con i dati e archivia il report compilato nel database del server di report.
Fasi dell'elaborazione del report
Durante l'esecuzione di un report, il server di report elabora il report in tre fasi, ovvero elaborazione del report, elaborazione dei dati e rendering. L'elaborazione dei dati e del report viene eseguita in base a una definizione del report e ha come risultato un report in formato temporaneo. Per i report in formato temporaneo viene eseguito il rendering in un formato di visualizzazione specifico.
Recupero della definizione del report
L'elaborazione di un report inizia con una definizione del report pubblicata. Una definizione del report contiene una o più query, informazioni sul layout e riferimenti al codice o espressioni. Elaborazione report recupera la definizione del report dal database del server di report, inizializza le variabili e i parametri contenuti nelle espressioni ed esegue altre attività di elaborazione preliminare che preparano il report per i dati. L'estensione per l'elaborazione dati si connette quindi all'origine dati e recupera i dati.
Elaborazione dei dati
L'elaborazione dati viene eseguita su un server di database. Se il report recupera file di dati o documenti XML statici, l'elaborazione dati potrebbe essere limitata all'accesso a tali file e alla restituzione dei dati al server di report.
Unione di dati e layout in un formato temporaneo
Una volta restituiti, i dati vengono uniti con le informazioni sul layout presenti nella definizione del report per creare un report in formato temporaneo che possa essere salvato per consentirne il recupero rapido oppure essere indirizzato a un'estensione per il rendering in grado di elaborarlo nel formato che verrà visualizzato dall'utente. I dati vengono elaborati riga per riga per ogni sezione. Le sezioni includono l'intestazione e il piè di pagina del report, le intestazioni e i piè di pagina di gruppo, nonché i dettagli. In questa fase vengono elaborate anche le funzioni di aggregazione e le espressioni.
Un report che viene configurato per essere eseguito come snapshot o che viene mantenuto nella cronologia dei report viene sempre archiviato in un formato temporaneo, che prevede l'inclusione dei dati e delle informazioni sul layout correnti al momento del salvataggio del report nel formato temporaneo.
Il formato temporaneo può essere utilizzato in modi diversi dal server di report. La memorizzazione nella cache, gli snapshot e la cronologia del report sono tutte funzionalità che utilizzano report archiviati nel formato temporaneo. Il formato temporaneo è indipendente dalla piattaforma. È infatti possibile eseguirne il rendering in qualsiasi formato di esportazione supportato da e distribuito sul server di report.
[!NOTA]
Si tratta di un formato di applicazione interno. Per utilizzare un report in questo formato in un'applicazione personalizzata è necessario utilizzare interfacce di programmazione preposte alla creazione o al recupero di snapshot.
Rendering del report
Una volta salvato il report nel formato temporaneo, è possibile eseguirne il rendering in un formato di presentazione. Un report visualizzabile viene compilato come assembly CLR (Common Language Runtime) ed eseguito nel server di report.
Nella fase di rendering, le estensioni per il rendering impaginano il report ed elaborano le espressioni che non possono essere elaborate durante la fase di esecuzione. Viene quindi eseguito il rendering del report nel formato appropriato specifico del dispositivo.
Elaborazione del modello e report click-through
I report possono utilizzare modelli di report come interfaccia per le origini dati sottostanti. I modelli specificano i metadati e includono riferimenti alle origini dei dati condivise che definiscono la connessione ai dati. L'elaborazione del modello viene eseguita nel server di report ogni volta che l'utente esegue le azioni seguenti:
Esplorazione di un modello in Generatore report.
Esecuzione di query sui dati del modello durante la creazione di un report in Generatore report.
Esplorazione dei report click-through salvati in un server di report.
L'elaborazione dei report click-through è simile a quella delle definizioni dei report, ad eccezione del fatto che i report vengono generati automaticamente dai modelli anziché dalle definizioni dei report pubblicate nel server. L'elaborazione dei dati viene avviata tramite il modello per recuperare i dati di interesse.