ValidMeasure (MDX)
在傳回指定 Tuple 的結果時,藉由強迫不適用的維度至其 All 層級 (如果不可彙總則是預設成員),而傳回 Cube 中的量值。
語法
ValidMeasure(Tuple_Expression)
引數
- Tuple_Expression
傳回 Tuple 的有效多維度運算式 (MDX) 運算式。
備註
ValidMeasure 函數會傳回 Tuple 的值,並忽略與量值 (Tuple 傳回其值) 的量值群組沒有關聯性的屬性。 基於兩個原因,屬性可以與量值無關:
屬性的維度與 Tuple 中量值的量值群組沒有關聯性。
屬性的維度與量值的量值群組沒有關聯性,但是資料粒度屬性不是索引鍵屬性,而且資料粒度屬性與 Tuple 中之屬性沒有直接關聯性。
此函數指定的行為是預設的伺服器端行為,並且受到量值群組物件上的 IgnoreUnrelatedDimensions 屬性所控制。
對於指定之 Tuple 中每個具資料粒度的屬性 (也就是說,Tuple 中的成員不是 All 成員時),這類屬性的目前座標會移動如下:
指定屬性成員的相關屬性會移至與目前成員同時存在的成員。
指定屬性成員的相關屬性會移至與 All 成員 (如果是不可彙總的階層則是預設成員)。
不相關的屬性會移至 All 成員 (根據量值)。
範例
下列查詢示範 ValidMeasure 函數如何用來覆寫 IgnoreUnrelatedDimensions 屬性的行為。 在 Adventure Works Cube 中,銷售目標量值群組將 IgnoreUnrelatedDimensions 設為 False,因為日期維度於日曆季資料粒度聯結至此量值群組,這表示銷售配額量值預設會在日曆季下方傳回 Null (儘管 MDX 指令碼中也有計算會將值向下配置到月份層級)。 在導出量值中使用 ValidMeasure 函數,可以讓銷售配額量值的行為就如同 IgnoreUnrelatedDimensions 設為 True,並且強制銷售配額顯示目前日曆季的值。
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]
同樣地,銷售目標量值群組與促銷維度完全沒有關聯性,因此它會在促銷維度上任何階層的 All 成員下方傳回 Null。 您也可以使用 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]