こんにちはこれはすべて非常に奇妙な質問になるでしょう、そして私の検索はすべて良い答えをもたらしませんでした。基本的な問題は、CrystalReportsとSSRS2005の2つの問題を解決するのに役立ちます。両方に同じ種類の解決策が必要なレポートがあります。説明が少し長くなりますので、ご容赦ください。
SSRSを通常とは異なる方法で使用する必要があります。私が作成する必要のあるレポートには最小限のデータしかなく、現場で手作業で印刷および記入されます。この場合、フォーム印刷プログラムとして使用されています。
レポートにはtablix/Matrixコントロールがあり、それらの列のデータが存在するかどうかに関係なく、特定の列数でレポートを作成する必要があります。1つのケース(SSRS)では、合計されるデータフィールドとして使用されているフィールドはありません。
行と列のデータがありますが、必要なのは10列のマトリックス/タブリックスを作成することです。したがって、レコードセットに列を作成するデータのインスタンスが2つしかない場合でも、10列すべてを表示したいのですが、ヘッダーは空白です。
したがって、次のようになります。
Col1|Col2|Col3|Fake1|Fake2|Fake3|......
Row1
Row2
Row3
.....
したがって、1列または10列に相当するデータがある場合でも、実際のヘッダーを含む2列と空白のヘッダーを含む8列を表示したいと思います。
これが私が使用しているSQLです。これは、SSRS2005のマトリックスの基礎です。従業員IDと名前は行です。JobAccount_Tracking_IDは列です。レコードには、1〜10個のtracking_idsを含めることができます。
実際に追跡IDの数に関係なく、合計10個の追跡IDを返します。エクストラは、マトリックスに空白の列として表示されます。
Declare @FieldLogID as int
Set @FieldLogID = 1018
SELECT DISTINCT
CustomizedFieldLogEmployee_1.Employee_EmployeeID,
CustomizedFieldLogEmployee_1.Employee_FullName,
CustomizedFieldLogEmployee_1.Injured_Today_Custom,
CustomizedFieldLogJobAccount_1.JobAccount_TrackingID,
CustomizedFieldLogEmployee_1.StartDateTime,
CustomizedFieldLogEmployee_1.StopDateTime,
CustomizedFieldLogEmployee_1.WorkHours
FROM
CustomizedFieldLogEmployee AS CustomizedFieldLogEmployee_1 LEFT OUTER JOIN CustomizedFieldLogJobAccount AS CustomizedFieldLogJobAccount_1
ON CustomizedFieldLogEmployee_1.FieldLog_FieldLogID = CustomizedFieldLogJobAccount_1.FieldLog_FieldLogID
WHERE CustomizedFieldLogEmployee_1.FieldLog_FieldLogID = @FieldLogID
どうすればこれを行うことができますか?SSRSの場合、ベンダーのデータベースであるため、データベースにビューを作成できません。