Samouczek: przekształcanie danych za pomocą procedury składowanej w magazynie
Dotyczy:✅ punkt końcowy analizy SQL i magazyn w usłudze Microsoft Fabric
Z tego samouczka dowiesz się, jak utworzyć procedurę składowaną w magazynie w celu przekształcenia danych w tabeli.
Notatka
Ten samouczek stanowi część kompleksowego scenariusza . Aby ukończyć ten samouczek, należy najpierw wykonać następujące samouczki:
- Tworzenie obszaru roboczego
- Tworzenie magazynu
- pozyskiwanie danych do magazynu
Utwórz procedurę składowaną
W tym zadaniu dowiesz się, jak utworzyć procedurę składowaną w celu przekształcania danych w tabeli magazynu.
Upewnij się, że obszar roboczy utworzony w pierwszym samouczku jest otwarty.
Na wstążce Narzędzia główne wybierz pozycję Nowe zapytanie SQL.
W edytorze zapytań wklej następujący kod. Kod pominie procedurę składowaną (jeśli istnieje), a następnie tworzy procedurę składowaną o nazwie
populate_aggregate_sale_by_city
. Logika procedury składowanej tworzy tabelę o nazwieaggregate_sale_by_date_city
i wstawia do niej dane za pomocą zapytania grupowania, które łączy tabelefact_sale
idimension_city
.--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;
Aby wykonać zapytanie, na wstążce projektanta zapytań wybierz pozycję Uruchom.
Po zakończeniu wykonywania zmień nazwę zapytania na
Create Aggregate Procedure
.W okienku Eksploratora
w folderze Procedury składowane schematusprawdź, czy procedura składowana istnieje.
Uruchom procedurę składowaną
W tym zadaniu dowiesz się, jak wykonać procedurę składowaną w celu przekształcenia danych w tabeli magazynu.
Utwórz nowe zapytanie.
W edytorze zapytań wklej następujący kod. Kod wykonuje składowaną procedurę o nazwie
populate_aggregate_sale_by_city
.--Execute the stored procedure to create and load aggregated data. EXEC [dbo].[populate_aggregate_sale_by_city];
Uruchom zapytanie.
Po zakończeniu wykonywania zmień nazwę zapytania na
Run Aggregate Procedure
.Aby wyświetlić podgląd zagregowanych danych, w okienku Eksploratora
wybierz tabelę . Notatka
Jeśli tabela nie zostanie wyświetlona, wybierz wielokropek (...) dla folderu Tabele, a następnie wybierz Odśwież.