reporting-services - SSRS 按年份组总计排序
问题描述
我有一个 tablix,其中 Customer 作为行组,Month 和 Year 作为列组。销售额在数据区。我想按年份总销售额降序对客户进行排序。
我尝试了以下(伪代码)
SELECT Period (a CONCAT of YEAR(date) and MONTH(Date), SUM(Amount), Company
来自 [表格]
按期间和公司分组
ORDER BY Sum(Amount) Desc
我这样做是想如果我对查询进行排序,它将按照我想要的顺序通过,但显然它首先显示的是单月销售额最高的客户,而不是最高的年份。
仔细考虑一下,如果我希望报告能够跨越多年,那么我必须弄清楚要计算哪一年,但我很乐意将报告限制为一个年份(由参数标识) .
当我尝试对 Sum(Fields!Amount.value, "xYear") 上的 tablix 或客户组进行排序时,我收到聚合可以包含组的错误。
解决方案
我从 Tablix 切换到 Matrix,现在按 SUM(Fields!Amount.Value) 对客户组进行排序......有点。
它按总计而不是给定年份排序,但我现在可以忍受。也许我会添加一个默认为当前年份的参数,并尝试弄清楚如何使用它来强制排序。我在想我可能必须在单独的数据集中(不显示在报告中)按客户获取年初至今的总销售额。
推荐阅读
- c++ - Windows/Cygwin - 无法使用 pybind11 - 出错
- javascript - 通过单击复选框动态更改表格中的文本
- asp.net-mvc - 应用程序池回收后,IIS 8.5 无法为 ASP.Net MVC 页面提供服务
- node.js - 服务器重新启动socket.io socketio-jwt后Angular 6验证客户端
- angular - Angular 6 自定义验证器如何禁止用户将 + 或 - 等特殊字符添加到数字输入中
- ruby-on-rails - 在 gem Bootstrap 4.1.3 Rails 5.1 中覆盖 variables.scss
- android - API 28 中 Fragment 中的 MapFragment 崩溃
- reactjs - 我有我的反应应用程序代码沙箱。如何从沙盒部署
- c# - 使用 C# 从 azure 时间序列洞察中解析 json 事件
- android - 在不显示对话的情况下打开 GPS