SSRS饼图如何使用聚合函数?获取各订单最大ShipDate的方法
SSRS 2012 饼图使用订单最大ShipDate最优解决方案
以下方案按优先级从高到低排列:
- 最优方案:在数据集查询层预聚合计算
直接在拉取数据的SQL中使用窗口函数预计算每个订单的最大ShipDate,查询性能最高,结果可直接作为数据集字段被所有可视化组件调用,适配饼图的字段选择要求。
示例SQL代码:
其中SELECT 其他原有字段, MAX(ShipDate) OVER (PARTITION BY OrderID) AS MaxOrderShipDate FROM 你的原表名OrderID替换为你实际的订单唯一标识字段名,查询完成后数据集内会新增MaxOrderShipDate字段,直接选中即可用于饼图。 - 次优方案:直接在饼图的系列值中使用表达式
饼图并非只能选择已创建的数据集字段,你可以手动调用表达式编辑器填写聚合逻辑:- 右键点击饼图,选择「系列属性」
- 切换到「值」选项卡,点击值输入框右侧的
fx按钮打开表达式编辑器 - 输入对应作用域的聚合表达式即可,示例:
如果需要按订单分组计算,将第二个参数替换为饼图内订单分组的组名即可。=Max(Fields!ShipDate.Value, "你的数据集名称") - 备选方案(仅当前两个方案无法实现时使用):隐藏表格中转
- 新建一个和饼图使用相同数据集的表格,按订单ID设置行分组
- 在分组行中添加一个文本框,值设置为
=Max(Fields!ShipDate.Value),给该文本框设置唯一名称,比如txt_MaxShipDate - 选中整个表格,在属性面板设置「Hidden」为
True隐藏表格 - 饼图的系列值直接引用该文本框值:
=ReportItems!txt_MaxShipDate.Value
内容的提问来源于stack exchange,提问作者Jackm2810
相关产品推荐
相关产品推荐

