SSRS使用与不同数据集不同的列过滤

时间:2014-09-16 23:30:54

标签: reporting-services filter iif

我想过滤我的列,让我们用来自不同数据集的另一列从数据集1中调用AllStudentID。

数据集1有很多列,例如AllStudentID,Class,Time,Location。 数据集2有其他列,但我专注于一个名为OnCampusID的类似列。

我已经尝试过使用过滤器,但由于报告本身有来自Dataset1的列,我遇到了一个问题,如果我选择dataset2中的列,它总是给出First(OnCampusID)。我不希望这样。

我查看了IIF()但是,我再次使用来自不同数据集的列加上如果让我们说它们不相等,我不想显示任何东西,而不是在那里放东西。我知道如果为true,则必须输出结果,如果为false,则必须输出结果。 如果我在SQL语句方面考虑它,就像有一个WHERE子句WHERE AllStudentID = OnCampusID。

我尝试运行参数,但我不希望选择部分位于顶部,而是已经过滤了报告。

我错过了什么吗?我知道它必须简单。

请注意,上面的例子只是我编写的一个例子,而不是真实的例子。

1 个答案:

答案 0 :(得分:3)

假设每个OnCampusID只在Dataset2中出现一次,那么您可以使用Lookup表达式对其进行过滤:

=IIF(IsNothing(Lookup(Fields!AllStudentID.Value, Fields!OnCampusID.Value, Fields!OnCampusID.Value, "Dataset2")), False, True)

如果OnCampusID在Dataset2中出现多次,请使用LookupSet执行相同的操作。

要将数据集2中的研究生字段简单地添加到单元格Lookup中的Value,请执行以下操作:

=Lookup(Fields!AllStudentID.Value, Fields!OnCampusID.Value, Fields!Graduate.Value, "Dataset2")