ValidMeasure (MDX)
Mengembalikan nilai pengukuran dalam kubus dengan memaksa dimensi yang tidak dapat diterapkan ke Semua tingkatnya (atau anggota default jika tidak dapat diagregasi) saat mengembalikan hasil untuk tuple tertentu.
Sintaks
ValidMeasure(Tuple_Expression)
Argumen
Tuple_Expression
Ekspresi Ekspresi Multidmensional (MDX) yang valid yang mengembalikan tuple.
Keterangan
Fungsi ValidMeasure mengembalikan nilai tuple, mengabaikan atribut yang tidak memiliki hubungan dengan grup ukuran pengukuran yang nilainya dikembalikan tuple. Atribut dapat tidak terkait dengan ukuran karena dua alasan:
Dimensi atribut tidak memiliki hubungan dengan grup ukuran pengukuran dalam tuple.
Dimensi atribut tidak memiliki hubungan dengan kelompok ukuran ukuran, tetapi atribut granularitas bukan atribut kunci, dan atribut granularitas tidak memiliki hubungan langsung dengan atribut dalam tuple.
Perilaku yang ditentukan oleh fungsi ini adalah perilaku sisi server default dan dikontrol oleh properti IgnoreUnrelatedDimensions pada objek grup pengukuran.
Untuk setiap atribut dalam tuple yang ditentukan dengan granularitas (artinya, di mana anggota dalam tuple bukan anggota Semua), koordinat saat ini untuk setiap atribut tersebut dipindahkan sebagai berikut:
Atribut terkait ke anggota atribut yang ditentukan dipindahkan ke anggota yang ada dengan anggota saat ini.
Atribut yang berkaitan dengan anggota atribut yang ditentukan dipindahkan ke Semua anggota (atau anggota default jika hierarki tidak dapat diagregasi).
Atribut yang tidak terkait dipindahkan ke Semua anggota (berdasarkan ukuran).
Contoh
Kueri berikut ini memperlihatkan bagaimana fungsi ValidMeasure dapat digunakan untuk mengambil alih perilaku properti IgnoreUnrelatedDimensions. Dalam kubus Adventure Works, grup pengukuran Target Penjualan telah menetapkan IgnoreUnrelatedDimensions ke False; karena dimensi Tanggal bergabung ke grup pengukuran ini pada granularitas Kuartal Kalender, ini berarti bahwa ukuran Kuota Penjualan akan , secara default, mengembalikan null di bawah Kuartal Kalender (meskipun ada juga perhitungan dalam Skrip MDX yang mengalokasikan nilai ke tingkat Bulan juga). Menggunakan fungsi ValidMeasure dalam pengukuran terhitung dapat digunakan untuk membuat pengukuran Kuota Penjualan berperilaku seolah-olah IgnoreUnrelatedDimensions diatur ke True dan memaksa Kuota Penjualan untuk menampilkan nilai Kuartal Kalender saat ini.
WITH MEMBER MEASURES.VTEST AS VALIDMEASURE([Measures].[Sales Amount Quota])
SELECT {[Measures].[Sales Amount Quota], MEASURES.VTEST} ON 0,
[Date].[Calendar].MEMBERS ON 1
FROM [Adventure Works]
Demikian pula, grup pengukuran Target Penjualan tidak memiliki hubungan sama sekali dengan dimensi Promosi, jadi di bawah Semua Anggota hierarki apa pun pada Promosi, itu akan mengembalikan null. Sekali lagi, perilaku ini dapat diubah dengan menggunakan ValidMeasure:
WITH MEMBER MEASURES.VTEST AS VALIDMEASURE([Measures].[Sales Amount Quota])
SELECT {[Measures].[Sales Amount Quota], MEASURES.VTEST} ON 0,
[Promotion].[Promotions].members ON 1
FROM [Adventure Works]