【问题标题】:SSRS Border on Nested Row Group嵌套行组上的 SSRS 边界
【发布时间】:2014-03-05 15:03:47
【问题描述】:

我正在创建一份SSRS2012报告。

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

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

我的群组是:ProcessCell1 (parent) - Name (child)

我目前正在使用标准格式来获取[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")

我尝试过更改以前和第一次的范围,但没有成功。

我得到的错误是“文本框'Field'的边框颜色表达式的范围参数对聚合函数无效”

【问题讨论】:

    标签: sql reporting-services border ssrs-grouping


    【解决方案1】:

    我今天遇到了完全相同的问题(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")
    

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

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2019-08-12
      • 2016-06-29
      • 2016-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多