OBIEE - Modellazione dimensionale

La modellazione dimensionale fornisce una serie di metodi e concetti utilizzati nella progettazione DW. Secondo il consulente DW, Ralph Kimball, la modellazione dimensionale è una tecnica di progettazione per database intesa a supportare le query degli utenti finali in un data warehouse. È orientato alla comprensibilità e alle prestazioni. Secondo lui, sebbene l'ER orientato alla transazione sia molto utile per l'acquisizione delle transazioni, dovrebbe essere evitato per la consegna all'utente finale.

La modellazione dimensionale utilizza sempre fatti e tabelle delle dimensioni. I fatti sono valori numerici che possono essere aggregati e analizzati sui valori dei fatti. Le dimensioni definiscono le gerarchie e la descrizione sui valori dei fatti.

Tabella delle dimensioni

La tabella delle dimensioni memorizza gli attributi che descrivono gli oggetti in una tabella dei fatti. Una tabella delle dimensioni ha una chiave primaria che identifica in modo univoco ogni riga della dimensione. Questa chiave viene utilizzata per associare la tabella delle dimensioni a una tabella dei fatti.

Le tabelle delle dimensioni vengono normalmente denormalizzate in quanto non vengono create per eseguire transazioni e vengono utilizzate solo per analizzare i dati in dettaglio.

Esempio

Nella seguente tabella delle dimensioni, la dimensione del cliente normalmente include il nome dei clienti, l'indirizzo, l'ID del cliente, il sesso, la fascia di reddito, i livelli di istruzione, ecc.

identificativo del cliente Nome Genere Reddito Formazione scolastica Religione
1 Brian Edge M 2 3 4
2 Fred Smith M 3 5 1
3 Sally Jones F 1 7 3

Tabelle dei fatti

La tabella dei fatti contiene valori numerici noti come misurazioni. Una tabella dei fatti ha due tipi di colonne: fatti e chiave esterna per le tabelle delle dimensioni.

Le misure nella tabella dei fatti sono di tre tipi:

  • Additive - Misure che possono essere aggiunte in qualsiasi dimensione.

  • Non-Additive - Misure che non possono essere aggiunte in nessuna dimensione.

  • Semi-Additive - Misure che possono essere aggiunte su alcune dimensioni.

Esempio

ID ora Codice prodotto identificativo del cliente Unità venduta
4 17 2 1
8 21 3 2
8 4 1 1

Queste tabelle dei fatti contengono chiavi esterne per dimensione temporale, dimensione prodotto, dimensione cliente e unità di valore di misura venduta.

Supponiamo che un'azienda venda prodotti ai clienti. Ogni vendita è un fatto che avviene all'interno dell'azienda e la tabella dei fatti viene utilizzata per registrare questi fatti.

I fatti comuni sono: numero di unità vendute, margine, fatturato, ecc. La tabella delle dimensioni elenca fattori come cliente, tempo, prodotto, ecc. In base ai quali si desidera analizzare i dati.

Ora, se consideriamo la tabella dei fatti sopra e la dimensione del cliente, ci saranno anche una dimensione del prodotto e del tempo. Data questa tabella dei fatti e queste tre tabelle dimensionali, possiamo porre domande come: quanti orologi sono stati venduti a clienti di sesso maschile nel 2010?

Differenza tra dimensione e tabella dei fatti

La differenza funzionale tra le tabelle delle dimensioni e le tabelle dei fatti è che le tabelle dei fatti contengono i dati che vogliamo analizzare e le tabelle delle dimensioni contengono le informazioni necessarie per consentirci di interrogarle.

Tabella aggregata

La tabella aggregata contiene dati aggregati che possono essere calcolati utilizzando diverse funzioni aggregate.

Un aggregate function è una funzione in cui i valori di più righe sono raggruppati insieme come input su determinati criteri per formare un singolo valore di significato o misurazione più significativo.

Le funzioni aggregate comuni includono:

  • Average()
  • Count()
  • Maximum()
  • Median()
  • Minimum()
  • Mode()
  • Sum()

Queste tabelle aggregate vengono utilizzate per l'ottimizzazione delle prestazioni per eseguire query complesse in un data warehouse.

Esempio

Salvate tabelle con dati aggregati come annuale (1 riga), trimestrale (4 righe), mensile (12 righe) e ora dovete fare il confronto dei dati, come Annuale verrà elaborata solo 1 riga. Tuttavia, in una tabella non aggregata, verranno elaborate tutte le righe.

MIN Restituisce il valore più piccolo in una data colonna
MAX Restituisce il valore più grande in una data colonna
SOMMA Restituisce la somma dei valori numerici in una data colonna
AVG Restituisce il valore medio di una data colonna
CONTARE Restituisce il numero totale di valori in una data colonna
CONTARE (*) Restituisce il numero di righe in una tabella

Seleziona Avg (stipendio) dal dipendente dove title = 'developer'. Questa dichiarazione restituirà lo stipendio medio per tutti i dipendenti il ​​cui titolo è uguale a "Sviluppatore".

Le aggregazioni possono essere applicate a livello di database. È possibile creare aggregati e salvarli in tabelle aggregate nel database oppure applicare l'aggregazione al volo a livello di report.

Note - Se si salvano gli aggregati a livello di database, si risparmia tempo e si ottimizza le prestazioni.