Vai al contenuto principale

Tutorial sulla modellazione dei dati in Power BI

Scopri cos’è la modellazione dei dati in Power BI e come le buone pratiche di data modeling possono portare i tuoi report Power BI al livello successivo.
Aggiornato 29 set 2026  · 11 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Buone pratiche di modellazione dei dati sono molto importanti per creare report Power BI ottimizzati per le prestazioni e in grado di scalare secondo le necessità.

Questo tutorial utilizza un dataset di esempio fornito da Microsoft, adattato per riflettere le migliori pratiche di data modeling di cui parleremo in questo articolo. Puoi scaricare il dataset qui.

Che cos’è la modellazione dei dati?

La modellazione dei dati è il processo di creazione di rappresentazioni visive delle connessioni tra strutture di dati, con informazioni sugli attributi individuali contenuti in tali strutture.

Quando si parla di modellazione dei dati in generale, il termine che sentirai più spesso è schema a stella. Si tratta di un approccio ampiamente adottato per progettare data warehouse e database relazionali ed è l’approccio consigliato anche in Power BI. 

Ci sono due principali vantaggi nell’utilizzare uno schema a stella:

  • Usabilità: Uno schema a stella rende il tuo modello dati più pulito e organizzato, e il report risulterà più facile da usare.
  • Prestazioni: Gli schemi a stella ti permettono di scalare facilmente il report su volumi di dati molto grandi. Anche le misure DAX vengono calcolate più velocemente e l’aggiornamento del report Power BI è complessivamente più rapido.

Come funziona uno schema a stella?

Uno schema a stella è composto da una tabella dei fatti centrale con più tabelle di dimensione che si diramano da essa, proprio come l’aspetto di una stella. Idealmente, è buona pratica avere una sola tabella dei fatti in un modello dati. Tuttavia, in Power BI è possibile includere più tabelle dei fatti.

Power BI Star Schema Screenshot 1Schema a stella in Power BI. Immagine dell’autore

Una tabella dei fatti è composta da valori che possono essere riassunti e aggregati, oltre a una o più chiavi che collegano alle tabelle di dimensione. Lo scopo della chiave è creare connessioni tra le tabelle. Se hai modelli dati complessi o grandi volumi di dati, è una buona idea che le chiavi siano valori numerici piuttosto che stringhe di testo, perché questo può migliorare le prestazioni del modello.

Le tabelle dei fatti dovrebbero essere molto strette e includere il minor numero possibile di colonne. Eventuali colonne che descrivono le caratteristiche di un dataset, come Nome prodotto o Categoria prodotto, dovrebbero essere separate dalla tabella dei fatti (se non sono già separate nel data warehouse) nelle rispettive tabelle di dimensione. Questo processo si chiama normalizzazione dei dati e l’obiettivo è evitare la ripetitività.

Le tabelle di dimensione descrivono le caratteristiche del dataset, raggruppando logicamente le caratteristiche in tabelle separate per evitare di appesantire un’unica tabella o rendere difficoltosa la creazione delle relazioni. Le tabelle di dimensione dovrebbero contenere valori univoci per le caratteristiche che descrivono e le loro colonne saranno responsabili del filtraggio o del raggruppamento dei dati nel report Power BI. 

Un’estensione dello schema a stella è lo schema a fiocco di neve. In questo approccio, le tabelle di dimensione vengono ulteriormente suddivise se una caratteristica ha ulteriori categorie o sottocategorie. Nel nostro caso, abbiamo una tabella Prodotti che contiene ID prodotto, Nome prodotto e Categoria prodotto. In uno schema a fiocco di neve, questa tabella Prodotti conterrà solo ID prodotto e Nome prodotto, mentre la Categoria prodotto verrà ulteriormente suddivisa in una propria tabella con ID categoria prodotto e Categoria prodotto.

Power BI Star Schema Screenshot 2Schema a fiocco di neve in Power BI. Immagine dell’autore

Tuttavia, l’uso di uno schema a fiocco di neve può aggiungere inutilmente complessità al tuo modello dati; includere queste tabelle extra potrebbe ridurre le prestazioni e rendere difficile e confusa la creazione delle relazioni.

Come creare relazioni in Power BI

Ci sono due modi per creare una relazione in Power BI:

  1. Seleziona un campo da una tabella e trascinalo sul campo della seconda tabella con cui vuoi creare la relazione. 
  2. Seleziona Gestisci relazioni nella barra multifunzione e scegli “Nuovo” per aggiungere una relazione usando la stessa finestra di cui parleremo tra poco (solo che partirà vuota).

Per impostazione predefinita, Power BI proverà a dedurre una relazione tra le tabelle; non sempre ci riesce, quindi potresti voler disattivare questa funzione nelle impostazioni o eliminare eventuali relazioni create automaticamente. Per modificare la relazione, fai clic con il tasto destro sulla linea di collegamento tra le tabelle e seleziona “Proprietà”. 

Questa finestra offre 2 opzioni interessanti quando si definisce una relazione: cardinalità e direzione del filtro incrociato. Le scelte per ciascuna di queste opzioni possono avere un forte impatto sul report risultante, quindi valuta con attenzione. Vediamo nel dettaglio ciascuna opzione.

Edit relationship in Power BI screenshotCreare relazioni in Power BI. Immagine dell’autore

Cardinalità

Ci sono 4 scelte di cardinalità: molti-a-uno, uno-a-uno, uno-a-molti o molti-a-molti. 

Quando crei relazioni, si consiglia che il campo di collegamento contenga valori univoci in almeno una delle tabelle. Questo ti permette di usare le opzioni uno-a-molti o molti-a-uno nel tuo modello dati. 

Nei nostri dati, abbiamo una relazione tra la tabella Financials e la tabella Products usando il campo ID prodotto. La tabella Products ha valori univoci per il campo Prodotto (ogni prodotto compare una sola volta nella tabella). Tuttavia, la tabella Financials può contenere ciascun prodotto più volte per data, paese, segmento, ecc.

L’opzione molti-a-molti è la più problematica e, sebbene possa essere molto utile in modelli complessi, andrebbe selezionata solo se comprendi appieno le conseguenze di questa relazione.

Per illustrare dove le relazioni molti-a-molti possono creare problemi, creiamo nel modello dati una tabella degli obiettivi di vendita annuali per Categoria prodotto. Dobbiamo poter riportare i valori di vendita e questi obiettivi affiancati nello stesso visual. Questo si può ottenere creando una relazione molti-a-molti tra la tabella Sales Target e la tabella Product. 

Many-to-many relationship in Power BI ScreenshotRelazioni molti-a-molti in Power BI. Immagine dell’autore

Nella seguente tabella visual, possiamo vedere i valori di vendita e gli obiettivi affiancati per ciascuna categoria di prodotto. 

Cardinality in Power BI Table Screenshot 1

Categoria prodotto, vendite e importo. Immagine dell’autore

Tuttavia, se provassimo a visualizzare questa tabella a livello di Prodotto, i valori per l’obiettivo sarebbero completamente errati. Questo a causa dei diversi livelli di granularità nei dati; poiché esistono solo obiettivi di vendita a livello di categoria di prodotto, Power BI non può visualizzare ragionevolmente questi obiettivi a livello di prodotto e quindi gli obiettivi vengono semplicemente duplicati per ogni prodotto nella categoria. Se non sapessi che questa può essere una conseguenza dell’uso di una relazione molti-a-molti, ciò potrebbe essere altamente problematico per il reporting aziendale.

Cardinality in Power BI Table Screenshot 2Categoria prodotto, vendite e importo. Immagine dell’autore


Direzionalità

L’opzione di direzione del filtro incrociato offre la scelta tra singola o entrambe le direzioni. Le relazioni fluiscono dalla tabella con valori unici alla tabella con molti valori. Nel nostro caso, la relazione fluisce dalla tabella Products alla tabella Financials. Ciò significa che, se la direzione del filtro incrociato è impostata su singola, la tabella Financials può essere filtrata dai campi prodotto e categoria prodotto nella tabella Products.  Tuttavia, la tabella Products non può essere filtrata utilizzando il campo ID prodotto nella tabella Financials o utilizzando qualsiasi altra caratteristica contenuta in altre tabelle di dimensione. 

La direzione singola è consigliata nella maggior parte dei casi. Questo perché le relazioni bidirezionali (opzione “entrambe”) non solo riducono le prestazioni del modello, ma possono anche introdurre ambiguità quando si filtra i dati.

Nel nostro caso, considera le relazioni tra le tabelle Product, Countries e Financials. Sono entrambe relazioni uno-a-molti a direzione singola. Questo significa che filtrare il report per paese non filtrerà a sua volta la tabella Product. Per illustrarlo, considera gli slicer qui sotto. Selezionare un paese (come gli USA) non farà sì che lo slicer dei prodotti si adatti mostrando solo i prodotti rilevanti per quel paese. 

Directionality in Power BI Screenshot 1

Slicer in Power BI. Immagine dell’autore

Tuttavia, modificando la relazione tra la tabella Products e la tabella Financials in bidirezionale, possiamo consentire al filtraggio di fluire nella tabella Products. In questo caso, vediamo che il prodotto Carretera non appare nello slicer dei prodotti perché non ci sono vendite per quel prodotto negli Stati Uniti d’America.

Directionality in Power BI Screenshot 2Slicer in Power BI. Immagine dell’autore

In alternativa, per evitare l’uso di relazioni bidirezionali, puoi aggiungere un filtro al visual dello slicer per escludere gli elementi vuoti. Vale la pena notare che dovresti farlo per ogni visual che utilizza campi tra tabelle di dimensione.

Power BI Data Modeling Filter ScreenshotFiltri e slicer in Power BI. Immagine dell’autore

Come ottimizzare il tuo modello Power BI

Il fattore più importante per ottimizzare il tuo modello Power BI è utilizzare buone pratiche di modellazione dei dati come quelle illustrate in questo tutorial. Molto spesso, un buon modello dati può, da solo, consentire a un report Power BI di scalare a milioni e miliardi di righe mantenendo comunque un livello di prestazioni adeguato. 

Tuttavia, oltre a seguire buone pratiche di data modeling, ci sono alcune altre cose che puoi fare per ottimizzare il tuo modello Power BI, come ad esempio:

  • Disattivare la time intelligence – Questa funzione in Power BI crea automaticamente gerarchie data/ora ogni volta che un campo data viene aggiunto a un visual. Ogni volta che viene creata una di queste gerarchie, in pratica si aggiunge una tabella aggiuntiva al modello dati. Come puoi immaginare, questo può far gonfiare significativamente il report Power BI, rallentando il rendering dei visual e aumentando i tempi di aggiornamento. È una buona idea disattivare questa funzione e utilizzare invece una tabella date dedicata per tutte le gerarchie data/ora.
  • Caricare solo le colonne di cui hai davvero bisogno – Usando l’editor di Power Query, è una buona idea rimuovere le colonne di cui non hai bisogno o che non stai usando nel report. Uno dei campi più comuni che di solito si mantiene “nel caso servisse” è un campo Row ID. Questo campo sarebbe univoco per il tuo dataset, ma un esempio è l’Order ID per ogni transazione in una tabella Ordini. Molto spesso, questo campo ID è anche archiviato come testo, il che gonfia ulteriormente il modello. Se il campo ID non è esplicitamente utilizzato in una relazione, di solito non è necessario caricarlo nel modello.
  • Caricare solo le righe necessarie – Non cadere nella trappola di pensare di dover importare tutti i dati aziendali nel tuo report Power BI. Soprattutto se la tua azienda opera da molto tempo, questo può significare che il report conterrà una grande quantità di dati a cui nessuno presta davvero attenzione. La chiave qui è parlare con gli utenti business del report e capire esattamente di quanta storicità hanno bisogno. Se devono vedere dati più vecchi, potresti considerare di importare solo una versione riepilogata di quella tabella anziché ogni singola transazione.

Considerazioni finali

Applicare solide pratiche di modellazione dei dati è fondamentale per creare report Power BI efficienti e scalabili. Questo tutorial sottolinea l’importanza dello schema a stella, che migliora sia l’usabilità sia le prestazioni. Comprendere concetti chiave come la creazione delle relazioni, la cardinalità e la direzionalità garantisce che il tuo modello dati sia funzionale e ottimizzato.

Inoltre, adottare buone pratiche come disattivare le funzionalità non necessarie e limitare le importazioni di dati migliora ulteriormente le prestazioni. Seguendo queste linee guida, puoi aumentare sensibilmente l’efficienza e la scalabilità dei tuoi report Power BI, rendendoli strumenti più efficaci per l’analisi aziendale. Continua a sviluppare le tue competenze con i corsi di DataCamp. Esplora l’intera gamma di risorse Power BI di DataCamp, tra cui corsi e percorsi di competenze, blog e tutorial. 

Argomenti
Power BI
Data Visualization
Correlato

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

Mostra AltroMostra Altro