我有两种水果-香蕉和苹果。我的报告使用此测试查询(使用矩阵)显示了某些人每种类型的数量:
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
我想删除“水果”字段,并在上面的行中添加两种类型的总数的自动计算。另外,请添加每种水果类型占总数的百分比,即每个人占香蕉总数的多少。
我怀疑可以通过对行进行分组来完成此操作,但是我无法弄清楚需要在行上使用哪些组。我没有明显的按栏分组。
有什么想法吗?
答案 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
使用像这样的数据集,构建一个带有矩阵的报告,该矩阵以行显示FruitTypes,以列显示人员,以FruitCount(其总和)显示数据。这将自动创建一个 FruitType 行组和一个 people 列组:
在“行组”和“列组”下的两个组上单击鼠标右键,为每个组添加总计。对于FruitType组,选择之前添加总计,对于人员组,选择之后添加总计:
将我在上一个屏幕截图中选择的单元格重命名为 TotalByPerson ([人员]列中的总数)和 TotalByFruitType ([FruitType]行中的总数) 。另外,将“总计”行和“总计”列中的总计重命名为 GrandTotal 。这将使百分比公式更具可读性。
现在,要为百分比添加一行,请右键单击[FruitType]行的行选择器,以在所选行下方的组内插入一行:
您可以拆分合并的单元格,为百分比行输入单独的标题,例如 [FruitType]%:
现在,您可以在相应的 Expression 窗口中定义的两个公式缺失:
=ReportItems!FruitCount.Value/ReportItems!TotalByPerson.Value
=ReportItems!TotalByFruitType.Value/ReportItems!GrandTotal.Value
使用“文本框属性” 窗口将两个值格式化为百分比。在根据需要定义行的背景色之后,您的设计窗口应如下所示:
运行报告,您将从上面的测试数据中收到以下结果:
答案 1 :(得分:0)