2011-06-16 77 views
0

我有一點點MDX-Query問題。SSRS MDX哪裏條款問題

我想顯示所有的索賠成本,分爲類型和某種DocumentType。

這裏是我的代碼:

select 
    { 
     [Measures].[Claim Count], 
     [Measures].[Claim Cost Position Count], 
     [Measures].[Claim Cost Original], 
     [Measures].[Claim Cost Original Average], 
     [Measures].[Claim Cost Possible Savings], 
     [Measures].[Claim Cost Possible Savings Average], 
     [Measures].[Claim Cost Possible Savings Percentage] 
    } on 0, 
    NON EMPTY{ 
     [Claim Cost Type].[Claim Cost Type].[Claim Cost Type].Members 
    } on 1 
    from 
     Cube  
where 
    (
     ({StrToMember(@DateFrom) : StrToMember(@DateTo) }) 
     ,[Claim Document Type].[Document Type].&[1] 
    ) 

我有四個文檔類型:1 - 4

我想展示的三個第一Documenttypes只有數據。

我嘗試以下WHERE子句:

where 
(
    ({StrToMember(@DateFrom) : StrToMember(@DateTo) }) 
    ,({[Claim Document Type].[Document Type].&[1] : [Claim Document Type].[Document Type].&[3]}) 
) 

但它顯示我只的數據中,DocumentType 1和3,而不是1到3

任何人可以幫助我嗎?

非常感謝您對我的英語不好!

亞歷

回答

0

也許[文件類型]屬性的OrderBy屬性不等於「鑰匙」?在這種情況下,有必要使用

{[Claim Document Type].[Document Type].&[1], 
[Claim Document Type].[Document Type].&[2], 
[Claim Document Type].[Document Type].&[3]} 
+0

謝謝!這樣可行! :) – Alexo 2011-06-16 12:05:13

0

在下面的條件

where 
(({StrToMember(@DateFrom) : StrToMember(@DateTo) }),({[Claim Document Type].[Document Type].&[1] : [Claim Document Type].[Document Type].&[3]})) 

甚至下列表達式應該工作,因爲這是一個範圍操作符。

({[Claim Document Type].[Document Type].&[1] : [Claim Document Type].[Document Type].&3]}) 

你需要檢查當您瀏覽多維數據集這一維度和屬性[Claim Document Type].[Document Type]並維鍵順序看起來像

[Claim Document Type].[Document Type].&[1] 
[Claim Document Type].[Document Type].&[2] 
[Claim Document Type].[Document Type].&[3] 

[Claim Document Type].[Document Type].&[1] 
[Claim Document Type].[Document Type].&[3] 
[Claim Document Type].[Document Type].&[2] 

如果你看到1階是什麼, 3,如果你輸入1:3,你不會得到2.所以看看順序,然後修改你的範圍表達式。

早期的解決方案也可以工作,但如果有很多成員,那麼將所有這些成員納入集合是不切實際的。