如何在SSRS 2005中的两个矩阵控件之间拆分数据集

时间:2012-09-11 16:54:02

标签: sql-server reporting-services reportingservices-2005

在SSRS 2005中,有没有办法可以创建两个并排的表,每个表有6行,这样每个表(或Matrix)都有相同数据集的一部分?

以下是我用于数据集的查询。

Select 
Equipment_EquipmentID,
Equipment_Description,
Vendor,
Operator,
JobAccount_TrackingID
from 
(
Select row_number() over (partition by Equipment_EquipmentID order by JobAccount_TrackingID) row,*
from 
(
SELECT DISTINCT
CustomizedFieldLogEquipmentJobAccount_1.Equipment_EquipmentID, 
CustomizedFieldLogEquipmentJobAccount_1.Equipment_Description, 
NULL as Vendor, 
NULL as Operator,
CustomizedFieldLogEquipmentJobAccount_1.JobAccount_TrackingID
FROM
CustomizedFieldLogEquipmentJobAccount AS CustomizedFieldLogEquipmentJobAccount_1 INNER JOIN CustomizedAccount ON CustomizedFieldLogEquipmentJobAccount_1.Account_AccountID = CustomizedAccount.AccountID
WHERE
(CustomizedAccount.AppliesToEquipment = 1)
AND 
(CustomizedFieldLogEquipmentJobAccount_1.FieldLog_FieldLogID =@FieldLogID)
--AND
--IsRented = 0
Union
Select Distinct 
Equipment_EquipmentID,
Equipment_Description,
Null as Vendior,
NULL as Operator,
fake_TrackingID

FROM
CustomizedFieldLogEquipment

cross join
(
Select 'zzz01' fake_TrackingID
union Select 'zzz02' 
union Select 'zzz03' 
union Select 'zzz04' 
union Select 'zzz05' 
union Select 'zzz06' 
union Select 'zzz07' 
union Select 'zzz08' 
union Select 'zzz09' 
union Select 'zzz10' 
) a where FieldLog_FieldLogID = @FieldLogID --AND IsRented = 0
) b 
) c where Row<=6
order by Equipment_EquipmentID,JobAccount_TrackingID

TrackingiD是我的Matrix中的列,我需要显示总共6列天气或不存在数据(因此假的TrackingIds)查询效果很好。但是,如果rowcount大于6,我需要能够在报告中的两个矩阵控件之间拆分查询结果。 本质上我需要2个6x6表。它需要工作的方式很奇怪。如果查询结果返回的行数超过6行,则用户希望其余记录流向第2个表。有点像下图:

由此:

current Version

对此:

New concept

我已经在表单上获得了两个矩阵控件,但是如果行数大于7左右,就无法弄清楚如何在两个表之间拆分数据集。

这可能吗?如果是这样的话?我做了一些搜索,但无法弄清楚如何将单个记录集拆分为两个矩阵控件。任何帮助表示赞赏。我一直试图告诉用户这不是表单打印程序,而是一个旨在报告数据库中的内容的程序。

由于

1 个答案:

答案 0 :(得分:0)

将RowNumber列添加到数据集中。

然后add a filter to each matrix control。第一个矩阵应该过滤RowNumber在1-6之间的行,第二个矩阵将过滤7-12。

不可否认,这是一种快速而肮脏的方式。然而,报告本身不属于SSRS的预期用途,所以我不知道如果没有任何性能问题,是否真的值得担心如何分割矩阵。

这似乎是如此限制和不灵活。用户是否真的确定他们只需要x行,永远?如果他们改变了行数,那么您就是必须对报告进行更改以适应的受害者。