ssrs报告:面对Master详细报告的问题

时间:2014-02-21 21:13:22

标签: pdf reporting-services ssrs-2008 ssrs-tablix ssrs-grouping

我需要生成以下格式的报告。标题仅在每页重复。

ItemNr | ItemGenDesc | FulfilmentBin | onHand 
-----------------------------------------------
CAP100   Capacitor     FulFil1              5

     binPriority | binBackup | binBackupQty | binMin | binMax
     -----------------------------------------------------------------
               1   bkBUSLOT2            100        1        5
               2   bkBUSLOT3            150        2        6

CAP400   Transistor    FulFil12             20
CAP500   Transistor    FulFil14             30

     binPriority | binBackup | binBackupQty | binMin | binMax
     -----------------------------------------------------------------
               1   bkBUSLOT5            250        5        9

我的SQL输出如下

enter image description here

我尝试使用2 tablix,不知怎的,我得到了预览模式的输出,但是当我导出为PDF时,我在每个项目之间得到空行。我猜这是因为当itemnr计数< = 1时,binPriority网格(细节网格)被隐藏。此外,每个分组都会显示tablix1行标题,但我希望每页显示一次行标题。

有人可以建议生成此类报告的方法是什么?

感谢。

更新1:抱歉,报告中的CAP500应该是散热器。我的错误错误。报告应按ItemNumber分组,并按binPriority排序。因此,它将在主网格中打印binpriority = 0,然后在详细网格中,它将按binPriority的顺序打印。主网格中显示的OnHand与binPriority = 0相关。

1 个答案:

答案 0 :(得分:2)

您可以使用单个Tablix实现指定的布局。如果您不介意组标题中的第2-4列与详细信息中的第1-3列对齐,则这非常简单。由于水平页面空间不是真正的问题(只有6列计算详细列左侧的空白列),我会采用这种方式。

我不确定你对SSRS有多了解,所以请原谅我,如果这个解释太简陋了。其他经验不足的人可能会发现它也很有帮助。

  1. 右键单击Tablix上的Detail Row。
  2. 选择添加组=>行组=>家长小组。
  3. 将Group By值设置为ItemNumber,然后选中“Add Group Header”框。
  4. 这将创建一个按列分组,我将删除您指定的布局。确保只删除列,而不是删除行组。
  5. 在分组窗口中(默认情况下在底部),右键单击ItemNumber行组并选择组属性。
  6. 在“排序”选项卡/菜单上,将“排序依据”值设置为“binPriority”。
  7. 右键单击Tablix上的新行组行,然后选择Insert Row =>上面的组内。您需要执行此操作两次,以便在行组中有3行标题。
  8. 在Tablix中再插入3列,总共6列。
  9. 将您的ItemNr,ItemGenDesc,FulfilmentBin,onHand标签和值放在行组的前两行,前4列中。
  10. 将您的binPriority,binBackup,binBackupQty,binMin,binMax标签放入行组的最后一行,最后5列。
  11. 将您的binPriority,binBackup,binBackupQty,binMin,binMax值放入详细信息行的最后5列。