Bagikan melalui


Menggabungkan Partisi dalam Analysis Services (SSAS - Multidmensional)

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

Anda dapat menggabungkan partisi dalam database SQL Server Analysis Services yang ada untuk mengonsolidasikan data fakta dari beberapa partisi grup ukuran yang sama.

Skenario umum

Persyaratan

Memperbarui Sumber Partisi setelah menggabungkan partisi

Pertimbangan khusus untuk partisi yang disegmentasi berdasarkan tabel fakta atau kueri bernama

Cara menggabungkan partisi menggunakan SSMS

Cara menggabungkan partisi menggunakan XMLA

Skenario umum

Konfigurasi tunggal yang paling umum untuk penggunaan partisi melibatkan pemisahan data di seluruh dimensi waktu. Granularitas waktu yang terkait dengan setiap partisi bervariasi tergantung pada persyaratan bisnis khusus untuk proyek. Misalnya, segmentasi mungkin berdasarkan tahun, dengan tahun terbaru dibagi berdasarkan bulan, ditambah partisi terpisah untuk bulan aktif. Partisi bulan aktif secara teratur mengambil data baru.

Ketika bulan aktif selesai, partisi tersebut digabungkan kembali ke bulan-bulan dalam partisi tahun ke tanggal dan proses berlanjut. Pada akhir tahun, partisi tahun baru telah terbentuk.

Seperti yang ditunjukkan oleh skenario ini, penggabungan partisi dapat menjadi tugas rutin yang dilakukan secara teratur, memberikan pendekatan progresif untuk mengonsolidasikan dan mengatur data historis.

Persyaratan

Partisi hanya dapat digabungkan jika memenuhi semua kriteria berikut:

  • Mereka memiliki kelompok ukuran yang sama.

  • Mereka memiliki struktur yang sama.

  • Mereka harus dalam keadaan diproses.

  • Mereka memiliki mode penyimpanan yang sama.

  • Mereka berisi desain agregasi yang identik.

  • Mereka memiliki tingkat kompatibilitas penyimpanan string yang sama (hanya berlaku untuk grup ukuran hitungan berbeda yang dipartisi).

Jika partisi target kosong (yaitu, ia memiliki desain agregasi tetapi tidak ada agregasi), penggabungan akan menghilangkan agregasi untuk partisi sumber. Anda harus menjalankan Indeks Proses, Proses Penuh, atau Proses Default pada partisi untuk membangun agregasi.

Partisi jarak jauh hanya dapat digabungkan dengan partisi jarak jauh lainnya yang ditentukan dengan instans jarak jauh SQL Server Analysis Services yang sama.

Catatan

Jika Anda menggunakan kombinasi partisi lokal dan jarak jauh, pendekatan alternatifnya adalah membuat partisi baru yang menyertakan data gabungan, menghapus partisi yang tidak lagi Anda gunakan.

Untuk membuat partisi yang merupakan kandidat untuk penggabungan di masa mendatang, saat Anda membuat partisi di Wizard Partisi, Anda dapat memilih untuk menyalin desain agregasi dari partisi kubus lainnya. Ini memastikan bahwa partisi ini memiliki desain agregasi yang sama. Ketika digabungkan, agregasi partisi sumber dikombinasikan dengan agregasi dalam partisi target.

Memperbarui Sumber Partisi setelah menggabungkan partisi

Partisi disegmentasi berdasarkan kueri, seperti klausa WHERE dari kueri SQL yang digunakan untuk memproses data, atau menurut tabel atau kueri bernama yang menyediakan data ke partisi. Properti Sumber pada partisi menunjukkan apakah partisi terikat ke kueri atau tabel.

Saat Anda menggabungkan partisi, konten partisi dikonsolidasikan, tetapi properti Sumber tidak diperbarui untuk mencerminkan cakupan tambahan partisi. Ini berarti jika Anda kemudian memproses ulang partisi yang mempertahankan Sumber aslinya, Anda akan mendapatkan data yang salah dari partisi tersebut. Partisi akan secara keliru mengagregasi data di tingkat induk. Contoh berikut mengilustrasikan perilaku ini.

Masalahnya

Misalkan Anda memiliki kubus yang berisi informasi tentang tiga produk minuman ringan. Ini memiliki tiga partisi yang menggunakan tabel fakta yang sama. Partisi ini disegmentasi berdasarkan produk. Partisi 1 berisi data tentang [ColaFull], Partisi 2 berisi data tentang [ColaDecaf], dan Partisi 3 berisi data tentang [ColaDiet]. Jika Partisi 3 digabungkan ke dalam Partisi 2, data dalam partisi yang dihasilkan (Partisi 2) sudah benar dan data kubus akurat. Namun, ketika Partisi 2 diproses, kontennya dapat ditentukan oleh induk anggota di tingkat produk. Induk ini, [SoftDrinks], juga mencakup [ColaFull], produk di Partisi 1. Partisi Pemrosesan 2 memuat partisi dengan data untuk semua minuman ringan, termasuk [ColaFull]. Kubus kemudian berisi data duplikat untuk [ColaFull] dan mengembalikan data yang salah kepada pengguna akhir.

Solusinya

Solusinya adalah memperbarui properti Sumber , menyesuaikan klausa WHERE atau kueri bernama, atau menggabungkan data secara manual dari tabel fakta yang mendasar, untuk memastikan bahwa pemrosesan berikutnya akurat mengingat cakupan partisi yang diperluas.

Dalam contoh ini, setelah menggabungkan Partisi 3 ke Dalam Partisi 2, Anda dapat menyediakan filter seperti ("Produk" = 'ColaDecaf' ATAU "Produk" = 'ColaDiet') di Partisi 2 yang dihasilkan untuk menentukan bahwa hanya data tentang [ColaDecaf] dan [ColaDiet] yang diekstrak dari tabel fakta, dan data yang berkaitan dengan [ColaFull] dikecualikan. Atau, Anda dapat menentukan filter untuk Partisi 2 dan Partisi 3 saat dibuat, dan filter ini akan digabungkan selama proses penggabungan. Dalam kedua kasus, setelah partisi diproses, kubus tidak berisi data duplikat.

Kesimpulan

Setelah Anda menggabungkan partisi, selalu periksa Sumber untuk memverifikasi bahwa filter sudah benar untuk data yang digabungkan. Jika Anda mulai dengan partisi yang menyertakan data historis untuk Q1, Q2, dan Q3, dan sekarang Anda menggabungkan Q4, Anda harus menyesuaikan filter untuk menyertakan Q4. Jika tidak, pemrosesan partisi berikutnya akan menghasilkan hasil yang salah. Ini tidak akan benar untuk Q4.

Pertimbangan khusus untuk partisi yang disegmentasi berdasarkan tabel fakta atau kueri bernama

Selain kueri, partisi juga dapat disegmentasi berdasarkan tabel atau kueri bernama. Jika partisi sumber dan partisi target menggunakan tabel fakta yang sama dalam tampilan sumber data atau sumber data, properti Sumber valid setelah menggabungkan partisi. Ini menentukan data tabel fakta yang sesuai dengan partisi yang dihasilkan. Karena fakta yang diperlukan untuk partisi yang dihasilkan ada dalam tabel fakta, tidak ada modifikasi pada properti Sumber yang diperlukan.

Partisi yang menggunakan data dari beberapa tabel fakta atau kueri bernama memerlukan pekerjaan tambahan. Anda harus menggabungkan fakta secara manual dari tabel fakta partisi sumber ke dalam tabel fakta partisi target.

Atau, Anda dapat mengubah sumber untuk partisi yang digabungkan menjadi kueri bernama yang mengembalikan konten dua tabel fakta terpisah. Jika langkah manual ini tidak dilakukan, tabel fakta tidak berisi informasi lengkap.

Untuk alasan yang sama, partisi yang mendapatkan data tersegmentasi dari kueri bernama juga memerlukan pembaruan. Partisi gabungan sekarang harus memiliki kueri bernama yang mengembalikan kumpulan hasil gabungan yang sebelumnya diperoleh dari kueri bernama terpisah.

Pertimbangan penyimpanan partisi: MOLAP

Ketika partisi MOLAP digabungkan, fakta yang disimpan dalam struktur multidmensional partisi juga digabungkan. Ini menghasilkan partisi yang lengkap dan konsisten secara internal. Namun, fakta yang disimpan dalam partisi MOLAP adalah salinan fakta dalam tabel fakta. Ketika partisi kemudian diproses, fakta dalam struktur multidmensional dihapus (hanya untuk penuh dan refresh) dan data disalin dari tabel fakta seperti yang ditentukan oleh sumber data dan filter untuk partisi. Jika partisi sumber menggunakan tabel fakta yang berbeda dari partisi target, tabel fakta partisi sumber harus digabungkan secara manual dengan tabel fakta partisi target untuk memastikan bahwa sekumpulan data lengkap tersedia saat partisi yang dihasilkan diproses. Ini berlaku juga jika kedua partisi didasarkan pada kueri bernama yang berbeda.

Penting

Partisi MOLAP gabungan dengan tabel fakta yang tidak lengkap berisi salinan data tabel fakta yang digabungkan secara internal dan beroperasi dengan benar sampai diproses.

Pertimbangan penyimpanan partisi: Partisi HOLAP dan ROLAP

Ketika partisi HOLAP atau ROLAP yang memiliki tabel fakta yang berbeda digabungkan, tabel fakta tidak digabungkan secara otomatis. Kecuali tabel fakta digabungkan secara manual, hanya tabel fakta yang terkait dengan partisi target yang tersedia untuk partisi yang dihasilkan. Fakta yang terkait dengan partisi sumber tidak tersedia untuk penelusuran paling detail dalam partisi yang dihasilkan, dan ketika partisi diproses, agregasi tidak meringkas data dari tabel yang tidak tersedia.

Penting

Partisi HOLAP atau ROLAP gabungan dengan tabel fakta yang tidak lengkap berisi agregasi yang akurat, tetapi fakta yang tidak lengkap. Kueri yang mengacu pada fakta yang hilang mengembalikan data yang salah. Ketika partisi diproses, agregasi hanya dihitung dari fakta yang tersedia.

Tidak adanya fakta yang tidak tersedia mungkin tidak diperhatikan kecuali pengguna mencoba menelusuri paling detail fakta dalam tabel yang tidak tersedia atau menjalankan kueri yang memerlukan fakta dari tabel yang tidak tersedia. Karena agregasi digabungkan selama proses penggabungan, kueri yang hasilnya hanya didasarkan pada agregasi mengembalikan data yang akurat, sedangkan kueri lain mungkin mengembalikan data yang tidak akurat. Bahkan setelah partisi yang dihasilkan diproses, data yang hilang dari tabel fakta yang tidak tersedia mungkin tidak diperhatikan, terutama jika hanya mewakili sebagian kecil dari data gabungan.

Tabel fakta dapat digabungkan sebelum atau sesudah menggabungkan partisi. Namun, agregasi tidak akan secara akurat mewakili fakta yang mendasar sampai kedua operasi selesai. Disarankan agar Anda menggabungkan partisi HOLAP atau ROLAP yang mengakses tabel fakta yang berbeda ketika pengguna tidak terhubung ke kubus yang berisi partisi ini.

Cara menggabungkan partisi menggunakan SSMS

Penting

Sebelum menggabungkan partisi, salin informasi filter data terlebih dahulu (sering kali, klausa WHERE untuk filter berdasarkan kueri SQL). Kemudian, setelah penggabungan selesai, Anda harus memperbarui properti Sumber Partisi dari partisi yang berisi akumulasi data fakta.

  1. Dalam Object Explorer, perluas simpul Kelompok Pengukuran kubus yang berisi partisi yang ingin Anda gabungkan, perluas Partisi, klik kanan partisi yang merupakan target atau tujuan operasi penggabungan. Misalnya, jika Anda memindahkan data fakta triwulanan ke partisi yang menyimpan data fakta tahunan, pilih partisi yang berisi data fakta tahunan.

  2. Klik Gabungkan Partisi untuk membuka kotak dialog Gabungkan Nama> partisi Partisi<.

  3. Di bawah Partisi Sumber, pilih kotak centang di samping setiap partisi sumber yang ingin Anda gabungkan dengan partisi target, dan klik OK.

    Catatan

    Partisi sumber segera dihapus setelah sumber digabungkan ke dalam partisi target. Refresh folder Partisi untuk memperbarui kontennya setelah penggabungan selesai.

  4. Klik kanan partisi yang berisi data akumulasi dan pilih Properti.

  5. Buka properti Sumber dan ubah klausa WHERE sehingga menyertakan data partisi yang baru saja Anda gabungkan. Ingat bahwa properti Sumber tidak diperbarui secara otomatis. Jika Anda memproses ulang tanpa terlebih dahulu memperbarui Sumber, Anda mungkin tidak mendapatkan semua data yang diharapkan.

Cara menggabungkan partisi menggunakan XMLA

Lihat topik ini untuk informasi, Menggabungkan Partisi (XMLA).

Lihat juga

Memproses Objek Analysis Services
Partisi (Analysis Services - Data Multidmensional)
Membuat dan Mengelola Partisi Lokal (Analysis Services)
Membuat dan Mengelola Partisi Jarak Jauh (Analysis Services)
Atur Tulis Balik Partisi
Partisi berkemampuan tulis
Mengonfigurasi Penyimpanan String untuk Dimensi dan Partisi