我在报告中有3个数据集,我需要运行查找来桥接公共数据。当我将所有者的ID保存在2个数据集中时,我可以查找它:
=Lookup(Fields!DatabaseName.Value, Fields!Name.Value, Fields!OwnerID.Value, "DataSet2")
到目前为止,我没有成功连接第三个数据集并返回所有者名称的内容如下:
=Lookup(Fields!DatabaseName.Value & Fields!Source_Worker_ID.Value, Fields!Name.Value & Fields!OwnerID.Value, Fields!Full_Name.Value, "DataSet3")
数据集1包含DatabaseName(这是我需要修补的所有数据库)。
数据集2包含Name(与DatabaseName相同)和OwnerID(我需要联系以进行调度的所有者)。
数据集3包含Source_Worker_ID(与OwnerID相同)和Full_Name(员工姓名)。
我的最终目标是通过查找(或其他功能)返回DS 2中与DS 1中所有数据库相关的所有者ID,然后返回DS 3中所有名称,以查找在首次查找时找到的ID。
有没有人对进行此查询有任何想法?
由于
答案 0 :(得分:1)
编辑回答:
我道歉。你是对的。我不知道嵌套查找是不可能的。但是,还有另一种方法可以做到。
LOOKUP(Fields!DatabaseName.Value, Fields!DatabaseName.Value, Fields!OwnerID.Value, "Dataset2")
LOOKUP(ReportItems!Textbox1.Value, Fields!Source_Worker_ID.Value, Fields!Full_Name.Value, "Dataset3")
告诉我这是否有效。
<强>解释强>
LOOKUP
函数只需要4个参数。
DatabaseName
。Dataset2
与Dataset1
(DatabaseName
)具有相同的列名,因此它将再次为DatabaseName
。 OwnerID
适用于任何给定的DatabaseName
,因此您需要OwnerID
作为第三个参数。Dataset2
(或dataset3
)。你只能玩这4个参数。
解释2
请务必记住,您只能从主数据集连接到其他数据集。如果您的报告是从Dataset1
构建的,则可以使用Dataset1
在所有其他数据集中查找值。您无法使用Dataset3
中的值在Dataset2
中查找值。这就是为什么您需要lookup
来查找Dataset2
中的值并使用它来查找Dataset3
中的值。
<强>样本:强>
在此图片中:
具有5位数字的第一列来自DataSet1
。带有2位数字的第二列是来自Location
的字段DataSet2
。第三列的名称是LocationName
中的字段DataSet3
。
以下是这三个数据集如何相互连接:
以下是我使用的查询查询:
=LOOKUP(Fields!SORD.Value, Fields!ShopOrder.Value, Fields!Location.Value, "DataSet2")
=LOOKUP(ReportItems!Textbox4.Value, Fields!Location_ID.Value, Fields!Location_Name.Value, "DataSet3")
这对我来说似乎很好。这是表格的样子:
以下是我的报告数据源和共享数据源的屏幕截图:
你正在做这样的事吗?我知道这是一份非常简化的报告,您的情况可能会复杂得多,但您的报告需要看起来像这样。如果这些都没有帮助,我道歉。这是我知道怎么做的唯一方法。