SSRS:从DataSet的特定行获取值?

时间:2011-11-04 03:48:09

标签: reporting-services

我的数据集目前有12行数据。每个代表一个月的数据。我想在行之间有一个列的变化,行是最后一个&最后一个,即最近一个月和上个月的数据 如果我在Tablix上工作可能很简单,但事实并非如此。我希望这些值为文本框。

任何关于它的想法?

2 个答案:

答案 0 :(得分:18)

我希望您使用的是SSRS 2008R2:

R2引入了适用于此场景的Lookup function

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

上面的Lookup函数将评估当前数据集中的第一个参数(“Fields!ProductUID.Value”),然后在第二个参数(“Fields!ProductID.Value”)中指定的字段中查找匹配值。第四个参数中指定的数据集。然后在数据集的该行中计算第三个参数的值并返回。

有点费解,但很有帮助。

在您的情况下,您可以在具有计算静态编号的文本框中使用它:

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

这应该计算上个月的数字,然后在DataSet1中查找匹配。

答案 1 :(得分:0)

在此示例中,我有一个带有状态码和名称的Tablix,如下所示 enter image description here

假设您要显示CA的状态名称,请将表达式写为-

=Lookup(
   "CA" ,
   Fields!StateCode.Value,
   Fields!StateName.Value,
   "ReportData"
)

这将在文本框中返回“加利福尼亚”