Query DAX che utilizzano variabili e funzioni importanti

Query DAX che utilizzano variabili e funzioni importanti

Questo tutorial discuterà delle variabili, incluse le funzioni e CALCULATE . Capirai come questi contribuiscono a migliorare le prestazioni delle tue query DAX e a fornire risultati accurati.

Le variabili dovrebbero essere utilizzate il più possibile perché possono individuare facilmente i codici per l'ottimizzazione. Ti impediscono di ottenere output errati e ti fanno risparmiare tempo nella ricerca dell'errore. Tuttavia, le variabili a volte impediscono il ricalcolo di un valore. Quindi, una volta definiti con un valore, quel valore non può essere modificato, nemmeno da CALCULATE .

È importante sapere dove definire e utilizzare le variabili perché utilizzarle all'interno e all'esterno di un'iterazione genererà risultati diversi. Dovrebbero essere definiti vicino a dove verranno utilizzati. Questo aiuta anche ad abbattere i codici lunghi, rendendoli più facili da capire e da correggere.

Sommario

Crea query DAX con CALCULATE e FILTER

Esistono diversi metodi per ottenere risultati e risposte in DAX. Devi sviluppare il tuo stile e il tuo flusso nella creazione del tuo rapporto in modo da poterti sentire a tuo agio con ciò su cui stai lavorando. Anche se hai il tuo stile, devi comunque seguire le linee guida specifiche, che includono l'utilizzo di CALCULATE su metodi diversi come FILTER .

FILTER può inviare molti dati non compressi al motore delle formule e può potenzialmente attivare un CallBackDataID. Le misure verranno utilizzate qui per mostrare i risultati di CALCULATE e FILTER . Questo ha anche una misura definita che è locale alla query. Le misure definite non possono essere trovate nel modello di dati, ma possono sviluppare e risolvere i problemi dei codici più velocemente.

Query DAX che utilizzano variabili e funzioni importanti

Nella prima riga, puoi vedere una misura che definisce una variabile per la data. Ciò significa che filtra la tabella dei fatti per le date che si verificano a partire dal 31 marzo 2016. È inoltre possibile visualizzare una semplice misura delle vendite totali che itera la tabella delle vendite dei fatti e moltiplica la quantità e il prezzo corrente.

La misura successiva utilizza all'interno di . Se richiami dal modulo CallBackDataID , l'utilizzo di un IF all'interno della funzione SUMX creerà un CallBackDataID .

Query DAX che utilizzano variabili e funzioni importanti

Questa misura filtra l'intera tabella Fact Sales. Rimuove i filtri provenienti dalla tabella Data.

Query DAX che utilizzano variabili e funzioni importanti

Devi stare attento quando filtri un'intera tabella perché filtrerà anche tutte le colonne che si trovano su un lato della relazione uno-a-molti.

Questa misura è la stessa della misura precedente; l'unica differenza è che non filtra l'intera tabella. Usa SUMX solo per iterare una tabella filtrata.

Query DAX che utilizzano variabili e funzioni importanti

Questa è un'altra misura che filtra la tabella Fact Sales, ma questa volta è solo sulla colonna in cui si trova.

Query DAX che utilizzano variabili e funzioni importanti

L'ultima misura utilizza CALCULATE e il modello di dati per filtrare e recuperare i dati.

Query DAX che utilizzano variabili e funzioni importanti

Esegui e controlla ogni misura

Innanzitutto, esegui la misura IF . Assicurati di svuotare la cache prima di eseguire la query e di attivare Server Timings e Query Plan.

Query DAX che utilizzano variabili e funzioni importanti

Query DAX che utilizzano variabili e funzioni importanti

Sebbene fornisca i dati corretti, le prestazioni sono lente a causa del CallBackDataID e delle 3 durate.

Se esegui la misura che filtra l'intera tabella Fact Sales, puoi comunque vedere CallBackDataID . Genererà anche 15.003 righe e fornirà risultati errati.

Query DAX che utilizzano variabili e funzioni importanti

Query DAX che utilizzano variabili e funzioni importanti

Quando esegui la misura che non filtra tutta la tabella Fact Sales, otterrai i risultati corretti. Tuttavia, vedrai ancora CallBackDataID e le 15.003 righe materializzate, ma avrai solo 7 righe di output.

Query DAX che utilizzano variabili e funzioni importanti

Query DAX che utilizzano variabili e funzioni importanti

Eseguire la misura successiva che filtra su una colonna. Otterrai i risultati corretti ed eliminerai CallBackDataID . Ma puoi ancora vedere che si è materializzato molte righe.

Query DAX che utilizzano variabili e funzioni importanti

Query DAX che utilizzano variabili e funzioni importanti

Eseguire la misura CALCULATE . Puoi vedere che ha materializzato solo 10 righe e generato i dati corretti in 5 millisecondi.

Query DAX che utilizzano variabili e funzioni importanti

Query DAX che utilizzano variabili e funzioni importanti

È la più veloce tra tutte le misure precedenti perché non ha CallBackDataID e ha estratto solo 10 righe. Questo dimostra quanto sia impressionante CALCULATE nell'ottenere risultati rapidi e precisi.

Se esegui tutte le query o le misure DAX, puoi vedere quale è la più lenta e la più veloce in base alla durata. Puoi anche vedere i risultati di ogni misura.

Query DAX che utilizzano variabili e funzioni importanti

Query DAX che utilizzano variabili e funzioni importanti

Conclusione

Spostando i filtri su CALCULATE, risparmierai tempo e materializzazione perché il CallBackDataID verrà eliminato. Non dovrai iterare i dati due volte. Ciò massimizzerà anche le prestazioni del tuo DAX e ti aiuterà a migliorare le tue capacità di sviluppo.


Power Automate si applica a ogni azione nei flussi di lavoro

Power Automate si applica a ogni azione nei flussi di lavoro

Scopri l

Tecniche di modellazione dei dati per organizzare le misure DAX

Tecniche di modellazione dei dati per organizzare le misure DAX

Tecniche di modellazione dei dati per organizzare meglio le misure DAX per un flusso di lavoro più efficiente.

Filtro Power Apps: cosè e come si usa?

Filtro Power Apps: cosè e come si usa?

Scopri come utilizzare la funzione di filtro in Power Apps e come incorporarla nelle formule esistenti all

Come commentare più righe in Python: una guida semplice e veloce

Come commentare più righe in Python: una guida semplice e veloce

Come commentare più righe in Python: una guida semplice e veloce

Connettori Power Automate: numero, testo e data e ora

Connettori Power Automate: numero, testo e data e ora

Acquisisci familiarità con i connettori Power Automate per la manipolazione di numeri, testo e date/ore.

Budget Vs Actual Vs Last Year - Suggerimenti per la rendicontazione finanziaria

Budget Vs Actual Vs Last Year - Suggerimenti per la rendicontazione finanziaria

Ora, è molto facile studiare il budget rispetto all

Come salvare e caricare un file RDS in R

Come salvare e caricare un file RDS in R

Imparerai come salvare e caricare oggetti da un file .rds in R. Questo articolo tratta anche come importare oggetti da R a LuckyTemplates.

Che cosè Power Query e M Language: una panoramica dettagliata

Che cosè Power Query e M Language: una panoramica dettagliata

Scopri tutto su Power Query e il linguaggio M per la trasformazione e la preparazione dei dati nel desktop di LuckyTemplates.

Cosè il sé in Python: esempi del mondo reale

Cosè il sé in Python: esempi del mondo reale

Cos'è il sé in Python: esempi del mondo reale

Rivisitazione dei primi N giorni lavorativi: una soluzione per il linguaggio di codifica DAX

Rivisitazione dei primi N giorni lavorativi: una soluzione per il linguaggio di codifica DAX

In questa esercitazione sul linguaggio di codifica DAX, scopri come usare la funzione GENERATE e come modificare dinamicamente il titolo di una misura.