【问题标题】:LookUpSet - Group ByLookUpSet - 分组依据
【发布时间】:2014-04-14 11:50:26
【问题描述】:

我有 2 个数据库:

Server1 上的数据库 1 Server2 上的 Database2

我创建了一个表格,下面给出了一个小示例结果:

Name       |  Date        | Total
Name1         10/04/2014    125,101
Name1         11/04/2014    125,101
Name2         10/04/2014    2,5
Name2         11/04/2014    2,5

所以我从 Server1 上的 Database1 中获得了 Date 和 Name 值。

我通过在“总计”文本框字段上使用以下表达式来获取总计列,该字段从 Server2 上的 Database2 中查找总计:

=Join(LookupSet(Fields!Col1.Value, Fields!Col1a.Value, Fields!TotalCol.Value, "DataSetServer2"),",")

显然我想做的是得到以下结果:

Name       |  Date        | Total
Name1         10/04/2014    125
Name1         11/04/2014    101
Name2         10/04/2014    2
Name2         11/04/2014    5

这可能吗?如果需要任何进一步的信息,请告诉我,很抱歉我从未真正使用过 LookUpSet。

附加信息:

DataSet2用于查询Server1上的Database1创建表,示例数据为:

Date        | Col1    | Name
10/04/2014    UID01     Name1
11/04/2014    UID01     Name1
10/04/2014    UID02     Name2
11/04/2014    UID02     Name2

然后使用以下数据集查询Server2上的Database2

Date        | TotalCol   | Col1a
10/04/2014    125          UID01
11/04/2014    101          UID01
10/04/2014    2            UID02
11/04/2014    5            UID02

【问题讨论】:

  • 两个底层数据集是什么样的?您可以在问题中添加一些示例数据吗?
  • 已添加来自构成表格的 2 个数据集的样本数据

标签: reporting-services reportbuilder reportbuilder3.0


【解决方案1】:

使用您的示例数据集:

我已经根据第一个数据集创建了一个简单的表:

表达式为:

=Lookup(Fields!Col1.Value & Fields!Date.Value
    , Fields!Col1a.Value & Fields!Date.Value
    , Fields!TotalCol.Value
    , "DataSetServer2")

您会注意到我在这里比较了前两个参数中的Fields!Col1.Value & Fields!Date.ValueFields!Col1a.Value & Fields!Date.Value。您可以传递任何表达式,它不必是一列。我使用的表达式提供了您需要的唯一查找比较。

由于我们得到了唯一的行,LookupSet 可以替换为 Lookup

这给出了所需的结果:

您只需要找到一种使查找独一无二的方法,即ColDate 的某种组合。您甚至可以在数据集中使用计算字段。

【讨论】:

  • 伊恩太好了,非常感谢。我没有意识到你可以使用这样的组合。
猜你喜欢
  • 2011-09-24
  • 2020-01-17
  • 1970-01-01
  • 1970-01-01
  • 2012-09-13
  • 2021-02-11
  • 1970-01-01
  • 2011-10-14
  • 2014-03-02
相关资源
最近更新 更多