Archivio per Dicembre, 2008

Reporting, Charting con Data Time.

Posted in Mondo software on Dicembre 10, 2008 by maica5

REPORTING

DataTime offre un sistema di reportistica molto flessibile , che permette di creare Layout (verticale, orizzontale, cross e misto)di ogni tipo, con possibilità infinite di Slice&Dice del cubo multidimensionale dei dati.

Ad esempio è possibile creare:

- Sezioni verticali e orizzontali;

- Interruzioni orizzontali e verticali;

- Totali su livelli multipli;

- Drill down / Roll Up su qualunque livello.

DataTime crea report ad alto impatto visivo, dove tutti gli elementi grafici e stilistici possono essere controllati dall’utente.

Un efficace sistema di formattazione condizionale consente di creare Alerts anche complessi, basati su codice utente. Oltre al ricco set di funzioni aggregative predefinite, DataTime consente all’utente anche di specificare via codice funzioni custom.

I report sono pubblicabili su Web mediante 2 possibili architetture:

1. Updatable: in cui i report sono destinati alla sola consultazione.

2. Interactive: in cui si vuole consentire all’utente di interagire con i report: rigenerazione on demand, operazioni di drill, fino alla possibilità di redesign remoto del report. Tale architettura è basata su ASP.NET e Web Services.

CHARTING

E’ un sistema di rappresentazione grafica.

Integra un motore di rendering 3D con controller per permettere, massima flessibilità del posizionamento dei grafici 3D.

Tutti i grafici hanno grande flessibilità e possono essere sezionati o ricolorati a piacimento.

I chart sono direttamente linkati ai dati e, li riflettono costantemente, attraverso le rigenerazione e i drill dell’utente.

Un semplice report…

I report e le tecniche di visualizzazione.

Al fine di migliorare i documenti informativi, le nuove metodologie si sono dotate di alcune tecniche di visualizzazione per facilitare l’analisi dei dati. Tecniche note nella visualizzazione dei report sono: Drill-down: (“perforare un terreno”), Slice & dice: (“dividere una torta”), ROLL-UP dove è possibile, in un primo momento, applicare una funzione aggregata (aggregating functions), oppure eliminare completamente una dimensione (dimension measures).

NB. Le tecniche sono state approfondite nel post precedente..

Un report informativo è un documento costituito da una combinazione sinottica di tabelle e grafici che mostrano le misure di rilievo per i vari fenomeni analizzati, disaggregate e destrutturate secondo specifiche esigenze.

Tali misure sono come indicatori delle varie attività aziendali e costituiscono una base comune per le analisi successive.

I Sistemi di reportistica costituiscono un ambito dei Sistemi informativi, la cui applicazione risulta al giorno d’oggi particolarmente diffusa ed affermata. La loro funzione principale è quella di fornire un valido supporto informativo alle decisioni strategiche di una organizzazione. Il report è incentrato sui dati di interesse della azienda e analizza il fenomeno, secondo le sue dimensioni. Si parla in tal senso di Ipercubo informativo, o cubo multidimensionale. L’ipercubo informativo è una raccolta di dati di cui si conoscono più dimensioni di analisi; ogni componente di un dato è rappresentato su una dimensione spaziale del cubo. Spesso si fa riferimento al cubo indipendentemente dal numero di dimensioni, difatti è possibile associare la rappresentazione di una tabella a doppia entrata ad un ipercubo informativo bidimensionale.

Approfondimenti su SQL: clausole where, having, group by.

Posted in Uncategorized on Dicembre 9, 2008 by maica5

La prima versione di SQL metteva a disposizione solo la forma strutturata, con una sola relazione in ogni clausola FROM, rendendolo molto limitato.

Se i campi selezionati provengono da più Tables, occorre utilizzare delle sintassi specifiche per determinare un campo in modo univoco, da qui approfondiamo alcune note.

  • clausola WHERE

Indica il criterio di scelta: l’elemento base è nomefield, operatore di confronto valore|nomefield e possono essere concatenati più elementi base tramite gli operatori logici (And Or).

Esempio: WHERE NomeImpiegato=”Paolo” And (ImportoOrdini>10000000 Or NumeroOrdini>100)

Nell’eseguire questa operazione il motore database cerca la Table specificata, estrae le colonne (=campi) scelte, individua le righe (=record) che soddisfano il criterio e raggruppa le righe risultanti nell’ordine specificato.

Il comando SELECT non modifica i dati del database.

La sintassi è :

SELECT fields FROM table

Usando un aterisco (*) si scelgono tutti i campi di una Table ad esempio:

SELECT * FROM

  • GROUP BY(groupfieldlist):

l’ordine dei campi in groupfieldlist determina il livello di grouping da quello più alto a quello più basso(fino a 10 campi usati per raggruppare i records).

I valori riepilogativi vengono omessi se non è indicata una funzione SQL di aggregazione nel comando SELECT, al contrario i Valori Null nei campi di GROUP BY vengono ordinati e non saltati.

Quindi è necessario usare la la clausola WHERE per escludere i records che non si vuole raggruppare, invece usare la calusola HAVING per filtrare i records dopo che sono stati raggruppati.

La clausola HAVING permette di specificare quali records raggruppati vengono restituiti da un comando SELECT con clausola GROUP BY.

Per capire meglio il quadro generale partiamo dalla sintassi:

SELECT ………

FROM ………..

WHERE ……….

GROUP BY groupfieldlist

HAVING groupcriteria.

Groupcriteria è un’espressione che determina quali records raggruppati restituire; possono essere usate fino a 40 espressioni collegate dagli operatori And e Or.

Tutte queste definizioni sono molto utili perché in un ambiete multiutente di lavoro(esempio le aziende), ci permette di classificare con ordine le diverse voci.

SELECT Cognome, Nome, Salario

in SQL l’operatore group by ci consente di raggruppare i dati

Un’ interrogazione corretta:

select dipart, count (*), d.città

from impiegato i join dipartimento d on i.dipart=d.nome

group by dipart, città FROM Stipendi ORDER BY Cognome.

Formalizzazione dei concetti statistici di base: Unita’,Caratteri, Classificazione, Matrice dei dati, Dimensioni, Funzioni di aggregazione, Misure, Spazio delle variabili, Cubo multidimensionale. Ma anche NOZIONE DI ACCESSIBILITÀ (IN SENSO TECNICO, NELLA TERMINOLOGIA DEL WEB).

Posted in DEFINIZIONI SW on Dicembre 9, 2008 by maica5

In questo Post ho cercato di illustrare una serie di concetti(come un vero glossario), per rendere la terminologia statistica chiaramente comprensibile.

Un database e’ una raccolta di dati permanenti, gestita ed elaborata da:

Metadati o schema che ci informano, su quali regole valgono i dati, quali valori possono essere validi (vincoli di integrita’) e come i dati sono strutturati e collegati tra loro. Lo schema può cambiare nel tempo, non ha alcun vincolo con i programmi che accedono al database e deve essere definito prima dei dati.

I Dati: sono una rappresentazione(astrazione)dei fatti, ma può anche includere previsioni, supposizioni ed ipotesi conformi ai Metadati (o schema).

Tutti i dati, sono organizzati in insiemi omogenei(stessa struttura)e sono collegabili con altri insiemi.

Le variabili generalmente,per essere integrate, necessitano di un’omogeneità semantica; ciò è possibile attraverso l’uso di metodi di codifica uniformi, utilizzo delle stesse unità di misura, ecc…

Classificazione correlazione tra attributi appartenenti alla stessa dimensione,

dipendente dall’organizzazione e dalle specifiche esigenze applicative (ad

esempio, la gerarchia Tempo è formata dai livelli Anno, Trimestr e Mese.

Un cubo multidimensionale, permette l’intersezione tra i suoi

membri(celle) da cui è possibile ottenere, attraverso estrazione, i dati.

Lo svolgimento di un’interrogazione, può essere un’operazione abbastanza

complessa difatti un cubo può, ad esempio, includere più di tre dimensioni o semplicemente una. I concetti di dimensione, livello, membro e misura sono importanti per comprendere la sintassi.

Le dimensioni sono gli attributi strutturali dei cubi, o meglio, gerarchie organizzate di livelli che descrivono i dati nella tabella dei fatti. Tutte le dimensioni si basano direttamente o indirettamente su tabelle e quando si crea una dimensione da una tabella è necessario, selezionare le colonne che la definiscono. Le dimensioni sono gerarchiche e nella maggior parte dei casi i membri sono disposti in una configurazione a piramide.

Un livello è un elemento della gerarchia divisa per dimensioni. I livelli descrivono la gerarchia dei dati, dal livello superiore al livello inferiore .

I livelli esistono solo all’interno delle dimensioni e ogni livello si basa su una colonna della relativa tabella dimensionale.

I livelli vengono definiti all’interno di una dimensione per specificare il contenuto e la struttura gerarchica. In altre parole, le definizioni dei livelli determinano i membri inclusi nella gerarchia e le posizioni relative dei membri (l’uno rispetto all’altro)all’interno della gerarchia.

Una misura è un set di valori basati su una colonna della tabella dei fatti del cubo e in genere è di tipo numerico.

Le misure inoltre, sono i valori di un cubo su cui si incentra l’analisi,

ovvero rappresentano i dati numerici di principale interesse per gli utenti finali che esaminanoun cubo. Le misure selezionate dipendono dai tipi d’informazioni richieste dagli utenti finali.

Alcuni esempi di misure comuni sono le vendite, i costi, le spese e i volumi di produzione.

Una misura può essere ricavata da più colonne combinate in un’espressione; ad esempio la misura profitto risulta dalla sottrazione di due colonne numeriche: vendite e costi.

I membri calcolati possono essere utilizzati come misure, e i valori dei membri vengono,a sua volta, determinati tramite l’utilizzo di formule. All’interno dello stesso cubo, possono essere create ulteriori dimensioni, per poter incrociare dati, appartenenti alle dimensioni precedenti.Le dimensioni aggiunte possono essere: Anno, Trimestre, Mese, Giorno, Ora…etc.

Un’aggregazione è un insieme di valori (celle) in memoria, qualificate da un

insieme di colonne con il valore delle dimensioni.

Per riconoscere le tabelle delle aggregazioni, bisogna ‘‘mappare’’ le

chiavi esterne e le misure (ad es. nelle fact table), nelle corrispondenti colonne della tabella delle aggregazioni.

E ancora…

  • Unità : è l’oggetto osservato, “artefice” del fenomeno collettivo ed è chiamato, appunto, unità statistica.
  • Matrice dati: rappresenta un insieme rettangolare di numeri/caratteri, dove in riga notiamo le unità statistiche ed in colonna le variabili. Le celle create dall’incontro tra colonna e riga racchiudono un dato, o meglio, il valore registrato per uno specifico caso.
  • Cubo: serie di dati ordinati e in una struttura multidimensionale determinata da un set di dimensioni.
  • Dimensione: peculiarità strutturale di un cubo, ossia una scala gerarchica delle diverse categorie che rappresentano i dati della tabella.
  • Funzione di aggregazione: Questa funzione segue un calcolo su una colonna in un set di righe creando un unico valore.
  • Le misure : sono i valori su cui si basa l’aggregazione e l’analisi dei dati.
  • Classificazione:. Tutte le attività di classificazione hanno il fine di organizzare le entità del dominio in esame, la collocazione delle entità nei diversi contenitori si basa sulla individuazione di differenze di rilievo tra le entità stesse, cioè su processi di distinzione.

  • Aggregate functions: Forniscono indicazioni statistiche relative ad un set di records. Possono essere utilizzate per contare un numero di records in un recordset, o quantificare il valore medio dei valori di un campo.

Per accessibilità intendiamo la capacità di un dispositivo, di un servizio o di una risorsa, d’essere sfruttabile con facilità da tutti gli utenti. Il termine è comunemente usato, per quanto concerne l’applicazione in termini di web, alla possibilità di poter usufruire di un collegamento alla rete.

Normalizzazione: attività mirata all’ ottimizzazione e l’eliminazione della ridondanza nei dati.