Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto kurzu se naučíte používat příkazy T-SQL k cestování v čase v tabulce ve skladu. Cestování v čase znamená dotazování na data, jak existovala v konkrétním časovém okamžiku, které je automaticky umožněno službou Fabric Warehouse uchováváním dat.
Poznámka:
Tento kurz je součástí kompletního scénáře. Abyste mohli absolvovat tento kurz, musíte nejprve dokončit tyto kurzy:
Práce s dotazy na cestování v čase
V tomto úkolu se dozvíte, jak vytvořit zobrazení prvních 10 zákazníků podle prodeje. Pomocí zobrazení v další úloze spustíte dotazy na časovou cestu.
Ujistěte se, že je otevřený pracovní prostor, který jste vytvořili v prvním kurzu .
Na panelu nástrojů Domů vyberte Nový dotaz SQL.
V editoru dotazů vložte následující kód. Kód vytvoří zobrazení s názvem
Top10Customers. Zobrazení používá dotaz k načtení deseti nejlepších zákazníků na základě prodejů.--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;Spusťte dotaz.
Po dokončení provádění přejmenujte dotaz na
Create Top 10 Customer View.V podokně Průzkumník ověřte, že v rámci složky Zobrazení pro schéma
dboexistuje zobrazeníTop10Customers.
Vytvořte nový dotaz pro práci s časově orientovanými dotazy.
V editoru dotazů vložte následující kód. Kód aktualizuje hodnotu
TotalIncludingTaxpro jeden řádek faktů, aby záměrně nafoukl celkové prodeje. Načte také aktuální časové razítko.--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 současné době můžete pro časovou cestu použít pouze časové pásmo UTC (Coordinated Universal Time).
Spusťte dotaz.
Po dokončení provádění přejmenujte dotaz na
Time Travel.V podokně výsledky si všimněte hodnoty časového razítka (vaše hodnota bude aktuálním datem a časem UTC).
Chcete-li načíst prvních 10 zákazníků k aktuálnímu datu, vložte do nového editoru dotazů následující příkaz. Kód načte prvních 10 zákazníků pomocí hintu pro dotaz
FOR TIMESTAMP AS OF.--Retrieve the top 10 customers as of now. SELECT * FROM [dbo].[Top10Customers] OPTION (FOR TIMESTAMP AS OF 'YOUR_TIMESTAMP');Přejmenujte dotaz na
Time Travel Now.Vraťte se do dotazu
Time Travela potom pomocí příkazu Kopírovat zkopírujte výsledky dotazu.
Vraťte se k dotazu
Time Travel Nowa poté nahraďteYOUR_TIMESTAMPčasovým razítkem, které jste zkopírovali do schránky.Spusťte dotaz a všimněte si, že druhá nejvyšší
CustomerKeyhodnota je 49 proTailspin Toys (Muir, MI).Upravte hodnotu časového razítka na dřívější čas odečtením jedné minuty z časového razítka.
Spusťte dotaz znovu a všimněte si, že druhá nejvyšší
CustomerKeyhodnota je 381 proWingtip Toys (Sarversville, PA).
Spropitné
Další příklady časových cest najdete v tématu Postupy: Dotazování pomocí časového cestování na úrovni příkazů.