Del via


Opplæring: Tidsreiser med T-SQL i et lager

I denne opplæringen kan du lære hvordan du bruker T-SQL-setninger til å tidsreiser i en lagertabell. Tidsreiser betyr å spørre etter data slik de fantes på et bestemt tidspunkt, noe som gjøres automatisk mulig av Fabric Warehouse dataoppbevaring.

Merk

Denne opplæringen er en del av et ende-til-ende-scenario. Hvis du vil fullføre denne opplæringen, må du først fullføre disse opplæringene:

  1. Opprette et arbeidsområde
  2. Opprette et
  3. innta data i et lager

Arbeide med tidsreisespørringer

I denne oppgaven kan du lære hvordan du oppretter en visning av de ti beste kundene etter salg. Du bruker visningen i neste oppgave til å kjøre tidsreisespørringer.

  1. Kontroller at arbeidsområdet du opprettet i første opplæringen er åpen.

  2. Velg ny SQL-spørringpå båndet Hjem .

    Skjermbilde av alternativet Ny SQL-spørring på båndet.

  3. Lim inn følgende kode i redigeringsprogrammet for spørringen. Koden oppretter en visning med navnet Top10Customers. Visningen bruker en spørring til å hente de ti beste kundene basert på salg.

    --Create the Top10Customers view.
    CREATE VIEW [dbo].[Top10Customers]
    AS
    SELECT TOP(10)
        FS.[CustomerKey],
        DC.[Customer],
        SUM(FS.[TotalIncludingTax]) AS [TotalSalesAmount]
    FROM
        [dbo].[dimension_customer] AS DC
        INNER JOIN [dbo].[fact_sale] AS FS
            ON DC.[CustomerKey] = FS.[CustomerKey]
    GROUP BY
        FS.[CustomerKey],
        DC.[Customer]
    ORDER BY
        [TotalSalesAmount] DESC;
    
  4. Kjør spørringen.

  5. Når kjøringen er fullført, gir du spørringen nytt navn som Create Top 10 Customer View.

  6. Kontroller at visningen finnes i Explorer-ruten i Explorer-- ruten.

    Skjermbilde av Explorer-ruten, og uthever den nyopprettede visningen.

  7. Opprett en ny spørring for å arbeide med tidsreisespørringer.

  8. Lim inn følgende kode i redigeringsprogrammet for spørringen. Koden oppdaterer den TotalIncludingTax verdien for én enkelt faktarad for bevisst å øke det totale salget. Den henter også gjeldende tidsstempel.

     --Update the TotalIncludingTax for a single fact row to deliberately inflate its total sales.
     UPDATE [dbo].[fact_sale]
     SET [TotalIncludingTax] = 200000000
     WHERE [SaleKey] = 22632918; --For customer 'Tailspin Toys (Muir, MI)'
     GO
    
     --Retrieve the current (UTC) timestamp.
     SELECT CURRENT_TIMESTAMP;
    

    Merk

    For øyeblikket kan du bare bruke tidssonen Coordinated Universal Time (UTC) for tidsreiser.

  9. Kjør spørringen.

  10. Når kjøringen er fullført, gir du spørringen nytt navn som Time Travel.

  11. Legg merke til tidsstempelverdien (verdien vil være gjeldende UTC-dato og -klokkeslett i ruten Resultater).

    Skjermbilde av resultatruten, og uthever tidsstempelverdien som skal kopieres.

  12. Hvis du vil hente de ti beste kundene per nå, limer du inn følgende setning i et nytt redigeringsprogram for spørring. Koden henter de ti beste kundene ved hjelp av FOR TIMESTAMP AS OF spørringstips.

     --Retrieve the top 10 customers as of now.
     SELECT *
     FROM [dbo].[Top10Customers]
     OPTION (FOR TIMESTAMP AS OF 'YOUR_TIMESTAMP');
    
  13. Gi spørringen nytt navn som Time Travel Now.

  14. Gå tilbake til Time Travel spørringen, og bruk deretter kommandoen Kopier til å kopiere spørringsresultatene.

    Skjermbilde av Kopier-kommandoen, og uthever resultater fra kopieringsspørring.

  15. Gå tilbake til Time Travel Now spørringen, og erstatt deretter YOUR_TIMESTAMP med tidsstempelet du kopierte til utklippstavlen.

  16. Kjør spørringen, og legg merke til at den andre øverste CustomerKey verdien er 49 for Tailspin Toys (Muir, MI).

  17. Endre tidsstempelverdien til et tidligere tidspunkt ved å trekke ett minutt fra tidsstempelet.

  18. Kjør spørringen på nytt, og legg merke til at den andre øverste CustomerKey verdien er 381 for Wingtip Toys (Sarversville, PA).

Tips

Hvis du vil ha flere eksempler på tidsreiser, kan du se Slik gjør du det: Spørring ved hjelp av tidsreiser på setningsnivå.

Neste trinn