首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找函数SSRS 3数据集

查找函数SSRS 3数据集
EN

Stack Overflow用户
提问于 2017-05-23 14:20:04
回答 1查看 2.7K关注 0票数 0

我在报告中有3个数据集,需要在其中运行查找,以连接公共数据。当所有者的in保存在两个数据集中时,我可以使用:

代码语言:javascript
复制
=Lookup(Fields!DatabaseName.Value, Fields!Name.Value, Fields!OwnerID.Value, "DataSet2")

到目前为止,在连接第三个数据集并返回所有者名称方面,我尝试了以下几点,但没有成功:

代码语言:javascript
复制
=Lookup(Fields!DatabaseName.Value & Fields!Source_Worker_ID.Value, Fields!Name.Value & Fields!OwnerID.Value, Fields!Full_Name.Value, "DataSet3")

Dataset 1包含DatabaseName (它是我需要修补的所有DB)。

Dataset 2包含名称(与DatabaseName相同)和OwnerID (调度时需要与所有者联系)。

数据集3包含Source_Worker_ID (与OwnerID相同)和Full_Name (员工姓名)。

我的最终目标是通过查找(或其他函数)从DS2返回与DS 1中所有DBs相关的所有者ID,然后为第一次查找过程中找到的ID返回DS3中的所有名称。

有谁想过让这个查找工作吗?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-23 20:46:03

编辑回答:

我很抱歉。你是对的。我不知道嵌套查找是不可能的。但是,你还有另一种方法可以做到。

  1. 在报表中添加一个文本框。
  2. 为文本框提供以下表达式:

LOOKUP(Fields!DatabaseName.Value, Fields!DatabaseName.Value, Fields!OwnerID.Value, "Dataset2")

  1. 右键单击文本框->文本框属性->可见性->选择隐藏
  2. 转到有问题的文本框,并添加以下表达式:

LOOKUP(ReportItems!Textbox1.Value, Fields!Source_Worker_ID.Value, Fields!Full_Name.Value, "Dataset3")

告诉我这是否有效。

Explanation:

一个LOOKUP函数只接受4个参数。

  1. 源表达式:这是第一个和主要数据集中的字段,您将使用该字段在其他数据集中查找其他字段的值。以你为例,DatabaseName
  2. 目标表达式:这是要与第一个字段匹配的字段的名称。在您的示例中,由于Dataset2Dataset1 (DatabaseName)具有相同的列名,因此它将再次成为DatabaseName
  3. 目标值:这是与您希望得到的给定目标表达式相对应的值。由于您希望对任何给定的OwnerID使用DatabaseName,所以需要将OwnerID作为第三个参数。
  4. dataset :这是您试图查找此值的数据集。在您的例子中,它的Dataset2 (或dataset3)。

你只能玩这四个论点。

解释2

重要的是要记住,您只能从主数据集连接到其他数据集。如果您的报表是从Dataset1生成的,则可以使用Dataset1在所有其他数据集中查找值。不能使用来自Dataset3的值在Dataset2中查找值。这就是为什么您需要一个lookup来从Dataset2中找到值,并使用它在Dataset3中找到一个值。

演示:

在这张图片中:

具有5位数的第一列来自DataSet1。具有2位数的第二列是来自DataSet2的字段DataSet2。具有名称的第三列是来自DataSet3的字段DataSet3

以下是这三个数据集如何相互连接:

下面是我使用的查找查询:

代码语言:javascript
复制
=LOOKUP(Fields!SORD.Value, Fields!ShopOrder.Value, Fields!Location.Value, "DataSet2")

=LOOKUP(ReportItems!Textbox4.Value, Fields!Location_ID.Value, Fields!Location_Name.Value, "DataSet3")

这对我来说似乎很好。这张表是这样的:

下面是我的报告数据源和共享数据源的屏幕截图:

你在做这样的事吗?我知道这是一份非常简单的报告,您的情况可能要复杂得多,但是您的报告需要类似这样的内容。

如果这些都没有帮助的话,我道歉。这是我唯一知道该怎么做的方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44137414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档