s-s-rS:将 tablix 与多个数据集一起使用
Posted
技术标签:
【中文标题】s-s-rS:将 tablix 与多个数据集一起使用【英文标题】:s-s-rS: Using tablix with multiple Dataset 【发布时间】:2016-04-25 12:56:48 【问题描述】:我有两个数据集:
我的第一个数据集(学生)如下所示:
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
【问题讨论】:
Reporting services: Join all field on a dataset的可能重复 最佳实践是使用存储过程作为数据集并让 SQL 比查找更有效地执行此操作。因此,只需使用一个数据集来调用将两个表放在一起的存储过程。 【参考方案1】:谢谢alejandro zuleta先生
但我希望在同一个 Tablix 中得到这样的结果(按名称使用 groupin)
Studant Name:Jack Luis
Exam | Note
Java | 15
Php | 14
Studant Name:Adam Bob
Exam | Note
Java | 12
Php | 13
【讨论】:
这不是一个答案,您应该删除它并编辑您的问题以包含它。检查我的更新。【参考方案2】:我认为这可以使用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
。
它将预览如下内容:
如果你想删除第一个空白行,你可以顺利完成。
如果这有帮助,请告诉我。
【讨论】:
谢谢亚历杭德罗·祖莱塔先生 谢谢 alejandro zuleta 先生,它解决了我的问题 :) @YounesAKIL ,如果我的回答解决了您的问题,您可以通过单击正确符号的左侧将其选为正确。How does accepting an answer works以上是关于s-s-rS:将 tablix 与多个数据集一起使用的主要内容,如果未能解决你的问题,请参考以下文章
s-s-rS:如何将图表绑定到垂直标题栏 (tablix)?