0

我有一个显示employeeIDemployeeEmailsupervisorID和的报告expirationDate。然后,我使用此 LookUp 功能查找主管电子邮件:

=Lookup(Fields!supervisorID.Value, Fields!employeeID.Value, Fields!employeeEmail.Value, "DataSet1")

当我在expirationDate

       expirationDate >=@startdate 
   AND expirationDate <=@enddate

这将搜索结果缩小到仅显示日期范围内到期日期的员工。但是,如果主管expirationDate也不在该范围内,它也会过滤掉我的主管电子邮件地址。

我不希望 LookUp 表达式受制于日期范围的参数。我希望始终显示主管电子邮件。因为日期范围参数旨在按到期日期过滤掉员工,而不是主管。

因此,当员工因expirationDate在范围内supervisorID而显示时,应始终显示他们,但由于 LookUp 表达式随后重新查询数据集以查找电子邮件,因此当expirationDate不在主管范围内时,结果将被阻止也。

有没有办法从参数中排除我的查找/表达式?或者让参数只过滤掉特定的列字段?

4

2 回答 2

0

所以你也在日期上过滤“DataSet1”?您应该能够删除该过滤,以便数据集包含所有可供查找的电子邮件地址。这不会影响报告中显示的主管,因为可能内容来自与 DataSet1 不同的数据集,这就是您使用查找的原因!

于 2015-06-08T09:19:19.160 回答
0

您在哪里指定日期范围过滤器?如果它在数据集上,则查找函数无法引用未包含在数据集中的行。一种可能性是将日期过滤器添加到(或您正在使用的任何数据区域)中,从而使数据集中的所有行都由查找函数引用。对于小型数据集,这是一个不错的解决方案,但如果未过滤的数据集非常大,显然不能很好地扩展。

一般来说,更好的解决方案是检索数据集中每一行的主管详细信息,方法是编辑查询以在员工和主管之间进行连接。这将更有效率,然后您可以过滤员工日期的数据集并忘记查找功能,这意味着您的报告要做的工作更少。

于 2015-06-08T09:51:12.973 回答