一
前言
动态报表D-Query 是一个用于取代标准QUERY的程序.使用动态报表无需写代码,非开发人员也可生成专业的报表程序.
详见动态报表简介
无峰,公众号:ABAP 技巧与实战动态报表D-Query简介
本文主要介绍动态报表的指标功能
指标一般指报表中等数量/金额字段
二
常见的SQL统计
常见的数据库支持如下几种集合功能
AVG 平均值
MAX 最大值
MIN 最小值
SUM 请求
COUNT 条目数
下图是ABAP SQL语法中支持的集合函数
三
动态报表支持的集合
动态报表根据数据的特点, 对求和处理补充了取绝对值,取反等附加处理. 以便更好的适应SAP表的特性.(比如退货订单数量也是正数,通过退货标记识别,统计时最好作取反后统计处理)
详见链接
无峰,公众号:ABAP 技巧与实战动态报表D-Query-新增数量金额字段
A 取绝对值处理(SUM)
B 取反处理(SUM)
C 取绝对值后再取反(SUM)
空 无关(SUM)
D 获取最大(MAX)
E 获取最小(MIN)
F 获取平均值(AVG)
四
MIN/MAX/AVG适用场景示例
最近尝试通过ZDQ实现一个计划协议报表,该报表有一列天数(计划交货日期-当前日期).天数这个字段可以两种方式实现
动态报表中新增字段的复杂SQL表达式
CDS视图中获取该字段
图示是第二种解决办法,
第一种办法详见链接
无峰,公众号:ABAP 技巧与实战动态报表D-Query 新增计算字段
后续在动态报表中发现, 天数参与汇总没有任何业务含义. 只有最小/最大天数才有一定的业务含义(并且依赖于统计维度).
因此考虑给动态报表的指标字段添加了SQL中常用的AVG/MIN/MAX 方式. 这样对于天数类的字段,可以适用这三种集合方式来表达特定的业务含义
比如这个未清天数: 计划交货日期-当前日期(9999表示已清,负数表示计划交货日期在过去),这样获取的最小天数就表达了未清条目的最早天数.
五
总结
大部分的指标(数量/金额等通过数字类型定义的字段)适用于SUM求和,可以获取一个合计数量或金额.方便从整体查看数据.
但是个别字段,比如单价/天数等字段, 汇总没有具体的业务含义, 在统计时,可以考虑使用MIN/MAX/AVG获取一个相对有价值的集合值呈现出来.
THE
END
约定
如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.
(如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)
公众号 : syjf1976_abap
ABAP开发技巧
微信号 : 392077
请微信联系管理员:
syjf1976
sharry_xlp
Yannick_Duan
申请进入公众号讨论群提问或者参与话题讨论