Tutorial Di Oracle Reports
Tutorial Di Oracle Reports
Arturo T.
Come Oracle Forms, questo strumento contiene un navigatore di oggetti dal quale si può
accedere a ciascuno degli elementi che compongono la definizione di un rapporto.
Nella figura 1, si possono vedere gli elementi che compongono un rapporto. Il modello di dati è un'area
dove si definisce principalmente il contenuto del rapporto; cioè, la definizione di query, calcoli.
funzioni che restituiranno i dati per il rispettivo rapporto.
Disposizione della carta, è un'area dove si definisce principalmente la parte visiva del rapporto; cioè, si
definisci i tipi di carattere, le dimensioni, la posizione delle colonne, i colori, gli spazi, le intestazioni, e in
generale, tutto ciò che ha a che fare con la presentazione del rapporto.
La schermata dei parametri è un'area in cui è possibile personalizzare l'immissione dei parametri al
report. Ad esempio, se si ha un rapporto sugli elementi venduti da un'azienda, potrebbero
Impostare come parametri la data iniziale e la data finale per le quali si desidera conoscere queste informazioni.
Disparatori di report, è un blocco in cui vengono definite azioni che si attivano principalmente prima
che il rapporto sia generato o dopo l'esecuzione dello stesso a seconda delle politiche del
affari.
Unità di programma e librerie collegate proprio come Oracle Forms è un'area dove si possono
definire nella prima, procedure, funzioni, pacchetti che possono essere utilizzati dai modelli di
dati, e nel secondo, collegamenti a librerie o biblioteche pll, dove si trovano le funzioni,
procedimenti o pacchetti.
Come indicato in precedenza, quest'area si occupa della definizione dei dati che verranno mostrati in
il rapporto. A tal fine è necessario definire le query alle diverse fonti (tabelle, viste,
procedure memorizzate, file xml, moduli olap), definire le sommarizzazioni e programmare le
funzioni aggiuntive che potrebbero essere necessarie nel rapporto.
Permette di definire operazioni di sommarizzazione come conteggio, somma, media, valore massimo, valore
minimo, varianza, deviazione standard, tra l'altro, la cui colonna risultante potrà essere incorporata nel
informe. Per lo stesso esempio del rapporto di vendita, potrebbe essere necessario includere alla fine di ogni giorno il
valore totale venduto, e alla fine dell'intervallo selezionato, il valore totale venduto e il valore medio; per cui
potrebbe essere utilizzato questo strumento.
A tal fine, il rapporto può includere una colonna che confronta il valore totale con il valore X e se valortotal
>=X allora restituisci "non ci sono problemi", ma se valortotal < X allora restituisci "in questo giorno non ci è andata bene"
molto bene”. Certo, questo è un esempio di giocattolo che mostra un minimo raggio di quelli che potrebbe
ottenere colonne di formula.
3. Ora, si desidera generare un rapporto che mostri per ogni studente, le materie frequentate con la sua
rispettiva qualificazione
Essendo nella finestra del modello di dati, selezioniamo l'opzione query sql e la posizioniamo sopra la
foglio di modifica (per questo basta cliccare sugli strumenti e poi cliccare sul fondo del foglio)
Appare una finestra che richiede la query che desideriamo eseguire. È qui che abbiamo a disposizione le
due opzioni: utilizzare il query builder o lanciarci personalmente a scrivere la query sql. Per l'esempio
useremo il query builder.
Per poter accedere al query builder è necessario autenticarsi come utente del database Oracle, pertanto si
deve registrare il nome utente, la password e la stringa di connessione.
Una volta convalidata la connessione, viene mostrata un elenco degli oggetti di cui dispone l'utente (tabelle,
viste, sinonimi, istantanee), dai quali devono essere selezionati gli oggetti da usare nella consulta. In
nel nostro caso verranno selezionate le tabelle studente, materia e iscrizione.
Con il precedente, sono incluse nella schermata del costruttore di query le definizioni delle tabelle selezionate.
Per il nostro esempio, selezioneremo i campi come mostrato nella figura seguente, che sono
fondamentalmente, i campi che vogliamo mostrare nel rapporto: dalla tabella studente i campi id, nome e
cognome; di registrazione, i campi id_materia e valutazione, e dalla tabella materia desideriamo mostrare il
nome della materia.
Non ti preoccupare delle relazioni, lo strumento le costruisce automaticamente in base alle chiavi
foranee definite per ogni tabella.
Poi clicca su accetta, abbiamo ora la query SQL pronta! (Certo, se conosciamo i dettagli del linguaggio
sql possiamo scrivere direttamente la sentenza senza bisogno di chiamare don query builder)
E di nuovo accettare per vedere il modello di dati generato. La figura seguente mostra il gruppo di
dati generati attraverso la query che è stata appena definita. Il concetto di gruppo è importante poiché
definisci il modo in cui i dati verranno mostrati in seguito. In questo caso abbiamo solo un
grupo conformado por el id del alumno, el nombre y el apellido del alumno, el id de la materia el nombre
della materia frequentata e il voto. Se lo studente ha frequentato 10 materie, alcuni di questi dati come id, nome
il cognome dello studente si ripeterà 10 volte.
Qui sarebbe necessario implementare un modo per vedere il rapporto in modalità maestro - dettaglio.
Per dividere questo gruppo in due gruppi basta semplicemente selezionare i campi che fanno parte del dettaglio e
portarli fuori dal gruppo (o toglierli dal gruppo), con quello che ci rimarrebbe qualcosa del genere:
Aggiungiamo ora una colonna di riepilogo che ci mostri la media dei voti
ottenute da ciascun studente. A tal fine, selezioniamo lo strumento colonna riepilogo e lo posizioniamo
dentro del primo gruppo (il gruppo dello studente), e posizioniamo un'altra colonna riepilogativa fuori dai gruppi
(CS_2), con quello che ci resta qualcosa del genere:
Andiamo a spiegare cosa vogliamo includendo due colonne di riepilogo CS_1 e CS_2, si può vedere che
CS_1 è un riassunto a livello del gruppo G_Nome e ciò che vogliamo con CS_2 è avere un riassunto a
livello di tutto il rapporto. Cioè, vogliamo un riassunto della media dei voti per studente e un
riassunto della media generale.
Ora, selezioniamo il campo CS_1 e apriamo la finestra delle proprietà (clic destro del mouse)
mouse – opzione ispezione delle proprietà) e impostiamo i valori come indicato nella seguente figura:
Come si può vedere, per la proprietà funzione consente di selezionare da un elenco di operazioni (conteggio,
somma, valore massimo, …).
La proprietà Ripristina in, indica in questo caso che per ogni studente eseguirà l'operazione definita.
In conclusione, si troverà il valore medio del campo valutazione per ogni studente.
Pronto. Ora ci manca solo generare la parte visiva del nostro rapporto. A tale scopo selezioniamo la
opzione programma/eseguire disposizione della carta. Questo assistente aiuta a configurare la parte visiva del
rapporto e quanto concerne ai dati.
Uno dei passi all'interno di questo assistente è la definizione dello stile di report da creare. Per neutro
esempio, segnaleremo l'opzione raggruppa in alto. Cliccando su avanti, si modifica la fonte dei dati (il
quella che abbiamo già definito), poi la scheda dati in cui si selezionano i campi che si desidera mostrare
nel rapporto. Non vorremo sempre che tutti i campi nella clausola select siano mostrati. Lo
I gruppi sono già definiti. Infine, se desidera generare il rapporto con un modello, questo può essere
selezionata, o se invece non si desidera utilizzare un modello, esiste anche la possibilità di selezionare
questa decisione.
Supponendo che sia necessario stampare il curriculum vitae di ogni persona, si possono definire 4 query per
ognuna delle tabelle precedenti e poi fare collegamenti tramite il campo idPersona affinché le interrogazioni
filtra i dati per ciascuno dei record della tabella persona. Per questo esempio, la struttura del
reporto sarebbe:
Dati personali
…
…
Studi svolti:
…
Esperienza lavorativa
…
….
Produzione
…
a. seleziona * da persona
b. seleziona * da estudios
c. seleziona * da empleos
Ora, usando lo strumento di collegamento, uniremo i campi delle 3 query per il campo idpersona.
La procedura è molto semplice; basta solo utilizzare lo strumento di collegamento dati (facendo
clic su questa), poi unire i campi delle query, trascinando il mouse dal campo del
consulta origine fino al campo della consultazione di destinazione su cui vogliamo fare il collegamento. Per questo
caso dal campo idPersona fino al campo IdPersona1, e un altro dal campo IdPersona fino a
campo IdPersona2. Il modello di dati si vedrebbe ora:
Pronto, ora eseguendo la disposizione della carta (stile: raggruppa in alto, gruppi: gruppo di persone
trasversale/desc
selezionarli tutti, modello: nessuno), e aggiungendo un paio di etichette si otterrebbe infine il
seguente rapporto:
Come si può vedere, questa funzionalità di collegamento dei dati permette di collegare il risultato di vari
consultazioni per uno o più campi, mostrando in ogni blocco di risultati, i rispettivi registri
associati al campo collegato. Supponendo che per una persona X non esistano registrazioni nella tabella
impieghi, il blocco degli impieghi non verrebbe mostrato per questa persona X.
Creiamo una tabella chiamata tariffa con i seguenti campi cod_tarifa (tipo di dato numerico), valore (tipo
di dato numerico
2. Poi creiamo una sorgente di dati ODBC (per i sistemi Windows, accedere al pannello di controllo)
chiamata miodbc_tarifa che ha come fonte il file [Link] che abbiamo appena creato nel punto
anteriore.
3. Eseguiamo lo strumento oracle reports, creiamo un nuovo rapporto, e dal modello di oggetti,
prendiamo lo strumento di consultazione jdbc e lo mettiamo nel foglio di modifica. Una volta fatto questo, appare
una finestra di dialogo che richiede la query SQL da eseguire e la connessione da utilizzare. Nella finestra per
scriveremo consulta
seleziona * da tarifa
per definire la connessione facciamo clic sul pulsante connetti, il che mostra un'altra finestra di dialogo
per specificare i parametri di connessione al nostro ODBC.
selezioniamo come tipo di driver jdbc-odbc e nella casella database scriviamo il nome
assegnato all'ODBC miodbc_tarifa
Pronto, ora fai clic su connetti e poi accetta. Se non ci sono problemi di sintassi nella query SQL e si
defini adeguatamente il tipo di driver e il nome del database, dovrebbe apparire nel
modello di dati il seguente modello:
4. Ora ci resta solo da creare la parte visiva o disposizione della carta. Per questo, vai all'opzione
programma/eseguire disposizione della carta, che ti guiderà in questo processo.
Consente di leggere un file di dati in formato txt, log, separato da virgole o con campi di lunghezza fissa, e
mostrarli nel rapporto. È importante notare che questa opzione viene utilizzata solo in casi molto
particolari poiché l'accesso ai file è un compito computazionalmente costoso, il che si traduce in
tempo di risposta, ed è direttamente correlato alla dimensione del file di dati.
2. esegui lo strumento oracle reports e procedi a creare un nuovo rapporto. Nel modello dei dati,
seleziona lo strumento di consultazione del testo e posizionalo poi nel foglio di modifica del modello. Il seguente
Comparecerà una finestra di dialogo per definire il nome del file che stiamo per caricare e il tipo di file
(log di server apache, file txt separato da virgole o file txt separato da tabulazioni)
Per questo caso selezioniamo un file txt separato da tabulazioni e indichiamo il percorso completo del
file di dati. Alla fine, facciamo clic su accetta per continuare.
Poi può essere visto nel modello di dati qualcosa del genere:
Solamente manca ora creare la disposizione della carta. Per questo procedere come nell'esempio precedente.