Calcola i giorni lavorativi tra due date in LuckyTemplates

Ti mostrerò come calcolare i giorni lavorativi / giorni lavorativi tra due date con le festività contate o senza le festività. Questo è un argomento che è stato chiesto più e più volte sul .

Credo anche che questo sarà un ottimo modo per chiudere questa serie di Time Intelligence, sapendo che copre molti degli altri elementi discussi in precedenza. Questi elementi includono la creazione di una tabella delle festività, la creazione di una tabella delle date estesa e l'utilizzo della funzione Puoi guardare il video completo di questo tutorial in fondo a questo blog.

Sommario

Modi per calcolare i giorni lavorativi tra due date

Parlerò dei diversi approcci che puoi utilizzare per calcolare i giorni lavorativi.

Excel consente agli utenti di calcolare i giorni lavorativi in ​​modo semplice attraverso l'uso della sua funzione NETWORKDAYS . Tuttavia, DAX non ha una funzione del genere , quindi discuterò dei modi per aggirare questo problema.

Un modo per farlo è utilizzare alcuni elementi della tabella delle date estesa.

Un'altra opzione è attraverso un approccio che ho ottenuto da Imke Feldmann dal blog thebiccountant.com. Ha creato una funzione NetworkDays personalizzata che può essere richiamata direttamente da Power Query , rendendo il processo molto più veloce e meno complicato.

Per mostrarti come funzionano questi approcci, utilizzerò uno scenario molto comune.

Ho cento progetti che ho reso anonimi.

Calcola i giorni lavorativi tra due date in LuckyTemplates

Ho anche una data di inizio e una data di fine per ogni progetto.

Calcola i giorni lavorativi tra due date in LuckyTemplates

Ho creato anche una semplice misura dei giorni trascorsi . Questo è fondamentalmente il numero grezzo di giorni tra ciascuna delle date di inizio e di fine . Ho usato la funzione per fare questo, una funzione utile per datediff giorni lavorativi.

Calcola i giorni lavorativi tra due date in LuckyTemplates

Il modello dati è molto semplice. Contiene tabelle per date e progetti .

Calcola i giorni lavorativi tra due date in LuckyTemplates

Mostra anche la tabella dei fatti, che include l' ID progetto , la data di inizio e la data di fine .

Calcola i giorni lavorativi tra due date in LuckyTemplates

A scopo di confronto, ho anche calcolato i NetworkDays (con e senza festività) utilizzando Excel (non power bi).

Calcola i giorni lavorativi tra due date in LuckyTemplates

Ovviamente puoi fare la stessa cosa e importare dati da Excel. Ma l'obiettivo qui è utilizzare LuckyTemplates per calcolare il numero di giorni lavorativi senza dover utilizzare Excel.

Calcolo dei giorni lavorativi tra le date utilizzando DAX

Ogni volta che si ha a che fare con il conteggio delle date, è sempre utile utilizzare la funzione nella tabella Date.

Calcola i giorni lavorativi tra due date in LuckyTemplates

Ho anche usato DATESBETWEEN per restringere il campo tra la data di inizio e la data di fine . Ho anche aggiunto IsWorkingDay per applicare la semplice logica booleana secondo cui se è un giorno lavorativo dovrebbe essere . I fine settimana restituirebbero .

L'ho finito con il filtro solo per tenere conto del contesto degli affettatori.

Per quanto riguarda la versione con festività, è molto simile alla misura di cui ho appena parlato.

Calcola i giorni lavorativi tra due date in LuckyTemplates

È la stessa espressione che utilizza la funzione DATESBETWEEN . Ho solo aggiunto un e IsHoliday.

Calcola i giorni lavorativi tra due date in LuckyTemplates

Ancora una volta, ho usato la funzione ALLSELECTED proprio alla fine.

Guarda cosa succede quando trascino queste due misure nella mia tabella.

Calcola i giorni lavorativi tra due date in LuckyTemplates

Come previsto, la colonna Workdays w/ Holidays corrisponde perfettamente alla colonna Excel w/ Holidays . La stessa cosa vale per la colonna Workdays w/o Holidays, che corrisponde alla colonna Excel w/o Holidays .

Calcolo dei giorni lavorativi utilizzando Power Query

L'approccio di cui parla Imke Feldmann del blog thebiccoountant.com offre una soluzione ancora più semplice quando si utilizza Power Query.

Nel suo blog sulla funzione NETWORKDAYS, ha fornito un codice M che può essere richiamato in Power Query.

Calcola i giorni lavorativi tra due date in LuckyTemplates

Basta copiare il codice M dal suo blog.

Calcola i giorni lavorativi tra due date in LuckyTemplates

Quindi, vai in Power Query e in New Source , apri una Query vuota.

Calcola i giorni lavorativi tra due date in LuckyTemplates

Entra nell'editor avanzato .

Calcola i giorni lavorativi tra due date in LuckyTemplates

Quindi incolla l'intero codice nella pagina. Assicurati di avere un segno di spunta verde per assicurarti che non ci siano errori nel tuo codice.

Calcola i giorni lavorativi tra due date in LuckyTemplates

Una volta richiamato, ti porterà a questo modello.

Calcola i giorni lavorativi tra due date in LuckyTemplates

Non importa cosa inserisco qui, quindi andrò dal 1° gennaio 2018 al 1° gennaio 2020.

Calcola i giorni lavorativi tra due date in LuckyTemplates

Questo verrà ora visualizzato sotto le mie domande. Lo rinominerò per renderlo più facile da usare in seguito.

Calcola i giorni lavorativi tra due date in LuckyTemplates

Lo chiamerò Networkdays .

Calcola i giorni lavorativi tra due date in LuckyTemplates

Ora posso iniziare a utilizzare quella query. Entrerò nel mio Data .

Calcola i giorni lavorativi tra due date in LuckyTemplates

Quindi, in Aggiungi colonna , farò clic su Richiama funzione personalizzata .

Calcola i giorni lavorativi tra due date in LuckyTemplates

Lo chiamerò NWD e utilizzerò la funzione Networkdays .

Calcola i giorni lavorativi tra due date in LuckyTemplates

Quindi, sceglierò Data di inizio e Data di fine da questi menu a discesa di seguito.

Calcola i giorni lavorativi tra due date in LuckyTemplates

Mi dà la possibilità qui di cambiare l'inizio della settimana da lunedì a qualcos'altro.

Calcola i giorni lavorativi tra due date in LuckyTemplates

Per questo scopo, lunedì va bene, quindi lo lascerò così com'è. Quindi, farò clic su OK.

Calcola i giorni lavorativi tra due date in LuckyTemplates

Come puoi vedere, calcola immediatamente il NetworkDays equivalente alla colonna NetworkDays di Excel .

Calcola i giorni lavorativi tra due date in LuckyTemplates

Ora, fammi modificare così posso escludere le festività. Devo solo entrare nel mio tavolo delle feste .

Calcola i giorni lavorativi tra due date in LuckyTemplates

Se ricordi dal modello, la tabella Holiday è il terzo parametro qui.

Calcola i giorni lavorativi tra due date in LuckyTemplates

Quindi userò solo la tabella Festività qui e farò riferimento alla colonna Data.

Calcola i giorni lavorativi tra due date in LuckyTemplates

Farò clic sul segno di spunta qui per applicare tali modifiche.

Calcola i giorni lavorativi tra due date in LuckyTemplates

[00:11:00]
Ora è stato aggiornato e ha rimosso tutte le festività. È esattamente uguale alla colonna per Excel NetworkDays senza festività.

Calcola i giorni lavorativi tra due date in LuckyTemplates

Rinominerò semplicemente questa colonna NWD Nessuna festività.

Calcola i giorni lavorativi tra due date in LuckyTemplates


Aggiunta dei numeri del giorno lavorativo e del fine settimana nella tabella delle date: tecnica di intelligenza temporale in LuckyTemplates
Visualizzazione del numero del giorno lavorativo in LuckyTemplates utilizzando DAX
Calcolo della media in LuckyTemplates: isolamento dei risultati del giorno della settimana o del fine settimana utilizzando DAX

Conclusione

Vedrai che entrambi gli approcci che ho usato erano molto diversi l'uno dall'altro, ma entrambi hanno prodotto gli stessi risultati. Questo dimostra solo che ci sono davvero molti modi per massimizzare LuckyTemplates, anche quando la specifica funzione di Excel che stai cercando non ha una controparte diretta.

Questa è stata una grande corsa per la serie Time Intelligence. Mi è piaciuto lavorare con Melissa Dekorte per mostrarti tutti questi fantastici scenari di Time Intelligence.

Una delle cose che voglio davvero sottolineare qui è che DAX è la parte più interessante di LuckyTemplates. Ma man mano che padroneggi i dettagli di LuckyTemplates, inizierai ad apprezzare altre soluzioni che non coinvolgono affatto DAX. L'ultimo approccio che ti ho mostrato sopra, così come i suggerimenti che ho condiviso nei video precedenti su Time Intelligence lo dimostrano.

Ti auguro il meglio,

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.