查找功能SSRS 3数据集

时间:2017-05-23 14:20:05

标签: reporting-services

我在报告中有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。

有没有人对进行此查询有任何想法?

由于

1 个答案:

答案 0 :(得分:1)

编辑回答:

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

  1. 在报告中添加文本框。
  2. 为文本框指定以下表达式:
  3. LOOKUP(Fields!DatabaseName.Value, Fields!DatabaseName.Value, Fields!OwnerID.Value, "Dataset2")

    1. 右键单击文本框 - >文本框属性 - >可见性 - >选择隐藏
    2. 转到相关文本框并添加以下表达式:
    3. LOOKUP(ReportItems!Textbox1.Value, Fields!Source_Worker_ID.Value, Fields!Full_Name.Value, "Dataset3")

      告诉我这是否有效。

      <强>解释

      LOOKUP函数只需要4个参数。

      1. 源表达式:这是您将用于查找其他数据集中其他字段值的第一个和主要数据集中的字段。在您的情况下,DatabaseName
      2. 目标表达式:这是您要与第一个字段匹配的字段的名称。在您的情况下,由于Dataset2Dataset1DatabaseName)具有相同的列名,因此它将再次为DatabaseName
      3. 目标值:这是与您希望获得的给定目标表达式相对应的值。由于您希望OwnerID适用于任何给定的DatabaseName,因此您需要OwnerID作为第三个参数。
      4. 数据集:这是您尝试在此处查找此值的数据集。在您的情况下,它是Dataset2(或dataset3)。
      5. 你只能玩这4个参数。

        解释2

        请务必记住,您只能从主数据集连接到其他数据集。如果您的报告是从Dataset1构建的,则可以使用Dataset1在所有其他数据集中查找值。您无法使用Dataset3中的值在Dataset2中查找值。这就是为什么您需要lookup来查找Dataset2中的值并使用它来查找Dataset3中的值。

        <强>样本:

        在此图片中:

        enter image description here

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

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

        enter image description here

        以下是我使用的查询查询:

        =LOOKUP(Fields!SORD.Value, Fields!ShopOrder.Value, Fields!Location.Value, "DataSet2")
        
        =LOOKUP(ReportItems!Textbox4.Value, Fields!Location_ID.Value, Fields!Location_Name.Value, "DataSet3")
        

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

        enter image description here

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

        enter image description here

        你正在做这样的事吗?我知道这是一份非常简化的报告,您的情况可能会复杂得多,但您的报告需要看起来像这样。

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