如何使用DataSet值填充SSRS TextBox?

时间:2013-10-03 13:38:27

标签: reporting-services

亲爱的社区成员,

给定特定的密钥(例如“user_name”),如何使用相应的TextBox 填充SSRS DataSet(例如“John Doe”)?

非常感谢您提供的任何见解!

CONTEXT

  • SQL Server = 2008 R2
  • IDE = Visual Studio 2012
  • ReportData DataSet包含用于填充报告正文中Tablix的数据
  • HeaderData DataSet包含用于填充报告标题中的两个TextBox元素的数据
    • DataSet包含两列:

约束

  • 针对此特定问题,我无法简单地将 HeaderData DataSet绑定到报告标题中的Tablix ...我必须填充TextBox个元素
  • 如果报告包含多个DataSets,并且您在表达式中引用了Fields集合...您将收到“文本框用户的值表达式,不带范围的聚合表达式”错误

示例数据

HeaderData

Key =“camera_name”,Value =“Panomera - Terminal 1”

Key =“user_name”,Value =“John Doe”

1 个答案:

答案 0 :(得分:14)

使用名为HeaderData的数据集,如:

enter image description here

我在报告标题中有几个文本框:

enter image description here

上面的表达式是:

=Max(IIf(Fields!Key.Value = "user_name"
  , Fields!Value.Value, Nothing)
  , "HeaderData")

这个工作正常:

enter image description here

这是有效的,因为它使用IIf表达式将除Key = user_name 之外的任何值都清空,然后取{non}的Max Value值。

由于你在Tablix之外引用数据集,你需要一个Scope和一个聚合 - 我正在使用Max来忽略NULL值,这与First之类的东西不会有关。根据你的描述判断,那里应该只有一个非NULL值,所以应该没问题。