如何使用我分组的 SSRS TABLIX 中的数据列计算百分比
How to calculate a percentage using columns of data in a SSRS TABLIX that I have grouped
我有一个 SQL 查询,它给我一个包含 3 列的数据集:
- 合约代码
- 成交量
- 月份注册
我想呈现按 Contract_Code 分组的行和按 MonthRegistered 的列分组的数据:
然后我想计算月份之间的百分比差异:
在这种情况下,我只会有 2 个月的数据——每个相隔 1 年。
我试图表达每一行数据从一年到下一年的百分比变化。
我做了这个表情:
=(Fields!Volume.Value)/(Fields!Volume.Value)
但很明显这是不对的 - 它是如何不对的,因为它没有独立地处理列。
我确实将 TABLIX 文本框格式化为百分比,所以至少我明白了这一点。
在这篇 Technet 文章中:Calculating Totals and Other Aggregates (Reporting Services) 它指出:You can also write your own expressions to calculate aggregate values for one scope relative to another scope.
我找不到关于如何解决单独范围的参考。
如果有任何关于这方面的建议,我将不胜感激!
很抱歉将我的示例发布为 JPG 而不是实际文本,但我需要隐藏一些数据...
这之所以有效,是因为您只有两个月的数据可供比较。您必须确保您的 SQL 已在 MonthRegistered 之前订购。如果您不在查询中排序,那么将应用 SSRS 自己的排序来确定哪个值是第一个和最后一个。
=First(Fields!Volume.Value) / Last(Fields!Volume.Value)
因为您在 SSRS 中执行了聚合,所以您可能必须将每个语句包装在 SUM 表达式中。
如果您只打算以这种方式显示聚合,建议尽可能在 SQL 中执行聚合。
我有一个 SQL 查询,它给我一个包含 3 列的数据集:
- 合约代码
- 成交量
- 月份注册
我想呈现按 Contract_Code 分组的行和按 MonthRegistered 的列分组的数据:
然后我想计算月份之间的百分比差异:
在这种情况下,我只会有 2 个月的数据——每个相隔 1 年。 我试图表达每一行数据从一年到下一年的百分比变化。
我做了这个表情:
=(Fields!Volume.Value)/(Fields!Volume.Value)
但很明显这是不对的 - 它是如何不对的,因为它没有独立地处理列。
我确实将 TABLIX 文本框格式化为百分比,所以至少我明白了这一点。
在这篇 Technet 文章中:Calculating Totals and Other Aggregates (Reporting Services) 它指出:You can also write your own expressions to calculate aggregate values for one scope relative to another scope.
我找不到关于如何解决单独范围的参考。
如果有任何关于这方面的建议,我将不胜感激!
很抱歉将我的示例发布为 JPG 而不是实际文本,但我需要隐藏一些数据...
这之所以有效,是因为您只有两个月的数据可供比较。您必须确保您的 SQL 已在 MonthRegistered 之前订购。如果您不在查询中排序,那么将应用 SSRS 自己的排序来确定哪个值是第一个和最后一个。
=First(Fields!Volume.Value) / Last(Fields!Volume.Value)
因为您在 SSRS 中执行了聚合,所以您可能必须将每个语句包装在 SUM 表达式中。
如果您只打算以这种方式显示聚合,建议尽可能在 SQL 中执行聚合。