Power Automate si applica a ogni azione nei flussi di lavoro
Scopri l
Questo tutorial discuterà la transizione del contesto e gli iteratori nidificati. Imparerai l'importanza di queste entità e come possono essere una buona fonte per l'ottimizzazione.
Se ricordi, la transizione del contesto avviene quando un contesto di riga cambia in un contesto di filtro equivalente. Devi essere consapevole di ciò che accade quando si verifica una transizione di contesto nei tuoi iteratori perché spesso può generare risultati lenti.
Sommario
Iteratori nidificati rispetto a CALCULATE
Se durante un'iterazione viene richiamata una transizione di contesto, viene creata una tabella di materializzazione. Ciò significa che la transizione del contesto viene richiamata tramite le formule nel DAX. La tabella è un dato non compresso che viene inviato al motore delle formule.
Per dimostrare, la prima misura è per Grandi vendite che ottiene il prezzo corrente se è maggiore o uguale a 500.
La misura successiva è per la media delle grandi vendite con iteratori nidificati.
L'ultima misura ottiene la media di Big Sales senza un iteratore nidificato e un CallBackDataID.
Eseguire la misura con l'iteratore annidato. Assicurarsi di svuotare la cache prima dell'esecuzione, quindi attivare Server Timings e Query Plan.
Puoi vedere che ha generato 3 scansioni, 2 CallBackDataID e 15.003 righe. Questo è un motivo di preoccupazione perché ci sono solo 101 righe per l'output. Ciò è accaduto perché la misura ha due iteratori o funzioni X.
Questa è la forma completamente espansa della misura che è stata eseguita:
Sta iterando la tabella Fact Sales con . Quindi ripete nuovamente con CallBackDataID utilizzando . implicita che richiama la transizione del contesto e materializza la tabella. Ecco perché ha estratto 15.003 righe, anche se ci sono solo 101 righe per l'output.
Eseguire l'altra misura che non ha iteratori nidificati. Sta ancora iterando la tabella Fact Sales utilizzando AVERAGEX ma il prezzo corrente è al di fuori della funzione. Filtra i prodotti in cui il prezzo corrente è maggiore o uguale a 500 e quindi calcola la media.
Puoi vedere che ha solo 2 scansioni, 104 righe e non ha un CallBackDataID. Quindi, se usi CALCULATE , puoi eliminare gli iteratori nidificati e CallBackDataIDs .
Funzioni DAX in LuckyTemplates: utilizzo di iteratori
Come utilizzare una funzione di iterazione in LuckyTemplates
Calcolo DAX: filtrare le transizioni del contesto
Conclusione
Ci sono molte cause per un DAX lento. Uno di questi è dovuto agli iteratori annidati che causano transizioni di contesto non necessarie. Questi iteratori materializzano più righe del necessario, il che rallenta le query.
La soluzione migliore per questo è inserirlo all'interno di CALCULATE . Questo crea meno lavoro per il motore di formula e massimizza le capacità del motore di archiviazione.
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.