Cosè il sé in Python: esempi del mondo reale
Cos'è il sé in Python: esempi del mondo reale
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.
Cos'è il sé in Python: esempi del mondo reale
Imparerai come salvare e caricare oggetti da un file .rds in R. Questo blog tratterà anche come importare oggetti da R a LuckyTemplates.
In questa esercitazione sul linguaggio di codifica DAX, scopri come usare la funzione GENERATE e come modificare dinamicamente il titolo di una misura.
Questo tutorial illustrerà come utilizzare la tecnica di visualizzazione dinamica multi-thread per creare approfondimenti dalle visualizzazioni di dati dinamici nei report.
In questo articolo, esaminerò il contesto del filtro. Il contesto del filtro è uno degli argomenti principali che qualsiasi utente di LuckyTemplates dovrebbe inizialmente conoscere.
Voglio mostrare come il servizio online di LuckyTemplates Apps può aiutare nella gestione di diversi report e approfondimenti generati da varie fonti.
Scopri come elaborare le modifiche al margine di profitto utilizzando tecniche come la ramificazione delle misure e la combinazione di formule DAX in LuckyTemplates.
Questo tutorial discuterà delle idee di materializzazione delle cache di dati e di come influiscono sulle prestazioni dei DAX nel fornire risultati.
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