如何设置能提取一年之内没有升级的人员

image.png

上图是基础数据,最后一列是升级的时间,要取一年之内没有升级人员出来

FineReport wgw3721 发布于 2023-4-26 13:34 (编辑于 2023-4-26 13:34)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共6回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-4-26 13:54(编辑于 2023-4-26 14:20)

SqlServer?

----------

SELECT * FROM (

SELECT 流程,姓名,max(升级时间) [max_] FROM bpm_data_150 group by 流程,姓名

) T WHERE T.MAX_<=CONVERT(NVARCHAR(10),DATEADD(YEAR,-1,GETDATE()),120)

  • wgw3721 wgw3721(提问者) SELECT 流程,姓名,级别,升级时间 FROM bpm_data_150
    2023-04-26 14:04 
  • Z4u3z1 Z4u3z1 回复 wgw3721(提问者) 我的意思是数据库是SqlServer?oracle?mysql?还是其他的?
    2023-04-26 14:06 
  • wgw3721 wgw3721(提问者) 回复 Z4u3z1 SqlServe
    2023-04-26 14:13 
  • Z4u3z1 Z4u3z1 回复 wgw3721(提问者) 补充在上面了
    2023-04-26 14:20 
最佳回答
0
snrtuemcLv8专家互助
发布于2023-4-26 13:38

帆软的话,数据集就

select * from 表 where time<='${yeardelta(today(),-1)}'

  • wgw3721 wgw3721(提问者) 每个人的升级时间不止一个,比如一年前升了1级,半年前又升了1级 这样就不准确了
    2023-04-26 13:41 
最佳回答
0
大林3143511Lv5中级互助
发布于2023-4-26 13:47

按照你说的:

1)先按照人排序,取出最后一次升级的时间

2)然后判断最后一次升级时间和一年(365天)的关系。

  • wgw3721 wgw3721(提问者) 用什么命令能取出最后一次升级的时间
    2023-04-26 13:50 
  • 大林3143511 大林3143511 回复 wgw3721(提问者) 那看你的数据库是什么样的,要分组,也可以单纯用帆软公式做,你可以发我下内置数据库,我看看
    2023-04-26 13:53 
  • wgw3721 wgw3721(提问者) 回复 大林3143511 SELECT 流程,姓名,级别,升级时间 FROM bpm_data_150
    2023-04-26 14:04 
最佳回答
0
l香菜lLv4见习互助
发布于2023-4-26 13:56

组内排名 取组内排名为1的

公式 

https://help.fanruan.com/finereport10.0/doc-view-1914.htmlSQL ORACLE 

rank() over()

最佳回答
0
qiqits1984Lv6中级互助
发布于2023-4-26 14:11(编辑于 2023-4-26 14:11)

sql 数据集过滤 mysql 

取日期小于当前日期一年的数据

 where time < date_add(sysdate(), interval -1 year);

最佳回答
0
hrshnfgngLv2见习互助
发布于2023-4-26 14:20

首先计算出上次升级与当前时间:(today ()-times )/365

然后再用def函数识别出上面时间点>1的所有人

然后制作图表:>1以上时间的所有人员

然后导出EXCEL表就可以得到想要的数据了

而且还是实时的动态变化的

  • 6关注人数
  • 401浏览人数
  • 最后回答于:2023-4-26 14:20
    请选择关闭问题的原因
    确定 取消
    返回顶部