Руководство. Преобразование данных с помощью хранимой процедуры в хранилище
Область применения:✅ конечная точка аналитики SQL и хранилище в Microsoft Fabric
В этом руководстве описано, как создать хранимую процедуру в хранилище для преобразования данных в таблицу.
Заметка
Это руководство является частью комплексного сценария
Создание хранимой процедуры
В этой задаче вы узнаете, как создать хранимую процедуру для преобразования данных в таблицу хранилища.
Убедитесь, что рабочая область, которую вы создали в первом учебном пособии, открыта.
На ленте Home выберите Новый SQL-запрос.
В редакторе запросов вставьте следующий код. Код удаляет хранимую процедуру (если она существует), а затем создает хранимую процедуру с именем
populate_aggregate_sale_by_city
. Логика хранимой процедуры создает таблицу с именемaggregate_sale_by_date_city
и вставляет в нее данные с помощью группового запроса, который объединяет таблицыfact_sale
иdimension_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;
Чтобы выполнить запрос, на ленте конструктора запросов выберите Выполнить.
После завершения выполнения переименуйте запрос как
Create Aggregate Procedure
.В области обозревателя
в папке хранимых процедур схемыубедитесь, что хранимая процедура существует .
Запуск хранимой процедуры
В этой задаче вы узнаете, как выполнить хранимую процедуру для преобразования данных в таблицу хранилища.
Создайте новый запрос.
В редакторе запросов вставьте следующий код. Код выполняет хранимую процедуру
populate_aggregate_sale_by_city
.--Execute the stored procedure to create and load aggregated data. EXEC [dbo].[populate_aggregate_sale_by_city];
Запустите запрос.
После завершения выполнения переименуйте запрос как
Run Aggregate Procedure
.Чтобы просмотреть агрегированные данные, в области обозревателя
выберите таблицу . Заметка
Если таблица не отображается, выберите многоточие (...) для папки таблиц
, а затем выберите Обновить .
Следующий шаг
Руководство: Перемещение во времени с помощью T-SQL в хранилище