Oktatóanyag: Adatok átalakítása tárolt eljárással egy raktárban
A következőkre vonatkozik:✅ SQL Analytics-végpont és Warehouse a Microsoft Fabricben
Ebben az oktatóanyagban megtudhatja, hogyan hozhat létre tárolt eljárást egy raktárban egy tábla adatainak átalakításához.
Jegyzet
Ez az oktatóanyag egy végpontok közötti forgatókönyv részét képezi. Az oktatóanyag elvégzéséhez először az alábbi oktatóanyagokat kell elvégeznie:
Tárolt eljárás létrehozása
Ebben a feladatban megtudhatja, hogyan hozhat létre tárolt eljárást egy raktártábla adatainak átalakításához.
Bizonyosodj meg róla, hogy az első oktatóanyagban létrehozott munkaterület nyitva van.
A Kezdőlap menüszalagján válassza Új SQL-lekérdezéslehetőséget.
A lekérdezésszerkesztőben illessze be a következő kódot. A kód elveti a tárolt eljárást (ha létezik), majd létrehoz egy
populate_aggregate_sale_by_city
nevű tárolt eljárást. A tárolt eljáráslogika létrehoz egyaggregate_sale_by_date_city
nevű táblát, és adatokat szúr be afact_sale
ésdimension_city
táblákat összekapcsoló csoportosítási lekérdezéssel.--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;
A lekérdezés végrehajtásához a lekérdezéstervező menüszalagján válassza a Futtatáslehetőséget.
A végrehajtás befejezésekor nevezze át a lekérdezést
Create Aggregate Procedure
.Az Explorer panelen, a
dbo
séma Tárolt eljárások mappájából ellenőrizze, hogy létezik-e aaggregate_sale_by_date_city
tárolt eljárás.
A tárolt eljárás futtatása
Ebben a feladatban megtudhatja, hogyan hajthatja végre a tárolt eljárást a raktártáblák adatainak átalakításához.
Hozzon létre egy új lekérdezést.
A lekérdezésszerkesztőben illessze be a következő kódot. A kód végrehajtja a
populate_aggregate_sale_by_city
tárolt eljárást.--Execute the stored procedure to create and load aggregated data. EXEC [dbo].[populate_aggregate_sale_by_city];
Futtassa a lekérdezést.
A végrehajtás befejezésekor nevezze át a lekérdezést
Run Aggregate Procedure
.Az összesített adatok előnézetének megtekintéséhez az Explorer panelen válassza ki a
aggregate_sale_by_date_city
táblát.Jegyzet
Ha a táblázat nem jelenik meg, jelölje ki a kihagyást (…) a Táblák mappához, majd válassza a Frissítéslehetőséget.