14

尊敬的社区成员,

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

您能提供的任何见解将不胜感激!

语境

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

约束

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

样本数据

标头数据

Key="camera_name", Value="Panomera - 1 号航站楼"

键=“用户名”,值=“约翰·多伊”

4

1 回答 1

15

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

在此处输入图像描述

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

在此处输入图像描述

上面的表达式是:

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

这工作正常:

在此处输入图像描述

这是有效的,因为它使用IIf表达式将除 when Key= user_name之外的任何值 NULL ,然后取Max非 NULLValue值。

由于您在 tablix 之外引用数据集,因此您需要一个 Scope 和一个聚合 - 我Max用来忽略 NULL 值,而 First 不会这样做。从您的描述来看,那里应该只有一个非 NULL 值,所以应该没问题。

于 2013-10-03T14:02:14.550 回答