在SSRS报告中显示数据集查询和报告表达式

时间:2014-07-01 16:12:34

标签: reporting-services crystal-reports-2010

我正在从Crystal Reports切换到SSRS报告。在Crystal Reports中,有一种方法可以在每个报告的末尾显示“选择标准”。这显示了开发人员对报表数据所做的所有数据操作。 示例:(这将显示在Crystal中每个报告的末尾)

选择标准:     usp.Members.MemberID <>2 and usp.Members.Active = "Y" and if(usp.Members.Location = "M1" then "Admission Location" else " ")

在SSRS中,我可以在很多地方操纵数据; “数据集属性”,“文本框/字段表达式”和“过滤器”中的“查询构建器”。

是否有任何我可以显示我所做的所有报表表达式,或者在报表末尾显示用于生成数据集的查询,以向用户显示数据背后的逻辑?

我明白我的要求可能很难理解。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:6)

您可以使用如下表达式查看数据集查询:

=DataSets!DataSet1.CommandText

其中DataSet1是数据集的名称。

举个例子,假设我有一个包含查询的报告:

enter image description here

我有一个基于此的简单报告:

enter image description here

您可以看到文本框表达式与上面相同:

enter image description here

表达式显示错误,但无论如何都可以:

enter image description here

有关详细信息,请参阅What DataSet Query Text Is Executed

不确定从报告中提取所有表达式,但希望这就足够了。

在评论后修改

OP提到它只是在报告标题中为他工作,但在我的例子中,这是在身体中工作。

Using Built-in Collections in Expressions来看,似乎还有一些进一步的限制:

  

表示从a的主体引用的数据集的集合   报告定义。不包括仅在页面中使用的数据源   页眉或页脚。不适用于本地预览。

这解释了为什么它对我有用 - 它也被用在一张桌子里。

作为一个简单的解决方法,您只需在报表正文的某处添加隐藏文本框即可引用所需的数据集;这应该允许.CommandText在身体中工作。