2012-09-10 134 views
0

我真正需要幫助的基礎上一定範圍(在SSRS expression)求和值。 我有拉賬戶和貨幣價值的數據集。SUM基於布爾範圍

SELECT acct, location, amt FROM Table 

我需要幫助創建了一個expressiontablix我想總結AMT值的賬戶躺在範圍內例如,我有帳戶從40000 to 99999所以我想這樣做,爲的表達式:

=IIF(Fields!acct.Value >= 40000 and Fields!acct.Value <= 50000, SUM(Fields!amt.Value), "0.00") 

上述表達式的問題是它返回了錯誤的總和。我相信當acct落在該範圍之間時,它將數據集中所有可用的amt值相加。我需要它僅彙總範圍之間的amt值。我不能簡單地使其應用範圍小,因爲最終我試圖做的表達中的其他範圍,類似於更多的計算...

=(IIF(Fields!acct.Value >= 40000 and Fields!acct.Value <= 50000, SUM(Fields!amt.Value), "0.00")) 
- (IIF(Fields!acct.Value >= 55000 and Fields!acct.Value <= 99999, SUM(Fields!amt.Value), "0.00")) 

我不知道到哪裏看問題句式有了這個。我在SUM中拋出一個布爾值嗎?真的卡在這...

回答

0
=SUM(IIF(Fields!acct.Value >= "40000" and Fields!acct.Value <= "50000", Fields!amt.Value, 0)) 
+0

msmucker,試過了。我收到以下錯誤: textrun'Textbox167.Paragraphs [0] .TextRuns [0]'的值表達式對非數字數據使用數值聚合函數。數值聚合函數(Sum,Avg,StDev,Var,StDevP和VarP)只能聚合數值數據。 我試着把所有的東西都放在CInt()之前,把0改爲NOTHING,使用FormatCurrency()等。所有的值都是數字。我真的很困惑... – dp3

+0

我試過以下代碼: = SUM(IIF(Fields!acct.Value> = CInt(90200)和Fields!acct.Value <= CInt(90299),(CInt !amt.Value)),NOTHING)) – dp3

+0

acct的數據類型是nvarchar,amt是十進制的。 – dp3