2015-01-26 62 views
1

所以我專門搜索了這個,但無法找到任何地方的例子或答案。SSRS表達式如何比較兩個不同數據集的值?

我試圖比較一個數據集的值與另一個數據集的值,但它不工作。

這裏是我的表達:

=IIF((Fields!IC_ADV.Value + Fields!OC_ADV.Value) > 0, Max(Fields!AMOUNT.Value, "Data_bucket_info") > 15, nothing)

我得到的是 「真」。如果我刪除'> 15',那麼我得到一個值,但它不是正確的值。我嘗試用第一,最小,總和替換Max;沒有'> 15'我再次得到一個值,但不是正確的,而'15'我得到「真」或「假」。

如果我有Max,我期望所有金額> 15的AMOUNT的最大值;如果我有民,我期待得到了AMOUNT的最小值爲所有量> 15

因此,例如:

量增量爲5;所以5,10,15,20,25 ....等等。如果(Fields!IC_ADV.Value + Fields!OC_ADV.Value)= 24那麼我想要的是AMOUNT顯示25.如果(Fields!IC_ADV.Value + Fields!OC_ADV.Value)= 3那麼我想要AMOUNT以顯示5.

我在SSRS中收到的警告是'Texttrun的值表達式'Textbox12.Paragraphs [0] .TextRuns [0]'對非數字數據使用數值聚合函數。數字聚合函數(Sum,Avg,StDev,Var,StDevP和VarP)只能聚合數字數據。'

但AMOUNT字段是一個數字值。

+0

,您在創建計算字段?? – Manoj 2015-01-27 05:29:13

回答

0

從描述中可以看出你試圖達到的目標並不是很清楚。但對於我所理解的,您希望將IC_ADVOC_ADV的總和與某個值相匹配,並取決於您希望獲得的值。對於您可以設置表達式如下,

=IIF((Fields!IC_ADV.Value + Fields!OC_ADV.Value) = 24,Max(Fields!AMOUNT.Value, "Data_bucket_info"),IIF((Fields!IC_ADV.Value + Fields!OC_ADV.Value) = 3,Min(Fields!AMOUNT.Value, "Data_bucket_info"),Nothing) 

但是,如果你想匹配一個數據集基於一些共同領域的又一數據集值的匹配值,那麼你應該看看的LookUpHere is more info

0

在這種情況下,我認爲最好用數學方法來製作它。嘗試以下表達式:

=(!(字段IC_ADV.Value +字段OC_ADV.Value)\ 5 + 1)* 5