Le variabili di LuckyTemplates Dax sono costanti: cosa significa?

Le variabili di LuckyTemplates Dax sono costanti: cosa significa?

Ogni volta che hai sentito una spiegazione su come usare le variabili DAX di LuckyTemplates, potresti aver sentito la frase "le variabili sono costanti". Sembra semplice, ma c'è una discreta quantità di sfumature e complessità in queste parole. In questo blog, ti illustrerò cosa significa questa frase e le implicazioni su come vengono calcolate le tue misure. La comprensione di questi concetti è essenziale per garantire che le misure producano i risultati desiderati. Puoi guardare il video completo di questo tutorial in fondo a questo blog.

Una variabile all'interno di DAX può effettivamente essere qualsiasi espressione DAX valida. Può essere un valore, un calcolo, una misura o una variabile che rappresenta una tabella, un'altra variabile o una combinazione di questi elementi.

Ci sono due parti in una variabile. C'è la dichiarazione in cui si inizializza la variabile; gli dai un nome e poi un valore. L'altro è l' istruzione RETURN , che richiama quindi almeno una delle variabili dichiarate. Non è come una parentesi in cui devi avere un'istruzione RETURN per ogni variabile, ma devi avere almeno un'istruzione RETURN se hai dichiarato delle variabili.

La chiave qui è che, come ho detto prima, le variabili sono costanti. Ciò significa che una volta che le variabili sono state assegnate a un valore, quel valore non può cambiare prima dell'istruzione RETURN .

Sommario

Applicazione di variabili DAX di LuckyTemplates alle misure

Diamo un'occhiata a un semplice esempio in cui ho paesi e vendite totali. La misura Total Sales è solo la nostra misura più semplice, che è la delle vendite di linea all'interno della tabella Sales.

Le variabili di LuckyTemplates Dax sono costanti: cosa significa?

Diciamo che vogliamo ottenere le vendite totali per l'anno 2020. In questo set di dati, abbiamo le vendite per il 2019, il 2000 e il 2021. Per ottenere le vendite per il 2020, dobbiamo applicare una condizione di filtro molto semplice, che è . Quindi, cambiamo il nostro contesto di filtro. Abbiamo la nostra misura delle vendite totali, quindi il nostro anno è il 2020.

Le variabili di LuckyTemplates Dax sono costanti: cosa significa?

Se inseriamo quella misura nella tabella, otteniamo esattamente ciò che ci aspettiamo, che è il numero giusto per il 2020.

Le variabili di LuckyTemplates Dax sono costanti: cosa significa?

Ora, se vogliamo applicare variabili a questo, ecco una versione leggermente rivista della misura precedente, in cui ho creato una variabile chiamata TotSales e l'ho impostata uguale alla nostra misura Total Sales.

Le variabili di LuckyTemplates Dax sono costanti: cosa significa?

Se ci pensiamo dal punto di vista della sostituzione algebrica, se semplicemente sostituiamo quella che in precedenza era la nostra misura Total Sales qui per TotSales, che è uguale a quella misura Total Sales, penserete che potrebbe essere la stessa cosa e produrre la stessa risultato. Ma se diamo un'occhiata e inseriamo quella misura nella nostra tabella, vedremo che non produce lo stesso risultato.

Le variabili di LuckyTemplates Dax sono costanti: cosa significa?

Viene dichiarata la variabile TotSales, che ottiene il valore delle vendite totali. Diciamo che siamo sulla fila della Moldavia e quella variabile ottiene il valore di 2,35 milioni. Ora, ricorda che il valore non può cambiare finché non viene chiamata l'istruzione RETURN. Quindi, quando scendiamo per calcolare la nostra misura nella variabile RESULT , quello che abbiamo è TotSales, che è una costante a 2,35 milioni.

E poi, applichiamo il nostro contesto di filtro ad esso, Dates[Year] equals 2020 , ma non importa perché quella costante non può cambiare. Quindi, potremmo dire che Dates[Year] è uguale a 2019, 2021 e così via, sarà comunque lo stesso 2,35 milioni perché TotSales è ora bloccato come costante fino a RETURN .

E quando ritorna, passiamo alla riga successiva e la variabile rileva il valore di Paesi Bassi (4,4 milioni). Il processo si ripete, bloccandolo come una costante fino all'istruzione RETURN. Quello che otteniamo è esattamente ciò che abbiamo nella misura Total Sales, non nella misura che filtra fino al 2020.

E così, potresti pensare che in realtà non sembra molto utile. In questo contesto, non lo è. Questo è in realtà un errore comune quando le persone iniziano a utilizzare inizialmente le variabili . Mettono la variabile nella prima parte dell'espressione dell'istruzione CALCULATE. Questo in genere non darà il risultato che stanno cercando perché lo blocca come valore costante.

Utilizzo delle variabili DAX di LuckyTemplates all'interno degli iteratori

Le variabili brillano davvero quando le metti all'interno di iteratori. Ti parlerò di questo caso, che è di valore precedente. Cerchiamo una data e quindi un valore precedente soggetto a una serie di condizioni.

Le variabili di LuckyTemplates Dax sono costanti: cosa significa?

Ricorda che il modo in cui dovevi farlo prima che le variabili arrivassero a DAX era attraverso una funzione chiamata . Ma ora, le variabili funzionano davvero così bene in questo contesto. Con le variabili, si consiglia vivamente di non utilizzare mai più la funzione PRECEDENTE.

Quindi, diamo un'occhiata a un esempio più complesso, in cui abbiamo variabili nella parte dell'iteratore piuttosto che nella parte dell'espressione. Di seguito è in realtà un caso di una domanda emersa nel in cui il membro voleva esaminare ogni data all'interno di un intervallo e quindi trovare la prima data precedente che non fosse un fine settimana o una vacanza.

Le variabili di LuckyTemplates Dax sono costanti: cosa significa?

Voglio concentrarmi in particolare su martedì 15 ottobre come primo esempio. Il risultato desiderato era guardare quella data. Lunedì era il Columbus Day, quindi era festivo, poi i giorni precedenti erano domenica e sabato. E così, la data che volevamo ottenere era l'11 ottobre, che era il venerdì.

Se guardi la colonna Giorno precedente/Nessun fine settimana/Nessuna festività, martedì era l'11. La stessa cosa valeva per lunedì, domenica e sabato. Questo è ciò che vogliamo ottenere come risultato.

Accanto alla tabella sopra c'è la misura che abbiamo usato per questo scenario. Abbiamo dichiarato una variabile che era la data selezionata ( VAR SelDate ) e che era solo della data. Prenderebbe il 15 ottobre nella nostra variabile e poi lo manterrebbe come una costante fino all'istruzione RETURN.

Quindi, valutiamo il DAX dall'esterno all'interno. Se osserviamo la condizione del filtro, sta rimuovendo i filtri su Date e quindi imposta una serie di filtri aggiuntivi. Sta prendendo quella data costante selezionata, il 15 ottobre, e sta dicendo, dammi tutte le date prima di quella. E poi, di quelle date assicurati che nessuna di quelle date sia un sabato, una domenica o un giorno festivo. Quindi, prende il di quelle date che sono state filtrate.

Puoi vedere qui che avere selezionato i dati come costante è una specie di palo nel terreno su cui tutte le altre date vengono valutate prima o dopo.

Abbiamo la nostra data selezionata, quindi filtriamo tutto ciò che è precedente. Prendiamo il massimo di quella tabella filtrata. E quindi, quello che otteniamo è il massimo il 15 quando eliminiamo tutte quelle altre condizioni è quel venerdì 11. Quindi, se scendiamo all'istruzione RETURN, ricomincia dal giorno successivo, il 16. Continua semplicemente a scorrere la tabella fino a quando non arriva alla fine dei dati.

Come puoi vedere in questo caso, quando inseriamo variabili nella parte dell'iteratore anziché nella parte dell'espressione, funziona esattamente come avevamo pianificato. Sfrutta il fatto che le variabili sono costanti.


Utilizzo delle variabili in LuckyTemplates: un esempio dettagliato
Come lavorare con formule DAX estese in LuckyTemplates: i suggerimenti per la formattazione includevano
variabili DAX e commenti per semplificare le formule

Conclusione

In questo blog, ti ho mostrato come applicare le variabili DAX di LuckyTemplates in una misura e come funziona quando le variabili vengono inserite nella parte iteratore di una misura.

Spero che questi esempi spieghino la frase "le variabili sono costanti", dandoti un'idea del motivo per cui le tue misure sembrano funzionare e talvolta no. Spero che questo ti fornisca una comprensione generale di cosa significhi questo importante concetto.

Ti auguro il meglio!


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