Spiegazione del contesto di riga in LuckyTemplates

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.

Spiegazione del contesto di riga in LuckyTemplates

Il filtro iniziale sulla tabella Sales è Product 1. Sommando ogni quantità che è stata venduta, otteniamo 165.

Spiegazione del contesto di riga in LuckyTemplates

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.

Spiegazione del contesto di riga in LuckyTemplates

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.

Spiegazione del contesto di riga in LuckyTemplates

Stiamo ottenendo esattamente gli stessi risultati qui perché alla fine è lo stesso calcolo. È stato solo calcolato in modo diverso.

Spiegazione del contesto di riga in LuckyTemplates

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.

Spiegazione del contesto di riga in LuckyTemplates

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 .

Spiegazione del contesto di riga in LuckyTemplates

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.

Spiegazione del contesto di riga in LuckyTemplates

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.

Spiegazione del contesto di riga in LuckyTemplates

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 .

Spiegazione del contesto di riga in LuckyTemplates

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.

Leave a Comment

Power Automate si applica a ogni azione nei flussi di lavoro

Power Automate si applica a ogni azione nei flussi di lavoro

Scopri l

Tecniche di modellazione dei dati per organizzare le misure DAX

Tecniche di modellazione dei dati per organizzare le misure DAX

Tecniche di modellazione dei dati per organizzare meglio le misure DAX per un flusso di lavoro più efficiente.

Filtro Power Apps: cosè e come si usa?

Filtro Power Apps: cosè e come si usa?

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

Come commentare più righe in Python: una guida semplice e veloce

Come commentare più righe in Python: una guida semplice e veloce

Connettori Power Automate: numero, testo e data e ora

Connettori Power Automate: numero, testo e data e ora

Acquisisci familiarità con i connettori Power Automate per la manipolazione di numeri, testo e date/ore.

Budget Vs Actual Vs Last Year - Suggerimenti per la rendicontazione finanziaria

Budget Vs Actual Vs Last Year - Suggerimenti per la rendicontazione finanziaria

Ora, è molto facile studiare il budget rispetto all

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 articolo tratta anche come importare oggetti da R a LuckyTemplates.

Che cosè Power Query e M Language: una panoramica dettagliata

Che cosè Power Query e M Language: una panoramica dettagliata

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

Cosè il sé in Python: esempi del mondo reale

Cos'è il sé in Python: esempi del mondo reale

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.