2010-06-07 35 views

回答

1

MDX WHERE與SQL WHERE有很少共同之處。 MDX WHERE不會影響返回的行數,只是要從中檢索單元的哪個多維數據集切片。

我會使用FILTER函數,因爲一個MDX WHERE子句必須是一個元組(單元地址),不多不少,即

(Dim1.Member,Dim2.Member等)

希望這有助於。

+0

但它適用於一個參數,因爲 – 2010-06-07 14:49:25

+0

@adolf:對,但你把它當作經典的WHERE並試圖限制返回的內容。所以你需要FILTER來做到這一點。 – ajdams 2010-06-07 19:59:19

+0

僅當有問題的項目已經出現在其中一個軸上時,是否僅需要FILTER?另外,如果使用FILTER,是否僅將它與要過濾的列一起使用,或者是否必須將該維中的所有列放在該列中,並將過濾器表達式顯示在感興趣的列上?我有3多選擇(在RS)參數,我最終要過濾 – 2010-06-09 04:38:20

0

試過子查詢?

SELECT 
    [Measures].[YourMeasure] 
ON COLUMNS, 
    [Dimensions].[YourDimension] 
ON ROWS 
FROM 

(SELECT STRTOSET(@p1) ON COLUMNS FROM 
(SELECT STRTOSET(@p2) ON COLUMNS FROM 

[YourCube])) 
+0

請注意,這是如何SSRS生成參數,因此請嘗試在圖形設計器中進行一些查詢,然後切換到MDX視圖。 – Meff 2010-06-09 08:33:05

相關問題