2011-11-04 67 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