Reporting services 如果SSRS报告中包含任何函数,是否使用查找函数?

Reporting services 如果SSRS报告中包含任何函数,是否使用查找函数?,reporting-services,ssrs-2012,ssrs-tablix,Reporting Services,Ssrs 2012,Ssrs Tablix,我必须在我的*.rdl文件中定义这样的查找 =IIF(Parameters!CompanyId.Value<>67,IIF(LAST(Fields!GallonsPumped.Value)>0, 0, " "), Lookup(Fields!TankDateCombo.Value, Fields!TankDateCombo.Value,IIF(LAST(Fields!GallonsPumped.Value)>0, 0, " "),"Dataset2")) =IIF(参数

我必须在我的*.rdl文件中定义这样的查找

=IIF(Parameters!CompanyId.Value<>67,IIF(LAST(Fields!GallonsPumped.Value)>0, 0, " "),
Lookup(Fields!TankDateCombo.Value, Fields!TankDateCombo.Value,IIF(LAST(Fields!GallonsPumped.Value)>0, 0, " "),"Dataset2"))
=IIF(参数!CompanyId.Value67,IIF(最后一个(字段!GallonsPumped.Value)>0,0,”,
查找(字段!TankDateCombo.Value,字段!TankDateCombo.Value,IIF(最后一个(字段!GallonsPumped.Value)>0,0,“”,“数据集2”))
但我得到的错误是,我不能在查找中使用函数。如何以正确的方式执行此操作>


这是正确的语法(匹配
表1上的
表2
):

Lookup()。如果
Lookup()
没有找到匹配项,它将返回
Nothing

我已经修复了这样的问题(使用函数名进行查找) 例如:

=IIF(参数!CompanyId.Value67,IIF(最后一个(字段!GallonsPumped.Value)>0,0,”,
IIF(最后一次(查找(字段!TankDateCombo.Value,字段!TankDateCombo.Value,字段!GallonsPumped.Value,“数据集2”))>0,0,”)
)

我想,这里的错误是我不能在查找中使用LAST()函数。如何修改查询?在
Lookup()
中使用
Last()
函数是没有意义的。使用
Lookup()
连接两个表,并显示第二个表中符合连接标准(键)的值。您要做的是加入并始终显示
Last()
函数的结果。为此,您不需要
Lookup()
。只需使用
Last()
,您就可以在不使用
Lookup()的情况下执行此操作。根据您的范围或所需需求,无需
查找()。
=Lookup(Fields!KeyTable1.Value, Fields!KeyTable2.Value, Fields!DisplayValueTable2, "Table2DatasetName")
=IIF(Parameters!CompanyId.Value<>67, IIF(LAST(Fields!GallonsPumped.Value)>0, 0, " "),

IIF(LAST(Lookup(Fields!TankDateCombo.Value, Fields!TankDateCombo.Value,Fields!GallonsPumped.Value,"Dataset2"))>0, 0, " ")


)