SSRS-总行数+总行数的百分比

时间:2018-07-18 11:58:30

标签: reporting-services reporting ssrs-2012 ssrs-2008-r2 ssrs-tablix

我有两种水果-香蕉和苹果。我的报告使用此测试查询(使用矩阵)显示了某些人每种类型的数量:

SELECT 1 AS fruits, 1 AS bananas, 0 AS apples, 'person_1' AS people UNION ALL
SELECT 1 AS fruits, 0 AS bananas, 1 AS apples, 'person_2' AS people

我想删除“水果”字段,并在上面的行中添加两种类型的总数的自动计算。另外,请添加每种水果类型占总数的百分比,即每个人占香蕉总数的多少。

enter image description here

我怀疑可以通过对行进行分组来完成此操作,但是我无法弄清楚需要在行上使用哪些组。我没有明显的按栏分组。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

首先,数据通常采用以下格式:

SELECT 'person_1' AS people, 'bananas' AS FruitType, 1 AS FruitCount
UNION ALL
SELECT 'person_2' AS people, 'apples' AS FruitType, 1 AS FruitCount

FruitAndPeople

使用像这样的数据集,构建一个带有矩阵的报告,该矩阵以行显示FruitTypes,以列显示人员,以FruitCount(其总和)显示数据。这将自动创建一个 FruitType 行组和一个 people 列组:

Basic Matrix

在“行组”和“列组”下的两个组上单击鼠标右键,为每个组添加总计。对于FruitType组,选择之前添加总计,对于人员组,选择之后添加总计

Matrix with Totals

将我在上一个屏幕截图中选择的单元格重命名为 TotalByPerson ([人员]列中的总数)和 TotalByFruitType ([FruitType]行中的总数) 。另外,将“总计”行和“总计”列中的总计重命名为 GrandTotal 。这将使百分比公式更具可读性。

现在,要为百分比添加一行,请右键单击[FruitType]行的行选择器,以在所选行下方的组内插入一行:

Adding the Percentage Row

您可以拆分合并的单元格,为百分比行输入单独的标题,例如 [FruitType]%

Percentage Row Title

现在,您可以在相应的 Expression 窗口中定义的两个公式缺失:

  • 在[人]列中:=ReportItems!FruitCount.Value/ReportItems!TotalByPerson.Value
  • 在“总计”列中:=ReportItems!TotalByFruitType.Value/ReportItems!GrandTotal.Value

使用“文本框属性” 窗口将两个值格式化为百分比。在根据需要定义行的背景色之后,您的设计窗口应如下所示:

Designer of Final Report

运行报告,您将从上面的测试数据中收到以下结果:

enter image description here

答案 1 :(得分:0)

根据以下图片设置矩阵: enter image description here

下面的详细设计视图显示按行/列分组: enter image description here

结果应如下所示:

enter image description here