Problema di prestazioni in DAX Studio: CallBackDataID

Problema di prestazioni in DAX Studio: CallBackDataID

Questa esercitazione discuterà di CallBackDataID , che è un problema di prestazioni in DAX Studio. Imparerai cosa fa e come influisce sulle prestazioni della tua query DAX.

Il motore di archiviazione funziona per fornire i dati al motore delle formule sotto forma di una cache di dati. Ma quando il motore di archiviazione non è in grado di valutare un'espressione, chiede e richiama il motore delle formule per assistenza utilizzando CallBackDataID .

La presenza di un CallBackDataID nel calcolo rallenta le prestazioni di DAX perché utilizza sia l'archiviazione che il motore delle formule. Tuttavia, è comunque meglio che avere solo il motore delle formule che fa tutto il lavoro perché funziona ancora su dati compressi e non richiede la materializzazione.

Inoltre, quando è coinvolto il motore delle formule, i risultati non vengono memorizzati nella cache. Le cache migliorano l'esperienza utente nell'esecuzione di una query o di una misura in LuckyTemplates.

Sommario

Dove trovare CallBackDataID

CallBackDataID è disponibile in Server Timings all'interno di DAX Studio. A causa della loro importanza, sono evidenziati nell'istruzione xmSQL. Quando stai cercando di ottimizzare il tuo DAX, trovare CallBackDataID è il miglior punto di partenza.

Un'altra tecnica di ottimizzazione consiste nell'utilizzare i filtri in quando possibile. Usare CALCULATE nei filtri è meglio che usare come tabella. FILTER è un iteratore e quando filtri una tabella, verrà iterata da . La presenza di questi due iteratori potrebbe rallentare la tua query.

Ecco due query di esempio con e senza CallBackDataID .

Problema di prestazioni in DAX Studio: CallBackDataID

Questa è una misura localizzata che definisce le due query di cui sopra.

Problema di prestazioni in DAX Studio: CallBackDataID

La misura superiore esegue l'iterazione della tabella delle vendite, moltiplica il prezzo corrente e la quantità, quindi li somma. La misura inferiore controlla se la data di acquisto è maggiore o uguale al 31 marzo 2016. Avere una funzione in una misura crea un CallBackDataID perché non utilizza CALCULATE .

Per verificarlo, eseguire la query con CallBackDataID . Assicurati di svuotare la cache e attivare Server Timings e Query Plans prima di eseguirlo.

Se fai clic sulla scheda Server Timings in basso, puoi vedere che la prima scansione è evidenziata. Ciò è dovuto alla presenza di CallBackDataID .

Problema di prestazioni in DAX Studio: CallBackDataID

Puoi anche vedere CallBackDataID nell'istruzione xmSQL. La funzione IF nella misura va oltre le capacità del motore di archiviazione, quindi richiede l'aiuto del motore di formula.

Problema di prestazioni in DAX Studio: CallBackDataID

Come risolvere il problema delle prestazioni

Se esegui la query che non ha un CallBackDataID , puoi vedere che le scansioni non sono più evidenziate.

Problema di prestazioni in DAX Studio: CallBackDataID

Ciò è dovuto al fatto che il filtro CALCULATE viene inviato al motore di archiviazione. Non ha più bisogno dell'aiuto del motore di formula perché può funzionare da solo.

Per quanto possibile, prova a utilizzare i filtri in CALCULATE . Ottimizza le prestazioni DAX spingendo la maggior parte del lavoro nel motore di archiviazione, rendendolo più veloce.


Storage Engine in LuckyTemplates: operatori VertiPaq e query
Misura in LuckyTemplates: suggerimenti e tecniche di ottimizzazione
Analizzatore VertiPaq in DAX Studio | Esercitazione su PowerBI

Conclusione

Potrebbero verificarsi problemi di prestazioni se la tua query è troppo complessa per il funzionamento del motore di archiviazione. Porta processi non necessari come CallBackDataID nel calcolo e rallenta il tuo DAX. Puoi mitigarlo utilizzando i filtri in CALCULATE .


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