Calendario automatico su PowerBI

Oggi parliamo di calendario e asse dei tempi.

La quasi totalità delle volte, operando con la business intelligence, è necessario disporre di un calendario come asse dei tempi.

La strada più frequente e usata è quella di importare una tabella calendario estesa quel che basta per soddisfare le esigenze del momento.

All’interno di PowerBI, tuttavia, esiste la possibilità di creare automaticamente un calendario con estensione basata sulle tabelle presenti nel modello.

Per fare questo, ci vengono in aiuto le funzione CALENDAR e CALENDARAUTO.

CALENDAR è una funzione che restituisce una tabella con un’unica colonna e un record per ogni giorno compreso tra le date parametro:

Tabella = CALENDAR(<Datainizio>;<datafine>)</b>

Ovviamente Datainizio e Datafine possono essere campi calcolati sulla base di informazioni presenti: per esempio avendo una tabella di “eventi datati” più o meno sporadici, possiamo avere l’intervallo di calendario usando:

DataDal = MINX(<Tabella>;<Campo>);
DataAl = MAXX(<Tabella>;<Campo>);

Quindi un calendario per giorno corrispondente a una tabella movimenti potrebbe essere:

Tabella = CALENDAR(MINX(Movimenti;[Giorno]);MAXX(Movimenti;[Giorno])

CALENDARAUTO è una funzione più “completa” se vogliamo:

Tabella = CALENDARAUTO(<ultimomesefiscale>)

La funzione guarda le colonne di tipo data presenti nel modello (importate o calcolate), valuta la minima data e la massima data, quindi costruisce un calendario identico a quello della funzione CALENDAR tale da coprire l’intero intervallo di date rilevate con anni fiscali INTERI.

La funzione richiede infatti di specificare ANCHE il mese di chiusura dell’anno fiscale, in modo da avere l’intervallo dell’intero anno fiscale.

Pensando a una chiusura di anno al 30/9 e un modello che ha dati dall’1/4/18 and 23/11/20, per esempio, la funzione:

Calendario = CALENDARAUTO(9)

Restituisce una tabella calendario con date comprese tra 1/10/17 (la data iniziale 1/4/18 sta nell’anno fiscale 1/10/17 – 30/9/18) e 30/9/21 (la data finale 23/11/20 sta nell’anno fiscale 1/10/20 – 30/9/21).

Riferimenti alla documentazione DAX:

https://dax.guide/calendar/