如何用层次坐标功能计算E列的值

如何用层次坐标功能  计算  E 列的值,当C 小于100的时候取当前列的上一行和下一行的差值 除以中间的小时差,C 连续小于100的时候一直找到C 大于100 的时候才开始算做被减数

03080fb0f86cead5776a56924ccf9041.png

FineReport 张宇 发布于 2025-10-22 15:33 (编辑于 2025-10-22 15:43)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
CD20160914Lv8专家互助
发布于2025-10-22 15:37(编辑于 2025-10-22 15:37)

表示没有看懂。你这个逻辑  560  320如何来的。80又是如何来的?

  • 张宇 张宇(提问者) 当C 小于100的时候取当前列的上一行和下一行的差值 除以中间的小时差,C 连续小于100的时候一直找到C 大于100 的时候才开始算做被减数
    2025-10-22 15:44 
最佳回答
0
ID1208Lv6高级互助
发布于2025-10-22 15:39

正常范围是多少?

  • 张宇 张宇(提问者) 当C 小于100的时候取当前列的上一行和下一行的差值 除以中间的小时差,C 连续小于100的时候一直找到C 大于100 的时候才开始算做被减数
    2025-10-22 15:44 
  • ID1208 ID1208 回复 张宇(提问者) 来个模版试试
    2025-10-22 15:49 
最佳回答
0
帆软用户fPgo1MfuVVLv2见习互助
发布于2025-10-22 15:39(编辑于 2025-10-22 16:41)

1、当前行的差值 = 当前行的值 - 下一行的值

fr:参考同环比的计算

sql:使用窗口函数计算

同环比- FineReport帮助文档 - 全面的报表使用教程和学习资料

2、当前行的差值 = 下一行的值-当前行的值

fr 不晓得可不可以,这个好像是逐行渲染的,应该不行

推荐用sql预处理一下,使用函数 lead() 、lag()等

SELECT
    year,
    month,
    amount,
    LEAD(amount) OVER (ORDER BY year, month) - amount AS diff
FROM
    sales

  • 4关注人数
  • 72浏览人数
  • 最后回答于:2025-10-22 16:41
    请选择关闭问题的原因
    确定 取消
    返回顶部