Bagikan melalui


Modifikasi Data MDX - Menggunakan Tulis Balik Kubus

Berlaku untuk: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Anda memperbarui kubus dengan menggunakan pernyataan UPDATE CUBE . Pernyataan ini memungkinkan Anda memperbarui tuple dengan nilai tertentu. Untuk menggunakan pernyataan UPDATE CUBE secara efektif untuk memperbarui kubus, Anda harus memahami sintaks untuk pernyataan, kondisi kesalahan yang dapat terjadi, dan pengaruh yang dapat ditimbulkan pembaruan pada kubus.

Sintaks Pernyataan KUBUS UPDATE

Sintaks berikut menjelaskan pernyataan UPDATE CUBE:

UPDATE [CUBE] <Cube_Name> SET <tuple>.VALUE = <value> [,<tuple>.VALUE = <value>...]  
 [ USE_EQUAL_ALLOCATION | USE_EQUAL_INCREMENT |  
  USE_WEIGHTED_ALLOCATION [BY <weight value_expression>] |  
  USE_WEIGHTED_INCREMENT [BY <weight value_expression>] ]   

Jika sekumpulan koordinat lengkap tidak ditentukan untuk tuple, koordinat yang tidak ditentukan akan menggunakan anggota default hierarki. Tuple yang diidentifikasi harus mereferensikan sel yang dikumpulkan dengan fungsi Sum , dan tidak boleh menggunakan anggota terhitung sebagai salah satu koordinat sel.

Anda dapat menganggap pernyataan UPDATE CUBE sebagai subroutine yang menghasilkan serangkaian operasi tulis balik individual ke sel atomik. Semua operasi tulis balik individu ini kemudian digulung ke dalam jumlah yang ditentukan.

Catatan

Ketika sel yang diperbarui tidak tumpang tindih, properti Perbarui Tingkat Isolasi string koneksi dapat digunakan untuk meningkatkan performa UNTUK KUBUS PEMBARUAN. Untuk informasi selengkapnya, lihat ConnectionString.

Contoh

Anda dapat menguji UPDATE CUBE menggunakan grup pengukuran Target Penjualan di kubus Adventure Works. Grup pengukuran ini terdiri dari langkah-langkah yang diagregasi oleh SUM, yang merupakan persyaratan untuk UPDATE CUBE.

  1. Aktifkan tulis balik untuk grup pengukuran Target Penjualan di database Adventure Works. Di Management Studio, klik kanan grup pengukuran, arahkan ke Opsi Tulis Balik, pilih Aktifkan Tulis Balik.

    Anda akan melihat tabel tulis balik baru di folder Writeback. Nama tabel WriteTable_Fact Kuota Penjualan.

  2. Buka jendela kueri MDX. Jalankan pernyataan pilih berikut untuk melihat nilai asli:

    SELECT [Measures].[Sales Amount Quota] on 0 ,  
    [Employee].[Employee Department].[Title].&[Sales Representative].children on 1  
    FROM [Adventure Works]  
    
    

    Anda akan melihat kuota jumlah penjualan untuk setiap perwakilan.

  3. Jalankan pernyataan kubus pembaruan untuk menulis kembali nilai baru. Dalam contoh ini, kami menetapkan kuota jumlah penjualan menjadi 0. Karena nilai baru adalah 0, jangan tentukan metode alokasi.

    UPDATE CUBE [Adventure Works]   
    SET ([Measures].[Sales Amount Quota], [Employee].[Employee Department].[Department].&[Sales]) = 0  
    
    
  4. Jalankan kembali pernyataan SELECT. Anda sekarang akan melihat nol untuk kuota.

Nilai tulis balik dibatasi pada sesi saat ini. Untuk mempertahankan nilai di seluruh pengguna dan sesi, proses tabel tulis balik. Di Management Studio, klik kanan WriteTable_Fact Kuota Penjualan dan pilih Proses.

Untuk menentukan metode alokasi, nilai baru harus lebih besar dari nol. Dalam contoh ini, nilai baru untuk Kuota Jumlah Penjualan adalah dua juta dan metode alokasi mendistribusikan jumlah di semua perwakilan penjualan.

UPDATE CUBE [Adventure Works]   
SET ([Measures].[Sales Amount Quota], [Employee].[Employee Department].[Department].&[Sales]) = 2000000   
USE_EQUAL_ALLOCATION  

Kondisi Kesalahan

Tabel berikut menjelaskan apa yang dapat menyebabkan writeback gagal dan hasil dari kesalahan tersebut.

Kondisi Kesalahan Hasil
Pembaruan mencakup anggota dari dimensi yang sama yang tidak ada satu sama lain. Pembaruan akan gagal. Ruang kubus tidak akan berisi sel yang dirujuk.
Pembaruan mencakup ukuran yang bersumber pada ukuran jenis yang tidak ditandatangani. Pembaruan akan gagal. Kenaikan mengharuskan ukuran dapat mengambil nilai negatif.
Pembaruan mencakup ukuran yang mengagregasi selain jumlah. Kesalahan dimunculkan.
Pembaruan telah dicoba pada subkube. Kesalahan dimunculkan.

Pengaruh Perubahan Kubus

Perubahan berikut tidak akan berpengaruh pada tulis balik:

  • Pemrosesan kubus, grup ukuran kubus, atau dimensi kubus.

  • Menambahkan atribut ke dimensi apa pun.

  • Menambahkan dimensi baru.

  • Menghapus dimensi yang tidak menyertakan tulis balik.

  • Menambahkan, memodifikasi, atau menghapus hierarki.

  • Menambahkan ukuran baru.

Perubahan berikut tidak dapat dilakukan tanpa menghapus data tulis balik:

  • Menghapus atribut, atau hierarki atributnya, jika atribut disertakan dalam tulis balik. Ini termasuk secara eksplisit menghapus atribut, atau hierarki atributnya, atau menghapus dimensi induk atribut.

  • Menghapus ukuran yang disertakan dalam tulis balik.

  • Menambahkan atribut tanpa tingkat (Semua) ke dimensi yang disertakan dalam tulis balik.

  • Mengubah granularitas dimensi untuk dimensi yang disertakan dalam tulis balik.

Lihat juga

Memodifikasi Data (MDX)