Powered By Blogger

30 novembre 2008

Creazione di un Data Source con DataTime, Creazione di join arbitrarie mediante lo strumento visuale di DataTime, Report da tabelle multiple


Data Source è riferito ad una sorgente di dati (es DB) a cui collegare un’applicazione.
Dopo aver scaricato il software DataTime dal sito www.datatime.eu/DataTimeuniversal.htm è possibile creare dei report cliccando, nella schermata principale del programma, su “Quick Report” oppure attraverso la procedura “New Data Source”.
Utilizzando quest’ultima procedura si apre una schermata (Design, sezione 1) che consente di visualizzare gli oggetti (tabelle) del nostro database.
Per creare, ad esempio, una query considerando solo due tabelle, è possibile operare su di esse selezionandole nel DB Objects (and schemas) posto sulla sinistra e trascinandole nell’ area vuota a destra dello schermo.
A questo punto, selezionare gli elementi da valutare (Functions, sezione 2) e definire le relazioni (Join Path, sezione 3) tra le tabelle in due possibili modi:

1- Cliccare col tasto destro del mouse nell’area di disegno a destra e selezionare “Map DBMS Relationship on OBjects on Designer Panel";
2- Trascinare manualmente il mouse da una tabella all’altra.

A questo punto, nella sezione 4 (Check Out) è possibile visualizzare e testare (cliccando su Try Query in basso a sinistra) la query realizzata graficamente.
Per salvare tutto il lavoro bisogna cliccare su Manual Refine (sezione 6) e poi su save.

Entrando nella finestra Data Source (schermata iniziale) è possibile visualizzare il report cliccando su “new report”.
Specificando le dimensioni e le misure da considerare, queste devono poi essere trascinate, in base all'aspetto che si vuole dare al report, nei campi Vertical, Horizontal o Cross.
Per lavorare sul report creato e per aggiungere titoli, immagini, grafici, etc., cliccare su generate che aprirà la schermata Report Composer.

Reporting e Charting con DataTime

REPORTING

DataTime permette di creare ogni tipo di Layout con elevate possibilità di Slice & Dice, ed effettuare sezioni o interruzioni verticali ed orizzontali, totali su livelli multipli, drill down o roll up su ogni livello.
Tra le sue molteplici funzioni, tale software ci consente di realizzare report ad alta qualità visiva e di controllare tutti gli elementi grafici e stilistici.
I report possono essere pubblicati sulla rete in 2 modi:
1- Updatable (i report sono destinati alla sola consultazione e l'utente ha la possibilità di pianificarne il refresh)
2- Interactive (possibilità di interazione con i report).



CHARTING

Attualmente, DataTime è uno dei più potenti sistemi di rappresentazione grafica disponibili. Esso consente la realizzazione del posizionamento dei grafici in 3D con la massima flessibilità; possiamo, infatti, sezionare, definire o colorare a nostro piacimento tutti i grafici.

Introduzione a DataTime Reporting System: un semplice report


DataTime è un software intuitivo capace di creare report ad alto impatto visivo, dove tutti gli elementi grafici e stilistici possono essere controllati dall’utente ed è, attualmente, il più potente e moderno tra quelli disponibili sul mercato.

DataTime ci dà la possibilità di connetterci a qualunque DBMS: Oracle, SQL Server, Access, DB2, Sybase, MySQL, etc.

Tale programma, consente la definizione di:
- Sezioni verticali e orizzontali;
- Interruzioni orizzontali e verticali;
- Drill down / Roll Up su qualunque livello.

Inoltre, grazie alla sua flessibilità e facilità di utilizzo, consente di creare qualunque tipo di Layout (es verticale, orizzontale cross).

I report vengono creati attraverso due diverse architetture possibili:
1- Updatable (i report sono destinati alla sola consultazione)
2- Interactive (l’utente può solamente interagire con i report cioè può effettuare:
operazioni di rigenerazione on demand, operazioni di drill, redesign remoto del
report).

20 novembre 2008

I principali tool software di Query reporting: Business Objects, Microstrategy, Cognos, DataTime

I principali strumenti software di query reporting derivano dalle attività di reportistica presenti nelle grandi aziende che creano e commercializzano “applicazioni di business intelligence”.
Le maggiori aziende specializzate nel settore sono:


1- Business Objects è un’azienda nata per offrire agli utenti non tecnici un accesso semplice e intuitivo ai dati archiviati nei database, data warehouse, data mart e pacchetti applicativi aziendali. E’ attualmente l’azienda leader nel mercato della business intelligence.


2- MicroStrategy è un’organizzazione che a livello mondiale è composta da centinaia di professionisti la cui missione è quella di assicurare il ritorno dell’investimento effettuato nella tecnologia MicroStrategy. Ai clienti, ed ai partner, viene messo a disposizione un ampio ventaglio di servizi fra i quali il Technical Account Service (TAS) progettato per fornire tutto il supporto necessario ad assicurare il successo di ogni progetto.


3- Cognos, leader mondiale nel campo della Business Intelligence (BI) e del Performance Management, fornisce soluzioni per migliorare le performance aziendali a tutti i livelli organizzativi (gestione delle relazioni con i clienti, analisi di vendita, controllo di gestione, pianificazione e reporting, analisi multidimensionale, applicazioni analitiche, ecc.). Cognos consente alle aziende di ogni dimensione di migliorare il proprio vantaggio competitivo attraverso il Performance Management, grazie a un utilizzo strategico della Business Intelligence.



4- DataTime è una società di Roma nata 2 anni. «Non è stato facile – racconta il Prof. Tommaso Gastaldi, il fondatore della società – entrare sul mercato è una cosa davvero complicata. Ma ne è valsa la pena perché abbiamo creato un prodotto davvero innovativo che tiene testa ai più grandi software di Business Intelligence delle più grandi società al mondo. E soprattutto è un prodotto italiano». Il prodotto di questa azienda è il “DataTime Reporting Solution” il quale soddisfa l’esigenza di raccolta e gestione dei dati, con la possibilità di generare dei report completi ed efficaci.
Fino a oggi, la risposta a questo problema è stata lo sviluppo di software “ad hoc”, costosi, poco flessibili e di difficile utilizzo, oppure l’uso di un software generico come Excel, che richiede una programmazione e la mano di un esperto.
DataTime Reporting Solution è destinato a cambiare radicalmente questo scenario. Immaginate di avere a disposizione un software tanto potente e semplice da permettere a chiunque di sviluppare il proprio report, senza necessità di richiedere l’intervento di tecnici e programmatori. Immaginate di ridurre drasticamente i tempi di deployment e annullare i costi associati a queste operazioni.
È facile comprendere i numerosi vantaggi di una soluzione come DataTime Reporting Solution:
- Agli integratori consente di implementare in modo veloce e con sforzi e investimenti ridotti, una soluzione di reporting decisamente meno onerosa (non richiede alcuno sviluppo, riduce i tempi di configurazione e di generazione del report), permettendo così di ampliare il parco clienti. Questo con la contemporanea soddisfazione del cliente stesso, che si trova ad avere un servizio personalizzato, rapido ed efficiente.
- Ai clienti finali, consente di creare i propri report con minime competenze, di prendere importanti decisioni riguardanti l’azienda in base a dati aggiornati in tempo reale, di accedere in ogni momento a dati presenti in database situati in qualunque parte del mondo.
In definitiva DataTime Reporting Solution è stato progettato per essere totalmente al servizio esigenziale dell’utente e a differenza degli altri prodotti esistenti, è l’ideale per chi vuole una maggiore qualità e una affidabilità senza compromessi al minor prezzo sul mercato.

Funzione dell'ETL e i principali tool software di ETL

Extract, Transform, Load (ETL) sono le 3 fasi di estrazione, trasformazione e caricamento dei dati in un sistema di sintesi (DW, DM, ecc).

1- Estrazione (Extract) dei dati da sistemi sorgenti quali database transazionali, comuni file di testo o da altri sistemi informatici.

2- Trasformazione (Transform) con lo scopo di consolidare i dati (cioè rendere omogenei dati provenienti da sorgenti diverse) e di fare in modo che siano più aderenti alla logica di business del sistema di analisi per cui viene sviluppato.
Questa fase consiste, ad esempio, nel:
- Selezionare solo quelli che sono di interesse per il sistema
- Normalizzare i dati (per esempio eliminando i duplicati)
- Tradurre dati codificati
- Derivare nuovi dati calcolati
- Eseguire accoppiamenti (join) tra dati recuperati da differenti tabelle
- Raggruppare i dati

3- Memorizzazione (Load) dei dati nelle tabelle del sistema di sintesi.

I principali software ETL sono:
- SmartDB Workbench
- DataStudio
- Integrator
- Informatica PowerCenter
- Datastage IBM
- SSIS Microsoft
- I-service IngeniumTechnology
- Scriptella ETL
- Benetl
- Oracle Data Integration Suite
- Kettle Pentaho Data Integration

5 novembre 2008

Particolarità riscontrate lavorando con l'SQL in Access: differenze rispetto agli altri DBMS

Un Database Management System (abbreviato in DBMS) è un sistema software progettato per consentire la creazione e manipolazione efficiente di database (ovvero di collezioni di dati strutturati) solitamente da parte di più utenti.
I DBMS più diffusi sul mercato, attualmente, sono:
-Oracle;
-Basis;
-Db2;
-Ms Sql Server;
-mySql;
-Ms Access.

La principale differenza tra l' SQL di Access rispetto agli altri DBMS è che il primo è un DBMS locale, a differenza degli altri che sono DBMS server-side (cioè si fa riferimento a operazioni compiute dal server in un ambito client-server).

Altre particolarità dell’sql in Access sono:
- la clausola top può essere usata per selezionare un certo numero di tuple dal risultato;
- l’uso tra le sue funzioni di Where e On, diversamente dall’ìsql in oracle;
- l’operatore join deve essere sempre qualificato con il termine inner od outer;
- le parentesi quadre vengono usate per racchiudere gli identificativi di tabelle e attributi.

Architetture per i sistemi informativi aziendali: DBMS transazionali, Data mart, DW

- Un Database Management System (DBMS) è un sistema software progettato per consentire la creazione e manipolazione efficiente di database solitamente da parte di più utenti.
In passato (diversamente da oggi in cui ne troviamo una diffusione generale) i DBMS erano estesi principalmente presso le grandi aziende. Questi si occupavano della gestione di tutte quelle operazioni necessarie alla vita dell'azienda.

Oggi, a tal fine, i DBMS si servono di Sistemi Transazionali cioè quei sistemi informatici che eseguono operazioni on-line su basi di dati. Sono, in genere, utilizzati contemporaneamente da più utenti che accedono alla stessa base di dati. I dati provenienti dai sistemi transazionali sono quell'insieme di dati elaborati dai sistemi transazionali dell'azienda e possono essere contenuti all'interno dello stesso database o provenire da diversi database o anche esterni all'azienda.

- Un Data warehouse (DW), è un archivio informatico contenente i dati di un'organizzazione. I DW sono progettati per consentire di produrre facilmente relazioni ed analisi.

Secondo Inmon la raccolta di dati è:
•Integrata: requisito fondamentale di un data warehouse è l'integrazione dei dati raccolti. Nel data warehouse confluiscono dati provenienti da più sistemi transazionali e da fonti esterne. L'obiettivo dell'integrazione può essere raggiunto percorrendo differenti strade: mediante l'utilizzo di metodi di codifica uniformi, mediante il perseguimento di una omogeneità semantica di tutte le variabili, mediante l'utilizzo delle stesse unità di misura;
•Orientata al soggetto: il DW è orientato a temi aziendali specifici piuttosto che alle applicazioni o alle funzioni. In un DW i dati vengono archiviati in modo da essere facilmente letti o elaborati dagli utenti. L'obiettivo, quindi, non è più quello di minimizzare la ridondanza mediante la normalizzazione, ma quello di fornire dati organizzati in modo tale da favorire la produzione di informazioni. Si passa dalla progettazione per funzioni ad una modellazione dei dati che consenta una visione multidimensionale degli stessi;
•Variabile nel tempo: i dati archiviati all'interno di un DW coprono un orizzonte temporale molto più esteso rispetto a quelli archiviati in un sistema operativo. Nel DW sono contenute una serie di informazioni relative alle aree di interesse che colgono la situazione relativa ad un determinato fenomeno in un determinato intervallo temporale piuttosto esteso. Ciò comporta che i dati contenuti in un DW siano aggiornati fino ad una certa data che, nella maggior parte dei casi, è antecedente a quella in cui l'utente interroga il sistema. Ciò differisce da quanto si verifica in un sistema transazionale, nel quale i dati corrispondono sempre ad una situazione aggiornata, solitamente incapace di fornire un quadro storico del fenomeno analizzato;
•Non volatile: tale caratteristica indica la non modificabilità dei dati contenuti nel DW che consente accessi in sola lettura. Ciò comporta una semplicità di progettazione del database rispetto a quella di un'applicazione transazionale. In tale contesto non si considerano le possibili anomalie dovute agli aggiornamenti, né tanto meno si ricorre a strumenti complessi per gestire l'integrità referenziale o per bloccare record a cui possono accedere altri utenti in fase di aggiornamento.
Il data warehouse, quindi, descrive il processo di acquisizione, trasformazione e distribuzione di informazioni presenti all'interno o all'esterno delle aziende come supporto ai decision maker.

- Un Data mart è un raccoglitore di dati specializzato in un particolare soggetto. Un Data mart contiene un'immagine dei dati che permette di formulare strategie sulla base degli andamenti passati.
Normalmente si colloca a valle di un Data warehouse più globale ed è alimentato a partire da esso, di cui costituisce, in pratica, un estratto. Detto in termini più tecnici, un Data mart è un sottoinsieme logico o fisico di un Data warehouse di maggiori dimensioni.

La differenza fondamentale consiste nel fatto che la creazione del Data warehouse avviene in maniera generalizzata per poi venire incontro alle specifiche esigenze, mentre il Data mart viene generalmente creato per venire incontro ad un'esigenza specifica e già determinata.

Che cosa sono i datawarehouse e cosa li differenzia dai sistemi OLTP


Un Data warehouse (DW) (magazzino di dati), è un archivio informatico contenente i dati di un'organizzazione. I DW sono progettati per consentire di produrre facilmente relazioni ed analisi.
I dati estratti dagli archivi transazionali vengono memorizzati internamente al data warehouse. Nel DW l'accesso ai dati è consentito in sola lettura.
Tali dati hanno una dimensione storica e sono riferiti a soggetti di business. Essi possono essere memorizzati in un archivio centrale o in un data mart.
Il termine data mart identifica un data warehouse di dimensioni ridotte, specializzato per una particolare area di attività.
Il DW è un sistema OLAP(Online Analytical Processing) e differisce dai sistemi OLTP (On Line Transaction Processing)per una serie di motivi.
Innanzitutto dobbiamo definire l'OLTP come un insieme di tecniche software utilizzate per l'analisi dei dati.
I sistemi OLAP sono orientati al soggetto, integrati, invarianti nel tempo, non volatili, storici e permanenti. I dati nei sistemi OLAP vengono subito memorizzati e messi a disposizione, e non sono aggiornati come nei sistemi OLTP.
Questi ultimi comprendono dati statici e analitici a differenza dei sistemi OLAP.

4 novembre 2008

SQL : Istruzioni di base per Estrazione, Inserimento, Update dei dati


Il comando SELECT è l'unico comando di interrogazione (query) di SQL. Il risultato del comando è una tabella. La select prevede molte clausole che la rendono molto flessibile e potente.
La sintassi nella forma più semplice è:

SELECT
FROM
WHERE


Il comando INSERT ha la funzione di inserire i dati nelle tabelle.
Le colonne (o campi) di destinazione dei valori possono essere o meno dichiarate nel comando. Se non vengono dichiarate, è necessario passare al comando un valore per ogni colonna della tabella, rispettando rigorosamente l'ordine delle colonne stesse. Se, invece, le colonne di destinazione vengono dichiarate, è possibile indicare le sole colonne per le quali vengono passati dei valori, purché vengano inseriti comunque i valori per tutte le colonne not null (che non possono essere nulle) della tabella.
Di per sé il comando insert opera inserendo in tabella una sola riga per volta. È possibile, però, inserire più di una riga "in modo automatico" passando all'insert una serie di righe (o tuple) risultanti da un comando di select, purché tali righe siano compatibili con le colonne della tabella su cui si inseriscono i dati.
La sintassi nella forma più semplice è:

INSERT INTO nome_tabella
VALUES (elenco valori, tutti, rispettando l’ordine dei campi della tabella);



Il comando UPDATE ha la funzione di modificare i dati delle tabelle.
Il nome di ogni campo che deve essere modificato va dichiarato dopo la parola chiave SET e deve essere seguito dal simbolo " = " e dal nuovo valore che deve assumere.
È possibile modificare più campi della stessa riga in un unico comando update, separandoli l'uno dall'altro con il simbolo " , ".
La sintassi nella forma più semplice è:

UPDATE nome_tabella
SET nome_campo1 = 'valore1_nuovo',
nome_campo2 = 'valore2_nuovo',
...
;

Approfondimenti su SQL: clausole where, having, group by


Le clausole WHERE e HAVING di un'istruzione SELECT consentono di specificare le righe delle tabelle di origine con cui generare il set di risultati. Entrambe le clausole sono filtri che specificano una serie di condizioni di ricerca. Solo le righe che soddisfano tali condizioni verranno incluse nel set di risultati. Tali righe sono definite qualificate per partecipare al set di risultati.

La clausola HAVING viene generalmente utilizzata insieme alla clausola GROUP BY per filtrare i risultati di valori aggregati. È tuttavia possibile specificare la clausola HAVING senza la clausola GROUP BY. La clausola HAVING specifica ulteriori filtri che vengono applicati dopo i filtri della clausola WHERE. Questi filtri possono essere applicati a una funzione di aggregazione utilizzata nell'elenco di selezione.

La clausola GROUP BY limita il numero di righe del set di risultati in modo che venga restituita una sola riga per ogni valore distinto delle colonne di raggruppamento. Ogni riga del set di risultati include dati di riepilogo correlati al valore specifico delle relative colonne di raggruppamento.

Quando un'istruzione SELECT include una clausola GROUP BY, nell'elenco di selezione è possibile specificare solo valori specifici, ovvero:
- colonne di raggruppamento;
- espressioni che restituiscono un solo valore per ogni valore delle colonne di raggruppamento, ad esempio funzioni di aggregazione in cui un parametro è impostato su un nome di colonna. Tali funzioni sono denominate funzioni di aggregazione vettoriali.

ANSI SQL


Per spiegare l'ANSI SQL introduciamo innanzitutto il concetto di Database "relazionali". Con questo indichiamo la divisione del contenuto di un database in tante tabelle che contengono dati logicamente correlati tra loro. Per metterle insieme, si usano delle relazioni tra l' una e l' altra tabella.

Il modo per poter utilizzare un database relazionale è avere un "linguaggio" che ci permetta di interrogarlo in maniera opportuna. Lo "standard" che avrebbe permesso a tutti di parlare lo stesso linguaggio è rappresentato dall'ANSI SQL (Structured Query Language della American National Standard Institute).