0

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

目前,我对该区域有一个选择,它在表格中显示了所选区域的所有诊断。本质上,我想列出这些表格,以便可以根据需要对尽可能多的区域进行重复。

我认为这可以通过将表格放入列表框中并将 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 等。百分比需要是该区域的百分比,目前它们是所有区域的百分比。

做这个的最好方式是什么?

4

2 回答 2

2

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

假设您现在想要一个调用多个 vaue 参数@Areas来选择区域,然后将它们全部打印出来,比如说用分页符分隔。我假设您有一个用于诊断的表和一个用于诊断中执行的项目的表 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并分组Area。添加组页眉和组页脚。在表中,将Area组标题和组页脚放入Area该区域的总诊断数:

=SUM(Fields!TotalDiagnoses.Value)

现在,在百分比的详细信息行中,您将使用如下表达式:

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

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

于 2012-12-18T02:52:49.840 回答
0

我认为您不需要在 tablix 上放置过滤器。只需在列表上设置分组并添加 tablix。

于 2012-12-17T23:42:46.683 回答