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

ale*_*raa 5 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中,我能够在很多地方操纵数据; "数据集属性","文本框/字段表达式"和"过滤器"中的"查询构建器".

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

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

Ian*_*ton 6

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

=DataSets!DataSet1.CommandText
Run Code Online (Sandbox Code Playgroud)

DataSet1数据集的名称在哪里.

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

在此输入图像描述

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

在此输入图像描述

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

在此输入图像描述

该表达式显示错误,但无论如何这仍然有效:

在此输入图像描述

有关更多信息,请参阅执行哪些DataSet查询文本.

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

评论后编辑

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

使用表达式中的内置集合看来,这里有一些进一步的限制:

表示从报表定义的主体引用的数据集的集合.不包括仅在页眉或页脚中使用的数据源.在本地预览中不可用.

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

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