我有一个独特的Microsoft SSRS(2016)情况:
我有下表:
表A(3列;键列:OrderID)主表,主数据集 - 固定数据集:
OrderID Region Store
124 FL ORL-23
125 CA SFO-21
126 TX DAL-19
我在另一个数据集(比如查找数据集)中有另一个表,表B(4列;键列:OrderID):
OrderID Gratuity DeliveryFee Surcharge
124 $2.50 $3.00 $0.75
125 $3.50 $5.50 $0.67
126 $4.75 $3.75 $0.45
表B(查找数据集)实际上是动态表;除了OrderID(基本列)之外,它可以有3列(如上所示);在其他一些情况下(通过参数),它可以有4列(除了OrderID),依此类推 - 比如,除了OrderID 之外的 n列,其中n取决于我选择的参数值。
我需要获得以下结果集(表C ,包含6列(在此特定情况下,当表B有3个动态列时)),在OrderID上查找列):
OrderID Region Store Gratuity DeliveryFee Surcharge
124 FL ORL-23 $2.50 $3.00 $0.75
125 CA SFO-21 $3.50 $5.50 $0.67
126 TX DAL-19 $4.75 $3.75 $0.45
表A:固定3列; 表B:n个不同的列
我需要在SSRS 2016中获得表C;我有Lookup,LookupSet,MultiLookup等选项。
请记住,表C必须有3(或n,其中n是动态数据集中的列数表B) new 列(Gratuity,DeliveryFee,附加费),不< / strong>以这种方式连接的1列:
Fields!Gratuity.Value & ", " & Fields!DeliveryFee.Value & ", " & Fields!Surcharge.Value
因此,表C可以有6列,7列,...... (3 + n)列,因为表B具有不同数量的列,具体取决于所选参数。
我怎样才能做到这一点?或者我应该尝试一些选项,如SubReport,还是其他什么?
由于一些业务逻辑,我无法使用JOIN;表A-这里我已经简化了(实际上表A有很多列,有很多计算,如SUM,DISTINCT COUNT等)。它有一些汇总的计算。
答案 0 :(得分:0)
这可以在您的查询中完成,因此它是SSRS中的一个数据集。
SELECT
a.OrderID
,a.Region
,a.Store
,b.Gratuity
,b.DeliveryFee
,b.Surcharge
FROM TableA A
JOIN TableB B ON
a.OrderID = b.OrderID