You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SAP报表需求:仅展示每个SR NUM的最新日期对应记录

解决SAP报表保留每个SR NUM最新日期记录的方案

用SAP Query子查询直接过滤

如果你的报表基于SAP Query(SQ01/SQ02)搭建,直接在选择条件里加子查询就能搞定:

  • 进入查询的选择条件编辑页,给date字段设条件为「等于」
  • 条件值选「子查询」,写逻辑:SELECT MAX(date) FROM [你的数据表] WHERE sr_num = main.sr_num
  • 这样查询会自动为每个SR NUM匹配最新日期的记录

改ABAP代码做分组去重(有权限的话)

要是你能修改报表的ABAP代码,在数据读取阶段直接处理:

* 先读取所有符合条件的SR数据
SELECT sr_num, date, comments
  INTO CORRESPONDING FIELDS OF TABLE @DATA(lt_sr_records)
  FROM [你的数据表]
  WHERE sr_num IN @s_srnum
    AND date IN @s_date.

* 按SR NUM分组,取最新日期的记录
SORT lt_sr_records BY sr_num date DESCENDING.
DELETE ADJACENT DUPLICATES FROM lt_sr_records COMPARING sr_num.

这段代码先把数据按SR NUM、日期降序排序,再删掉重复的SR NUM条目,剩下的就是每个SR NUM最新的那条记录。

调整变量设置规避多值问题

之前做变量遇到多值报错的话,换个变量创建方式:

  1. 新建一个特征变量,参考sr_num字段,类型选「替换路径」
  2. 替换路径里选「聚合」,聚合类型挑「最大值」,参考字段选date
  3. 报表筛选时把date字段设为「等于」这个变量,注意调整变量的处理顺序,确保先完成聚合再执行筛选

Excel应急处理

如果SAP端操作暂时卡壳,先导出数据到Excel快速处理:

  • 全选数据,按sr_num升序、date降序排序
  • 选中sr_num列,点「数据」选项卡的「删除重复值」,只勾选sr_num,确认后就会保留每个SR NUM的第一条(也就是最新日期)记录

内容的提问来源于stack exchange,提问作者KateB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 12:25:40