ValidMeasure (MDX)

Mengembalikan nilai ukuran dalam kubus dengan memaksa dimensi yang tidak berlaku ke level All (atau anggota default jika tidak dapat diagregasikan) saat mengembalikan hasil untuk tuple tertentu.

Syntax

  
ValidMeasure(Tuple_Expression)   

Arguments

Tuple_Expression
Ekspresi Multidimensional Expressions (MDX) valid yang mengembalikan tuple.

Remarks

Fungsi ValidMeasure mengembalikan nilai dari sebuah tuple, mengabaikan atribut yang tidak memiliki hubungan dengan grup ukuran dari Measure yang nilainya dikembalikan oleh tuple. Sebuah atribut dapat tidak terkait dengan ukuran karena dua alasan:

  • Dimensi atribut tidak memiliki hubungan dengan grup ukuran dari ukuran dalam tuple.

  • Dimensi atribut tidak memiliki hubungan dengan grup ukuran dari ukuran tersebut, tetapi atribut granularitas bukanlah atribut kunci, dan atribut granularitas tidak memiliki hubungan langsung dengan atribut dalam tuple.

Perilaku yang ditentukan oleh fungsi ini adalah perilaku default di sisi server dan dikendalikan oleh properti IgnoreUnrelatedDimensions pada objek grup measure.

Untuk setiap atribut dalam tuple yang ditentukan dengan granularitas (yaitu, di mana anggota dalam tuple bukan anggota All), koordinat saat ini untuk setiap atribut tersebut dipindahkan sebagai berikut:

  • Atribut terkait dengan anggota atribut yang ditentukan akan dipindahkan ke anggota yang ada bersama anggota saat ini.

  • Atribut yang terkait dengan anggota atribut yang ditentukan akan dipindahkan ke anggota All (atau anggota default jika hierarki tidak dapat diagregasi).

  • Atribut yang tidak terkait dipindahkan ke anggota All (berdasarkan ukuran).

Example

Kueri berikut menunjukkan bagaimana fungsi ValidMeasure dapat digunakan untuk menimpa perilaku properti IgnoreUnrelatedDimensions. Di kubus Adventure Works, grup pengukuran Sales Targets memiliki IgnoreUnrelatedDimensions yang diatur ke False; karena dimensi Tanggal bergabung dengan grup ukuran ini pada granularitas Kuartal Kalender, ini berarti ukuran Kuota Penjualan secara default akan mengembalikan null di bawah Kuartal Kalender (meskipun ada juga perhitungan dalam Skrip MDX yang mengalokasikan nilai hingga tingkat Bulan juga). Menggunakan fungsi ValidMeasure dalam ukuran terhitung dapat digunakan untuk membuat ukuran Kuota Penjualan berperilaku seolah-olah IgnoreUnrelatedDimensions diatur ke True dan memaksa Kuota Penjualan 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 ukuran Sales Targets sama sekali tidak memiliki hubungan dengan dimensi Promosi, sehingga di bawah All Member dari hierarki mana pun pada Promosi, 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]