Tabella pivot

Da Wikipedia, l'enciclopedia libera.

Una tabella pivot è uno strumento analitico e di reporting necessario alla creazione di tabelle riassuntive. Uno dei fini principali di queste tabelle è l'organizzazione di dati complessi tramite una scelta opportuna dei campi e degli elementi che devono comporla.

Descrizione[modifica | modifica wikitesto]

Una tabella pivot può descrivere un numero molto elevato di variabili, dette anche caratteristiche o dimensioni di analisi.

La tabella pivot è divisa in quattro aree, ciascuna contenente molteplici variabili: una per le righe, una per le colonne, una per il contenuto della tabella (area dati). Le restanti variabili sono visualizzate in un'area esterna alla tabella tramite dei filtri.

Per un limite visuale di qualsiasi grafico, possono essere visualizzate soltanto tre variabili.

Le operazioni ammesse sui campi di una tabella pivot sono di tipo matematico-statistico: conta valori, somma, differenza, prodotto, varianza, deviazione standard.

I campi riga possono essere ordinati in modo manuale o automatico (crescente o decrescente) rispetto a valori del campo stesso di un campo dell'area dati.

Possono essere rinominate le etichette e singoli valori dei campi riga e colonna, mentre non sono modificabili le celle dell'area dati. Cliccando due volte su una cella dell'area dati, viene aperto un nuovo foglio di calcolo che mostra la tabella sorgente nella selezione di celle su cui è stato calcolato il dato.

Una tabella pivot presenta un tracciato o layout di visualizzazione molto flessibile, che può essere facilmente modificato per avere tutti i tipi di viste sui dati, spostando col mouse l'etichetta di un campo fra righe, colonne, area dati e area filtri. Si può, quindi, trasporre la tabella, invertendo righe con colonne, o avere un'aggregazione diversa dei dati. La tabella pivot consente di creare gruppi e operazioni su questi, agire sulle singole celle per cambiarne il formato di visualizzazione, rinominare ogni variabile e relativi valori. Non è invece modificabile il valore delle celle dell'area dati, per cui non si possono inserire valori e formule nelle celle dell'area dati e nelle intestazioni di riga o colonna. Excel protegge interamente dalla modifica la tabella pivot, mentre Calc permette di spostare il valore di una cella, e di aggiungere o eliminare righe o colonne, fermo restando che non è possibile cambiare il contenuto delle celle dell'area dati.

La relazione fra due oggetti può essere uno-a-uno, uno-a-molti, molti-a-molti: tale cardinalità degli insiemi può essere modellata in uno schema entità-relazione. Le variabili di una tabella pivot hanno una relazione molti-a-molti, vale a dire che sono indipendenti e, se rappresentate in un grafico, ortogonali.

Exquisite-kfind.png Per approfondire, vedi Modello E-R.

Variabili che presentano un legame uno-a-uno (ad esempio "studente" e "matricola studente") sono in pratica due nomi assegnati alla stessa variabile. Se le variabili hanno un legame uno-a molti (ad esempio "corso di laurea" e "studente"), si ha un'unica variabile raccolta in gruppi (variabile "studente" i cui valori sono raccolti in tanti gruppi quanti sono i valori della variabile "corso di laurea").

La tabella pivot permette di creare gerarchie per le variabili riga, colonna, e dell'area filtri, in un numero di livelli a piacere ovvero limitato dal foglio di calcolo. Su ogni gruppo è possibile eseguire una funzione riassuntiva (quattro operazioni, media o una delle altre funzioni statistiche).

Ad esempio, in una tabella "studente/data", avente filtro "esame" e come contenuto il "voto", si può definire un gruppo "classe" per la variabile (riga o colonna) "studente", ed aggiungere una riga (o colonna) per visualizzare la dispersione dei voti della classe, come operazione eseguita sul gruppo creato.

I principali tipi di Foglio di calcolo (Excel e OpenOffice.org Calc) permettono la creazione di tabelle pivot. In Open Office Calc, si parla di DataPilot: a differenza di Excel, Calc non permette di collegare le tabelle pivot a dei grafici (Pivot Chart).

Usi[modifica | modifica wikitesto]

Le tabelle pivot vengono usate principalmente per raccogliere dati in modo strutturato al fine di evidenziare le relazioni tra gruppi diversi.

Si rendono particolarmente utili se si rende necessario esaminare diverse categorie di dati in configurazioni diverse. Anche per questo vengono apprezzate soprattutto nel caso in cui sia necessario elaborare tabelle di grandi dimensioni. Possono essere considerate un “riassunto” di una grande tabella: i dati sono strutturati, aggregati e snelliti.

I dati presentati nella tabella pivot derivano dalla tabella originaria e quindi queste tabelle non sono fatte per modifiche manuali dei loro contenuti: le tabelle pivot sono legate al momento in cui queste sono state generate e perciò una modifica della tabella madre non necessariamente comporta una modifica nei dati della tabella pivot derivata.

Tabelle pivot con funzioni testuali e di data mining[modifica | modifica wikitesto]

Per creare una tabella pivot è necessario avere nella tabella di origine almeno un campo di soli dati (nessuna funzione o formula) in formato numerico, sul quale sia possibile definire una funzione matematica (somma, prodotto, massimo, minimo, ecc.).

Le tabelle pivot non consentono di operare sui dati con funzioni testuali o di ricerca; le uniche funzioni Excel disponibili per l'area dati sono parte delle funzioni matematiche. Questo aspetto è molto limitante perché non consente di utilizzare le tabelle pivot per fare estrazioni, come alternativa ad Access o alle funzionalità di data mining che offrono i più diffusi database. Ciò sarebbe utile dove il legame fra la variabile dati e quelle di riga e colonna è molti-a-molti.

Ad esempio, un professore e i nomi dei corsi hanno un legame molti-a-molti, così come alunni con professori e corsi, perché si possono frequentare più corsi di uno stesso professore, o di professori differenti.

La funzione che opera sull'area dati può accettare un numero di argomenti a piacere (etichette di riga e colonna), ha il solito limite di restituire un solo valore, un'unica cella. Tutte le funzioni Excel sono di questo tipo e teoricamente ammissibili in una tabella pivot.

Funzione "concatenate" nelle tabelle pivot[modifica | modifica wikitesto]

È eseguibile su un foglio di calcolo qualsiasi funzione operante con stringhe di numeri o testo del tipo f : R^n → R, quindi con l'unico vincolo che il valore restituito sia un valore e uno solo (la formula funzione occupa una sola cella), viceversa i dati di partenza sono normalmente molteplici, intervallati da un separatore oppure presenti in più di una cella.

Con la semplice funzione testuale "CONCATENA" sarebbe possibile estrarre in un'unica cella i nomi degli studenti che frequentano un determinato corso e professore, con un pivot che punta a una tabella di origine che riporta nelle righe i nomi di chi frequenta, nelle colonne i corsi, e nell'area dati il nome del docente.

Questo tipo di operazione è possibile in MySQL con l'istruzione "CONCATENATE" e in Access tramite una query sulla tabella di origine e una macro che concatena le colonne della tabella pivot.

Ipercubo OLAP e tabella pivot[modifica | modifica wikitesto]

Un caso particolare di tabella pivot è il cosiddetto ipercubo OLAP. La tabella pivot è in questo caso il report che risulta da una query OLAP su un ipercubo di dati. L'ipercubo è formato da un dato, e da un numero arbitrario di dimensioni di analisi. Ogni dato è identificato da una tupla di valori, uno per ogni dimensione di analisi, o caratteristica di analisi; ogni caratteristica può essere rappresentata con un asse cartesiano. Il numero di caratteristiche di analisi è arbitrario e definisce un ipercubo o politopo.

I dati vengono copiati in un server a parte, diverso da quelli che gestiscono l'operatività. In questo modo gli accessi in lettura per l'analisi dei dati non sovraccaricano i sistemi di base, e i dati sono organizzati in modo tale da consentire aggregazioni rapide, anche complesse, e interrogazioni processate in tempi brevi.

Ad esempio: in un'ipotetica banca dati degli esami universitari, il voto è identificato dall'insieme di caratteristiche di analisi [codice studente, codice professore, codice esame, data], dette anche dimensioni di analisi. Lo stesso esame, infatti, può essere sostenuto in più date, lo stesso professore essere titolare di più di un corso e presenziare a più esami. Quindi ogni dato, ogni voto, sarà memorizzato insieme ad altri quattro numeri: un codice studente, un codice professore, un codice esame, una data. Le dimensioni di analisi definiscono un ipercubo (a 4 dimensioni, 4 assi cartesiani), riempito dai dati, i voti degli esami.

Le caratteristiche di analisi identificano il dato. In pratica: voto = funzione(codice studente, codice professore, codice esame, data). La tabella pivot opera una restrizione di funzione su questo ipercubo. Esempi di queste restrizioni possono essere: visualizzazione degli esami e dei relativi voti per un certo professore e data (semplice filtro dei dati); media dei voti per un certo professore, esame, data.

Tabelle pivot nei fogli di calcolo[modifica | modifica wikitesto]

Il primo programma informatico ad introdurre le tabelle pivot è stato Lotus Improv. Molti applicativi ad oggi supportano le tabelle pivot o funzionalità equivalenti.

Ad esempio fornisce la quantità ordinata per commessa e per materiale, come secondo criterio, visualizzando una quantità ordinata totale per commessa, e il particolare per ogni materiale. Excel calcola subtotali per più colonne, ma sempre con la stessa funzione (esempio: quantità ordinata, consegnata e saldi per materiale). Calc opera con funzioni differenti e su più livelli, e può fornire media dei prezzi e quantità ordinata per commessa e materiali.

Excel, di contro, con un semplice trascinamento dell'intestazione (la cella che contiene il nome della riga/colonna/filtro) consente di creare varie reportistiche, visualizzare una caratteristica nelle aree righe, colonne, dati oppure filtri del foglio Excel.
Dalla versione 2012, contiene la funzione che identifica i gruppi da selezione e mostra la tabella pivot in formato struttura: il programma riconosce i valori ripetuti di un dato campo riga e raggruppa "ad albero" i restanti campi (analogamente per i campi colonna).

Sia Excel che Calc permettono di filtrare singoli campi (per valore del campo stesso, o per valore di altre etichette di riga o colonna).

Le tabelle pivot in Excel utilizzano un proprio linguaggio di programmazione, Data Analysis Expressions. Il DAX è un linguaggio delle espressioni delle formule utilizzato per definire i calcoli in Power Pivot in Excel, nulla ha che vedere col Visual Basic for applications sempre utlizzabile in Excel per la costruzione di macro. Se numerose funzioni hanno lo stesso nome e sintassi in Excel e DAX, non è possibile combinare all'interno della stessa formula funzioni DAX con altre funzioni specifiche di Excel non implementate dal DAX.

Calcolo dei subtotali[modifica | modifica wikitesto]

Se due o più variabili hanno una relazione uno-a-molti, è possibile calcolare dei subtotali.

I fogli di calcolo hanno una funzionalità dedicata al calcolo dei subtotali, su uno o più livelli, operando su una molteplicità di colonne, talora con operazioni differenti.

Un'operazione analoga può essere svolta con una tabella pivot, in modo più oneroso, perché occorre ricreare manualmente i gruppi per ogni variabile.

Riprendendo il solito esempio, la tabella studente/esame/data/voto potrebbe avere una colonna con i nomi degli studenti accanto a una colonna per la variabile "classe". Usando la funzionalità dei subtotali, il calcolo del voto per studente/classe è immediato; con la tabella pivot, bisogna creare manualmente un gruppo di valori della variabile "studente" per ogni classe, dopodiché si può eseguire il calcolo.

Con Office 2003, è possibile eseguire solamente un'operazione per tutti dati, per cui l'operazione che si esegue su un gruppo di studenti potrà essere la media dei voti, se per tutti gli studenti nell'area dati è calcolata la media dei voti; viceversa, non è possibile vedere la media dei voti di uno studente, e per un gruppo di studenti, un'operazione diversa, come il voto massimo. È tuttavia possibile fare più operazioni sull'area dati e, quindi, per gruppi di valori delle variabili di riga e colonna. Per questo tipo di dettaglio, occorre un consolidamento dei dati.

Office 2003 offre una funzione di consolidamento dei dati che permette di effettuare operazioni diverse su gruppi differenti di valori di una variabile riga e colonna: esempio voto massimo di un gruppo A di studenti, e media per un gruppo B, oppure media per tutto l'elenco e in aggiunta voto massimo per il solo gruppo A. Il consolidamento può avvenire nello stesso foglio di lavoro, o in un nuovo foglio, potendo scegliere solamente in questo secondo caso di mantenere un collegamento con i dati originari, che si possono visualizzare nello stesso foglio consolidato espandendo un valore, come per i subtotali. Gli intervalli di consolidamento possono esser multipli: la sorgente dei dati consolidati può interessare più aree dello stesso foglio di lavoro, o di fogli differenti.

Il modulo software "Calc" di Open Office Calc e LibreOffice Calc ha una funzione per il calcolo dei subtotali più flessibile di quella di Excel. La funzionalità può essere utilizzata anche all'interno della tabella pivot, per trovare subtotali di righe e/o colonne. Microsoft Excel consente di calcolare un subtotale ad ogni cambiamento di una colonna al massimo, e al massimo con un tipo di operazione su uno o più campi, "Calc" permette di ottenere parziali fino a 3 livelli, ossia al cambiamento di 3 attributi della tabella, e di svolgere un'operazione differente al limite per ogni combinazione di colonna/livello di calcolo (al massimo tre operazioni diverse per la stessa colonna).

Voci correlate[modifica | modifica wikitesto]

Informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica