Condividi tramite


Evitare di convertire 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 converte anche i BLANK risultati in zero.

Profit Margin =
DIVIDE([Profit], [Sales], 0)

La DIVIDE funzione 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 oggetto visivo del 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, un numero eccessivo di raggruppamenti spesso sovraccarica gli utenti del report.

Vediamo cosa accade quando la misura Profit Margin viene aggiunta a una visualizzazione a tabella, raggruppata per cliente.

Screenshot di Power BI Desktop che mostra una visualizzazione tabellare dei dati con una riga per cliente. I valori delle vendite sono BLANK e i valori del margine di profitto sono pari allo zero per cento.

La visualizzazione della tabella presenta 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.

Note

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 all'interno del contesto di filtro corrente. La misura migliorata consente di ottenere un'esperienza più efficiente e pratica per gli utenti del report.

Screenshot di Power BI Desktop che mostra la visualizzazione tabella dei dati filtrati.

Tip

Quando necessario, è possibile configurare un oggetto visivo per visualizzare tutti i raggruppamenti (che restituiscono valori o 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, la restituzione BLANK è migliore perché gli oggetti visivi del report, per impostazione predefinita, eliminano i raggruppamenti quando i riepiloghi sono BLANK.