In questo post creeremo un grafico a calendario in Tableau. Per questo tutorial, utilizzeremo il dataset Sample Superstore.
Innanzitutto, fate clic con il pulsante destro del mouse e trascinate la Order Date sulle righe e scegliete Order Date come discreta. Notate che ci sono alcuni giorni mancanti nella data dell’ordine, questo perché non ci sono state vendite in quei giorni. Ma per costruire un intero anno solare, abbiamo bisogno di quei giorni nella visualizzazione.
Pertanto, ho creato questa data source che contiene ogni data dal 2020 al 2024.
Potete accedere ai file utilizzati in questo tutorial tramite il seguente link:
https://drive.google.com/drive/folders/1K1XczvtZq_JwFnO2maPVudc3szEWie0o?usp=sharing
Dopo aver scaricato il dataset, andate alla pagina della data source e nel riquadro di sinistra, aggiungete un’altra connessione utilizzando:
Cliccate su add > Microsoft Excel e scegliete il file scaricato usando il link sopra indicato.
Ora nel logical layer fate doppio clic su “Orders” per visualizzare la vista di join.
Trascinate il Sheet1 della tabella “date 2020 – 2024” a destra del foglio Orders nella finestra di join. Scegliete “Order Date” nella tabella di sinistra e “Date” nella tabella di destra, e selezionate la join a destra per assicurarvi che tutte le date dalla tabella “date 2020 – 2024” che abbiamo creato siano aggiunte al dataset.
A questo punto potete chiudere la finestra e tornare al sheet. Poi, fate clic con il pulsante destro del mouse, trascinate la Date sulle colonne e scegliete WEEKDAY.
Fate clic con il pulsante destro del mouse e trascinate la data sulle righe e scegliete Quarter > clic su ok.
Trascinate la data sui filtri. Scegliete gli anni e selezionate un anno (ad esempio: 2020).
Ora, aggiungete WEEK del nostro campo Date nelle righe.
E ora, come vediamo, abbiamo un calendario dall’alto verso il basso.
Ma vogliamo che il nostro calendario abbia un layout di tre per quattro. Pertanto, dobbiamo creare una data personalizzata per il mese del nostro campo Data e aggiungerla alle colonne prima del WEEKDAY(Date) per raggruppare il mese che vogliamo nelle nostre colonne. Per farlo, fate clic con il pulsante destro del mouse sul campo Data > clic su Create > Custom date.
Nel Detail > selezionate Months e scegliete Date Part.
Fate clic con il pulsante destro del mouse su quel nuovo campo del mese nel riquadro dei dati, scegliete l’opzione “Crea gruppo” e create i gruppi di mesi come nello screenshot seguente. Nomina i gruppi come 1, 2 e 3 per avere i nostri mesi raggruppati in ordine, come colonne verticali nel nostro calendario.
Ora, aggiungete il mese raggruppato nelle colonne, prima del WEEKDAY(Date) già presente nelle colonne.
E ora, come potete vedere, abbiamo un layout di tre per quattro dei nostri mesi, ma notiamo che le settimane non sono allineate e ad esempio la settimana numero 6 del primo trimestre deve allinearsi e trovarsi nella prima riga, seguita dalla settimana 7 nella seconda riga e così via. Per farlo, dobbiamo creare un calcolo che sposti la settimana.
Ora, se sottraiamo la prima settimana di ogni mese (mese fisso) dai nostri numeri di settimana, risolveremo il problema. Per farlo, dobbiamo scrivere la seguente formula.
Poiché non vogliamo aggregare questo campo calcolato, fate clic con il pulsante destro del mouse su di esso e selezionate “Convert to dimension”.
Ora, se mettiamo questo campo calcolato di offset settimana al posto del campo WEEK(Date) che era nelle righe prima, avremo le nostre settimane allineate. Quindi, trascinate il campo WEEK(Date) dalle righe e invece mettete l’offset settimana sulle righe, poi cliccate con il pulsante destro del mouse su di esso e convertitelo in continuous (spiegherò perché l’abbiamo reso continuous più tardi).
Ora, fate clic con il pulsante destro del mouse sul campo Data e trascinatelo sulla casella di testo. Siamo quasi arrivati, e sembra che abbiamo creato il nostro calendario ma le nostre date sono capovolte.
Fate clic con il pulsante destro del mouse sull’asse dell’offset settimana e selezionate Edit Axis, quindi seleziona “Reversed” nella sezione Scale.
Ora, cambiate il Mark Type in “Gantt bar”, fate doppio clic sulla scheda di Marks e scrivete AVG (1) e aggiungetela come dimensione del Gantt bar. Allineate il testo al centro e riducete anche la dimensione del carattere a 7.
Per avere i nomi dei giorni in alto, andate su Analysis nel Menu > Table layout > Advanced. Vogliamo deselezionare l’opzione “Show the innermost level at the bottom of view” e facendo clic su OK.
Ora i giorni feriali sono nella parte superiore del calendario.
Ora dobbiamo aggiungere i nomi dei mesi nel nostro calendario. Il motivo per cui nella parte precedente abbiamo convertito l’offset settimana in continuo è il fatto che potremmo utilizzare il dual axis con l’etichetta del mese e avere il nome dei mesi nella nostra visualizzazione.
Per l’etichetta del mese, prima di tutto, dobbiamo creare un campo calcolato come nello screenshot seguente:
Ora dobbiamo aggiungere la media di questo campo calcolato sulle righe e creare un doppio asse con l’offset settimana.
Quindi fate clic con il pulsante destro sull’asse e selezionate synchronize axis.
Ora, andate al secondo pannello di Marks e trascinate il mese della data sull’etichetta. Potete rimuovere gli headers non necessari facendo clic con il pulsante destro del mouse sul nome dell’header e deselezionando “Show Header”. Potete rimuovere “field labels” e fate un po’ di formattazione e disattivare le linee di Grid Lines e Zero lines.
Ora abbiamo creato il nostro calendario. Ora, se mettiamo la somma delle vendite sul colore avremo:
Ora, se ricordete, il primo gennaio non aveva alcuna vendita, ma ha comunque un colore. In realtà, vogliamo che le date che non hanno alcuna vendita siano di colore bianco. Quindi possiamo aggiungere un altro campo calcolato con la seguente formula che indica che se le vendite sono nulle allora dare -1 altrimenti dare i valori delle vendite.
Ora, se aggiungiamo questo campo calcolato invece della somma delle vendite sul colore, avremo anche il colore grigio per le date senza dati di vendita.
Tuttavia, possiamo regolare il colore in modo che il colore di partenza sia bianco e quello di fine sia viola, e utilizzare l’opzione di “use the full color range” e “center” su 0. Di conseguenza, le date senza vendite diventeranno bianche.
Possiamo nascondere i 72 valori nulli facendo clic con il pulsante destro su di essi e selezionando l’opzione “hide indicator”. Questi valori nulli sono le date senza alcuna vendita. Possiamo deselezionare l’opzione “Show Header” del Trimestre nelle righe, formattare e convertire i giorni di settimana nelle colonne in modo da avere le abbreviazioni, e modificare il titolo, per ottenere il nostro calendario finale come segue.