Spiegazione del contesto di riga in LuckyTemplates

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.


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