避免SSRS 2008-r2中的复杂连接

时间:2013-04-17 16:06:40

标签: sql-server reporting-services reportbuilder3.0 ssrs-2008-r2

我有一份报告,我需要创建一个有严重性能问题的报告。 我需要在我们的数据库中创建所有课程的目录。 这是简化的数据模型:

组织单位 - >包含多个课程 - >其中包含多项活动; 每项活动都包含以下内容:

  • 附加链接列表
  • 先决条件活动列表
  • 其他属性 - 值对的列表(编目信息)
  • 每种资源类型所需资源类型和数量的列表
  • 培训目标列表

我希望创建一个报告,将所有内容分组,看起来像这样:enter image description here

在创建了将所有表连接在一起的简单查询之后,由于加入活动表而出现的不同笛卡尔产品以及用于获取附加链接资源等的所有1-many关系表,因此我获得了近600万行...

我想在几个方面避免这种情况:

  1. 子报告将列出foreach活动的不同项目列表。
  2. 创建一个XML字段foreach上述列表,并在我的报告中使用VB解析它
  3. 在报告中使用多个数据集,并以某种方式使用查找函数列出不同的值。
  4. 到目前为止的结果:

      事实证明,
    1. 子报告在性能方面效率非常低,与原始的600万行查询相比花费了50%以上。
    2. xml字段在数据库方面非常有效但是使用VB格式化数据会很麻烦我非常希望尽可能避免这种情况,
    3. 我似乎无法找到使用lookupSet获取附件名称的列表及其旁边的链接的正确途径。
    4. 所以我的问题是:

      1. 在处理大量数据和SSRS 2008-r2时,显示需要显示大量1-many关系的实体时,最佳做法是什么。
      2. 有没有办法使用查找功能连接数据,并以某种方式创建“嵌套表”,列出1-many relationship
      3. 非常感谢任何其他建议。

1 个答案:

答案 0 :(得分:0)

您可以创建向下钻取报告吗?这似乎是一个很好的选择,可以列出活动,并对课程进行汇总,然后将细节分开或类似地进行钻研。

或者,如果数据更改不重要,您可以缓存报告吗?

对于ssrs报告来说,600万条记录很多!