LookUpSet - 分组依据

时间:2014-04-14 11:50:27

标签: reporting-services reportbuilder reportbuilder3.0

我有2个数据库:

Server1上的Database1 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,我得到日期和名称值。

我在' Total'上使用以下表达式得到总列数。从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

1 个答案:

答案 0 :(得分:2)

使用您的样本数据集:

enter image description here

enter image description here

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

enter image description here

表达式是:

=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

这给出了所需的结果:

enter image description here

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