SSRS查找功能无法正确获取数据

时间:2017-10-26 08:29:02

标签: reporting-services

  

表1:

+------------+
| Id  Value1 |
+------------+
| 1  abc     |
| 1  bda     |
| 1  bvc     |
+------------+
  

表2:

+-----------+
| ID Value2 |
+-----------+
| 1  11     |
| 1  12     |
| 1  13     |
+-----------+

现在我在ssrs(下面)中使用了Lookup功能

=Lookup(Field!ID.Value,Field!ID.Value,Field!Value2.Value,"Table2")

结果如下:

+------------------+
| ID Value1 Value2 |
+------------------+
| 1  abc  11       |
| 1  bda  11       |
| 1  bvc  11       |
+------------------+

字段名称Value2值无法正确获取。

请帮忙。

提前致谢。

1 个答案:

答案 0 :(得分:1)

如果您的两个表来自同一个数据源,并且您能够调整SQL查询,那么将JOIN表更轻松地转换为单个数据集而不是使用Lookup()表达式。

Lookup()只会返回匹配ID的第一个值。由于您的所有ID都相同,Lookup()只返回表2中所有行的第一个值。

如果您只想查找Table2中的一个特定行,则需要找到可在表2中引用的唯一ID号(主键)。如果要查找Table1和Table2之间匹配的所有行,则需要使用LookupSet()

每个表的行号可能有一些查找选项,但您可能需要在考虑之前重新评估数据结构和/或报表设计。