1

SSRS 2005 で、各テーブル (またはマトリックス) が同じデータ セットの一部を持つように、それぞれ 6 行のテーブルを 2 つ並べて作成する方法はありますか?

データセットに使用しているクエリは次のとおりです。

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 は私のマトリックスの列であり、合計 6 列の天気を表示する必要があります。そこにデータがあるかどうか (したがって、偽の TrackingIds) クエリはうまく機能します。しかし、行数が 6 より大きい場合、クエリの結果をレポート内の 2 つのマトリックス コントロールに分割できるようにする必要があります。本質的には、2 つの 6x6 テーブルが必要です。それが機能する必要がある方法は奇妙です。クエリ結果が 6 行を超える場合、ユーザーは残りのレコードを 2 番目のテーブルにフローすることを望んでいます。以下の図のようなものです。

これから:

現行版

これに:

新しいコンセプト

フォーム上に 2 つのマトリックス コントロールを既に取得していますが、行数が 7 を超える場合、そのような 2 つのテーブル間でデータセットを分割する方法がわかりません。

これは可能ですか?もしそうなら、どのように?いくつか検索しましたが、1 つのレコードセットを 2 つのマトリックス コントロールに分割する方法がわかりません。どんな助けでも大歓迎です。これはフォーム印刷プログラムではなく、データベースの内容を報告するように設計されたプログラムであることをユーザーに伝えようとしています。

ありがとう

4

1 に答える 1

0

データセットに RowNumber 列を追加します。

次に、各マトリックス コントロールにフィルタを追加します。最初のマトリックスは RowNumber が 1 ~ 6 の行をフィルター処理し、2 番目のマトリックスは 7 ~ 12 をフィルター処理します。

確かに、これは手っ取り早い汚い方法です。ただし、レポート自体は SSRS の使用目的から外れているため、パフォーマンスの問題がない限り、マトリックスを分割する方法について心配する価値があるかどうかはわかりません。

これは非常に制限的で柔軟性がないように思えます。ユーザーは、永遠に x 行だけを必要としていると本当に確信していますか? 行数が変更された場合、対応するためにレポートに変更を加える必要があるのはあなたです。

于 2012-09-11T18:03:05.173 に答える