从另一个数据集中检索SSRS动态数据

时间:2015-12-17 04:36:11

标签: reporting-services ssrs-2012 ssrs-tablix

我想根据另一个数据集中的数据获取数据(动态),并将结果放在不同数据集的文本框中。

现在,我得到的数据是静态的,我试图使用很多表达式,但没有用。

问题在于编辑文本框表达式。由于我从不同的数据集中获取数据,因此总是要求我在表达式中使用数据集聚合函数。如果我从获取数据的位置指定数据集,那么,我无法使其成为动态 - 我得到了不希望的结果。

我尝试的另一种方法是将数据集合并为一个而不是多个并仅使用它,但这是不成功的。

如何让它能够得到我想要的结果:

Employee list by department

顺便说一句,文本框和表格的范围不同。我也尝试将它们组合在一个范围内。

2 个答案:

答案 0 :(得分:1)

从另一个数据集获取数据需要一个聚合函数,因为它无法告诉您希望从该数据集中获取哪些数据,因此它会强制您聚合它,以便它可以返回特定值而不是整个值列表。

我认为你所追求的是Lookup功能。 Lookup允许您根据表格数据集中的值从另一个数据集中查找值。举一个简单的例子,让我们说你的桌子是雇员,你在那张桌子上有一个部门ID,另一个数据集称为" Departments"它有一个id和一个名字。您可以使用以下表达式查找部门的名称:

=Lookup(Fields!DeptId.Value, Fields!Id.Value, Fields!Name.Value, "Departments")

这会使用当前表格的数据集的DeptId字段,按Departments字段查找Id数据集并返回Name字段

答案 1 :(得分:0)

=Lookup(First(ReportItems!EmpID.Value),Fields!EmpID.Value,Fields!Dept.Value,"dataset_which_u_retrieve_the_data_from")

问题解决了!通过使用reportItems而不是Fields,因为我只检索一个数据,而不是整个字段。

感谢各位帮帮我。