【问题标题】:Joining two datasets to create a single tablix in report builder 3连接两个数据集以在报表生成器 3 中创建单个 Tablix
【发布时间】:2013-11-05 16:21:21
【问题描述】:

我正在尝试将两个数据集加入到一个 tablix 中以生成报告。第二个数据集需要第一个数据集中的 personID 作为其参数。

如果我预览此报告,则仅显示第一个数据集。但是对于我的最终结果,我希望对每个学生的每一行都有一个行分组(?)该学生的模块以及他们每月的出勤率。这可以在报表生成器中完成吗?

【问题讨论】:

    标签: ssrs-2008 reportbuilder3.0


    【解决方案1】:

    这里的最佳做法是在一个数据集中进行连接(即在 SQL 中连接)


    但如果您需要来自两个独立多维数据集 (SSAS) 的数据,唯一的方法是:

    1. 选择 Tablix 的主数据集
    2. 使用lookup function 从第二个数据集中查找值,如下所示:

      =Lookup(Fields!ProductID.Value, Fields!ID.Value, Fields!Name.Value, "Product")
      

      注意:第二个数据集的粒度必须与第一个相匹配。

    【讨论】:

    • 我可以对查找结果进行分组吗?我没有在 sql 中这样做,因为我只能看到它是使用动态 SQL 实现的。
    • 查找函数选择一个符合条件的记录。要检索存在一对多关系的单个名称或键字段的多个值,请使用 LookupSet 函数technet.microsoft.com/en-us/library/ee240819.aspx
    • 我已将此标记为正确答案。我实际上为我的特定报告所做的是在矩阵 Tablix 上使用各种行分组和列分组。这使我可以将我的两个数据集组合到一个带有重复行的查询中,但将非唯一的分组作为行分组,并将唯一的分组作为列标题。
    • 您的帖子中没有精确性,您应该准确说明您需要将这个公式放在哪里以及它应该如何工作......如果数据集没有相同的粒度,如果您可以放置​​解决方案
    【解决方案2】:

    我们遇到了类似的问题,可以通过这种方式解决。 首先,在Datastudio等Database客户端工具上分别执行,确保第一个数据集的查询和第二个数据集的查询工作正常。

    使用各自的查询在 SSRS 工具上构建两个数据集,并确保两个数据集具有相同的键列 (personID)。

    在 SSRS 报表设计中,从工具箱创建一个表,并从第一个数据集中添加所需的列以及匹配的关键列 (personID)。添加一个新列并使用查找功能从其他数据集中针对同一键列 (personID) 获取所需的列。

    【讨论】:

      猜你喜欢
      • 2016-07-09
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 2014-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      相关资源
      最近更新 更多