Zdieľať cez


Kurz: Cestovanie v čase s T-SQL v sklade

V tomto kurze sa dozviete, ako používať príkazy T-SQL na cestovanie v čase v tabuľke skladu. Cesta časom znamená dotazovanie údajov v konkrétnom časovom okamihu, ktoré umožňuje automaticky sklad služby Fabric uchovávanie údajov.

Poznámka

Tento kurz je súčasťou koncového scenára. Ak chcete dokončiť tento kurz, musíte najprv absolvovať tieto kurzy:

  1. Vytvorenie pracovného priestoru
  2. vytvorenie v sklade
  3. údajov Ingestu do skladu

Práca s dotazmi na cestovanie v čase

V tejto úlohe sa naučíte vytvoriť zobrazenie 10 najlepších zákazníkov podľa predaja. Zobrazenie sa použije v ďalšej úlohe na spustenie dotazov času a cestovania.

  1. Uistite sa, že pracovný priestor, ktorý ste vytvorili v prvom kurze , je otvorený.

  2. Na páse s nástrojmi Domov vyberte položky Nový dotaz SQL.

    Snímka obrazovky možnosti Nový dotaz SQL na páse s nástrojmi.

  3. Do editora dotazov prilepte nasledujúci kód. Kód vytvorí zobrazenie s názvom Top10Customers. Zobrazenie používa dotaz na načítanie 10 najlepších zákazníkov na základe predaja.

    --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. Spustite dotaz.

  5. Po dokončení premenujte dotaz na Create Top 10 Customer View.

  6. Na table prieskumníka v priečinku zobrazenia časti Zobrazenia pre schému overte, či existuje zobrazenie.

    Snímka obrazovky tably Prieskumník so zvýraznením novovytvoreného zobrazenia.

  7. Vytvorte nový dotaz na prácu s dotazmi na cestovanie v čase.

  8. Do editora dotazov prilepte nasledujúci kód. Kód aktualizuje TotalIncludingTax hodnotu pre jeden riadok faktu, aby úmyselne nafúkol svoj celkový predaj. Načíta aj aktuálnu časovú pečiatku.

     --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;
    

    Poznámka

    V súčasnosti môžete na cestovanie používať iba časové pásmo UTC (koordinovaný svetový čas).

  9. Spustite dotaz.

  10. Po dokončení premenujte dotaz na Time Travel.

  11. Na table Results si všimnite hodnotu časovej pečiatky (vaša hodnota bude aktuálny dátum a čas utc).

    Snímka obrazovky tably Výsledky so zvýraznenou hodnotou časovej pečiatky, ktorá sa má kopírovať.

  12. Ak chcete v novom editore dotazov načítať prvých 10 zákazníkov, od tejto, prilepte nasledujúci príkaz. Kód načíta prvých 10 zákazníkov pomocou tipu FOR TIMESTAMP AS OF dotazu.

     --Retrieve the top 10 customers as of now.
     SELECT *
     FROM [dbo].[Top10Customers]
     OPTION (FOR TIMESTAMP AS OF 'YOUR_TIMESTAMP');
    
  13. Premenujte dotaz na Time Travel Now.

  14. Vráťte sa k dotazu Time Travel a potom na skopírovanie výsledkov dotazu použite príkaz Kopírovať.

    Snímka obrazovky príkazu Kopírovať so zvýraznenou možnosťou Kopírovať výsledky dotazu.

  15. Vráťte sa k dotazu Time Travel Now a potom nahraďte YOUR_TIMESTAMP časovou pečiatkou, ktorú ste skopírovali do Schránky.

  16. Spustite dotaz a všimnite si, že druhá najvyššia CustomerKey hodnota pre Tailspin Toys (Muir, MI)je 49.

  17. Upravte hodnotu časovej pečiatky na predchádzajúci odčítaním jednej minúty od časovej pečiatky.

  18. Znova spustite dotaz a všimnite si, že druhá najvyššia hodnota CustomerKey je 381 pre Wingtip Toys (Sarversville, PA).

Tip

Ďalšie príklady cestovania časom nájdete v Ako: Dotaz používajúci časovú cestu na úrovni príkazu.

Ďalší krok