Crystal Reports: reportistica e "business intelligence"

Uno dei problemi più comuni al giorno d'oggi consiste nella rielaborazione e nella presentazione dei dati.
Crystal Reports: reportistica e

Uno dei problemi più comuni al giorno d’oggi consiste nella rielaborazione e nella presentazione dei dati. Una volta che si è provveduto, ad esempio, a sviluppare un applicativo gestionale, uno dei punti più critici è sempre la creazione di stampe e grafici. Se ci si affida alle soluzioni “classiche” oppure a quelle “fatte in casa” spesso si rischia di ottenere un risultato non soddisfacente che non ripaga neppure gli sforzi compiuti.

Crystal Reports è un software da anni leader nel settore della reportistica. Giunto ormai all’undicesima versione, battezzata per la prima volta con l’uso dei numeri romani anche se in realtà vuol essere l’acronimo di “eXtreme Insight”, consente di ridurre notevolmente il tempo richiesto per lo sviluppo, la gestione e la distribuzione di report.

Si tratta di un prodotto che fa decisamente l’occhiolino alle piccole e medie imprese anche se è adattissimo per fare business anche tra quelle di dimensioni più grandi. Eh sì perché Crystal Reports va a braccetto con il concetto di “business intelligence”: il software, una volta compreso il suo funzionamento, è in grado di trasformare i dati in informazioni di supporto al business. Crystal Reports “non genera dati” ma permette di valorizzare il patrimonio informativo dell’azienda offrendo tutti gli strumenti per analizzare, visualizzare, organizzare e comprendere i dati.
Tutte le aziende che possiedano almeno un gestionale o comunque che lavorino su una o più basi dati, apprezzeranno immediatamente tutte le potenzialità di Crystal Reports.

Il senso della nuova release sta tutto nell’integrazione con la piattaforma di business intelligence della software house produttrice, Business Objects XI, resa evidente dall’uniformità di denominazione.
Crystal Reports XI punta anche sulla facilità di progettazione e manutenzione dei report e nell’agevolare l’accesso ai dati. In particolare, sono stati integrati data driver che permettono l’accesso virtualmente a qualsiasi fonte dati (grazie al supporto di ambienti .Net e Java) mentre per la creazione dei report è ora disponibile un’anteprima di lavoro in Html, da utilizzare prima della pubblicazione su Web e della distribuzione all’interno dell’azienda.

La nuova versione del prodotto facilita l’utente anche nella scelta del layout grafico più opportuno, mediante la valutazione automatica dalla tipologia di dato da inserire.

Sempre sul lato sviluppo, è stata poi migliorata la gestione dei workbench, grazie a un ambiente di lavoro virtuale che consente di progettare, gestire e consultare i rapporti in modo sicuro.

Sul lato utente, infine, si segnala la possibilità di personalizzazione: i report, infatti, sono distribuibili sotto forma di modelli dotati di menu drop down, o a cascata, utilizzabili a seconda della necessità, e sono forniti in un nuovo formato RTF facilmente modificabile.

Come detto, Crystal Reports è stato ideato con l’intento di offrire una valida piattaforma che consenta di produrre report da qualsiasi sorgente dati.
Le procedure di “autocomposizione” (“wizard”) guidano l’utente passo-passo nella fase di creazione di qualsiasi report automatizzando l’esecuzione di procedure che debbono essere messe in pratica, in generale, in tutti i documenti generati.

La possibilità di usare campi formula, sottoreport “popolabili” con i dati provenienti da più tabelle, la formattazione condizionata (è possibile interagire con il “look” del report in base ai dati presenti oppure al verificarsi di particolari situazioni) permettono ottenere risultati chiari e leggibili oltre che accattivanti.
Grafici e mappe, generabili direttamente da Crystal Reports, permettono di comunicare le informazioni in modo visuale ogniqualvolta numeri e parole non siano sufficienti.

Crystal Reports è però un prodotto molto flessibile che non limita la sua offerta alla sola generazione di report ma ne permette la pubblicazione in diversi formati (Word, Excel, messaggi di posta elettronica,…) oltre che direttamente sul web. La reportistica sul web permetterà agli altri membri del vostro gruppo di lavoro di visualizzare ed aggiornare report facendo uso unicamente del browser.

Gli sviluppatori di applicazioni possono integrare i benefici offerti da Crystal Reports all’interno dei propri prodotti: un software gestionale potrà essere così in grado di generare report professionali basandosi sul “motore” di Crystal, un’applicazione web di creare report html “on the fly” in base alle richieste dell’utente remoto.

– Crystal Reports è distribuito in tre differenti versioni:

1. Crystal Reports Developer Edition La versione destinata in particolare agli sviluppatori: per integrare i report nelle proprie applicazioni.
2. Crystal Reports Server La più completa: per pubblicare report anche sul web in modo semplice, veloce e sicuro.
3. Crystal Reports Professional Edition La più “snella”: solo per la reportistica. Possibilità di collegarsi a qualunque sorgente dati.

Una tabella comparativa che mostra le differenze salienti tra le varie versioni di Crystal Reports, è consultabile qui.

In ogni realtà aziendale vengono generati e mantenuti grandi moli di dati necessari per l’organizzazione delle attività. Ad esempio, le aziende manifatturiere gestiscono informazioni riguardanti inventari e produzione, negozi che vendono al dettaglio registrano ordini ed acquisti da parte dei clienti, cliniche ed aziende ospedaliere registrano le cartelle mediche dei pazienti e così via.
La memorizzazione dei dati non è però sufficiente. I responsabili aziendali devono poter estrapolare tutte le informazioni più critiche per effettuare periodiche decisioni di business. I dati memorizzati, quindi, debbono poter essere trasformati in informazioni, opportunamente organizzati, facilmente accessibili e di solito condivisi tra vari individui (siano essi impiegati aziendali o clienti).
Crystal Reports è stato il primo software di reportistica a raccogliere queste necessità, lanciato addirittura nell’ormai lontanissimo 1992.

Un problema comune a molte aziende consiste nel trovare una soluzione efficace ed efficiente che permetta di creare report in base ai dati provenienti da sorgenti molto spesso differenti tra loro. E’ molto diffusa e sentita la necessità di fare reportistica utilizzando, ad esempio, le informazioni memorizzate in un database Oracle con quelle salvate in una base dati IBM DB2 (si supponga, sempre a titolo meramente esemplificativo, che la prima base dati contenga i dati relativi alle vendite dei prodotti commercializzati dall’azienda mentre la seconda quelli riguardanti l’inventario). Ma Crystal Reports è utile anche a chi utilizza gestionali basati su DBMS più “consumer” come Microsoft Access: il software, insomma, è in grado di accedere pressoché a qualsiasi sorgente dati. Le informazioni provenienti da basi dati differenti (anche da DBMS completamente diversi) possono quindi essere “unite” in un unico report.

“Standardizzazione” (Crystal Reports supporta un gran numero di standard – per esempio, XML, COM, Java -) e “system integration” (Crystal sa integrarsi con soluzioni software già adottate in azienda come Microsoft Office, Lotus Notes,…) sono due punti fermi per il prodotto di BusinessObjects. A proposito di questo secondo aspetto, Crystal Reports permette di esportare i report in vari formati e verso molteplici destinazioni: un potente Software Developer’s Kit (SDK) permette agli sviluppatori di controllare il layout e la formattazione di ogni report all’interno di applicazioni web o Windows.
I report, inoltre, possono essere esportati nei formati DOC (Microsoft Word), XLS (Microsoft Excel), PDF, XML, HTML, RTF, CSV, sorgente ODBC ed altri ancora.

Ci preme sottolineare come l’uso del formato nativo di Crystal Reports (.RPT) offra indubbi vantaggi rispetto ai formati sopra citati tra i quali la possibilità di interagire con le modalità di “navigazione” e visualizzazione del report. A mò di esempio, l’utente può cliccare su una mappa per scegliere di visualizzare i dati di vendita di un prodotto relativamente ad un’unica regione italiana oppure usare un menù a tendina per selezionare, in tempo reale, i criteri di selezione desiderati. Questo non è possibile (almeno non in maniera semplice) con i formati di file enumerati in precedenza.

Le novità e il primo avvio

Crystal Reports XI offre un designer ancora migliore rispetto alle precedenti versioni: colui che deve preparare la struttura del report si trova ad operare con un ambiente “object-oriented” che permette di ottenere intuitivamente risultati professionali.
Il software di BusinessObjects, oltre a supportare XML, ODBC ed OLE DB è anche in grado di interagire virtualmente con qualsiasi applicazione (Web o Windows) e qualunque dispositivo (PDA o Smartphone).
Il processo di creazione di un report è definibile con l’espressione anglosassone “content creation” e consiste nel definire gli obiettivi che il report si prefigge di assolvere, l’identificazione delle informazioni da inserire, l’accesso alle sorgenti di dati appropriate, l’aggiunta nel report dei campi dati e degli elementi necessari, la generazione di tutti gli elementi ausiliari (come campi formula, campi di calcolo e così via), la formattazione del documento per la successiva presentazione.
Per esempio, per creare un nuovo report sulle vendite dell’azienda è necessario mettere a fuoco alcuni aspetti:
1. Obiettivo del report – Mostrare l’andamento delle vendite per provincia italiana dei principali tre prodotti dell’azienda;
2. In che modo i fruitori del report potranno utilizzare il report (livello di interazione) – i responsabili delle vendite necessitano di individuare rapidamente il volume d’affari in euro e le unità vendute per ciascun prodotto commercializzato;
3. Dove risiedono le sorgenti di dati – I dati principali relativi alle vendite risiedono in un database Oracle ma debbono essere combinati con alcuni dai provenienti da un database Microsoft Access;
4. Individuare che tipo di informazioni il report dovrà veicolare (campi dato ed elementi) – Vendite in euro, unità prodotto vendute, province e regioni italiane, categorie prodotti, singoli prodotti;
5. “Formattare” il report per la successiva presentazione – Mostrare un grafico all’inizio del report con la distribuzione delle vendite per provincia.

Una volta avviato Crystal Reports XI, viene mostrata una schermata introduttiva completamente rivista rispetto alle precedenti versioni. Link “HTML-like” permettono di accedere all’help in linea, alle risorse online, ai report esemplificativi (Resources).
La sezione “New reports” permette di creare quattro tipi di report differenti mentre sotto la voce “Recent reports” sono elencati i documenti sui quali si è recentemente lavorato.

Cliccando su Blank report, si salterà la procedura che guida passo-passo nella creazione del report e si avrà la possibilità di operare immediatamente su un nuovo report completamente vuoto. Crystal Reports, comunque, richiede quale sorgente dati si prevede usare (finestra Database expert): per il momento premiamo Annulla evitando di specificare alcunché.
Quello che ci preme presentare, soprattutto a beneficio degli interessati che sinora non hanno mai usato Crystal Reports, sono le varie sezioni che compongono ogni singolo report.

Come si vede, ogni sezione è identificata con un nome posizionato nella parte sinistra del documento (Report header, Page header, Details,…). Questa suddivisione definisce diverse aree logiche del report: ciascuna di esse possiede proprietà specifiche e parametri di stampa differenti, completamente personalizzabili.
Se un oggetto (ad esempio, il logo aziendale) viene posizionato nell’area Report header, questo sarà inserito solo ed esclusivamente in testa alla prima pagina del report. Se un’immagine viene piazzata all’interno della sezione Page header, questa sarà automaticamente ripetuta in cima ad ogni pagina che comporrà il report. La stessa considerazione si applica anche a sezioni personalizzate quali Group header e Group footer oltre che a Page footer.
Il fulcro del report è invece la sezione Details: tutto ciò che verrà inserito all’interno di quest’area, sarà ripetuto tante volte quanti sono i record recuperati dalla sorgente dati.

Le varie sezioni del report possono contenere un gran numero di oggetti differenti quali campi database, caselle di testo, immagini, grafici e mappe. E’ possibile anche aggiungere oggetti come campi formula e “sotto-report”.
Per accedere alla configurazione di ogni sezione è sufficiente scegliere il comando Section Expert che compare facendo clic con il tasto destro del mouse sul nome di ogni singola area del report.
L’inserimento o l’eliminazione di oggetti o di intere sezioni del report è automatizzabile facendo uso delle cosiddette “formule di formattazione” (Formatting formulas): ricorrendo al loro utilizzo è possibile fare in modo che il layout del report o di singoli campi venga modificato in base al verificarsi di certe condizioni (ad esempio, i valori assunti da uno o più campi database).

Accesso ai dati e creazione del report

Il supporto per le varie sorgenti dati viene formato mediante l’uso di un “database driver”. Il ruolo di quest’ultimo consiste nel fungere da interfaccia tra Crystal Reports ed uno specifico tipo di database.

I database driver ad accesso diretto sono stati sviluppati per effettuare reportistica a parte da uno specifico database quale, ad esempio, Oracle. Qualora sia disponibile un driver ad accesso diretto (altrimenti detto “driver nativo”) per il database che si intende utilizzare, questo è generalmente la scelta migliore.
Questi driver, inoltre, seguono il modello standard di un driver database: se, durante la creazione del report, si opta per il driver di Microsoft Access, vi verrà richiesta la posizione del file MDB che si intende utilizzare; nel caso di Oracle, invece, il nome di un server.

I database driver ad accesso indiretto, di contro, come deducibile dal loro nome, si connettono in modo indiretto alla sorgente dati da usare. Non sono stati sviluppati per accedere ad uno specifico tipo di database ma sono in grado di acquisire dati da un gran numero di sorgenti seguendo un meccanismo d’accesso standard. L’obiettivo è quello di consentire a Crystal Reports l’uso di sorgenti di dati per le quali non è disponibile un driver ad accesso diretto.
I due più conosciuti driver ad accesso indiretto sono ODBC e OLE DB, che rappresenta l’evoluzione di ODBC.

La scelta del database driver da usare è il primo passo che viene proposto cliccando su Standard Report Wizard, all’avvio di Crystal Reports. Si dovrà, quindi, selezionare la sorgenti dati quindi i database.
Per creare una connessione al database, è necessario espandere il ramo Create New Connection.
Sono molti driver proposti; cliccando su Database drivers sarà possibile scegliere file .MDB, .DBF, .DB, .XML, .XLS, .UDL e così via.

I passi successivi permetteranno di scegliere quali dati dovranno essere usati per il report: tabelle, viste, stored procedures, query SQL.

E’ cosa assai comune avere nello stesso report più tabelle, più viste od altri oggetti database. Qualora si utilizzino tabelle multiple (la stragrande maggioranza delle situazioni), queste debbono essere opportunamente collegate tra loro. Crystal Reports rappresenta ogni singola tabella con una diversa finestra; tutti quei campi che nel database sono definiti come indice vengono marcati con una freccia colorata. Ogni collegamento tra tabelle viene rappresentato con una freccia che connette i campi delle due tabelle. E’ ovvio che i collegamenti tra campi impostati come indice, avranno come risultato query più performanti. Facendo doppio clic sul collegamento è possibile visualizzarne le proprietù (ad esempio, il tipo di JOIN applicato).

La fase successiva implicherà la scelta dei campi che dovranno essere visualizzati nel report (Fields to display).

La finestra seguente (Grouping) permette di identificare gruppi logici di informazioni da mostrare nel report. Ad esempio, è possibile raggruppare per regione di destinazione di un prodotto, per ID di prodotto od utilizzando qualsiasi altro criterio.

A questo punto, è possibile decidere se inserire “summaries” ossia campi speciali che, ad esempio, visualizzino l’ammontare totale delle vendite nel corso dell’anno. Si tratta comunque di scelte che possono essere compiute anche dopo aver concluso la procedura passo-passo, utilizzando il “designer” di Crystal Reports. Le finestre successive permettono di scegliere l’ordinamento dei dati nel report, creare grafici, e così via.

Il Report Explorer, la cui visualizzazione può essere richiesta facendo riferimento al menù View, offre un rapido accesso ad ogni sezione del report e a ciascun elemento inserito. Il Field Explorer permette di inserire manualmente nuovi campi database, formule, query SQL, campi speciali, sommari e così via.

Chi già utilizza Crystal Reports può trovare un elenco di tutte le novità introdotto nella versione XI, facendo riferimento a questo file PDF (in italiano; 120 KB circa).

BusinessObjects offre la possibilità di scaricare, dal suo sito web, Crystal Reports XI Developer Edition in versione trial valida per 30 giorni dal momento dell’installazione (ved. questa pagina). Tutti gli interessati potranno così saggiare le caratteristiche del prodotto prima di un eventuale acquisto.

Ti consigliamo anche

Link copiato negli appunti