2014-03-05 59 views
1

我正在創建一個SSRS2012報告。嵌套行組上的SSRS邊框

我有一個包含靜態列和嵌套行組的矩陣。我想根據父組在我的行上添加頂部和底部邊框。矩陣如下所示:

[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’邊框顏色表達具有無效的聚合函數的作用域參數」

回答

1

我今天有完全相同的問題(以及有Tablix,不是矩陣,在SSRS 2008 R2中)。我無法讓Previous()函數正常工作,並且不會拋出您所看到的相同的「文本框的BorderStyle表達式...」錯誤。

我做的是將一個新字段添加到我的數據集中,該字段使用ROW_NUMBER()分析SQL函數對結果進行分類。我的報告中的相關字段是UserName,ReportName和DatetimeRun(是的,這是報告使用情況的報告)。我想邊界用戶名和REPORTNAME的每個唯一組合之間出現,所以我加入這個領域我的數據集:

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

其用戶名和REPORTNAME(在Partition by部分字段)的每一個獨特的組合,開始於1並依次編號返回的行。

回到我的邊框/頂的表達,而不是使用Previous()我用這個:

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

僅在一個新的用戶名/ REPORTNAME組合開始顯示邊框。

希望這會有所幫助!