本人有一个数据库,但数据不是很干净,需要整理一下,原数据大致如下:
| company | date | type |
| 1001 | 200101 | . |
| 1001 | 200102 | . |
| 1001 | 200103 | 3 |
| 1001 | 200104 | . |
| 1001 | 200105 | . |
| 1001 | 200106 | 3 |
| 1001 | 200107 | . |
| ……. | | |
| 1002 | 200101 | . |
| 1002 | 200102 | . |
| 1002 | 200103 | . |
| 1002 | 200104 | . |
| 1002 | 200105 | . |
| 1002 | 200106 | . |
| 1002 | 200107 | . |
| ……. | | |
| 1003 | 200101 | . |
| 1003 | 200102 | . |
| 1003 | 200103 | 2 |
| 1003 | 200104 | . |
| 1003 | 200105 | . |
| 1003 | 200106 | 3 |
| 1003 | 200107 | . |
| ……. | | |
第一步 对于那些缺失type值的公司,予以去除 (只要该公司所有时间段内,type都是'.',就去除掉,如1002)
第二步 对于那些在某个月有type值的, 就让其他缺失的月份的type值 也和该月一致。(比如1001 有一个月是3,就让其他月分也都是3);
第三步 对于那些在某个时间段变更type值的, 就让type值在变更前,重复第二步工作。如果变更了,从变更之日起后面的缺失的type值也随着变为该值,而且希望把公司名也变更一下;
希望得到如下:
| company | date | type |
| 1001 | 200101 | 3 |
| 1001 | 200102 | 3 |
| 1001 | 200103 | 3 |
| 1001 | 200104 | 3 |
| 1001 | 200105 | 3 |
| 1001 | 200106 | 3 |
| 1001 | 200107 | 3 |
| ……. | | |
| 1003 | 200101 | 2 |
| 1003 | 200102 | 2 |
| 1003 | 200103 | 2 |
| 1003 | 200104 | 2 |
| 1003 | 200105 | 2 |
| 1003_1 | 200106 | 3 |
| 1003_1 | 200107 | 3 |
| ……. | | |
由于数据过多,一一更改太过繁琐,是否有高人可以解答一下!
多谢了!