Bagikan melalui


Tutorial: Mengubah data dengan prosedur tersimpan di Gudang

Berlaku untuk:✅ Titik akhir analitik SQL dan Gudang di Microsoft Fabric

Dalam tutorial ini, pelajari cara membuat prosedur tersimpan di Gudang untuk mengubah data dalam tabel.

Nota

Tutorial ini merupakan bagian dari skenario terpadu . Untuk menyelesaikan tutorial ini, Anda harus terlebih dahulu menyelesaikan tutorial ini:

  1. Membuat ruang kerja
  2. Membuat Gudang
  3. Memasukkan data ke dalam Gudang Data

Membuat prosedur tersimpan

Dalam tugas ini, pelajari cara membuat prosedur tersimpan untuk mengubah data dalam tabel gudang.

  1. Pastikan ruang kerja yang Anda buat di tutorial pertama terbuka.

  2. Pada pita Beranda, pilih kueri SQL baru.

    Cuplikan layar pita Beranda, menyoroti opsi Kueri SQL Baru.

  3. Di editor kueri, tempelkan kode berikut. Kode menghilangkan prosedur tersimpan (jika ada), dan kemudian membuat prosedur tersimpan bernama populate_aggregate_sale_by_city. Logika prosedur tersimpan membuat tabel bernama aggregate_sale_by_date_city dan menyisipkan data ke dalamnya dengan kueri berdasarkan grup yang menggabungkan tabel fact_sale dan 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;
    
  4. Untuk menjalankan kueri, pada pita perancang kueri, pilih Jalankan.

  5. Saat eksekusi selesai, ganti nama kueri sebagai Create Aggregate Procedure.

  6. Di panel Explorer, dari dalam folder Prosedur Tersimpan untuk skema , verifikasi bahwa prosedur tersimpan ada.

    Cuplikan layar panel Explorer, menyoroti prosedur tersimpan yang baru dibuat.

Jalankan prosedur tersimpan

Dalam tugas ini, pelajari cara menjalankan prosedur tersimpan untuk mengubah data dalam tabel gudang.

  1. Buat kueri baru.

  2. Di editor kueri, tempelkan kode berikut. Kode mengeksekusi prosedur tersimpan populate_aggregate_sale_by_city.

     --Execute the stored procedure to create and load aggregated data.
     EXEC [dbo].[populate_aggregate_sale_by_city];
    
  3. Jalankan kueri.

  4. Saat eksekusi selesai, ganti nama kueri sebagai Run Aggregate Procedure.

  5. Untuk mempratinjau data agregat, di panel Explorer, pilih tabel .

    Nota

    Jika tabel tidak muncul, pilih elipsis (...) untuk folder Tabel , lalu pilih Refresh.

    Cuplikan layar panel Explorer, menyoroti tabel yang baru dibuat.

Langkah selanjutnya