【问题标题】:How can I reference a different data set in a data region in SSRS?如何在 SSRS 的数据区域中引用不同的数据集?
【发布时间】:2018-09-13 20:32:13
【问题描述】:

我有 3 个数据集,我想在 1 个报告中显示,另外还有一个控制一些分组。这 3 个数据集来自相同的来源,只是不同的 WHERE 子句和不同的字段。

我已经尝试过子报表,但似乎我只能添加子报表,如果它们已上传到服务器(?)或者我在 VS 中构建它们并且是解决方案的一部分。当我尝试在报表生成器中浏览到子报表时,对话框会询问我Look In: Recent Sites and Servers,但没有列出任何内容。

我尝试向组添加页脚并插入新表并将新表与不同的数据集相关联,但它会恢复为包含 tablix 的数据集。

我的数据示例:

Groupings
company|division|division_id
    a  |  div-a |  1
    a  |  div-b |  2

 Current Items
 item | division  
  ia  |   div-a
  ib  |   div-a
  ic  |   div-b

 New Items
 item  | division
  nia  | div-b
  nib  | div-b

 Ended by Discontinuation Reason
 reason |  division
  bad   |   div-a
  lame  |   div-b
  bad   |   div-a

谁能阐明如何将稍微不连贯的数据放入同一份报告中?谢谢。

【问题讨论】:

    标签: ssrs-2012 reportbuilder3.0


    【解决方案1】:

    理想情况下,最好有一个数据集。您应该使用 INNER JOIN 并且只有一个查询/数据集,而不是使用不同的查询,每个查询都有不同的 WHERE 子句。

    例如,而不是具有以下内容:

     SELECT 
      Field1
     ,Field2
     FROM Table1
     WHERE Field1 > 5
    
     SELECT 
      Field1
     ,Field2
     FROM Table1
     WHERE Field1 < 5
    
     SELECT 
      Field1
     ,Field2
     FROM Table1
     WHERE Field1 = 5
    

    你应该这样做:

     SELECT 
      G5.Field1
     ,G5.Field2
     ,L5.Field1
     ,L5.Field2
     ,E5.Field1
     ,E5.Field2
    
     FROM Table1
     INNER JOIN G5 
     ON G5.Field1 > 5   
     INNER JOIN L5 
     ON L5.Field1 < 5 
     INNER JOIN E5 
     ON E5.Field1 = 5 
    

    这样你只有一个数据集。您可以在 SSRS 表中随意使用不同的字段,因为每个字段都基于特定的条件。

    【讨论】:

    • 我认为如果数据都具有相同的结构和大小就可以了,但在我的情况下 DS1 和 DS2 具有相同的结构,但 DS3 不同。
    • 如果它们都来自同一个来源,只是具有不同的 WHERE 字段(如您的问题所示),那绝对是可能的。我认为弄清楚这一点,或者提出一个包含更多细节的单独问题将是一个不错的举措。
    • 但是,您绝对可以在单个 SSRS 报告中拥有连接到特定数据集的不同表。您是否正在尝试创建一个表,其中的字段来自不同的数据集?如果是这种情况 - SSRS 中有一个 vlookup 类型的函数,您可以使用它作为一种解决方法,将不同的 SSRS 表相互连接。
    • 这是一个查找函数,允许您连接两个不同的 SSRS 表,每个表使用不同的数据集。 stackoverflow.com/questions/17318939/…
    猜你喜欢
    • 2023-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-06
    相关资源
    最近更新 更多