Aracılığıyla paylaş


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:

  1. çalışma alanı oluşturma
  2. ambar oluşturma
  3. 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.

  1. İlk öğretici oluşturduğunuz çalışma alanının açık olduğundan emin olun.

  2. Giriş şerit menüsünde Yeni SQL Sorgususeçin.

    Giriş şeridinin ekran görüntüsü, Yeni SQL sorgusu seçeneğini vurguluyor. .

  3. 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_cityadlı bir saklı yordam oluşturur. Saklı yordam mantığı, aggregate_sale_by_date_city adlı bir tablo oluşturur ve fact_sale ve dimension_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;
    
  4. Sorguyu yürütmek için, sorgu tasarımcısı şeridinde çalıştır'ı seçin.

  5. Yürütme tamamlandığında sorguyu Create Aggregate Procedureolarak yeniden adlandırın.

  6. Gezgini bölmesinde, dbo şemasının Saklı Yordamlar klasörünün içinden aggregate_sale_by_date_city saklı yordamın mevcut olduğunu doğrulayın.

    Yeni oluşturulan saklı yordamı vurgulayan Gezgin bölmesinin ekran görüntüsü.

Saklı yordamı çalıştır

Bu görevde, bir depolama tablosundaki verileri dönüştürmek için saklı yordamı yürütmeyi öğrenin.

  1. Yeni bir sorgu oluşturun.

  2. 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];
    
  3. Sorguyu çalıştırın.

  4. Yürütme tamamlandığında sorguyu Run Aggregate Procedureolarak yeniden adlandırın.

  5. 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ü.

Sonraki adım