请教替换条件值

stock       indate     listed_date

000001 2014.02.21 1991.04.03

000002 1991.01.29 1991.01.29

000004 2001.09.03 1991.01.14

000004 2009.06.02 1991.01.14

000004 2007.07.03 1991.01.14

0000042021.06.161991.01.14

0000052017.07.031990.12.10

0000051990.12.101990.12.10

0000051999.12.301990.12.10

0000061992.04.271992.04.27

0000062017.07.031992.04.27

如何把上表中个股最小indate值替换为listed_date值(如果最小indate值大于listed_date值,上表中符合的是000001 2014.02.21 1991.04.03 和000004 2001.09.03 1991.01.14)?
请先 登录 后评论

最佳答案 2023-10-10 10:00

试试下面的脚本是否满足要求

st = `000001`000002`000004`000004`000004`000004`000005`000005`000005`000006`000006
indate = 2014.02.21 1991.01.29 2001.09.03 2009.06.02 2007.07.03 2021.06.16 2017.07.03 1990.12.10 1999.12.30 1992.04.27 2017.07.03
listed_date = 1991.04.03 1991.01.29 1991.01.14 1991.01.14 1991.01.14 1991.01.14 1990.12.10 1990.12.10 1990.12.10 1992.04.27 1992.04.27
tmp = table(st, indate, listed_date)
select *, rowNo(indate), imin(indate) from tmp context by st
update tmp set indate=iif(rowNo(indate) == imin(indate) && indate > listed_date, listed_date[imin(indate)], indate) context by st
请先 登录 后评论

其它 0 个回答

  • 1 关注
  • 0 收藏,435 浏览
  • Gaxia320 提出于 2023-10-08 19:06

相似问题