reporting-services - Reporting Services列表列表

  显示原文与译文双语对照的内容
73 3

我有一个报告显示区域,区域诊断列表,每个诊断的诊断数量,以及一个百分比。这工作很好,但是我想选择并显示许多区域的数据。

目前,该区域有一个选择,它显示了表中选定区域的所有诊断。本质上,我希望列出这个表的列表,因这里它可以以根据需要重复多少个区域。

我认为这可以以通过将表放入列表框,并设置tablix来筛选每个区域,但如果我尝试:

Error 1 [rsInvalidDetailDataGrouping] The tablix ‘Tablix1’ has a detail member
with inner members. Detail members can only contain static inner members.

很难准确地解释我需要什么。此时,所有诊断都显示出来,但它们都被列为来自同一区域。需要区域 1的诊断列表,然后是区域 2的列表,区域 3的百分比需要是该区域的百分比,目前它们是所有区域的百分比。

最好的方法是?

时间:原作者:2个回答

75 2

不要将表格放在列表中- 只在表格上使用分组。

假设你现在需要一个名为 @Areas的多个vaue参数来选择区域,然后将它们打印出来。假设你有类似于诊断表的表,以及在诊断中执行的项的表 DiagnosisItems 。因此,你的SQL看起来像这样:

SELECT Diagnoses.Area, Diagnoses.DiagnosisDate, Diagnoses.Description, 
 COUNT(*) AS TotalDiagnoses
FROM Diagnoses 
INNER JOIN DiagnosisItems ON Diagnoses.DiagnosisId = DiagnosisItems.DiagnosisId
WHERE Diagnoses.Area IN @Areas
GROUP BY Diagnoses.Area, Diagnoses.DiagnosisDate, Diagnoses.Description
ORDER BY Diagnoses.Area, Diagnoses.DiagnosisDate, Diagnoses.Description

单击你的表格,然后右键单击在详细行左侧出现的灰色句柄。选择 Add Group 和 GROUP BY Area添加组页眉和组页脚。在表中,将 Area 放在组页眉中,并在组页脚中放置 Area 和该区域的总诊断:

=SUM(Fields!TotalDiagnoses.Value)

对于你将使用这样的表达式的百分比,请在你的详细信息行中:

=Fields!TotalDiagnoses.Value/SUM(Fields!TotalDiagnoses.Value,"table1_Group1")

右键单击组句柄,选择Row Group-Group Properties-Page Breaks在组的每个实例之间检查分页符。

原作者:
...