Un grafico in Power BI mostra che le vendite sono calate in una regione, ma il totale non dice ancora perché. Con la funzione drill through puoi passare dalla sintesi a una pagina di dettaglio già filtrata, usando DAX per rendere più chiari indicatori, eccezioni e contesto analitico. Vediamo come configurarla, come si combina con DAX e quali errori evitare.
Dal dato sintetico al dettaglio senza perdere il contesto
- Drillthrough apre una pagina diversa filtrata sull’elemento selezionato.
- La pagina di destinazione deve contenere il campo corretto nell’area Drillthrough filters.
- DAX non attiva la navigazione, ma interpreta il contesto di filtro ricevuto.
- La funzione è diversa da drill down, cross-filtering e tooltip.
- Relazioni del modello, tipi di dati e filtri mantenuti determinano la qualità del risultato.

Che cosa permette di fare il drillthrough in Power BI
Il drillthrough collega una pagina riepilogativa a una pagina di analisi più dettagliata. Se selezioni il cliente “Alfa”, per esempio, la pagina di destinazione visualizza ordini, margini, resi e indicatori relativi a quel cliente, senza costringerti a ricostruire manualmente tutti i filtri.
La differenza importante è che non stai semplicemente ingrandendo un grafico. Stai aprendo un’altra pagina del report, progettata per rispondere a una domanda precisa. È particolarmente utile per analizzare clienti, prodotti, punti vendita, agenti commerciali o singole transazioni.
Nella pratica, lo considero un collegamento narrativo tra due livelli del report. La prima pagina risponde a “dove si trova il problema?”, quella di dettaglio prova a chiarire “che cosa lo sta causando?”. Se la destinazione contiene solo altri grafici generici, la navigazione perde gran parte del suo valore.
Un esempio concreto
Immagina una pagina con il fatturato per regione. Da “Lombardia” puoi aprire una pagina che mostra l’andamento mensile, i primi dieci clienti, il margine medio e le categorie con più resi. Il filtro sulla regione viene trasferito automaticamente e gli altri filtri, come anno o canale, possono essere mantenuti in base alla configurazione scelta.
| Funzione | Che cosa cambia | Quando usarla |
|---|---|---|
| Drillthrough | Apre una pagina dettagliata filtrata | Analisi di clienti, prodotti o entità specifiche |
| Drill down | Scende nei livelli di una gerarchia nello stesso visual | Anno, trimestre, mese e giorno |
| Cross-filter | Filtra gli altri visual della pagina corrente | Esplorazione rapida dello stesso contesto |
| Tooltip | Mostra informazioni aggiuntive al passaggio del mouse | Dettagli brevi senza cambiare pagina |
Come configurare una pagina di dettaglio efficace
La configurazione parte dalla pagina di destinazione, non dal grafico iniziale. Crea una nuova pagina, assegnale un nome esplicito come “Dettaglio cliente” e trascina il campo identificativo nell’area Drillthrough filters del riquadro dei filtri.
Se vuoi filtrare per cliente, il campo deve essere quello realmente usato nel modello e nei visual di origine. Un errore frequente consiste nell’inserire una colonna descrittiva nella pagina di destinazione e una chiave diversa nel visual di partenza. Il risultato può essere una pagina vuota o un filtro che non sembra funzionare.
- Crea la pagina di dettaglio in Power BI Desktop.
- Inserisci il campo, per esempio Cliente[Nome Cliente], nei filtri di drillthrough.
- Progetta visual specifici per l’entità selezionata.
- Controlla l’opzione per mantenere tutti i filtri, se vuoi trasferire anche anno, area o canale.
- Seleziona un elemento nella pagina di origine, apri il menu contestuale e scegli la pagina di dettaglio.
- Verifica che il pulsante di ritorno riporti davvero alla pagina precedente.
Power BI aggiunge normalmente un pulsante Back quando la pagina riceve un campo di drillthrough. Io lo lascerei quasi sempre visibile, perché riduce la sensazione di “perdersi” nel report. Se la pagina deve essere raggiunta solo tramite navigazione, puoi anche nasconderla dalle schede del report.
La pagina deve rispondere a una domanda
Una buona pagina di dettaglio non replica la pagina iniziale con più elementi. Deve cambiare punto di vista. Per un prodotto, ad esempio, ha senso mostrare disponibilità, vendite per canale, margine, andamento e clienti coinvolti, non semplicemente un secondo grafico con lo stesso totale.
Fai attenzione anche ai visual che mostrano BLANK quando il filtro non è presente. Una pagina nascosta può essere aperta in modo inatteso o testata senza una selezione. In quel caso titoli, card e messaggi condizionali devono spiegare chiaramente che manca un elemento da analizzare.
Il ruolo di DAX nel contesto filtrato
DAX non decide quale pagina aprire. La navigazione appartiene alla configurazione del report, mentre DAX lavora sul contesto di filtro che arriva alla pagina di destinazione. Questo significa che una misura ben scritta può cambiare automaticamente valore quando l’utente passa da un cliente a una regione o a un prodotto.
Una misura semplice per il fatturato potrebbe essere:
Fatturato totale =
SUM ( Vendite[Importo] )
Quando la pagina riceve il filtro su un cliente, la misura viene ricalcolata solo sulle righe visibili per quel cliente. Non serve creare una misura diversa per ogni persona o prodotto. È proprio questa combinazione tra modello semantico e contesto a rendere il dettaglio dinamico.
Mostrare il valore selezionato
Per rendere leggibile la pagina, puoi visualizzare il nome dell’elemento selezionato con SELECTEDVALUE. Se il filtro contiene un solo cliente, la misura restituisce il suo nome; in caso contrario mostra un testo alternativo.
Cliente selezionato =
SELECTEDVALUE (
Cliente[Nome Cliente],
"Selezionare un cliente"
)
Questa misura è utile in una card o in un titolo dinamico. Evita che l’utente guardi una pagina piena di numeri senza capire a quale entità si riferiscano.
Controllare la presenza del filtro
Puoi anche mostrare un messaggio diverso quando la pagina non è stata aperta da una selezione valida. La funzione ISFILTERED verifica se una colonna è filtrata direttamente.
Stato dettaglio =
IF (
ISFILTERED ( Cliente[Nome Cliente] ),
"Dettaglio cliente attivo",
"Selezionare un cliente dalla pagina di analisi"
)
Non bisogna però usare DAX per mascherare problemi del modello. Se una relazione è inattiva o il filtro non attraversa correttamente le tabelle, una misura può restituire un risultato apparentemente plausibile ma incompleto. Prima controllo sempre relazioni, cardinalità e direzione del filtro.
Filtri, relazioni e configurazione che fanno la differenza
La pagina di dettaglio funziona bene solo se il modello trasmette il filtro fino alla tabella dei fatti. Se selezioni un cliente nella dimensione Cliente, la relazione deve permettere al filtro di raggiungere Vendite. In assenza di una relazione corretta, il nome del cliente può cambiare mentre il fatturato rimane quello complessivo.
Conviene testare almeno questi casi:
- un elemento con molti record;
- un elemento con una sola transazione;
- un elemento senza vendite nel periodo selezionato;
- una selezione multipla;
- un filtro combinato su anno, regione e canale.
Il campo usato per il passaggio deve avere tipo di dati coerente tra le tabelle. Un codice cliente trattato come numero in una tabella e come testo in un’altra è una fonte classica di filtri mancanti. Anche valori duplicati o nomi non univoci possono creare ambiguità, soprattutto quando due clienti condividono la stessa denominazione.
Leggi anche: Esempi di Power BI e DAX per decisioni aziendali migliori
Mantenere tutti i filtri oppure no
L’opzione per mantenere tutti i filtri è comoda quando la pagina di dettaglio deve rispettare esattamente il contesto della pagina iniziale. Se stai analizzando il fatturato del Nord Italia nel 2026, potresti voler mantenere sia la regione sia il periodo.
Non è sempre la scelta migliore. In una pagina dedicata alla storia completa di un cliente, mantenere un filtro temporale molto restrittivo può nascondere informazioni utili. Io decido caso per caso, valutando se la pagina deve spiegare l’evento selezionato oppure fornire una visione completa dell’entità.
Quando usare un pulsante e quando il menu contestuale
Il menu contestuale è rapido e naturale per una tabella o una matrice. L’utente seleziona una riga, fa clic con il tasto destro e raggiunge la pagina di dettaglio. Il limite è che molti lettori non scoprono questa possibilità da soli.
Un pulsante dedicato rende l’azione più evidente, soprattutto nei report destinati a utenti non tecnici. Puoi collegarlo a un’azione di drillthrough, aggiungere un tooltip e impostare una formattazione condizionale che lo renda attivo solo quando esiste una selezione valida.
Il pulsante deve avere un’etichetta concreta, come “Apri dettaglio cliente”, non un generico “Vai”. Un testo preciso riduce gli errori e migliora anche l’accessibilità. Se il pulsante non funziona, di solito manca il filtro richiesto, non è selezionato alcun elemento o la pagina di destinazione non è configurata correttamente.
Per report complessi esiste anche il cross-report drillthrough, che collega report separati pubblicati nello stesso workspace. Richiede maggiore disciplina nel mantenere nomi e tipi di dati coerenti, quindi lo userei solo quando separare i report porta un vantaggio reale di governance o sicurezza.
Gli errori più comuni e come correggerli
Il primo errore è confondere il drillthrough con il drill down. Il secondo scende lungo una gerarchia nello stesso visual, mentre il primo apre una pagina diversa. Questa distinzione sembra banale, ma cambia completamente il modo in cui si progetta l’esperienza di analisi.
- Pagina vuota. Controlla che il campo sia nell’area corretta e che il filtro trovi valori corrispondenti.
- Totali invariati. Verifica le relazioni tra dimensione e tabella dei fatti.
- Troppi filtri trasferiti. Disattiva il mantenimento globale o riprogetta la pagina per il nuovo contesto.
- Dettaglio poco utile. Sostituisci visual generici con indicatori legati alla domanda dell’utente.
- Pulsante sempre inattivo. Controlla il campo richiesto e la selezione effettuata nel visual di origine.
- Nomi ambigui. Usa chiavi o attributi realmente univoci invece di semplici descrizioni testuali.
Un altro problema frequente nasce dalle misure DAX che rimuovono filtri senza volerlo. Funzioni come ALL o configurazioni con CALCULATE possono ignorare il contesto ricevuto. Per esempio, una misura costruita per mostrare il totale aziendale potrebbe restituire volutamente lo stesso valore anche nella pagina del singolo cliente.
Quota cliente =
DIVIDE (
[Fatturato totale],
CALCULATE (
[Fatturato totale],
ALL ( Cliente )
)
)
Questa misura non è sbagliata, ma deve essere usata consapevolmente. Il numeratore rispetta il cliente selezionato, mentre il denominatore rimuove il filtro dalla dimensione Cliente. Il punto non è evitare DAX avanzato, ma sapere quali filtri ogni misura conserva o elimina.
Una pagina di dettaglio che guida davvero l’analisi
Il passaggio al dettaglio funziona quando accompagna una decisione. Metti in alto il nome dell’entità e due o tre KPI, al centro l’andamento nel tempo e in basso le tabelle che permettono di verificare il dato. Questa gerarchia aiuta a passare dal segnale alla causa senza sovraccaricare la pagina.
Per un report commerciale potresti usare questo schema:
- card con fatturato, margine e numero di ordini;
- grafico mensile con confronto rispetto all’anno precedente;
- tabella dei prodotti o clienti collegati;
- indicatore per resi, ritardi o scostamento dall’obiettivo;
- pulsante di ritorno sempre riconoscibile.
Prima della pubblicazione, provo il report con utenti che non lo hanno costruito. Se non capiscono come raggiungere il dettaglio o non riconoscono il filtro applicato, il problema non è la loro esperienza, ma il design della pagina. La navigazione deve essere scoperta senza istruzioni separate, oppure deve offrire un’indicazione visibile.
Ricorda anche la sicurezza. Il drillthrough non supera le regole di Row-Level Security: se un utente non può vedere determinate righe, la pagina di destinazione deve rispettare gli stessi limiti. In fase di test, verifica quindi il comportamento con ruoli diversi, non soltanto con l’account amministratore.
Il dettaglio utile nasce dall’incontro tra modello e interfaccia
Una configurazione efficace parte da un campo univoco, da relazioni solide e da una pagina progettata per una domanda concreta. DAX completa il lavoro mostrando titoli dinamici, KPI contestuali e confronti che rispettano o modificano i filtri in modo dichiarato.Il mio criterio è semplice: se la pagina di dettaglio non porta a una decisione migliore, probabilmente contiene troppi visual o il filtro è stato scelto male. Prova il percorso con dati reali, controlla i casi vuoti e chiedi all’utente di spiegare che cosa sta guardando. È il modo più rapido per trasformare una funzione tecnica in uno strumento di analisi davvero utile.
