嗨,这将是一个非常奇怪的问题,我的所有搜索都没有得到好的答案。基本问题将帮助我解决两个问题,一个在 Crystal Reports 中,一个在 SSRS 2005 中。我有两个需要相同解决方案的报表。请耐心等待,因为解释会有点冗长。
我需要以一种不寻常的方式使用 SSRS。我需要创建的报告将只有最少的数据,并且将在现场打印和手动填写。在这种情况下,它们被用作表单打印程序。
报告将有一个 tablix/Matrix 控件,我需要使用特定的列数来创建它,无论这些列是否存在数据。在一种情况下(SSRS),没有任何字段被用作将被求和的数据字段。
我有行和列的数据,但我需要创建 10 列的矩阵/tablix。因此,如果记录集只有 2 个构成列的数据实例,我仍然希望看到所有 10 列,但标题为空白。
所以它看起来像这样:
Col1|Col2|Col3|Fake1|Fake2|Fake3|......
Row1
Row2
Row3
.....
因此,如果我有 1 列或 10 列的数据,我仍然希望显示 10 列,其中 2 列带有真实标题,8 列带有空白标题。
这是我正在使用的 SQL。这是 SSRS 2005 中矩阵的基础。员工 ID 和姓名是行。JobAccount_Tracking_ID 是列。一条记录可以有 1 到 10 个 tracking_id。
我要返回的是总共 10 个跟踪 ID,而不管实际跟踪 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 案例中,我无法在数据库中创建视图,因为它是供应商的数据库。