sql - 嵌套行组上的 SSRS 边框

标签 sql reporting-services border ssrs-grouping

我正在创建一个 SSRS2012 报告。

我有一个带有静态列和嵌套行组的矩阵。我想根据父组在我的行上添加顶部和底部边框。矩阵如下所示:

[ProcessCell] | [Name]  | [Field]|

我的组是:ProcessCell1(父级)- 名称(子级)

我目前正在使用标准格式来获取[ProcessCell]的边框并且它可以工作。我正在使用一个表达式(在另一篇文章中找到)作为 [Name] 的边框,它可以工作,但是该表达式不适用于 [Field] 框。表达式如下:

=IIf(Fields!ProcessCell.Value = Previous(Fields!ProcessCell.Value, "Name") OR Not(Fields!ProcessCell.Value = First(Fields!ProcessCell.Value, "Name")), "Light Gray", "Black")

我尝试更改 previous 和first 的范围,但没有成功。

我收到的错误是“文本框“Field”的 BorderColor 表达式具有对聚合函数无效的范围参数”

最佳答案

我今天遇到了完全相同的问题(使用 Tablix,而不是矩阵,并且在 SSRS 2008 R2 中)。我无法让 Previous() 函数正常工作,也无法抛出与您所看到的相同的“文本框的 BorderStyle 表达式...”错误。

我所做的是将一个新字段添加到我的数据集中,该字段使用 ROW_NUMBER() 分析 SQL 函数对我的结果进行分类。我的报告中的相关字段是 UserName、ReportName 和 DatetimeRun(是的,这是关于报告使用情况的报告)。我希望在 UserName 和 ReportName 的每个唯一组合之间出现边框,因此我将此字段添加到我的数据集中:

ROW_NUMBER() over (partition by UserName,ReportName order by UserName,ReportName)
as RowNum

对于 UserName 和 ReportName 的每个唯一组合(Partition by 部分中的字段),从 1 开始并按顺序对返回的行进行编号。

回到我的 BorderStyle/Top 表达式,我没有使用 Previous(),而是使用了这个:

=iif(Fields!RowNum.Value = 1,"Solid","None")

仅在新的用户名/报告名称组合的开头显示边框。

希望这有帮助!

关于sql - 嵌套行组上的 SSRS 边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22201458/

相关文章:

php - 选择更好的结果匹配

java - SWT 按钮图像限制

SQL Server 2016 CTRP3.2 报表查看器缺少 JavaScript 方法

matlab - 当前 matlab 图上的紧边框

css - 边框将滚动条推到视口(viewport)之外

Sql 查询在不同的选项卡中返回不同的结果

c# - .NET 中的 SqlConnection——我怎样才能最好地利用连接池?

sql - 如何解决选择框中的 N + 1 问题?

sql-server-2008 - 配置 Reporting Services 2008 以使用多个报表生成器版本

pdf - 如何强制浏览器获取从 SSRS 报告生成的更新 PDF 文件?