Kurz: Transformace dat pomocí uložené procedury ve skladu
Platí pro:✅ Koncový bod sql Analytics a sklad v Microsoft Fabric
V tomto kurzu se dozvíte, jak vytvořit uloženou proceduru ve skladu pro transformaci dat v tabulce.
Poznámka
Tento tutoriál je součástí komplexního scénáře. Abyste mohli absolvovat tento kurz, musíte nejprve dokončit tyto kurzy:
- Vytvoření pracovního prostoru
- Vytvořte sklad
- Vložení dat do skladu
Vytvoření uložené procedury
V této úloze se dozvíte, jak vytvořit uloženou proceduru pro transformaci dat v tabulce skladu.
Ujistěte se, že je otevřený pracovní prostor, který jste vytvořili v prvním kurzu .
Na pásu karet Domů vyberte Nový dotaz SQL.
V editoru dotazů vložte následující kód. Kód zahodí uloženou proceduru (pokud existuje) a pak vytvoří uloženou proceduru s názvem
populate_aggregate_sale_by_city
. Logika uložené procedury vytvoří tabulku s názvemaggregate_sale_by_date_city
a vloží do ní data pomocí dotazu seskupování, který spojífact_sale
adimension_city
tabulky.--Drop the stored procedure if it already exists. DROP PROCEDURE IF EXISTS [dbo].[populate_aggregate_sale_by_city]; GO --Create the populate_aggregate_sale_by_city stored procedure. CREATE PROCEDURE [dbo].[populate_aggregate_sale_by_city] AS BEGIN --Drop the aggregate table if it already exists. DROP TABLE IF EXISTS [dbo].[aggregate_sale_by_date_city]; --Create the aggregate table. CREATE TABLE [dbo].[aggregate_sale_by_date_city] ( [Date] [DATETIME2](6), [City] [VARCHAR](8000), [StateProvince] [VARCHAR](8000), [SalesTerritory] [VARCHAR](8000), [SumOfTotalExcludingTax] [DECIMAL](38,2), [SumOfTaxAmount] [DECIMAL](38,6), [SumOfTotalIncludingTax] [DECIMAL](38,6), [SumOfProfit] [DECIMAL](38,2) ); --Load aggregated data into the table. INSERT INTO [dbo].[aggregate_sale_by_date_city] SELECT FS.[InvoiceDateKey] AS [Date], DC.[City], DC.[StateProvince], DC.[SalesTerritory], SUM(FS.[TotalExcludingTax]) AS [SumOfTotalExcludingTax], SUM(FS.[TaxAmount]) AS [SumOfTaxAmount], SUM(FS.[TotalIncludingTax]) AS [SumOfTotalIncludingTax], SUM(FS.[Profit]) AS [SumOfProfit] FROM [dbo].[fact_sale] AS FS INNER JOIN [dbo].[dimension_city] AS DC ON FS.[CityKey] = DC.[CityKey] GROUP BY FS.[InvoiceDateKey], DC.[City], DC.[StateProvince], DC.[SalesTerritory] ORDER BY FS.[InvoiceDateKey], DC.[StateProvince], DC.[City]; END;
Chcete-li spustit dotaz, na pásu karet návrháře dotazů vyberte Spustit.
Po dokončení provádění přejmenujte dotaz na
Create Aggregate Procedure
.V podokně Průzkumník ověřte, že uvnitř složky Uložené procedury pro schéma
dbo
existujeaggregate_sale_by_date_city
uložená procedura.
Spuštění uložené procedury
V této úloze se dozvíte, jak spustit uloženou proceduru pro transformaci dat v tabulce skladu.
Vytvořte nový dotaz.
V editoru dotazů vložte následující kód. Kód spustí uloženou proceduru
populate_aggregate_sale_by_city
.--Execute the stored procedure to create and load aggregated data. EXEC [dbo].[populate_aggregate_sale_by_city];
Spusťte dotaz.
Po dokončení provádění přejmenujte dotaz na
Run Aggregate Procedure
.Pokud chcete zobrazit náhled agregovaných dat, vyberte v podokně Explorer tabulku
aggregate_sale_by_date_city
.Poznámka
Pokud se tabulka nezobrazí, klikněte na tři tečky (...) pro složku Tabulky a poté zvolte možnost Aktualizovat.
Další krok
kurz : Cestování časem s T-SQL ve službě Warehouse