代码之家  ›  专栏  ›  技术社区  ›  Shaiju T

SSRS只在每个新页面的第一行显示文本框值

  •  1
  • Shaiju T  · 技术社区  · 7 年前

    SSRS

    我希望代码在每一行都可用。仅在每页的第一行显示区域名称。

    第1页:

    ╔═════════════╤════════╤════════╗
    ║ Area & Code │ Street │ Orders ║
    ╠═════════════╪════════╪════════╣
    ║ 12 - US     │ AZ     │ 2      ║
    ╟─────────────┼────────┼────────╢
    ║ 13          │ AQ     │ 1      ║
    ╟─────────────┼────────┼────────╢
    ║ 14          │ AW     │ 5      ║
    ╟─────────────┼────────┼────────╢
    ║ 17          │ AE     │ 6      ║
    ╚═════════════╧════════╧════════╝
    

    第2页:

    ╔═════════════╤════════╤════════╗
    ║ Area & Code │ Street │ Orders ║
    ╠═════════════╪════════╪════════╣  // As you can see here US is missing.                                          
    ║ 18          │ AG     │ 10     ║  // I want US to appear here like 18 - US
    ╟─────────────┼────────┼────────╢
    ║ 19          │ BQ     │ 13     ║
    ╟─────────────┼────────┼────────╢
    ║ 21          │ CW     │ 53     ║
    ╟─────────────┼────────┼────────╢
    ║ 22          │ DE     │ 72     ║
    ╚═════════════╧════════╧════════╝
    

    第3页:

    ╔═════════════╤════════╤════════╗
    ║ Area & Code │ Street │ Orders ║
    ╠═════════════╪════════╪════════╣
    ║ 18 - AU     │ AG     │ 10     ║
    ╟─────────────┼────────┼────────╢
    ║ 19          │ BQ     │ 13     ║
    ╟─────────────┼────────┼────────╢
    ║ 21          │ CW     │ 53     ║
    ╟─────────────┼────────┼────────╢
    ║ 22          │ DE     │ 72     ║
    ╚═════════════╧════════╧════════╝
    

    ╔═════════════╤════════╤════════╗
    ║ Area & Code │ Street │ Orders ║
    ╠═════════════╪════════╪════════╣
    ║ 23 - US     │ AG     │ 10     ║
    ╟─────────────┼────────┼────────╢
    ║ 24          │ BQ     │ 13     ║
    ╟─────────────┼────────┼────────╢
    ║ 25          │ CW     │ 53     ║
    ╟─────────────┼────────┼────────╢
    ║ 26          │ DE     │ 72     ║
    ╚═════════════╧════════╧════════╝
    

    下面的表达式位于区域&对文本框进行编码,但它仅在页的开头显示新区域。

    =Fields!AreaCode.Value + IIF(Previous(Fields!AreaName.Value)=Fields!AreaName.Value,"",
    
     IIF(Fields!AreaName.Value="","", "- "+ Fields!AreaName.Value))
    

    如何解决这个问题,有没有办法确定当前页面是否和下面写的表达式?

    =Fields!AreaCode.Value + if current page is new page then show the Area Name in first row 
    of page else hide it ?
    

    1 回复  |  直到 7 年前
        1
  •  0
  •   NickNick    7 年前

    早上好,

    一个解决方案可能是在数据集中创建一个新列来使用一个主“mainGroup”。表达式应该是 =Ceiling(RowNumber(Nothing)/4) (如果希望每页4行,则为数字4)

    然后,在单元格中,使用如下表达式:

    =IIF(RowNumber("mainGroup")=1, Fields!AreaCode.Value + "- "+ Fields!AreaName.Value, Fields!AreaName.Value)

    最后,用“mainGroup”来分页符。

    我不想试,但应该有用。

    推荐文章