Del via


Selvstudium: Tidsrejse med T-SQL i et lager

I dette selvstudium kan du få mere at vide om, hvordan du bruger T-SQL-sætninger til at tidsrejse i en lagertabel. Tidsrejse betyder at forespørge om data, som de fandtes på et bestemt tidspunkt, hvilket automatisk er muligt af Fabric Warehouse dataopbevaring.

Bemærk

Dette selvstudium er en del af et end-to-end-scenarie. Hvis du vil fuldføre dette selvstudium, skal du først fuldføre disse selvstudier:

  1. Opret et arbejdsområde
  2. Opret et lager
  3. indfødning af data i et lager

Arbejd med tidsrejseforespørgsler

I denne opgave kan du få mere at vide om, hvordan du opretter en visning af de ti mest populære kunder efter salg. Du skal bruge visningen i den næste opgave til at køre tidsrejseforespørgsler.

  1. Sørg for, at det arbejdsområde, du oprettede i første selvstudium, er åbent.

  2. På båndet Hjem skal du vælge Ny SQL-forespørgsel.

    Skærmbillede af indstillingen Ny SQL-forespørgsel på båndet.

  3. Indsæt følgende kode i forespørgselseditoren. Koden opretter en visning med navnet Top10Customers. Visningen bruger en forespørgsel til at hente de ti mest populære kunder baseret 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. Kør forespørgslen.

  5. Når udførelsen er fuldført, skal du omdøbe forespørgslen til Create Top 10 Customer View.

  6. I ruden Explorer skal du inde fra mappen Visninger for det skema kontrollere, at den visning findes.

    Skærmbillede af ruden Stifinder, hvor den nyoprettede visning fremhæves.

  7. Opret en ny forespørgsel for at arbejde med forespørgsler om tidsrejser.

  8. Indsæt følgende kode i forespørgselseditoren. Koden opdaterer den TotalIncludingTax værdi for en enkelt faktarække for bevidst at puste det samlede salg op. Det henter også det aktuelle 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;
    

    Bemærk

    I øjeblikket kan du kun bruge UTC-tidszonen (Coordinated Universal Time) til tidsrejser.

  9. Kør forespørgslen.

  10. Når udførelsen er fuldført, skal du omdøbe forespørgslen til Time Travel.

  11. Bemærk tidsstempelværdien i ruden Resultater (din værdi er den aktuelle UTC-dato og det aktuelle klokkeslæt).

    Skærmbillede af ruden Resultater, der fremhæver den tidsstempelværdi, der skal kopieres.

  12. Hvis du vil hente de ti mest populære kunder fra nu, skal du indsætte følgende sætning i en ny forespørgselseditor. Koden henter de ti øverste kunder ved hjælp af forespørgselstip til FOR TIMESTAMP AS OF.

     --Retrieve the top 10 customers as of now.
     SELECT *
     FROM [dbo].[Top10Customers]
     OPTION (FOR TIMESTAMP AS OF 'YOUR_TIMESTAMP');
    
  13. Omdøb forespørgslen til Time Travel Now.

  14. Vend tilbage til forespørgslen Time Travel, og brug derefter kommandoen Copy til at kopiere forespørgselsresultaterne.

    Skærmbillede af kommandoen Kopiér, hvor kopiér forespørgselsresultater fremhæves.

  15. Vend tilbage til forespørgslen Time Travel Now, og erstat derefter YOUR_TIMESTAMP med det tidsstempel, du kopierede til Udklipsholder.

  16. Kør forespørgslen, og bemærk, at den anden øverste CustomerKey værdi er 49 for Tailspin Toys (Muir, MI).

  17. Rediger tidsstempelværdien til et tidligere tidspunkt ved at trække ét minut fra tidsstemplet.

  18. Kør forespørgslen igen, og bemærk, at den anden øverste CustomerKey værdi er 381 for Wingtip Toys (Sarversville, PA).

Drikkepenge

Du kan få flere eksempler på tidsrejser under Sådan gør du: Forespørg ved hjælp af tidsrejser på sætningsniveau.

Næste trin