Ti trovi qui:
Dimensioni condivise nella semantica di Tableau
Analizzare e confrontare i dati in più tabelle Fatto collegandoli tramite le stesse tabelle dimensionali. Creare analisi complesse e pertinenti al business in modo pulito e affidabile, evitando relazioni duplicate ed eliminando i cicli del modello semantico.
Nella maggior parte delle serie di dati, domini aziendali diversi tengono traccia dei propri eventi separatamente: Sales tiene traccia delle transazioni, Marketing tiene traccia delle campagne, Inventario tiene traccia dei livelli delle scorte e così via. Ciascuno di questi processi aziendali è rappresentato come una tabella dei fatti, che contiene le metriche principali e i dati transazionali relativi a quel dominio.
Per rendere significativi questi dati, ogni tabella Fatto si collega a una o più tabelle dimensionali, ad esempio Prodotti, Date, Campagne, Clienti o Fornitori. Le dimensioni descrivono i fatti e consentono agli utenti di raggrupparli, filtrarli o aggregarli (ad esempio, per data, per categoria di prodotto, per segmento di clientela).
Spesso tabelle Fatto diverse condividono le stesse dimensioni. Ad esempio, sia Marketing che Vendite sono correlati a Prodotti e date.
Quando le tabelle Fatto sono correlate a una dimensione condivisa, l'organizzazione può allineare i dati e analizzare i valori insieme, consentendo di:
- Confronto dei costi delle campagne da Marketing e del reddito da Vendite per prodotto
- Suddivisione dei livelli di inventario e delle prestazioni di vendita per fornitore o cliente
- Analizzare l'attività di assistenza clienti insieme al comportamento di acquisto e reso.
Tali query si estendono su tabelle di fatti diverse, mentre le dimensioni condivise forniscono i punti di connessione che consentono di riunire questi dati ed esplorarli affiancati.
A supporto di questo nel modello semantico, viene introdotto il concetto di tabelle condivise. Quando una tabella delle dimensioni è contrassegnata come condivisa, il sistema sa che può essere utilizzata per connettere più tabelle Fatto in modo sicuro. Ciò consente un'analisi a più fattori pulita e priva di cicli e garantisce che il modello semantico sia in grado di interpretare ed eseguire correttamente le query tra i domini.
Tabelle correlate e non correlate
Un ulteriore concetto chiave nelle tabelle condivise è la differenza tra tabelle correlate e non correlate.
Due tabelle sono considerate correlate quando sono collegate direttamente da una relazione definita. Le query tra tabelle correlate funzionano come previsto: il sistema utilizza il percorso definito per unirle.
Se due tabelle non sono completamente correlate, ovvero non hanno alcuna connessione diretta o condivisa, il sistema non è in grado di determinare come combinare i loro dati e la query avrà esito negativo.
In alcuni casi, le tabelle sono collegate solo tramite una dimensione condivisa. Se si eseguono query sui campi di entrambe le tabelle Fatto senza includere un campo della tabella condivisa e i campi non vengono aggregati, il sistema esegue un join incrociato. Ciò significa che ogni riga di una tabella dei fatti viene combinata con ogni riga dell'altra, poiché non esiste una chiave condivisa per allinearle.
Ad esempio, se Vendite e Marketing sono entrambi collegati a una tabella Prodotti condivisa e si esegue una query su [Vendite].[Quantità vendite] e [Marketing].[Spendere] senza [Prodotti].[Nome prodotto], il sistema combinerà semplicemente tutte le righe Vendite con tutte le righe Marketing.
Per evitare questo problema, la query deve includere un campo della tabella condivisa, ad esempio Prodotto o Data, che funge da chiave di join e fornisce un asse condiviso per raggruppare e aggregare i valori nei due fatti.
Le dimensioni condivise consentono di analizzare i dati di tabelle che altrimenti sarebbero isolate, ma solo se utilizzate correttamente all'interno della query.
Alberi Fatti e loro struttura
Un albero dei fatti è un gruppo di tabelle che appartengono alla stessa area aziendale e sono collegate tra loro. Di solito include una o più tabelle dei fatti insieme alle tabelle delle dimensioni.
Questa struttura non è solo un concetto di modellazione: è qualcosa che il sistema crea automaticamente quando si esegue una query. Gli alberi Fatto sono il modo in cui il livello semantico organizza internamente le tabelle per valutare correttamente le dimensioni condivise.
Nel diagramma di esempio sopra, Marketing è una tabella Fatto collegata alle tabelle condivise Prodotti e Date. Questo forma il suo albero dei fatti. Sales è un'altra tabella dei fatti che si collega alle stesse dimensioni condivise, formando un albero dei fatti separato. Questa struttura consente al sistema di capire in che modo ogni albero funziona in modo indipendente, abilitando comunque l'analisi incrociata degli alberi attraverso dimensioni condivise.
Gli alberi Fatto devono rimanere privi di cicli. I cicli introducono ambiguità: se il sistema può raggiungere la stessa tabella attraverso più di un percorso, potrebbe non sapere quale seguire o come applicare correttamente filtri e aggregazioni. Per questo motivo, la creazione di una nuova relazione che introduce un ciclo, ad esempio la connessione di Marketing direttamente alla sottocategoria (che è già raggiungibile tramite Prodotto), non è consentita.
In che modo le dimensioni condivise influiscono sulle query
Le dimensioni condivise non solo aiutano a strutturare il modello semantico, ma determinano anche il comportamento delle query in fase di esecuzione, garantendo risultati precisi e una logica coerente.
Si supponga di analizzare in che modo la Spesa di marketing è correlata alla Quantità di vendita. Queste due misure provengono da tabelle di fatto diverse: Marketing e Vendite. Da soli, non possono essere allineati in modo significativo perché non esiste un contesto condiviso in base al quale raggrupparli. Se si trascinano entrambi i campi in una query senza utilizzare un riferimento condiviso, il sistema non può trovare corrispondenze tra le righe e potrebbe restituire risultati fuorvianti o addirittura non riuscire.
Tuttavia, una volta introdotte due dimensioni condivise, ad esempio Prodotto e Data, la situazione cambia. Con queste opzioni è possibile chiedere: "Per ogni prodotto e mese, quanto abbiamo speso per il marketing e quante unità sono state vendute?"
Poiché Vendite e Marketing sono entrambi collegati a Prodotti e Date (tabelle condivise), il sistema può ora allineare correttamente entrambe le misure -- per prodotto, per mese -- e restituire risultati aggregati significativi:
| Prodotto | Month | Spesa di marketing | Quantità di vendita |
|---|---|---|---|
| Bike | Gennaio 2024 | 5000 | 12 |
| Bike | Febbraio 2024 | nullo | 8 |
| Auto | Gennaio 2024 | 10,320 | 22 |
| Auto | Febbraio 2024 | 5000 | 10 |
Comportamento dei filtri
I filtri vengono applicati in modo da evitare di modificare i dati di tabelle non correlate.
- Quando si applica un filtro a un campo specifico dei fatti, ad esempio Tipo di marketing, viene filtrata solo la tabella dei fatti, non qualsiasi altro fatto o dimensione condivisa.
- Quando si applica un filtro a una dimensione condivisa, ad esempio Nome prodotto o Data, si applica a tutte le tabelle Fatto a essa collegate.
Questo comportamento impedisce ai filtri di rimuovere i record non correlati. Ad esempio, se si seleziona Online nel filtro Tipo di marketing, viene aggiornata solo la Spesa di marketing -- Quantità di vendita rimane invariata.
Gli alberi Fatto devono rimanere privi di cicli. I cicli introducono ambiguità: se il sistema può raggiungere la stessa tabella attraverso più di un percorso, potrebbe non sapere quale seguire o come applicare correttamente filtri e aggregazioni. Per questo motivo, la creazione di una nuova relazione che introduce un ciclo, ad esempio la connessione di Marketing direttamente alla sottocategoria (che è già raggiungibile tramite Prodotto), non è consentita.
Campi calcolati e contenimento dell'albero Fatto
I campi calcolati devono rispettare i confini dell'albero dei fatti. Se si crea un campo calcolato a livello di riga, ad esempio:
IF [Support].[Priorità] <= 1 THEN "High" ELSE "Low"
-- quel campo è valido finché rimane nello stesso albero dei fatti (supporto in questo caso). È possibile utilizzarlo per analizzare gli schemi o filtrare l'attività correlata all'assistenza in base a dimensioni come Cliente o Prodotto (se tali dimensioni sono condivise) e tutto si comporterà come previsto.
Tuttavia, se si tenta di creare un campo calcolato che si estende su più tabelle Fatto, ad esempio:
[Inventario].[Quantità] + [Vendite].[Quantità vendite]
-- la piattaforma genera un errore. Tenta di combinare i dati a livello di riga di due diversi alberi Fatto e il sistema non è in grado di risolvere un livello di dettaglio comune per quell'espressione. Ogni albero dei fatti ha la propria granularità indipendente e il proprio contesto di filtro.
Per ottenere calcoli incrociati validi, è necessario aggregare ogni fatto in modo indipendente e quindi combinare tali aggregazioni a livello di visualizzazione:
SUM([Inventory].[Quantity]) + SUM([Sales].[Sales Quantity])
Questa espressione è consentita perché entrambe le misure vengono aggregate prima di essere combinate e l'aggregazione è limitata al livello di prodotto o a qualsiasi dimensione si trovi nella visualizzazione.
Limitazioni delle dimensioni condivise e degli alberi Fatto
- Le tabelle Fatto devono rimanere disconnesse tra loro. Non possono essere uniti direttamente. Qualsiasi collegamento tra di loro deve avvenire solo tramite tabelle di dimensioni condivise.
- I campi calcolati a livello di riga, siano essi dimensioni o misure, devono essere completamente contenuti in un unico albero dei fatti.
- Non è possibile collegare una tabella condivisa a un'altra tabella condivisa e quindi a una tabella Fatto. In altre parole, nel percorso di connessione tra una tabella Fatto e le sue dimensioni può esistere una sola tabella condivisa. Ad esempio, se Prodotti è una tabella condivisa collegata a Date (un'altra tabella condivisa) e quindi entrambe si connettono a Vendite, questa struttura non è supportata.
- Quando si filtrano i campi di più alberi Fatto nella stessa query, tali filtri devono essere combinati utilizzando una condizione AND, non OR.
- Creazione di una nuova tabella condivisa
Utilizzare le tabelle condivise per collegare più tabelle Fatto attraverso una dimensione comune, per confrontare i record in tabelle diverse. In questo modo il modello di dati viene mantenuto pulito e inequivocabile e i filtri si comportano correttamente nelle diverse serie di dati.

