2010-10-21 129 views
1

我是新來的SSRS和我產生中,我們有不同列不同的過濾器

我有了三個條件

利潤三列應用不同 條件銷售報告列條件是帳戶ID = 13和TYPEID = 23

在單位列中的條件是帳戶ID = 8和TYPEID = 14

在支付條件列是

=帳戶ID 78和TYPEID = 23

如何在三列應用過濾器或任何其他方式做到這一點

請幫我

回答

0

把一個IIF表達式在列。

0

條件是每次搜索,而不是每列。

你想要做的是怎麼說...

select AccountID, TypeID, Profit, Units, Disbursement 
from yourTable 
[join tables if necessary] 
where AccountID in (13, 8, 78) 
and TypeID in (23, 14, 23) 

這會給你一個結果集顯示了在標準的每個ACCOUNTID,並在每個typeid的ACCOUNTID,typeid的利潤,單位和支出標準。

希望這會有所幫助。

+0

,這除了OP所需的三個組合之外,還將返回3個其他組合值。 – 2010-10-22 10:00:47

0

類似吉奧,但只返回三套組合,你會想:

select AccountID, TypeID, Profit, Units, Disbursement 
from yourTable 
[join tables if necessary] 
where (AccountID = 13 and TypeID = 23) or 
     (AccountID = 8 and TypeID = 14) or 
     (AccountID = 78 and TypeID = 23) 
0

我看到兩種可能的方法來解決你的問題。

更改數據集的查詢以僅返回所需的結果。

或使用「表達式」

表達式是非常有用的SSRS,

http://technet.microsoft.com/en-us/library/ms157328.aspx

有共同的表達和示例清單一看那裏。

要啓用一個表達式單擊要更改(我假定你有一個DataGrid,以顯示結果)和屬性中的單元格,下值,你會看到「表達」

開幕,這將帶來建立表達式構建器,在其中構建表達式。

添加過濾器,以便IIF領域!AccountID.Value = X。

您可以進一步添加一個用戶參數,以便報告的用戶指定過濾。

你決定來解決我建議你在表達閱讀了這個問題(表達式或數據集SQL)

無論哪種方式,大部分SSRS的報告,它代表將使用它們至少在一個地方:)