全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2470 5
2014-12-18
请教各位高人,如何根据条件在满足条件观测值的下方插入新行?


条件:根据Name 和id 顺序,截止到2010-01-09,如果id不连续(缺行)则补充行:
          ①id和date 按照排列顺序补齐   ②其他=上一行数据

数据如下:
复制代码

应该补齐如下 (若id不连续则补充行,截止2010年)
Name id date money


A 1 2007-01-09 90
A 2 2008-01-09 80
A 3 2009-01-09 80---------非首行,money=上一行money 80
A 4 2010-01-09 70

B 1 2005-01-09 0  ---------Name=B的首行,money取0或空.
B 2 2006-01-09 89
B 3 2007-01-09 98
B 4 2008-01-09 87
B 5 2009-01-09 87---------非首行,money=上一行87
B 6 2010-01-09 87
----------------------从ID=1开始截止2010年止,每年1月9日
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-12-18 16:01:32
1. 是补全2006-01-09 至 2010-01-09的所有1月9号的年吗?如果是,那第一个group为啥没对2006-01-09补全?
还是自动探测每个group最小的那个年,从最小的那个年至2010进行补齐?

2. 补入的MONEY值有什么要求?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-12-18 18:21:28
Tigflanker 发表于 2014-12-18 16:01
1. 是补全2006-01-09 至 2010-01-09的所有1月9号的年吗?如果是,那第一个group为啥没对2006-01-09补全?
...
您好,是补全id=1 开始 至 2010-01-09的所有1月9号的年。第一个group是从 2007-01-09开始的,  ID=1 日期为2007-01-09
money=上一行money或首行时空.。见下。谢谢。

应该补齐如下 (若id不连续则补充行,截止2010年)
Name id date money

A 1 2007-01-09 90
A 2 2008-01-09 80
A 3 2009-01-09 80---------非首行,money=上一行80
A 4 2010-01-09 70

B 1 2005-01-09 0  ---------Name=B的 首行,money取0或空.
B 2 2006-01-09 89
B 3 2007-01-09 98
B 4 2008-01-09 87
B 5 2009-01-09 87---------非首行,money=上一行87
B 6 2010-01-09 87
----------------------截止2010年,每年1月9日
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-12-19 00:06:31
复制代码
给,做的我好辛苦的。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-12-19 13:10:50
试试这个:
复制代码
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-12-19 13:34:32
Tigflanker 发表于 2014-12-19 00:06
给,做的我好辛苦的。
辛苦。

自己功夫没到用数组做没成功,又学到哈希一招。

非常感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群