我想通過兩個(多選)參數篩選查詢。如何:..WHERE STRTOSET(@ p1),STRTOSET(@ p2)
這樣做對第一個工作正常,但抱怨當我添加第二個。
我的語法錯了有沒有更好的方法來實現我想要的?
我想通過兩個(多選)參數篩選查詢。如何:..WHERE STRTOSET(@ p1),STRTOSET(@ p2)
這樣做對第一個工作正常,但抱怨當我添加第二個。
我的語法錯了有沒有更好的方法來實現我想要的?
MDX WHERE與SQL WHERE有很少共同之處。 MDX WHERE不會影響返回的行數,只是要從中檢索單元的哪個多維數據集切片。
我會使用FILTER函數,因爲一個MDX WHERE子句必須是一個元組(單元地址),不多不少,即
(Dim1.Member,Dim2.Member等)
希望這有助於。
試過子查詢?
SELECT
[Measures].[YourMeasure]
ON COLUMNS,
[Dimensions].[YourDimension]
ON ROWS
FROM
(SELECT STRTOSET(@p1) ON COLUMNS FROM
(SELECT STRTOSET(@p2) ON COLUMNS FROM
[YourCube]))
請注意,這是如何SSRS生成參數,因此請嘗試在圖形設計器中進行一些查詢,然後切換到MDX視圖。 – Meff 2010-06-09 08:33:05
但它適用於一個參數,因爲 – 2010-06-07 14:49:25
@adolf:對,但你把它當作經典的WHERE並試圖限制返回的內容。所以你需要FILTER來做到這一點。 – ajdams 2010-06-07 19:59:19
僅當有問題的項目已經出現在其中一個軸上時,是否僅需要FILTER?另外,如果使用FILTER,是否僅將它與要過濾的列一起使用,或者是否必須將該維中的所有列放在該列中,並將過濾器表達式顯示在感興趣的列上?我有3多選擇(在RS)參數,我最終要過濾 – 2010-06-09 04:38:20