Cosè il sé in Python: esempi del mondo reale
Cos'è il sé in Python: esempi del mondo reale
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.
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.
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.
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.
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 .
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 .
Fornisce tutte le funzioni di testo di DAX. Questo è un ottimo modo per trovare rapidamente la funzione DAX necessaria per una misura.
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 .
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.
Allo stesso modo, facciamo la stessa cosa per l'ultimo calcolo ( VAR CalcLast ).
Una volta che abbiamo tutto questo, passa a un'istruzione e l'ultima parte è il risultato RETURN.
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 .
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
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