我有两个数据集:
我的第一个数据集(学生)看起来像这样:
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中得到它:
学生姓名| ID
杰克路易斯| 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
答案 0 :(得分:0)
我认为这可以使用LOOKUP
函数来解决。 LOOKUP
函数使用相关数据集中的公共字段连接多个数据集。
创建一个Tablix并将DataSetName
属性设置为第二个数据集。
将字段拖放到要显示的列。对于“学生姓名”列,请使用以下表达式:
=Lookup(Fields!Student_id.Value,Fields!Student_id.Value,Fields!StudentName.Value,"DataSet21")
在上面的表达式中,用您的实际名称替换
DataSet21
第一个数据集。
它会预览这样的东西:
更新:按标题行分组。
添加Tablix并在DataSetName
属性中设置第二个数据集。将Exam
和Note
字段添加到相应的列中。
添加父行组。
在Tablix组窗口中,选择Add group header复选框并使用以下表达式:
=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
。
它会预览这样的东西:
如果要删除第一个空行,可以顺利完成。
如果有帮助,请告诉我。
答案 1 :(得分:0)
谢谢你先生 alejandro zuleta
但我希望在同一个Tablix中使用这样的结果(使用groupin By Name)
Studant Name:Jack Luis
Exam | Note
Java | 15
Php | 14
Studant Name:Adam Bob
Exam | Note
Java | 12
Php | 13