对分组表进行数学运算

2024-02-21

我的问题不在于真正的编程语言。

我有一个 ABAP 语言练习,但该语言不是很重要。

无论如何,我有一张桌子:

我需要计算该职位的总成本(显然是在选择之后)。 然后,该表将按两个字段(MATNR 和 BUKRS)进行分组,因此我需要知道每个组的头寸总成本 MAX、总成本 MIN 和总成本 AVERAGE。

但是我需要一个简单的算法来解决这个问题(伪代码)。

我希望我说清楚了。


对于表聚合,我发现 LOOP 中的 AT 函数非常方便。

根据您需要的维度对字段进行排序,并按升序或降序对值进行排序。

此处字段的顺序非常重要,因为 AT 会查找指定字段及其左侧同一行中的所有字段中的更改。因此,您可以逐个处理组并将组聚合的结果附加到结果表中。

LOOP AT lt_itab ASSIGNING <ls_itab>.
  AT NEW bukrs. "at first entry of combination matnr, bukrs
    ls_agg-matnr = <ls_itab>-matnr.
    ls_agg-bukrs = <ls_itab>-bukrs.
  ENDAT.

  TRY.
    ADD <ls_itab>-amount TO lf_sum.
  CATCH cx_sy_arithmetic_overflow.
     lf_sum = 9999.
  ENDTRY.

  lf_count = lf_count + 1.
  IF <ls_itab>-amount > lf_max.
     lf_max = <ls_itab>-amount.
  ENDIF.

  AT END OF bukrs. "after last entry of combination matnr,bukrs
    ls_agg-avg = lf_sum / lf_count.
    ls_agg-max = lf_max.
    APPEND ls_agg TO lt_agged.
    CLEAR: ls_agg, lf_sum, lf_count, lf_max.
  ENDAT.
ENDLOOP.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

对分组表进行数学运算 的相关文章

  • MySQL order by 在 group by 之前

    这里有很多类似的问题 但我认为没有一个能充分回答这个问题 我将从当前最流行的继续question https stackoverflow com questions 5140785 mysql order before group by如果
  • 两个平面之间的交线

    如何找到两个平面之间的交线 我知道数学思想 并且我做了平面法向量之间的叉积 但如何以编程方式从结果向量中获取行 平面的方程为ax by cz d 0 其中 a b c 是平面的法线 d 是到原点的距离 这意味着满足该方程的每个点 x y z
  • 为什么不是每种类型的对象都可序列化?

    为什么不是每种类型的对象都是隐式可序列化的 以我有限的理解 对象不就是简单地存储在堆上并将指向它们的指针存储在堆栈上吗 难道您不应该能够以编程方式遍历它们 以通用格式存储它们 并且还能够从那里重建它们吗 某些对象封装了无法访问的资源 例如文
  • 将 Eclipse 的“开放调用层次结构”过滤为仅我的公司/项目

    我最喜欢的 Eclipse 功能之一是能够打开调用者 被调用者层次结构 http eclipse tools sourceforge net call hierarchy index html的一个方法 默认情况下 该视图显示对我的代码库之
  • 如何正确区分树(即嵌套的字符串列表)?

    我正在使用由嵌套字符串列表组成的数据类型的在线编辑器 请注意 如果每次更改单个值时我都要传输整个结构 那么流量可能会变得难以忍受 所以 为了减少流量 我想到了应用 diff 工具 问题是 如何找到并报告两棵树的差异 例如 ah bh ha
  • 是否可以通过括号来防止死亡?

    有时 我会编写一些带有比我喜欢的更多括号的代码 if new Day new Date millisecondsPerDay 75 instanceof oldDay Bonus points if that condition made
  • 在连接中使用聚合函数时如何使用 Group By 子句?

    我想连接三个表并计算表 A 的总和 数量 我尝试了一些东西 得到了想要的输出 但我仍然对聚合函数和 Group By 子句感到困惑 在通过连接两个或多个表来计算总和值时 我们需要在 Group By 子句中提及哪些列以及为什么需要给出这些列
  • 软件需求分析[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有很多用于编写和管理需求的工具 但是有什么好的工具可以用来审查它们吗 我不是在谈论managing审查 但寻找常见需求错误的自动化工具 例
  • 为什么要使用继承? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 链表、数组和硬件内存缓存

    虽然之前有人问过关于链表与数组的问题 但答案大多归结为我们大多数人在某些时候可能已经学到的东西 列表擅长插入和删除 数组擅长随机访问 现在 像 Bjarne Stroustrup 这样受人尊敬的人已经argued https www you
  • 基本编程/算法概念[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我即将 与其他程序员一起 在我的高中
  • CakePHP GROUP 和 COUNT 个项目在列表中返回

    我知道这里有一些类似的问题 但它们都是关于使用时的 Model gt find all 但这不是我正在做的 我正在做的 Model gt find list 这就是工作与不工作之间的区别 给定一组产品 我想找到该组中的所有品牌以及每个品牌的
  • 导致堆栈溢出的最短代码是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在mysql中使用GROUP BY时,如何选择最长的文本字段,如MAX()?

    在 MySql 中 您可以使用MAX 使用时获得最高值的函数GROUP BY 我怎样才能做同样的事情来获得最长的文本字符串 样本表 id post id title body 1 ZXBF1J Favorite Color My favor
  • 什么是样板代码、热点代码和热点?

    我知道这些术语是在性能实现 优化的背景下使用的 最近一直在研究这个问题 并尝试过搜索 但没有得到任何例子 清楚地阐述 描述这些概念以及在现实世界开发场景中实现这些问题 概念 有人可以彻底解释这些术语 示例场景以及可能使用这些概念和术语的地方
  • 在包内的所有程序中搜索 MODIFY 语句

    我想搜索包内所有使用以下语句的程序 从 wa itab xyz 修改 itab xyz 最好使用通配符 如 itab 搜索字符串 对于一系列 itab values 如 itab abc itab def itab ghi ETC 我如何在
  • 为什么Mysql的Group By和Oracle的Group by行为不同

    为什么Mysql的Group By和Oracle的Group by行为不同 我多次发现 Mysql group By 功能和 Oracle 的 GroupBy 功能表现不同 很多时候我在Oracle中发现错误 这实际上是错误的查询 但是My
  • 编程语言语法中尾随逗号的历史

    许多编程语言允许在其语法中在列表中的最后一项后面使用尾随逗号 据说这样做是为了简化自动代码生成 这是可以理解的 作为示例 以下是 Java 中完全合法的数组初始化 JLS 10 6 数组初始值设定项 http java sun com do
  • 需要帮助解决 Project Euler 问题 200 [已关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在尝试制定一个算法来解决 We
  • 如何为抽象工厂创建的类设置特定属性?

    是否可以让具体工厂使用抽象工厂模式为其创建具有特定类型参数的具体类 或者由各自的具体工厂创建的不同具体类是否需要具有相同的字段 例如 在下图中 您将如何使用客户端 应用程序 给出的不同参数集来实例化 WinButton 和 OSXButto

随机推荐

  • 替换for循环Python中的字符串元素

    我正在从文本文件中读取数据 因此每一行都是一个字符串列表 所有这些列表都在数据列表中 所以我的列表看起来像 data row1 row2 etc row1 str1 str2 etc 我正在尝试删除行列表中的字符串中出现的任何 或 符号 我
  • LZW解压算法

    我正在为必须实现 LZW 压缩 解压缩的作业编写一个程序 我为此使用以下算法 压缩 w NIL while read a character k if wk exists in the dictionary w wk else add wk
  • 如何将按钮字体设置为 Marlett

    我正在尝试将按钮的字体设置为系统的 Marlett 字体 然而 虽然我手动设置了font face 但使用了其他字体 此外 当我使用字体对话框为该按钮选择字体时 Marlett 未列出 为什么会这样呢 如何在 NET Windows 窗体控
  • 第一个列表滚动在聚合物中结束后,铁滚动阈值永远不会执行

    我已经使用以下方法完成了iron list and iron scroll threshold为了在聚合物中实现无限滚动 但问题是 loadMoreDatairon scroll threshold在聚合物中第一个列表滚动结束后永远不会执行
  • Symfony 使用哪个单元测试框架?

    Symfony 使用哪个单元测试框架 Lime 还是 PHPUnit 使用它们有什么优点和缺点 在我看来 以下是我想到的一些事情 PHPUnit is more integrated with other tools like for in
  • MonoFoldable 有什么损失吗?

    单折叠 https hackage haskell org package mono traversable 1 0 0 1 docs Data MonoTraversable html t MonoFoldable in the 单通行
  • Laravel 5 MethodNotAllowedHttpException PUT

    我正在尝试更新用户 但是当我点击提交按钮时 Laravel 抛出以下错误 RouteCollection gt methodNotAllowed array GET HEAD POST 在 RouteCollection php 第 206
  • 开玩笑嘲笑参考错误

    我正在尝试使用以下模拟 const mockLogger jest fn jest mock myLoggerFactory gt type gt mockLogger 但是mockLogger会抛出引用错误 我知道笑话试图保护我免于超出模
  • 使用 jquery 禁用提交按钮

    我想在单击表单中的提交按钮后禁用它 以限制用户一次又一次地单击它 我用 jquery 尝试了这个 form submit function var formId this id if formId formId input type sub
  • 通过 PhpStorm 中的 Docker 容器使用 xdebug

    我读过一些关于此的文章 但没有一个对我的案例有帮助 或者只是忽略了缺失的部分 我无法使用 Docker 容器让 xdebug 在 PhpStorm 上工作 Docker compose yml version 2 services web
  • LEFT JOIN ON Google BigQuery 中的最近日期

    我有两个表 都有时间戳和更多数据 Table A name timestamp a data 1 2018 01 01 11 10 00 a 2 2018 01 01 12 20 00 b 3 2018 01 01 13 30 00 c T
  • Objective C 中的友元类

    我正在将 cpp 代码移植到 Objective C 中 In cpp我们可以添加一个类friend class到另一个类并使用其所有公共函数和变量 我知道Objective C does not support friend class概
  • 将 *ngFor 用于带有嵌套数组的 JSON 对象

    我有一个 JSON 对象 它具有多个级别的嵌套对象以及嵌套的对象数组 我想知道如何使用 Angular2 和 ngFor 迭代对象并最终打印出列出的内容 第一个 ngFor 有效 但下一个 ngFor 给我错误提示Cannot read p
  • 在 SQLite3 中插入​​和返回自动身份

    当我向数据库中插入一行时 我试图找出获取最后一个 ID 的最佳方法 它是一个基本库 它将异常和程序状态数据记录到 SQLite 数据库中 使用System Data SQLite 该库可以从控制台应用程序 表单应用程序 网站 服务 单线程
  • 使用codeigniter按每个类别的降序获取三个记录

    我有两个类别 我想获取每个类别的三个记录 后来我找到了这个链接使用 Codeigniter 活动记录模式进行 UNION 查询 https stackoverflow com questions 2040655 union query wi
  • 将 spring-boot-starter-parent 升级到版本 2.6.6 后,Java Spring Boot java.lang.NoClassDefFoundError [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我有一个 Spring Boot 应用程序 一直在使用 spring boot starter parent 版本 2
  • 如何从metrics-server获取Pod CPU和内存使用情况?

    我目前在 K8s 集群中安装并运行了指标服务器 利用 kubernetes python 库 我可以发出此请求来获取 pod 指标 from kubernetes import client api client client ApiCli
  • 没有默认构造函数?

    include
  • 如何防止 Visual Studio 在 Web 项目中“发布”XML 文档文件?

    Note 这个问题类似于如何防止在发布模式构建中复制 XML 文档文件 https stackoverflow com questions 3980958 how to prevent the copy of xml documentati
  • 对分组表进行数学运算

    我的问题不在于真正的编程语言 我有一个 ABAP 语言练习 但该语言不是很重要 无论如何 我有一张桌子 我需要计算该职位的总成本 显然是在选择之后 然后 该表将按两个字段 MATNR 和 BUKRS 进行分组 因此我需要知道每个组的头寸总成