Power Automate si applica a ogni azione nei flussi di lavoro
Scopri l
Ho scoperto che la maggior parte delle persone si confonde per quanto riguarda la comprensione del funzionamento di DAX nel contesto delle righe . Questo perché il contesto di riga può essere piuttosto complicato e inutilmente. Quindi toccheremo il contesto delle righe in questo articolo. Puoi guardare il video completo di questo tutorial in fondo a questo blog.
Il modo in cui penso al contesto di riga è attraverso iterazioni o funzioni di iterazione . Non appena ho fatto questa distinzione nella mia mente, ha avuto più senso in termini di ciò che stava effettivamente accadendo nel motore di calcolo.
Ricapitolando, abbiamo discusso che esistono tre tipi di contesti: il contesto di valutazione , il contesto di filtro e il contesto di riga .
Qualsiasi calcolo DAX funziona in un processo in due passaggi. Il contesto di valutazione va sempre per primo e poi si dirama nel contesto del filtro o nel contesto della riga a seconda della funzione che scrivi.
Sommario
Comprensione del contesto di riga
Il contesto di riga riguarda l'iterazione.
Ti mostrerò un paio di esempi e spero che questo ti aiuti a capire cosa fa effettivamente il contesto di riga nel back-end.
Contesto riga VS contesto filtro
Nel nostro esempio, la formula viene calcolata tramite il contesto del filtro perché è una semplice aggregazione. Riassume l'intera colonna Quantità dopo che tutti i filtri iniziali sono stati messi in atto.
Il filtro iniziale sulla tabella Sales è Product 1. Sommando ogni quantità che è stata venduta, otteniamo 165.
Ora ti mostrerò come ottenere esattamente lo stesso risultato, ma calcolato in modo molto diverso. Per prima cosa creerò una nuova misura per l'iterazione della quantità venduta utilizzando una formula di iterazione.
Esempi di funzioni di iterazione includono SUMX , AVERAGEX , MANYX e COUNTX . In questo caso, useremo SUMX .
La funzione SUMX mi ha chiesto di inserire una tabella, quindi inserirò la tabella Sales. E poi mi ha chiesto un'espressione, quindi ho semplicemente inserito la colonna Quantità.
Questa funzione è abbastanza diversa dalla prima funzione, ma ottengo esattamente lo stesso risultato quando la trascino.
Stiamo ottenendo esattamente gli stessi risultati qui perché alla fine è lo stesso calcolo. È stato solo calcolato in modo diverso.
L'iterazione Quantità venduta è stata calcolata utilizzando il contesto riga , mentre la Quantità totale venduta è stata calcolata utilizzando il contesto filtro .
Calcolo dell'iterazione della quantità venduta utilizzando il contesto di riga
Esaminiamo ora passo dopo passo come viene calcolata l'iterazione della quantità venduta. Innanzitutto, devi ricordarti di lasciare il contesto di valutazione iniziale, che in questo caso è il Prodotto 1. E poi tramite row context , stiamo iterando ogni singola riga nella tabella che specifichiamo.
In questo caso, specifichiamo la tabella Sales e poi esaminiamo ogni singola riga nella colonna Quantity.
Durante la valutazione iniziale, il prodotto 1 sarebbe determinato da quanto filtrato nella colonna ID prodotto. E poi conta le righe sotto la colonna Quantità. Ogni volta che colpisce una riga entra e salva il risultato in memoria.
Dopo aver raggiunto il fondo della tabella, esegue una valutazione di tutti i risultati salvati in memoria, quindi eseguirà qualsiasi calcolo richiesto, che in questo caso è SUMX .
Perché utilizzare un contesto di riga o una funzione di iterazione?
Questo perché all'interno di una funzione iterante puoi fare cose molto più complesse. Puoi scrivere una logica molto avanzata all'interno.
Ad esempio, per ogni riga nella tabella Sales, la quantità viene moltiplicata per 2. Vedrai ora che si sta verificando lo stesso processo di calcolo, ma stiamo ottenendo risultati diversi.
Questo perché per ogni singola riga scriviamo una logica diversa. Dopo aver esaminato ogni singola riga nella colonna della quantità, moltiplichiamo il valore per due e poi viene salvato in memoria. Alla fine, facciamo un SUM .
Possiamo anche scrivere cose diverse qui inclusa la logica avanzata come la logica IF o SWITCH .
Ci sono mucchi e mucchi di esempi in cui sarebbe meglio utilizzare una funzione di iterazione o un contesto di riga per eseguire un calcolo piuttosto che una funzione di aggregazione o un contesto di filtro .
Note chiave nella comprensione dei contesti in LuckyTemplates
Per ricapitolare tutti gli aspetti chiave del contesto, ricorda che il calcolo in DAX funziona tramite un processo in due passaggi. Il primo passo è sempre il contesto di valutazione . È così importante quale sia il contesto della valutazione .
Una volta compreso qual è il contesto di valutazione per ogni singolo risultato, DAX si ramifica in due modi diversi. Può calcolare tramite il contesto del filtro o tramite il contesto della riga.
La scelta del contesto da utilizzare dipende dalla formula che stai scrivendo. Quindi, se scrivi una semplice formula di aggregazione , andrà a calcolarla tramite il contesto del filtro . Ma se scrivi una funzione di iterazione come SUMX, allora calcolerà la formula tramite row context .
Una volta che si diventa leggermente più avanzati in DAX, è possibile avere più contesti nella stessa funzione. Ma prima di arrivarci, devi davvero capire qual è il contesto nella sua forma più semplice.
Conclusione
Comprendere i tipi di contesto è assolutamente cruciale mentre impari DAX e vuoi fare un lavoro più avanzato. Quando inizi a scrivere una formula DAX davvero avanzata, hai più contesti che funzionano contemporaneamente e devi capire cosa sta facendo ogni singola parte di quella formula per ottenere i risultati desiderati.
Di seguito sono riportati alcuni collegamenti consigliati per ulteriori informazioni sull'applicazione del contesto di riga all'interno di LuckyTemplates:
Contesto di valutazione - (1.8) Guida definitiva per principianti a DAX
Filter Context – (1.9) Guida definitiva per principianti a DAX
Divertiti a lavorare su questo.
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.