In een data warehouse gebruiken we vaak een tabel met gegevens over tijd, een tijdsdimensie, om makkelijker met berekeningen over tijd om te kunnen gaan. Databases zijn nu eenmaal sneller in het aan elkaar knopen van gegevens, dan uitvoeren van berekeningen op kalenders. De tijdsdimensie maakt het mogelijk om aan een datum allerlei betekenissen te hangen. Zo kunnen we bij een datum vertellen welk jaar het is, maar ook welk fiscaal jaar die datum in hoort, of de datum wel geldig was, of het een werkdag of feestdag was, etcetera. Daarmee kunnen we in de analyse kijken of er bijvoorbeeld op bepaalde dagen meer verkocht wordt.
De generator gebruikt men als volgt: eerst vult men hieronder alle velden met instellingen in. Vervolgens drukt men op de knop en wordt er een bestand naar de browser gestuurd met daarin allerlei gegevens. Die kan worden ingeladen in een Oracle database.
Versie-notities staan onderaan deze pagina.
Opmerkingen bij v1.41:
- Tijd-ID voor onbekende regel (-1) toegevoegd, om referentieële integriteit niet te breken als je foutcode -1 wil gebruiken.
Opmerkingen bij v1.4:
- Er is een periode-sleutel toegevoegd. Hiermee kan een extra periodetelling worden gedaan om zaken die niet op een bepaalde datum maar in een bepaalde periode vallen, toe te rekenen aan de laatste dag van die periode (bijv. 13e maand wordt toegerekend aan december). De TIJD_IDs voor deze periode-regels wijken af van de andere TIJD_IDs zodat je kan zien waarmee je te maken hebt. Overigens zou dit misschien beter in een aparte tabel D_PERIODE kunnen worden ondergebracht.
Opmerkingen bij v1.3:
- Er zijn kolommen toegevoegd voor de laatste datum van kwartaal en jaar, en indicaties (0 of 1) of een bepaalde datum de laatste dag van een maand, kwartaal of jaar is. Hiermee kan eenvoudig worden gefilterd op einddatums.
- Er is een kolom (dimensie)_ID_VORIG_JAAR toegevoegd. Als de relatie tussen feiten en dimensie over deze kolom wordt gelegd in plaats van over de primaire sleutel, dan zie je de cijfers zoals ze in het voorgaande jaar waren terwijl je een datum in dit jaar selecteert. Voorbeeld: een feittabel bevat een regel met TIJD_ID 1000 voor een cijfer in 2010 en een regel met TIJD_ID 1310 voor een cijfer in 2011. Als we vervolgens een alias maken van de feittabel (FEIT2) en vanuit de tijddimensie de echte feittabel koppelen op D_TIJD_ID, en FEIT2 op D_TIJD_ID_VORIG_JAAR, dan kunnen we met één tijddimensie de cijfers voor dit jaar en vorig jaar naast elkaar leggen.
Opmerkingen bij v1.2:
- ISO weeknummers en jaarnummer bij dat weeknummer toegevoegd. Zie het article in de Wikipedia over weeknummers voor meer details.
- De kolommen voor schoolvakanties zijn verwijderd omdat er geen eenduidige tabel van te maken viel binnen de scope van dit stukje gereedschap. Zo hebben voortgezet onderwijs en basisonderwijs verschillende vakantiedata en zijn de vakantieperiodes buiten de zomervakantie alleen suggesties en geen verplichting, waar iedereen van af mag wijken.