Bagikan melalui


Hierarki User-Defined - Hierarki yang Dikakukan

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

Hierarki yang tidak rata adalah hierarki yang ditentukan pengguna yang memiliki jumlah tingkat yang tidak merata. Contoh umum termasuk bagan organisasi di mana manajer tingkat tinggi memiliki manajer departemen dan non-manajer sebagai laporan langsung, atau hierarki geografis yang terdiri dari Country-Region-City, di mana beberapa kota tidak memiliki Negara Bagian atau Provinsi induk, seperti Washington D.C., Vatican City, atau New Delhi.

Untuk sebagian besar hierarki dalam dimensi, setiap tingkat memiliki jumlah anggota yang sama di atasnya dengan anggota lain pada tingkat yang sama. Hierarki yang mengamuk berbeda karena induk logis dari setidaknya satu anggota tidak berada di tingkat tepat di atas anggota. Ketika ini terjadi, hierarki turun ke tingkat yang berbeda untuk jalur penelusuran yang berbeda. Dalam aplikasi klien, ini dapat membuat jalur penelusuran yang tidak perlu rumit.

Aplikasi klien bervariasi dalam seberapa baik mereka menangani hierarki yang tidak jelas. Jika hierarki yang mengamuk ada dalam model Anda, bersiaplah untuk melakukan sedikit pekerjaan ekstra untuk mendapatkan perilaku penyajian yang Anda harapkan.

Sebagai langkah pertama, periksa aplikasi klien untuk melihat caranya menangani jalur penelusuran paling detail. Misalnya, Excel mengulangi nama induk sebagai tempat penampung untuk nilai yang hilang. Untuk melihat perilaku ini sendiri, buat PivotTable menggunakan dimensi Wilayah Penjualan dalam model multidaya Adventure Works. Dalam PivotTable yang memiliki atribut Wilayah Penjualan Grup, Negara, dan Wilayah, Anda akan melihat bahwa negara/wilayah yang kehilangan nilai wilayah akan mendapatkan tempat penampung, dalam hal ini pengulangan induk di atasnya (Nama negara). Perilaku ini berasal dari properti MDX Compatibility=1 string koneksi yang diperbaiki dalam Excel. Jika klien tidak secara alami memberikan perilaku penelusuran yang Anda cari, Anda dapat mengatur properti dalam model untuk mengubah setidaknya beberapa perilaku tersebut.

Topik ini berisi bagian berikut:

Pendekatan untuk memodifikasi navigasi penelusuran paling detail dalam hierarki yang tidak jelas

Kehadiran hierarki yang mengamuk menjadi masalah ketika navigasi penelusuran tidak mengembalikan nilai yang diharapkan atau dianggap canggung untuk digunakan. Untuk memperbaiki masalah navigasi yang dihasilkan dari hierarki yang tidak jelas, pertimbangkan opsi ini:

  • Gunakan hierarki reguler tetapi atur properti HideMemberIf pada setiap tingkat untuk menentukan apakah tingkat yang hilang divisualisasikan kepada pengguna. Saat mengatur HideMemberIf, Anda juga harus mengatur MDXCompatibility pada string koneksi untuk mengambil alih perilaku navigasi default. Instruksi untuk mengatur properti ini ada dalam topik ini.

  • Buat hierarki induk-anak yang secara eksplisit mengelola anggota tingkat. Untuk ilustrasi teknik, lihat Hierarki Ragged di SSAS (posting blog). Untuk informasi selengkapnya di Buku Online, lihat Dimensi Induk-Anak. Kelemahan untuk membuat hierarki induk-anak adalah Anda hanya dapat memiliki satu per dimensi, dan Anda biasanya dikenakan penalti performa saat menghitung agregasi untuk anggota perantara.

Jika dimensi Anda berisi lebih dari satu hierarki yang tidak jelas, Anda harus menggunakan pendekatan pertama, mengatur HideMemberIf. Pengembang BI dengan pengalaman praktis dalam bekerja dengan hierarki yang ragged melangkah lebih jauh dalam menganjurkan perubahan tambahan dalam tabel data fisik, membuat tabel terpisah untuk setiap tingkat. Lihat Hierarki Keuangan SSAS Martin Mason Cube-Part 1a-Ragged (blog) untuk detail tentang teknik ini.

Atur HideMemberIf untuk menyembunyikan anggota dalam hierarki reguler

Dalam tabel dimensi yang kaku, anggota yang hilang secara logis dapat diwakili dengan cara yang berbeda. Sel tabel dapat berisi string null atau kosong, atau dapat berisi nilai yang sama dengan induknya untuk berfungsi sebagai tempat penampung. Representasi tempat penampung ditentukan oleh status tempat penampung anggota anak, sebagaimana ditentukan oleh properti HideMemberIf, dan properti kompatibilitas MDX string koneksi untuk aplikasi klien.

Untuk aplikasi klien yang mendukung tampilan hierarki yang tidak jelas, Anda dapat menggunakan properti ini untuk menyembunyikan anggota yang hilang secara logis.

  1. Di SSDT, klik dua kali dimensi untuk membukanya di Dimensi Designer. Tab pertama, Struktur Dimensi, memperlihatkan hierarki atribut di panel Hierarki.

  2. Klik kanan anggota dalam hierarki dan pilih Properti. Atur HideMemberIf ke salah satu nilai yang dijelaskan di bawah ini.

    Pengaturan HideMemberIf Deskripsi
    Tidak pernah Anggota tingkat tidak pernah disembunyikan. Ini adalah nilai default.
    OnlyChildWithNoName Anggota tingkat disembunyikan ketika itu adalah satu-satunya anak dari induknya dan namanya null atau string kosong.
    OnlyChildWithParentName Anggota tingkat disembunyikan ketika itu adalah satu-satunya anak dari induknya dan namanya sama dengan nama induknya.
    NoName Anggota tingkat disembunyikan saat namanya kosong.
    ParentName Anggota tingkat disembunyikan ketika namanya identik dengan induknya.

Atur Kompatibilitas MDX untuk menentukan bagaimana tempat penampung diwakili dalam aplikasi klien

Setelah mengatur HideMemberIf pada tingkat hierarki, Anda juga harus mengatur properti Kompatibilitas MDX di string koneksi dikirim dari aplikasi klien. Pengaturan Kompatibilitas MDX menentukan apakah HideMemberIf digunakan.

Pengaturan Kompatibilitas MDX Deskripsi Penggunaan
1 Perlihatkan nilai tempat penampung. Ini adalah default yang digunakan oleh Excel, SSDT, dan SSMS. Ini menginstruksikan server untuk mengembalikan nilai tempat penampung saat menelusuri tingkat kosong dalam hierarki yang rusak. Jika Anda mengklik nilai tempat penampung, Anda dapat melanjutkan ke bawah untuk masuk ke simpul anak (daun).

Excel memiliki string koneksi yang digunakan untuk menyambungkan ke Analysis Services, dan selalu mengatur Kompatibilitas MDX ke 1 pada setiap koneksi baru. Perilaku ini mempertahankan kompatibilitas mundur.
2 Sembunyikan nilai tempat penampung (nilai null atau duplikat tingkat induk), tetapi memperlihatkan tingkat dan simpul lain yang memiliki nilai yang relevan. Kompatibilitas MDX=2 biasanya dilihat sebagai pengaturan yang disukai dalam hal hierarki yang rusak. Laporan Reporting Services dan beberapa aplikasi klien pihak ketiga dapat mempertahankan pengaturan ini.

Lihat juga

Membuat Hierarki User-Defined
Hierarki Pengguna
Dimensi Induk-Anak
Properti String Koneksi (Analysis Services)