In Tableau kan met de Datepart handmatig de granulariteit of het detailniveau van tijd aangepast worden, maar u kunt ook met Datepart en een parameter verfijnen of inzoomen. Wat is het probleem met de ‘normale manier? Hieronder een voorbeeld-dashboard:

Dit (nogal simpele) dashboard laat in alle drie de worksheets/grafieken een andere measure zien met dezelfde datum-eenheid (Order Date), maar om van Datepart ‘Year’ naar ‘Quarter’ te gaan moeten er twee dingen gebeuren zoals in de onderstaande afbeelding:

  1. Er moet op de ‘plus’ geklikt worden in de balk met de Datepart, dit is niet altijd even praktisch (kleine knop, wordt pas zichtbaar als er met de muis overheen bewogen wordt);
  2. Er moet per balk/worksheet een aanpassing doorgevoerd worden.

Een parameter maken

Hoe kan het dan wel? Met een parameter ! De truc is om de Datepart om te zetten naar een string. Tijdseenheden aanpassen met een parameter begint met het maken van de parameter. Om een parameter aan te maken drukt u links in de Data-pane op het uitklapscherm (driehoekje) en selecteer ‘Create Parameter‘. Vervolgens vult u de parameter in zoals hieronder rechts.

met Datepart en een parameter verfijnen of inzoomen

Maak vervolgens de parameter zichtbaar door op de pil ‘P_Date Name‘ te klikken en ‘Show Parameter‘ te selecteren.

Een calculated field maken

Vervolgens maakt u een Calculated Field via hetzelfde drop-down-menu. Tijdseenheden aanpassen met een parameter is hierop gebaseerd.. Vul het in als onderstaand:

met Datepart en een parameter verfijnen of inzoomen

Technisch gezien is de waarde “Day” geen iso-waarde omdat maand erin voorkomt, maar meer daarover in een vervolg-blog (klik hier voor een uitleg in deel vier van de reeks over tijdseenheden aanpassen met een parameter).

Toelichting

Een kort toelichting op één van de regels zodat u weet wat u invult:

ELSEIF [P_Date Name] = “Week” THEN “W” + STR(DATEPART(“iso-week”,[Order Date]))+
” “+STR(DATEPART(“iso-year”,[Order Date]))

Op het canvas komt deze formule er zo uit te zien : “W49 2021”. Het resultaat is geen waarde van het datum-type maar een string of tekst. Van links naar rechts gaan we de onderdelen langs:

  • [P_Date Name] = De parameter, in dit IF-statement bepaalt de selectie wat er getoond wordt. De parameter was al ingesteld als een ‘list‘ met ‘string-values‘;
  • “Week” is de tekst die overeen moet komen met de lijst-info waarop de parameter is ingesteld;
  • “W” en ” “ zijn element om de ‘zin’ op te bouwen, van zichzelf zet Tableau geen zinnen in elkaar;
  • STR() is een functie om de waarden binnen de haakjes naar een tekst (string) om te zetten.
  • DATEPART(“iso-week”,…) met deze functie kunt u een datum omzetten naar een getal (integer). Om te bepalen op welk niveau een datum naar getal omgezet moet worden, moet u een ‘date_part‘ kiezen. In dit voorbeeld is dat ‘iso-week’. Als er voor ‘iso-year’ gekozen wordt zal het jaar van de datum weergegeven worden.
  • [Order Date] dit is de basis van de berekening. Dit is het datum-veld waarmee u gaat rekenen of werken.

Tussenresultaat : met Datepart en een parameter verfijnen of inzoomen

Hoe ziet dat er dan uit in een worksheet? Zie hieronder:

Tijdseenheden aanpassen met een parameter

Om dit voor elkaar te krijgen sleept u ‘C_Date Label (ISO)’ op Columns of Rows – voor het leesgemak is hier voor Rows gekozen – en met de parameter-knop rechts (P_Date Name) kan de granulariteit gewijzigd worden.

Maar als u goed kijkt naar de vorige afbeelding valt op dat de volgorde niet klopt. Aangezien dit een string value of tekst is, is de volgorde niet op tijd. In het volgende blog ziet u hoe dat aangepast kan worden.

Een probleem blijft echter het onderdeel maand, hoe is dat op te lossen? Zie hiervoor het vervolg-blog over tijdseenheden aanpassen met een parameter.

Bronnen

Picture by Jack Hunter (Unsplash, royalty-free) .