Power Automate si applica a ogni azione nei flussi di lavoro
Scopri l
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 .
Questa è una misura localizzata che definisce le due query di cui sopra.
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 .
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.
Come risolvere il problema delle prestazioni
Se esegui la query che non ha un CallBackDataID , puoi vedere che le scansioni non sono più evidenziate.
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 .
Scopri l
Tecniche di modellazione dei dati per organizzare meglio le misure DAX per un flusso di lavoro più efficiente.
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
Acquisisci familiarità con i connettori Power Automate per la manipolazione di numeri, testo e date/ore.
Ora, è molto facile studiare il budget rispetto all
Imparerai come salvare e caricare oggetti da un file .rds in R. Questo articolo tratta anche come importare oggetti da R a LuckyTemplates.
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
In questa esercitazione sul linguaggio di codifica DAX, scopri come usare la funzione GENERATE e come modificare dinamicamente il titolo di una misura.