如何对Lookup / MultiLookup / LookupSet返回的值进行分组

时间:2014-02-05 19:02:14

标签: reporting-services ssrs-2008 ssrs-grouping ssrs-2008-r2

我有两个来自两个不同数据源的数据集。 DataSet1和DataSet2。

这就是DataSet1的样子:

CustomerName      City      State            Zip
Cust1           Cust1City  Cust1State     Cust1Zip
Cust2           Cust2City  Cust2State     Cust2Zip
Cust3           Cust3City  Cust3State     Cust3Zip

这就是DataSet2的样子:

CustomerName     OrderDate       OrderType       Amount
Cust1           01/01/2014       OrderType1       $100
Cust1           01/02/2014       OrderType2       $150
Cust1           01/03/2014       OrderType3       $75
Cust2           01/01/2014       OrderType1       $250
Cust2           01/02/2014       OrderType3       $450
Cust3           01/01/2014       OrderType1       $145
Cust3           01/02/2014       OrderType2       $400
Cust3           01/03/2014       OrderType3       $10

我正在尝试在SSRS报告中显示此信息,该报告将包含City on State,State,Zip from DataSet1,然后Group on OrderDate。

由于OrderDate来自不同的数据集,我无法对其进行分组。

我尝试使用Lookup和MultiLookup,但这引发了我的错误:

The Group expression for grouping 'table1_Details_Group' uses a lookup function 
with an expression that returned a datatype that is not valid for the lookup 
function. The datatype must be an RDL Variant Type.

Lookup,MultiLookup,LookupSet返回数组,但有没有办法使用它们来实现对它们返回的值的分组?

有替代方案吗?

这就是我的分组表达式的样子:

=LookupSet(Fields!CustomerName.Value,Fields!CustomerName.Value,Fields!OrderDate.Value,"DataSet2")

1 个答案:

答案 0 :(得分:0)

你的设计对我没有任何意义 - 你怎么能期望对一个返回多个值的表达式进行分组?

我会尝试将数据库基于Dataset2,然后您可以使用Lookup从Dataset1获取所需的任何内容(假设CustomerName在Dataset1中是唯一的)。