sql >> Database >  >> RDS >> Database

Inleiding tot langzaam veranderende afmetingen (SCD)

Een dimensie is een structuur die een verzameling informatie categoriseert, zodat zinvolle antwoorden op vragen over die informatie kunnen worden verkregen. Dimensies in datamanagement en datawarehouses bevatten relatief statische data; deze dimensionale gegevens kunnen echter langzaam en met onvoorspelbare tussenpozen veranderen. Dit soort dimensionale gegevens staan ​​bekend als Slowly Changing Dimensions (SCD).

In een datawarehouse-omgeving heeft een dimensietabel een primaire sleutel die elk record en andere stukjes informatie die bekend staan ​​als de dimensionale gegevens op unieke wijze identificeert. De primaire sleutel zal met deze sleutel naar een feitentabel linken. Daarom is het belangrijk om een ​​model te hebben voor het bijwerken en verwerken van de huidige gegevens en de historische gegevens. Er zijn erkende modellen die bekend zijn door hun type:

  • Type 1 – Dit model houdt in dat de oude huidige waarde wordt overschreven door de nieuwe huidige waarde. Er wordt geen geschiedenis bijgehouden.
  • Type 2 – De huidige en historische gegevens worden bewaard en bewaard in hetzelfde bestand of dezelfde tabel.
  • Type 3 – De huidige gegevens en historische gegevens worden in hetzelfde record bewaard. De gebruiker bepaalt hoeveel geschiedenis in het record wordt bewaard.
  • Type 4 – In dit model worden de huidige gegevens in twee verschillende tabellen bijgehouden; één voor de huidige gegevens en één die alle historische gegevens bevat.
  • Type 6 – Dit model is een hybride van Type 1, Type 2 en Type3.

Alle updatemethoden voor de verschillende SCD-modellen kunnen worden uitgevoerd met behulp van het SortCL-programma in IRI CoSort of IRI Voracity. Voracity biedt nu ook een enkele end-to-end wizard voor het maken van banen om deze programma's automatisch te bouwen; zie onder. De meeste typen gebruiken een volledige outer join om records uit de hoofdgegevensbron te matchen met records in de updatebron op basis van het gelijkstellen van een unieke sleutel van elk. Records met overeenkomsten moeten worden bijgewerkt in de master. Records in de updatebron die geen overeenkomst hebben, moeten aan de master worden toegevoegd.

Mijn artikelen over de verschillende SCD-typen tonen de bron- of invoergegevens in bestanden en tonen de SortCL-scripts die worden gebruikt om de hoofdbestanden bij te werken. Tabellen kunnen ook een bron zijn bij deze scripts.

In elk voorbeeld behandel ik de stappen om een ​​dimensionale bron bij te werken die productkosten handhaaft die met onregelmatige tussenpozen veranderen. Het sleutelveld of de kolom is ProductCode. Alle bron-masterbestanden zullen de volgende gegevens bevatten:

De master1.dat-bron bevat:

Productcode Kosten Startdatum
C123 125,50 20110228
F112 2365,00 20120101
G101 19.25 20110930
J245 450,50 20110430
S022 98,75 20110515

De updategegevens hebben allemaal dezelfde StartDate. De updatebron bevat de volgende gegevens:

Productcode Kosten Startdatum
F112 2425,00 20120701
J245 550,50 20120701
M447 101,75 20120701
S022 101,75 20120701

SCD-rapportage wordt ook besproken op de IRI-website hier. Bekijk deze artikelen die specifiek zijn voor SCD's: Type 1, Type 2, Type 3, Type 4 en Type 6.

Nieuwe grafische wizard SCD

Gebruikers van Voracity kunnen nu ook een speciaal gebouwde wizard voor het maken van taken gebruiken om te rapporteren over SCD-types 1, 2, 3, 4 en 6 in de IRI Workbench GUI, gebouwd op Eclipse. De wizard ondersteunt ook de integratie van sorteren, expressie-evaluatie, aggregatie, nieuwe opmaak, codering en meer.

Na het instellen van de taak en het selecteren van het SCD-type in de wizard, specificeert u de stamgegevens en update-informatie. Daarna specificeert u de toewijzingen voor het doel, plaatst u de velden in lijn met de overeenkomende bronvelden en gebruikt u indien nodig de keuzelijsten om met huidige en historische veldensets te werken. Na het samenvoegen van de gespecificeerde informatie op de pagina Deelnemen aan bronnen, wordt het juiste script gemaakt en klaar om diagrammen te maken, uit te voeren, aan te passen of te delen.

De artikelen die aan de bovenstaande typen zijn gekoppeld, worden bijgewerkt om weer te geven hoe de nieuwe SCD-wizard in Voracity deze taken automatisch voor u kan maken.


  1. Hoe SQRT() werkt in MariaDB

  2. Controleer op mislukte e-mail in SQL Server (T-SQL)

  3. JSON invoegen in een tabel in SQL Server

  4. Meer gegevensarchieven toevoegen aan Microsoft Power BI