Stored procedures SSRS:在存储过程数据集中查找值,以确定要显示的图形

Stored procedures SSRS:在存储过程数据集中查找值,以确定要显示的图形,stored-procedures,reporting-services,lookup,Stored Procedures,Reporting Services,Lookup,它可能在以前的某个地方被回答过,但我对我正在尝试做的事情没有运气 设置是我在SSRS(2015)中从SQL中的存储过程中获得了一个数据集。样本数据: 我试图使用该表的结果来确定显示的是哪个图形。图形当前保存在一个单单元格表中,该表链接到所讨论的存储过程。下面的示例代码附在表中的图形上: =Switch (Lookup(Fields!DatasetLong.Value, "d", Fields!CountOnsite.Value, "SQLProc")>0,"Asset2600x

它可能在以前的某个地方被回答过,但我对我正在尝试做的事情没有运气

设置是我在SSRS(2015)中从SQL中的存储过程中获得了一个数据集。样本数据:

我试图使用该表的结果来确定显示的是哪个图形。图形当前保存在一个单单元格表中,该表链接到所讨论的存储过程。下面的示例代码附在表中的图形上:

=Switch 
    (Lookup(Fields!DatasetLong.Value, "d", Fields!CountOnsite.Value, "SQLProc")>0,"Asset2600x",
     Lookup(Fields!DatasetLong.Value, "d", Fields!Count_0_50m.Value, "SQLProc")>0,"Asset7600x",
     Lookup(Fields!DatasetLong.Value, "d", Fields!Count_50m_DataBuffer.Value, "SQLProc")>0,"Asset7600x",
     true, "Asset4600x"
     )
请注意,存储的Count*字段声明为Int

不幸的是,这是失败的,也就是说,我可以故意更改参数以使某个查找失败,但仍在触发,或者我可以让它完全匹配其查找的值,它将跳过该检查


关于如何最好地解决这个问题,你有什么想法吗?TIA

我有点不确定这是如何使用的,但我认为您使用的查找不正确

目前,它在当前数据集中查找字段DatasetLong以匹配d。我想您要在LookUnder中搜索d

=Switch 
    (Lookup("d", Fields!DatasetLong.Value, Fields!CountOnsite.Value, "SQLProc") > 0,"Asset2600x",
     Lookup("d", Fields!DatasetLong.Value, Fields!Count_0_50m.Value, "SQLProc") > 0,"Asset7600x",
     Lookup("d", Fields!DatasetLong.Value, Fields!Count_50m_DataBuffer.Value, "SQLProc") > 0, "Asset7600x", 
     true, "Asset4600x"
     )

传说,我知道事情就是这么简单