Evitare la conversione di BLANK in valori
Come modello di dati, quando si scrivono espressioni di misura, è possibile che si verifichino casi in cui non è possibile restituire un valore significativo. In questi casi, è possibile che si sia tentati di restituire un valore, ad esempio zero. È consigliabile determinare attentamente se questa progettazione è efficiente e pratica.
Si consideri la seguente definizione di misura che converte i risultati BLANK esplicitamente in zero.
Sales (No Blank) =
IF(
ISBLANK([Sales]),
0,
[Sales]
)
Si consideri un'altra definizione di misura che anche converte il risultato BLANK in zero.
Profit Margin =
DIVIDE([Profit], [Sales], 0)
La funzione DIVIDE divide la misura Profit per la misura Sales. Se il risultato è zero o BLANK, viene restituito il terzo argomento, ovvero il risultato alternativo (facoltativo). In questo esempio, poiché zero viene passato come risultato alternativo, la misura restituisce sempre un valore.
Queste progettazioni di misure sono inefficienti e portano a progetti report di scarsa qualità.
Quando vengono aggiunti a un elemento visivo di un report, Power BI tenta di recuperare tutti i raggruppamenti all'interno del contesto di filtro. La valutazione e il recupero di risultati di query di grandi dimensioni spesso comportano un rallentamento del rendering dei report. Ogni misura di esempio trasforma efficacemente un calcolo sparso in un calcolo denso, costringendo Power BI a utilizzare più memoria di quanto sia necessario.
Inoltre, troppi raggruppamenti creano spesso confusione per gli utenti del report.
Vediamo cosa accade quando la misura Margine di Profitto viene aggiunta a una visualizzazione tabella, raggruppando per cliente.
L'oggetto visivo tabella visualizza un numero eccessivo di righe. Sono infatti presenti 18.484 clienti nel modello e quindi la tabella tenta di visualizzarli tutti. Si noti che i clienti in vista non hanno raggiunto alcuna vendita. Tuttavia, poiché la misura Profit Margin restituisce sempre un valore, vengono visualizzate.
Nota
Quando sono presenti troppi punti dati da visualizzare in un oggetto visivo, Power BI può usare strategie di riduzione dei dati per rimuovere o riepilogare risultati di query di grandi dimensioni. Per altre informazioni, vedere Limiti e strategie dei punti dati in base al tipo di visualizzazione.
Vediamo cosa accade quando la definizione della misura Profit Margin viene migliorata. Ora restituisce un valore solo quando la misura Sales non è BLANK (o zero).
Profit Margin =
DIVIDE([Profit], [Sales])
La visualizzazione tabella ora mostra solo i clienti che hanno effettuato vendite nel contesto del filtro attuale. La misura migliorata consente di ottenere un'esperienza più efficiente e pratica per gli utenti del report.
Suggerimento
Quando necessario, è possibile configurare un oggetto visivo per visualizzare tutti i raggruppamenti (che restituiscono valori o dati BLANK) all'interno del contesto di filtro abilitando l'opzione Mostra elementi senza dati.
Recommendation
È consigliabile che le misure restituiscano BLANK quando non si può restituire un valore significativo.
Questo approccio di progettazione è efficiente, consentendo a Power BI di eseguire il rendering dei report più velocemente. Inoltre, è preferibile restituire BLANK perché i visuali del report, per impostazione predefinita, eliminano i raggruppamenti quando i riepiloghi sono BLANK.
Contenuto correlato
- Percorso di apprendimento: Utilizzare DAX in Power BI Desktop
- Domande? Prova a chiedere alla community di Power BI
- inviare suggerimenti, Contribuire con idee per migliorare Power BI