Dimensietabellen voor laadtijd

Voltooid

In tijddimensietabellen wordt voor elk tijdsinterval een record opgeslagen op basis van het graan waarmee u gegevens in de loop van de tijd wilt aggregeren. Een tijddimensietabel op het datuminterval bevat bijvoorbeeld een record voor elke datum tussen de vroegste en laatste datum waarnaar wordt verwezen door de gegevens in gerelateerde feitentabellen.

In het volgende codevoorbeeld ziet u hoe u een reeks tijddimensiewaarden kunt genereren op basis van een datumsinterval .

-- Create a temporary table for the dates we need
CREATE TABLE #TmpStageDate (DateVal DATE NOT NULL)

-- Populate the temp table with a range of dates
DECLARE @StartDate DATE
DECLARE @EndDate DATE
SET @StartDate = '2019-01-01'
SET @EndDate = '2023-12-31'
DECLARE @LoopDate = @StartDate
WHILE @LoopDate <= @EndDate
BEGIN
    INSERT INTO #TmpStageDate VALUES
    (
        @LoopDate
    )
    SET @LoopDate = DATEADD(dd, 1, @LoopDate)
END

-- Insert the dates and calculated attributes into the dimension table
INSERT INTO dbo.DimDate
SELECT CAST(CONVERT(VARCHAR(8), DateVal, 112) as INT), -- date key
    DateVal, --date alt key
    Day(DateVal) -- day number of month
    --,  other derived temporal fields as required
FROM #TmpStageDate
GO

--Drop temporary table
DROP TABLE #TmpStageDate

Tip

Het uitvoeren van scripts in SQL kan tijdrovend zijn in een toegewezen SQL-pool. Het kan efficiƫnter zijn om de gegevens in Microsoft Excel of een extern script voor te bereiden en te importeren met behulp van de COPY-instructie.

Naarmate het datawarehouse in de toekomst wordt gevuld met nieuwe feitengegevens, moet u regelmatig het bereik van datumgerelateerde tijddimensietabellen uitbreiden.