2011-11-04 30 views
7

我的數據集目前有12行數據。每個代表一個月的數據。我希望在行與行之間有一個列的差異,這些行最後一個是最後一個月份和上個月的數據。
如果我在tablix上工作,可能很簡單,但事實並非如此。我想要一個文本框的值。SSRS:從DataSet的特定行中獲取值?

對此有任何想法嗎?

回答

13

我希望你正在使用SSRS 2008 R2:

R2推出了Lookup function,是適合這種情況。

=Lookup(Fields!ProductUID.Value ,Fields!ProductID.Value,Fields!Price.Value,"PriceDataSet") 

查找函數以上將在當前的數據集評估第一參數(「字段!ProductUID.Value」),然後尋找在第二參數(「字段!的ProductID指定的字段的匹配值。值「)在第四個參數中指定的數據集中。然後在數據集的該行中評估第三個參數的值並返回。

有點複雜,但非常有幫助。

在你的情況,你可以在一個文本框與計算的靜態數使用此:

=Lookup(
    Month(DateAdd(DateInterval.Month, -1, GetDate())), 
    Fields!MonthID.Value, 
    Fields!Name.Value, 
    "DataSet1") 

這應該算一個數上個月,然後尋找在數據集1匹配。

+1

如何將查詢值設定爲組?那可能嗎? – PositiveGuy

+0

SSRS的早期版本如何?你將如何實現相同的功能?自定義代碼? – Alex