没有匹配的行时,SSRS Lookupset函数将返回#error

时间:2019-09-17 17:21:04

标签: sql-server vba reporting-services

我有2个基于2个独立数据集的数据表。它们都具有字段Site_Id。子数据集具有字段Next_Date,我想将其拖入父记录字段。

我要在Site_Id上进行匹配,并从子数据集(称为PSRC)返回字段Next_Date

只要有匹配项,我就可以提取正确的值,但是如果没有匹配项,我就无法摆脱#error。

两个Date字段实际上都是日期,并且siteID数据类型相同

我已经尝试了很多次迭代:这是我目前的位置:这2次尝试在null时返回错误,在匹配时返回正确的值。 *注意,我还尝试将Next date作为Iif检查中的返回值;我将其更改为与join字段相同,以防万一,但没有运气。

=Iif(Lookupset(Fields!Site_Id.Value,Fields!Site_Id.Value,Fields!Site_Id.Value,"PSRC").Length() < 1 , CDate("8/30/2019"),(Lookupset(Fields!Site_Id.Value,Fields!Site_Id.Value,Fields!Next_Date.Value,"PSRC"))(Lbound(Lookupset(Fields!Site_Id.Value,Fields!Site_Id.Value,Fields!Date.Value,"PSRC"))))

=Iif(IsNothing(Lookupset(Fields!Site_Id.Value,Fields!Site_Id.Value,Fields!Site_Id.Value,"PSRC")) , CDate("8/30/2019"),(Lookupset(Fields!Site_Id.Value,Fields!Site_Id.Value,Fields!Next_Date.Value,"PSRC"))(Lbound(Lookupset(Fields!Site_Id.Value,Fields!Site_Id.Value,Fields!Next_Date.Value,"PSRC"))))

此外,此方法基于子数据-根据匹配结果返回是或否

=Iif(Lookupset(Fields!Site_Id.Value,Fields!Site_Id.Value,Fields!Site_Id.Value,"PSRC").Length() < 1 , "No","Yes")

无论是否为真,在ELSE中进行查找时似乎都抛出错误

我是否错过了在没有比赛时什么也不显示的某种方式?

感谢任何想法/想法。

0 个答案:

没有答案