Calendario delle festività di LuckyTemplates: calcola la data W/DAX

Calendario delle festività di LuckyTemplates: calcola la data W/DAX

La creazione di un calendario delle festività di LuckyTemplates è fondamentale per molti calcoli di Time Intelligence. In questo tutorial, ti mostrerò come calcolare le date delle festività specifiche utilizzando le misure DAX. Puoi guardare il video completo di questo tutorial in fondo a questo blog.

Questo esempio proviene da una delle iniziative chiamata Problem of the Week, in cui ogni mese prendiamo un problema DAX o Power Query del mondo reale e lo analizziamo in dettaglio.

Calendario delle festività di LuckyTemplates: calcola la data W/DAX

Ho usato una tecnica chiamata Rubber Duck Debugging. Viene in genere utilizzato per il debug, ma trovo che sia anche molto utile per elaborare il framework iniziale che utilizzerai per risolvere un problema complesso come in LuckyTemplates.

Calendario delle festività di LuckyTemplates: calcola la data W/DAX

Fondamentalmente è solo usare una papera di gomma o una persona con cui parli e dire la soluzione che stai immaginando ad alta voce e sviluppare un piano su come attaccherai il problema.

Il semplice atto di dare voce che spesso ti aiuta a risolvere il problema. In alcuni casi in una situazione di debug, ti fa capire cosa stai facendo, se ha senso e aiuta a trovare un modo per risolverlo affrontando il problema.

Di seguito è riportato il problema DAX del mondo reale per questa particolare sfida. Abbiamo una tabella qui con 10 giorni festivi con il mese e il giorno. Alcuni giorni sono giorni specifici e altri sono giorni relativi. Dobbiamo trovare la data delle vacanze e le misure del giorno celebrato.

Calendario delle festività di LuckyTemplates: calcola la data W/DAX

Per fare ciò, dobbiamo analizzare il campo Giorno in due componenti. La prima analisi è l'occorrenza (terzo, ultimo, primo, secondo) e la seconda analisi è il giorno (lunedì, giovedì). Queste sono due informazioni critiche che dobbiamo separare.

Sommario

Calcolo di date specifiche nel calendario delle festività di LuckyTemplates

Normalmente, lo farei in Power Query solo attraverso una divisione per delimitatori, ma poiché lo stiamo facendo con DAX, dovremo farlo in un modo diverso. (Nota che non siamo autorizzati a utilizzare Power Query in questa sfida.)

Dobbiamo calcolare le date minima e massima per l'anno, il mese e il nome del giorno specificati. In questo caso, ad esempio, possiamo dire per il 2027, gennaio e il terzo lunedì. Una volta ottenuto quel giorno minimo per un determinato mese, possiamo aggiungervi sette giorni per arrivare al secondo lunedì, 14 giorni per arrivare al terzo lunedì e 21 giorni per arrivare al quarto lunedì.

Un'altra tecnica che desidero condividere con voi relativa a questa sfida è quella che chiamo Costruzione in parti durante la creazione di una misura. Lo trovo davvero utile in una misura complessa in cui se hai molte variabili, hai molti componenti da costruire.

Quello che faccio sempre è che ho una variabile risultato ( Risultato VAR ) alla fine e la mia ultima affermazione che è solo Risultato restituito . Questo rende davvero facile tornare indietro e testare le variabili che ho costruito. Posso esaminarlo, rintracciarlo e risolverlo in parti.

Calendario delle festività di LuckyTemplates: calcola la data W/DAX

L'ultima tecnica che voglio condividere con te è quella che chiamo Ricerca di funzioni sconosciute. Ad esempio, se non so quale funzione utilizzare per questa verifica del calendario delle festività di LuckyTemplates, accedo alla scheda Strumenti esterni e vado alla Guida DAX SQLBI .

Calendario delle festività di LuckyTemplates: calcola la data W/DAX

Ha una funzione davvero interessante qui chiamata Gruppi (sul lato sinistro), dove le funzioni sono raggruppate per tipo. Quindi, se sto pensando di analizzare una stringa di testo, ad esempio, posso andare a cercare Text functions .

Calendario delle festività di LuckyTemplates: calcola la data W/DAX

Fornisce tutte le funzioni di testo di DAX. Questo è un ottimo modo per trovare rapidamente la funzione DAX necessaria per una misura.

Calendario delle festività di LuckyTemplates: calcola la data W/DAX

Misure DAX per il calendario delle festività di LuckyTemplates

Per la misura Holiday Date , ho creato questa serie di s , raccogliendo le date dall'affettatrice, il mese festivo, il numero del mese e il giorno dalla tabella Date.  

Quindi, ho la durata di quel giorno selezionato utilizzando la funzione di lunghezza ( ). In questo caso, ha restituito del testo, quindi ho dovuto racchiuderlo in per modificare quel testo in un valore numerico.

E poi, ho usato la funzione per la posizione dello spazio e avvolgendolo VALUE, ma dicendo, cerca spazio all'interno del giorno selezionato, partendo dalla posizione uno e restituendo zero se non trovo quella stringa lì dentro.

Il CharsBeforeSpace (caratteri prima dello spazio) è solo il SpacePosition. Il numero di CharsAfterSpace (caratteri dopo lo spazio) è solo la lunghezza ( SelDayLen ) della stringa meno la posizione dello spazio. Da ciò, possiamo eseguire FirstParse e SecondParse .

Calendario delle festività di LuckyTemplates: calcola la data W/DAX

A questo punto, ora abbiamo due variabili, una che rappresenta l'occorrenza e una che rappresenta il giorno.

E poi, abbiamo un ( Calc1st ) di base in cui togliamo il filtro dalla tabella Date. Quindi, applichiamo i filtri dell'anno selezionato dall'affettatrice, il nome del mese e quindi il giorno della settimana da quella seconda analisi che abbiamo fatto.

Calendario delle festività di LuckyTemplates: calcola la data W/DAX

Allo stesso modo, facciamo la stessa cosa per l'ultimo calcolo ( VAR CalcLast ).

Calendario delle festività di LuckyTemplates: calcola la data W/DAX

Una volta che abbiamo tutto questo, passa a un'istruzione e l'ultima parte è il risultato RETURN.

Calendario delle festività di LuckyTemplates: calcola la data W/DAX

Infine, voglio guidarti attraverso la misura Celebrated On come bonus aggiuntivo dalla sfida. Questo è solo un semplice in cui ho preso la data della festività calcolata nella misura precedente, sono andato alla tabella Date e ho cercato il nome del giorno della settimana. E poi ho appena fatto una dichiarazione SWITCH in cui abbiamo preso quel risultato di DayLookup. E infine, concludo con un RETURN DateAdjust .

Calendario delle festività di LuckyTemplates: calcola la data W/DAX


Creazione di una tabella di calendario per le festività in LuckyTemplates
Calendari personalizzati di LuckyTemplates: calcolo per la modifica mese dopo mese - 445 calendari
Confronto temporale per tabelle di date non standard in LuckyTemplates

Conclusione

Questa sfida del calendario delle festività di LuckyTemplates, come ho già detto, è un problema del mondo reale. La soluzione che mi è venuta in mente è piuttosto complessa, ma davvero efficace nel calcolare le date specifiche delle festività.

Spero che tu abbia imparato molto da questo tutorial. Guarda il tutorial video completo per una spiegazione più dettagliata delle misure DAX.

Saluti!


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