Eğitim: Depoda depolanan bir yordamla verileri dönüştürme
Şunlar için geçerlidir:✅ Microsoft Fabric'te SQL analiz uç noktası ve Ambarı
Bu öğreticide, bir tabloda verileri dönüştürmek için bir Veri Deposu'nda saklı işlem oluşturmayı öğrenin.
Not
Bu öğretici, uçtan uca senaryonunparçasını oluşturur. Bu öğreticiyi tamamlamak için önce şu öğreticileri tamamlamanız gerekir:
- çalışma alanı oluşturma
- ambar oluşturma
- Verileri "Veri Ambarı"na yerleştir
Saklı yordam oluştur.
Bu görevde, ambar tablosundaki verileri dönüştürmek için saklı yordam oluşturmayı öğrenin.
İlk öğretici
oluşturduğunuz çalışma alanının açık olduğundan emin olun. Giriş şerit menüsünde Yeni SQL Sorgususeçin.
Giriş şeridinin ekran görüntüsü, Yeni SQL sorgusu seçeneğini vurguluyor.
Sorgu düzenleyicisinde aşağıdaki kodu yapıştırın. Kod saklı yordamı (varsa) bırakır ve ardından
populate_aggregate_sale_by_city
adlı bir saklı yordam oluşturur. Saklı yordam mantığı,aggregate_sale_by_date_city
adlı bir tablo oluşturur vefact_sale
vedimension_city
tablolarını birleştirip gruplandırma sorgusuyla bu tabloya veri ekler.--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;
Sorguyu yürütmek için, sorgu tasarımcısı şeridinde çalıştır'ı seçin.
Yürütme tamamlandığında sorguyu
Create Aggregate Procedure
olarak yeniden adlandırın.Gezgini bölmesinde,
dbo
şemasının Saklı Yordamlar klasörünün içindenaggregate_sale_by_date_city
saklı yordamın mevcut olduğunu doğrulayın.
Saklı yordamı çalıştır
Bu görevde, bir depolama tablosundaki verileri dönüştürmek için saklı yordamı yürütmeyi öğrenin.
Yeni bir sorgu oluşturun.
Sorgu düzenleyicisinde aşağıdaki kodu yapıştırın. Kod, saklı yordam
populate_aggregate_sale_by_city
'ı yürütür.--Execute the stored procedure to create and load aggregated data. EXEC [dbo].[populate_aggregate_sale_by_city];
Sorguyu çalıştırın.
Yürütme tamamlandığında sorguyu
Run Aggregate Procedure
olarak yeniden adlandırın.Toplanan verilerin önizlemesini görüntülemek için Gezgini bölmesinde
aggregate_sale_by_date_city
tablosunu seçin.Dikkat
Eğer tablo görünmüyorsa, Tablolar klasörü için üç noktayı (...) seçin ve ardından Yenile'yi seçin.
Gezgin bölmesinin yeni oluşturulan tabloyu vurgulayan ekran görüntüsü.