Katakanlah, kita memiliki sebuah kubus dengan dimensi 'Toko Kelontong', yang memiliki 2 tingkat hierarki:
- Fruits & Vegetables Dep.
- Fruits
- Sayuran
- Tomat
- Mentimun
- Departemen Roti
- Departemen Susu.
Pertanyaannya adalah - bagaimana saya bisa menambahkan tingkat hierarki dalam kueri mdx dari laporan RDL, sehingga anggota 'Tomat' dan 'Mentimun' akan pindah ke tingkat ke-3 yang baru di bawah 'Sayuran' tingkat ke-2 asli. Saya perlu melakukan itu tanpa perubahan apa pun pada Cube, semuanya hanya melalui mdx murni.
Ketika saya mencoba membuat kumpulan terhitung untuk tingkat ke-3 yang diinginkan dan menggunakannya bersama dengan bagian hierarki awal lainnya seperti ini:
WITH SET [Level 3] AS
case
when [Grocery store].[Hierarchy].[Level 2].CURRENTMEMBER = [Grocery store].[Hierarchy].&[Tomatoes] OR
[Grocery store].[Hierarchy].[Level 2].CURRENTMEMBER = [Grocery store].[Hierarchy].&[Cucumbers]
then [Grocery store].[Hierarchy].[Level 2].CURRENTMEMBER
else null end
SELECT {[Measures].[Sales]} ON COLUMNS,
CrossJoin(Hierarchize( {[Grocery store].[Hierarchy].[Level 2]}
-{[Grocery store].[Hierarchy].&[Tomatoes],
[Grocery store].[Hierarchy].&[Cucumbers]}),
[Level 3]) ON ROWS
FROM [CUBE]
Saya menghadapi kesalahan saat mengatakan, bahwa fungsi crossjoin tidak dapat mengambil satu dimensi 'Toko Kelontong' yang sama dua kali.