SSRS:将 tablix 与多个数据集结合使用

问题描述 投票:0回答:2

我有两个数据集:

我的第一个数据集(学生)如下所示:

Student_Name| ID
Jack Luis   | 1
Adam Bob    | 2

我的第二个数据集(考试)如下所示:

Student_ID  | Exam               | Note
1           | Java               | 15
1           | Php                | 14
2           | Java               | 12
2           | Php                | 13

我想在同一个 Tablix 中得到这个:

学生姓名|身份证号
杰克·路易斯 | 1
亚当·鲍勃 | 2


Student_ID | Student Name | Exam   | Note
1          |Jack Luis     | Java   | 15
1          |Jack Luis     | Php    | 14
2          |Adam Bob      | Java   | 12
2          |Adam Bob      | Php    | 13
sql-server-2008 reporting-services ssrs-2008 ssrs-tablix
2个回答
0
投票

谢谢您alejandro zuleta先生

但我希望在同一个 Tablix 中得到这样的结果(使用按名称分组)

Studant Name:Jack Luis

Exam   | Note
Java   | 15
Php    | 14


Studant Name:Adam Bob

Exam   | Note
Java   | 12
Php    | 13

0
投票

我认为这可以使用

LOOKUP
函数来解决。
LOOKUP
函数使用所涉及数据集中的公共字段连接多个数据集。

创建 Tablix 并将

DataSetName
属性设置为第二个数据集。

将字段拖放到要显示的列。对于学生姓名列,请使用以下表达式:

=Lookup(Fields!Student_id.Value,Fields!Student_id.Value,Fields!StudentName.Value,"DataSet21")

在上面的表达式中将

DataSet21
替换为您的实际姓名 第一个数据集。

它将预览类似这样的内容:


更新: 按标题行分组。

添加 tablix 并在

DataSetName
属性中设置第二个数据集。将
Exam
Note
字段添加到相应的列。

添加父行组。

在 Tablix 组窗口中,选择添加组标题复选框并使用以下表达式:

=Lookup(Fields!Student_id.Value,
Fields!Student_id.Value,Fields!StudentName.Value,"DataSet21")

删除之前分组设置创建的第一列。

在上面的单元格中

Exam
使用以下表达式:

="Student Name: " &
Lookup(Fields!Student_id.Value,Fields!Student_id.Value,Fields!StudentName.Value,"FirstDataSet")

现在选择“考试和注释”行并在组外上方添加一行。

Exam
Note
字段上方的相应单元格中键入
[Exam]
[Note]

选择第一行的三个单元格,右键单击它并选择

Merge Cells

它将预览类似这样的内容:

如果你想删除第一个空白行,也可以顺利完成。

请告诉我这是否有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.