找文章 / 找答案
  • 发帖数6
  • 粉丝1

此人很懒,什么也没有留下

    精选问答 更多内容

    [数据处理] 如何判断连续三分钟内的销售数量

    yhdata_WV09cc5P新手上路 显示全部楼层 发表于 3 小时前 |阅读模式 打印 上一主题 下一主题
    我想计算连续三分钟之内,累计销售数量是否超过500,目前只能想到把时间戳精确到5分钟,但只能是整点0-5分,想问问社区的大神们有什么办法解决?
    这是基础数据,主要看时间是连续三分钟内的数量之和。
    回复

    使用道具 举报

    精彩评论11

    朝花夕拾铂金一 显示全部楼层 发表于 3 小时前
    本帖最后由 朝花夕拾 于 2024-11-28 14:28 编辑

    你现在只说了个窗口大小,那滑动步长是多久,比如每隔多久的3分钟内。
    另外我看你这个销售时间都没有在同一天的,需要精确到分钟吗

    回复

    使用道具 举报

    yhdata_WV09cc5P新手上路 显示全部楼层 发表于 3 小时前
    朝花夕拾 发表于 2024-11-28 14:25
    你现在只说了个窗口大小,那滑动步长是多久,比如每隔多久的3分钟内

    就是从每一行开始算起的三分钟内 如果第一行时间是14:05:00 销售数量是300,下面一行是14:06:00 销售数量是300 那这就算三分钟内超500
    回复

    使用道具 举报

    yhdata_WV09cc5P新手上路 显示全部楼层 发表于 3 小时前
    现在只能做到这样
    e47f6731e03c8626ea9530e9854a497.png
    回复

    使用道具 举报

    朝花夕拾铂金一 显示全部楼层 发表于 3 小时前
    这个数据在数据库中吗,用开窗函数容易解决
    回复

    使用道具 举报

    yhdata_WV09cc5P新手上路 显示全部楼层 发表于 3 小时前
    朝花夕拾 发表于 2024-11-28 14:35
    这个数据在数据库中吗,用开窗函数容易解决

    在的 开窗函数具体怎么用 有相关教程贴吗
    回复

    使用道具 举报

    朝花夕拾铂金一 显示全部楼层 发表于 3 小时前
    是oracle或者mysql8以上吗
    1. SUM(销售数量)OVER(PARTITION BY 1 ORDER BY 销售时间 RANGE BETWEEN current row and INTERVAL '3' MINUTE following) 三分钟内数量之和
    复制代码

    参考:https://www.cnblogs.com/fjhh/p/4036618.html
    回复

    使用道具 举报

    yhdata_WV09cc5P新手上路 显示全部楼层 发表于 2 小时前
    朝花夕拾 发表于 2024-11-28 14:52
    是oracle或者mysql8以上吗

    参考:https://www.cnblogs.com/fjhh/p/4036618.html

    但是我们这个数据库只有查看权限 不能编辑 而且我也不会编辑
    回复

    使用道具 举报

    朝花夕拾铂金一 显示全部楼层 发表于 2 小时前
    yhdata_WV09cc5P 发表于 2024-11-28 14:57
    但是我们这个数据库只有查看权限 不能编辑 而且我也不会编辑

    啊,我这个就是查询语句啊,有查看权限就行了,你可以把你的数据库配置为永洪的数据源,然后在SQL数据集中进行编辑SQL
    回复

    使用道具 举报

    朝花夕拾铂金一 显示全部楼层 发表于 2 小时前
    来自AI的答案,直接用WPS表格做

    1. 计算每个时间点未来三分钟的数量
    2. 1. 在G列(可根据实际自行选择列位置)第一个单元格输入公式,以计算第一个时间点(F2单元格,假设数据从第二行开始,第一行是标题行)未来三分钟的数量为例:
    3.     - 公式思路是通过循环遍历其他时间点,判断是否在当前时间点未来三分钟内,如果是则累加对应的数量。在WPS表格中可以使用SUMIFS函数结合条件判断来近似实现这个功能。
    4.     - 在G2单元格输入公式:
    5. ```
    6. =SUMIFS($B:$B,$F:$F,">"&F2,$F:$F,"<="&(F2+TIME(0,3,0)))
    7. ```
    8.     - 公式解释:
    9.         - `SUMIFS`函数用于根据多个条件对指定区域求和。
    10.         - `$B:$B` 是要求和的数量所在列的区域,这里固定列引用,以便向下拖动公式时列不变。
    11.         - `$F:$F` 是时间数据所在列的区域,同样固定列引用。
    12.         - `">"&F2` 表示条件是时间要大于当前时间点(F2单元格的时间)。
    13.         - `"<="&(F2+TIME(0,3,0))` 表示条件是时间要小于等于当前时间点加上三分钟(通过 `TIME(0,3,0)` 函数生成三分钟的时间间隔并与当前时间点相加)。
    14. 2. 输入完公式后,按下回车键,即可得到第一个时间点未来三分钟的数量。
    15. 3. 然后将鼠标移到G2单元格右下角,当光标变成黑色十字时按住鼠标左键向下拖动,可将公式应用到整列,从而计算出每个时间点未来三分钟的数量。

    16. 以上步骤在实际操作过程中可能需要根据你的具体数据布局和格式进行适当调整,但基本思路就是先将时间数据处理成可计算格式,然后利用函数来进行条件判断求和以得到每个时间点未来三分钟的数量。
    复制代码
    回复

    使用道具 举报

    高级模式
    您需要登录后才可以回帖 登录 | 免费注册

    • 官方微信

      欢迎关注永洪服务号!收费为0,价值无限

      扫码关注
    • 新浪微博

      让每位用户轻松挖掘数据价值!

      访问新浪微博
    • 智能客服
    50W

    会员等你来哦

    Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
    返回顶部