Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Per questo post, vorrei parlare di un recente suggerimento di LuckyTemplates che mi è venuto in mente per un membro del . La domanda riguardava uno schema utile in termini di osservazione dei primi N giorni lavorativi o dei primi N giorni fatturabili di un determinato mese rispetto allo stesso periodo del mese precedente. Puoi guardare il video completo di questo tutorial in fondo a questo blog.

TJ Henneman desiderava confrontare i primi 5 giorni fatturabili del mese corrente con i primi 5 giorni fatturabili del mese precedente, quindi il giorno 10, il giorno 15 e il giorno 20. Si noti che desidera esaminare solo i giorni fatturabili, quindi questo non include i fine settimana e i giorni festivi. Puoi controllare il suo post .

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Penso che qui ci sia una soluzione di query di alimentazione davvero interessante . Ho anche lavorato con un'interessante soluzione DAX su questo problema. Esaminerò quest'ultimo in un altro tutorial.

Voglio anche guidarti attraverso una recente tecnica di reporting che ho usato per LuckyTemplates Challenge #16. Ho usato un indicatore KPI a scorrimento che funzionerà molto bene per questo particolare problema.

Ma per questo suggerimento di LuckyTemplates, toccherò la soluzione di query di alimentazione. Passiamo a LuckyTemplates e diamo un'occhiata ai nostri dati. Per questo, ho simulato i dati utilizzando lo strumento di set di dati di esercitazione che abbiamo messo insieme su LuckyTemplates, che puoi utilizzare gratuitamente. Questo è ottimo per mettere insieme un set di dati di schemi a stella di base e per testare soluzioni.

Sommario

Il nostro modello di dati

Il nostro modello di dati utilizza la nostra tabella delle date estesa più una serie di tabelle delle dimensioni. Abbiamo anche una tabella Sales con tre anni di dati parziali nel primo anno, dati completi nel secondo anno e dati parziali nel terzo anno. Infine, abbiamo anche una tabella Misure .

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Ho anche leggermente modificato questo set di dati. Ho inserito una tabella delle festività e l'ho collegata alla tabella delle date estese in modo che possa calcolare correttamente le festività che rimuoveremo in questa analisi. Se non sei sicuro di come farlo, dai un'occhiata a questo tutorial .

Quindi ho filtrato il primo mese parziale nel set di dati perché quel mese aveva solo pochi giorni di dati e non aveva i giorni lavorativi di cui avevamo bisogno. Prendi nota che stiamo iniziando con il primo mese intero; ma a parte questo, questo sarà il tuo set di dati standard. Passiamo quindi a Power query e iniziamo a lavorare su questo suggerimento di LuckyTemplates.

Se diamo un'occhiata ai nostri dati, puoi vedere che abbiamo ordini diversi in un determinato giorno. L'obiettivo è numerare tutto ciò che inizia con il 1° aprile come primo giorno lavorativo, il 2 aprile come secondo giorno lavorativo, il 3 aprile come terzo giorno lavorativo e così via. Lo numeramo da 1 a N giorni lavorativi per ogni mese eliminando i fine settimana e i giorni festivi.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Creazione di una tabella duplicata

Per iniziare, dobbiamo creare un duplicato di questa tabella in modo da poterla aggregare in Total Sales e portarla nel livello di osservazione individuale. Chiameremo questa tabella duplicata Sales Aggregated .

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Potresti aver notato che abbiamo duplicato la tabella Sales invece di limitarci a fare riferimento ad essa. In questo caso, uniremo questa tabella con la tabella Sales originale. Se lo facciamo riferimento, causerà problemi quando ci uniremo ai due.

La prima cosa da fare è usare un Group By nella colonna OrderDate . Fare clic sul pulsante Avanzate perché ci darà un quadro completo di ciò che stiamo facendo qui. Inseriremo Total Day Sales come nuovo nome di colonna e sarà la somma del totale della nostra riga.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Ora abbiamo ogni data (prima colonna) e le vendite totali per quel giorno (seconda colonna).

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Unire la tabella delle date

Il prossimo passo in questo suggerimento di LuckyTemplates è unire questo con la nostra tabella delle date per capire quali di questi giorni sono giorni lavorativi e quali no. Possiamo raggruppare di nuovo per, suddividerli e numerarli in modo appropriato.

Uniremo la nostra tabella Date e collegheremo OrderDate a Date . Possiamo vedere nella parte inferiore che la selezione corrisponde a ogni riga della tabella, come dovrebbe.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Il campo che ci interessa principalmente è IsBusinessDay .

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Questo è il campo principale su cui raggrupperemo, quindi utilizzeremo i campi Mese e anno e Mese e anno .

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Dobbiamo anche controllare DayofWeekName per assicurarci di filtrare i giorni corretti.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Dopo aver fatto clic sul pulsante OK , ci darà esattamente ciò di cui abbiamo bisogno.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Dobbiamo anche assicurarci che la nostra data dell'ordine sia ordinata in ordine crescente.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Quindi torniamo indietro e creiamo un secondo Group By .

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Questa volta faremo clic sul pulsante Avanzate , raggrupperemo su Mese e anno , quindi aggiungeremo un secondo raggruppamento.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Il secondo raggruppamento è per IsBusinessDay in modo da poter numerare quelli in cui i giorni lavorativi sono veri.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Quindi creeremo una funzione AllRows in modo che non si aggreghi e saremo in grado di tornare al livello di granularità originale.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Questo dovrebbe darci tabelle nidificate in cui possiamo vedere una tabella per true e una tabella per false per ogni mese.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Creazione di una colonna personalizzata

Successivamente, dobbiamo creare una colonna personalizzata per aggiungere il conteggio di cui abbiamo bisogno per i giorni lavorativi.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Utilizzeremo una funzione chiamata Table.AddIndexColumn , che funzionerà sulla tabella AllRows e la chiameremo Day Index . Vogliamo che l'indice inizi con 1 e aumenti di 1 con ogni nuovo giorno lavorativo.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Quindi possiamo rimuovere le prime tre colonne ed espandere la nostra quarta colonna personalizzata.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Se osserviamo il risultato, ci fornisce l'indice dei giorni, che conta i giorni lavorativi (vero), quindi conta i giorni che sono fine settimana e festivi in ​​ogni mese (falso). Successivamente, dobbiamo verificare che questi siano nel tipo di campo corretto.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Torniamo alla nostra tabella delle vendite. Uniremo la tabella Aggregate che abbiamo appena creato con la nostra tabella Sales.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Li uniremo in OrderDate . Puoi vedere in fondo che corrisponde a tutte le righe della prima tabella.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Quando espandiamo la colonna Sales Agg, selezioniamo i nuovi campi che abbiamo appena aggiunto: le colonne Month & Year , DayOfWeekName , MonthnYear , IsBusinessDay e DayIndex .

Puliamo anche i nostri dati prima di fare clic su Chiudi e applica . Spostiamo la tabella Sales Agg nella nostra sezione Data Prep , quindi scarichiamo quella tabella poiché non ne avremo bisogno all'interno del modello di dati. Quindi fare clic su Chiudi e applica .

Il nostro lavoro di preparazione delle query avanzate è ora terminato.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Creazione di un parametro what-if

Ricorda che nell'attività originale vogliamo variare il numero di giorni che guardiamo da 5 a 10 e da 15 a 20. Penso che il modo migliore per farlo sia con un nuovo parametro what- if .

Chiameremo il parametro what-if Primi N giorni lavorativi e il suo tipo di dati sarà un numero intero. Il minimo è impostato su un incremento di 1 e un massimo di 20. Quindi imposteremo per impostazione predefinita 5, che è il primo valore desiderato dall'utente.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Ora abbiamo un'affettatrice che crea automaticamente la misura del raccolto per acquisire il valore dell'affettatrice.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Creiamo una tabella con i nostri risultati. Inseriamo la nostra dimensione Month & Year nell'area di disegno e quindi ordiniamola per Month & Year .

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Dopo aver ordinato correttamente questo campo, possiamo semplicemente eliminare la misura Total Sales ed espanderla.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Creazione di una misura per il numero di giorni lavorativi

Dobbiamo creare un'altra misura che dia un'occhiata al valore del parametro del dispositivo di scorrimento e calcoli solo il numero di giorni lavorativi.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Chiameremo questa nuova misura Total Sales N Bus Days . Inizieremo con la funzione poiché stiamo decisamente cambiando contesto e con la nostra misura Total Sales. Lo filtreremo con della nostra tabella Sales.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Il prossimo passo è scrivere le condizioni che vogliamo prendere in considerazione per lo slider. Abbiamo il nostro indice dei giorni di vendita che abbiamo creato in Power Query e vogliamo che sia minore o uguale al valore dei primi N giorni lavorativi, che è il valore raccolto dell'affettatrice.

Ad esempio, se il dispositivo di scorrimento è a 5, vogliamo tutti i giorni della tabella Sales in cui l'indice dei giorni è minore o uguale a 5.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

E poi vogliamo eliminare i giorni non lavorativi. Faremo riferimento alla tabella Date e utilizzeremo il campo IsBusinessDay. Esamineremo solo il risultato che è VERO.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Infine, riporta il contesto per Mese e anno e chiudi la misura. Dovremmo essere a posto a questo punto.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Mettiamo la nuova misura nella nostra tabella.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Possiamo portare l'affettatrice del dispositivo di scorrimento al segno dei 10 giorni e la tabella calcolerà dinamicamente al segno dei 10 giorni.

Suggerimento per LuckyTemplates: come confrontare i primi N giorni lavorativi

Conclusione

In questo suggerimento di LuckyTemplates, abbiamo parlato di come eseguire dinamicamente un confronto like-for-like usando una soluzione Power Query. Possiamo inserirlo in un grafico a barre o in un grafico a linee.

In alcuni dei nostri prossimi tutorial, daremo un'occhiata alla soluzione DAX e implementeremo la visualizzazione dello scroller KPI.

Se ti sono piaciuti i contenuti trattati in questo particolare tutorial, non dimenticare di iscriverti al canale TV LuckyTemplates .

Leave a Comment

Power Automate si applica a ogni azione nei flussi di lavoro

Power Automate si applica a ogni azione nei flussi di lavoro

Scopri l

Tecniche di modellazione dei dati per organizzare le misure DAX

Tecniche di modellazione dei dati per organizzare le misure DAX

Tecniche di modellazione dei dati per organizzare meglio le misure DAX per un flusso di lavoro più efficiente.

Filtro Power Apps: cosè e come si usa?

Filtro Power Apps: cosè e come si usa?

Scopri come utilizzare la funzione di filtro in Power Apps e come incorporarla nelle formule esistenti all

Come commentare più righe in Python: una guida semplice e veloce

Come commentare più righe in Python: una guida semplice e veloce

Come commentare più righe in Python: una guida semplice e veloce

Connettori Power Automate: numero, testo e data e ora

Connettori Power Automate: numero, testo e data e ora

Acquisisci familiarità con i connettori Power Automate per la manipolazione di numeri, testo e date/ore.

Budget Vs Actual Vs Last Year - Suggerimenti per la rendicontazione finanziaria

Budget Vs Actual Vs Last Year - Suggerimenti per la rendicontazione finanziaria

Ora, è molto facile studiare il budget rispetto all

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 articolo tratta anche come importare oggetti da R a LuckyTemplates.

Che cosè Power Query e M Language: una panoramica dettagliata

Che cosè Power Query e M Language: una panoramica dettagliata

Scopri tutto su Power Query e il linguaggio M per la trasformazione e la preparazione dei dati nel desktop di LuckyTemplates.

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

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.