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.


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

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 blog tratterà anche come importare oggetti da R a LuckyTemplates.

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.

Mostra approfondimenti utilizzando la tecnica di visualizzazione dinamica multi-thread in LuckyTemplates

Mostra approfondimenti utilizzando la tecnica di visualizzazione dinamica multi-thread in LuckyTemplates

Questo tutorial illustrerà come utilizzare la tecnica di visualizzazione dinamica multi-thread per creare approfondimenti dalle visualizzazioni di dati dinamici nei report.

Introduzione al filtraggio del contesto in LuckyTemplates

Introduzione al filtraggio del contesto in LuckyTemplates

In questo articolo, esaminerò il contesto del filtro. Il contesto del filtro è uno degli argomenti principali che qualsiasi utente di LuckyTemplates dovrebbe inizialmente conoscere.

I migliori suggerimenti per lutilizzo delle app nel servizio online LuckyTemplates

I migliori suggerimenti per lutilizzo delle app nel servizio online LuckyTemplates

Voglio mostrare come il servizio online di LuckyTemplates Apps può aiutare nella gestione di diversi report e approfondimenti generati da varie fonti.

Analizza le variazioni del margine di profitto nel tempo: analisi con LuckyTemplates e DAX

Analizza le variazioni del margine di profitto nel tempo: analisi con LuckyTemplates e DAX

Scopri come elaborare le modifiche al margine di profitto utilizzando tecniche come la ramificazione delle misure e la combinazione di formule DAX in LuckyTemplates.

Idee di materializzazione per cache di dati in DAX Studio

Idee di materializzazione per cache di dati in DAX Studio

Questo tutorial discuterà delle idee di materializzazione delle cache di dati e di come influiscono sulle prestazioni dei DAX nel fornire risultati.

Reporting aziendale tramite LuckyTemplates

Reporting aziendale tramite LuckyTemplates

Se finora utilizzi ancora Excel, questo è il momento migliore per iniziare a utilizzare LuckyTemplates per le tue esigenze di reportistica aziendale.

Che cosè il gateway LuckyTemplates? Tutto quello che devi sapere

Che cosè il gateway LuckyTemplates? Tutto quello che devi sapere

Che cos'è il gateway LuckyTemplates? Tutto quello che devi sapere