楼主: mengdengliao
7400 3

[数据管理求助] 急!当master数据库出现do not uniquely identify observations如何Merge [推广有奖]

  • 0关注
  • 0粉丝

大专生

55%

还不是VIP/贵宾

-

威望
0
论坛币
475 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
445 点
帖子
35
精华
0
在线时间
53 小时
注册时间
2015-6-13
最后登录
2020-5-16

楼主
mengdengliao 发表于 2018-2-8 00:01:42 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
现在我的master dataset里面有下面类似的标记可以看到,比如fundid 是10408267对应了两个symbol(一个基金的两个份额,但两个份额其实是一个基金,也就是资产配置是一样的)

  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input long(symbol fundid) float(year quarter)
  4. 1807 10407363 2017 3
  5. 1806 10407363 2017 3
  6. 1817 10407530 2017 3
  7. 1818 10407530 2017 3
  8. 4741 10407589 2017 3
  9. 4775 10407907 2017 3
  10. 4406 10408134 2017 3
  11. 4405 10408134 2017 3
  12. 4854 10408267 2017 3
  13. 4855 10408267 2017 3
  14. end
复制代码


但是现在我需要把基金的资产配置merge到这个数据库,但是在资产配置的数据里只有fundid这个指标
有什么办法可以把这个数据merge过去,让master data里面同一个fundid的两个symbol都match上相同的资产配置数据

  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input long fundid float year byte quarter double stockamount
  4. 108426 2002 1  32.3
  5. 108426 2002 2 44.15
  6. 108426 2002 3 46.26
  7. 108426 2002 4 47.94
  8. 108426 2003 1 50.93
  9. 108426 2003 2 64.17
  10. 108426 2003 3 70.23
  11. 108426 2003 4 74.73
  12. 108426 2004 1 73.07
  13. 108426 2004 2 66.49
  14. end
复制代码








二维码

扫码加我 拉你入群

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

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


沙发
黃河泉 在职认证  发表于 2018-2-8 15:14:27
1. 你用 dataex 印出资料,很好。2. 但要有代表性,你两个档根本就没有相同的 fundid,怎么合并?

藤椅
mengdengliao 发表于 2018-2-18 23:55:30
黃河泉 发表于 2018-2-8 15:14
1. 你用 dataex 印出资料,很好。2. 但要有代表性,你两个档根本就没有相同的 fundid,怎么合并?
谢谢黄老师解答,我说的更具体一些:

我的using dataset是一个关于基金信息的表

  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input long(fundid masterfundcode) str97 fullname byte(isetf islof isqdii)
  4.   107793     61 "华夏盛世精选混合型证券投资基金"                                           2 2 2
  5.   107794     11 "华夏大盘精选证券投资基金"                                                    2 2 2
  6.   108377  40016 "华安行业轮动混合型证券投资基金"                                           2 2 2
  7.   108426      1 "华夏成长证券投资基金"                                                          2 2 2
  8. 10102802  20009 "国泰金鹏蓝筹价值混合型证券投资基金"                                     2 2 2
  9. 10102803 160125 "南方香港优选股票型证券投资基金"                                           2 2 1
  10. 10102804 410009 "华富量子生命力混合型证券投资基金"                                        2 2 2
  11. 10102806 550003 "信诚盛世蓝筹混合型证券投资基金"                                           2 2 2
  12. 10102808 159907 "广发中小板300交易型开放式指数证券投资基金"                            1 2 2
  13. 10102812 150002 "大成优选股票型证券投资基金"                                                 2 2 2
  14. 10102813 519069 "汇添富价值精选混合型证券投资基金"                                        2 2 2
  15. 10102814 540004 "汇丰晋信2026生命周期证券投资基金"                                          2 2 2
  16. 10102815 373010 "上投摩根双息平衡混合型证券投资基金"                                     2 2 2
  17. 10102816 257060 "国联安上证大宗商品股票交易型开放式指数证券投资基金联接基金" 2 2 2
  18. 10102817  50015 "博时大中华亚太精选股票证券投资基金"                                     2 2 1
  19. 10102818 519987 "长信恒利优势混合型证券投资基金"                                           2 2 2
  20. 10102819 233009 "摩根士丹利华鑫多因子精选策略混合型证券投资基金"                   2 2 2
  21. 10102820 159916 "深证基本面60交易型开放式指数证券投资基金"                             1 2 2
  22. 10102821 164811 "工银瑞信睿智深证100指数分级证券投资基金"                               2 2 2
  23. 10102822     21 "华夏优势增长混合型证券投资基金"                                           2 2 2
  24. end
复制代码



我的master dataset是基金每个季度的收益率(所以比如出现了很多次重复fundid):两个表唯一可以连接的变量是fundid。但有些基金一个fundid对应了两个symbol。
现在比如108426号基金,我想把using data的各种关于这只基金的信息match到我的master data,但是在merge 1:1 fundid using fundinfo.dta, 软件报错:variable fundid does not uniquely identify observations in the master datar(459);

我想请教一下,如何merge上去呢?非常感谢!
  1. * Example generated by -dataex-. To install: ssc install dataex
  2. clear
  3. input long(fundid symbol) float(year quarter Perf)
  4. 108426 1 2013 3  2.2902002
  5. 108426 1 2008 3     5.0445
  6. 108426 1 2012 2     4.0365
  7. 108426 1 2013 1     7.6647
  8. 108426 1 2008 4     9.4842
  9. 108426 1 2011 2 -.08039951
  10. 108426 1 2007 2  3.0981026
  11. 108426 1 2007 3  -9.204796
  12. 108426 1 2006 1  -.6148996
  13. 108426 1 2015 4 -4.7566013
  14. 108426 1 2010 4 -.19400024
  15. 108426 1 2014 2     1.3035
  16. 108426 1 2009 3   .9453001
  17. 108426 1 2007 1 -15.711702
  18. 108426 1 2009 1 -15.053398
  19. 108426 1 2008 2  12.207398
  20. 108426 1 2005 2      .4505
  21. 108426 1 2006 3     1.4721
  22. 108426 1 2013 2     10.631
  23. 108426 1 2005 4     -.3506
  24. 108426 1 2014 1     2.9348
  25. 108426 1 2017 2    -2.2181
  26. 108426 1 2010 2    11.3501
  27. 108426 1 2016 1    -4.8526
  28. 108426 1 2012 4 -4.4234004
  29. 108426 1 2015 1    14.1353
  30. 108426 1 2016 2  1.0138999
  31. 108426 1 2014 3  .40659904
  32. 108426 1 2006 2  8.9693985
  33. 108426 1 2009 4 -2.9485016
  34. 108426 1 2012 3     3.3453
  35. 108426 1 2011 4 -1.5425005
  36. 108426 1 2016 3 -2.2505002
  37. 108426 1 2007 4     3.7658
  38. 108426 1 2015 2  2.3783998
  39. 108426 1 2011 3   4.671301
  40. 108426 1 2013 4     1.5998
  41. 108426 1 2010 3    -1.4733
  42. 108426 1 2017 3  -.7180998
  43. 108426 1 2009 2 -3.8353996
  44. 108426 1 2017 4     -3.346
  45. 108426 1 2011 1    -2.8678
  46. 108426 1 2005 3  -.8243003
  47. 108426 1 2017 1  2.2403002
  48. 108426 1 2016 4    -6.7258
  49. 108426 1 2010 1     4.3343
  50. 108426 1 2008 1    13.3434
  51. 108426 1 2015 3   5.953701
  52. 108426 1 2012 1    -3.7636
  53. 108426 1 2006 4   -12.3395
  54. end
复制代码

板凳
小寒mio 发表于 2020-1-4 20:33:29
mengdengliao 发表于 2018-2-18 23:55
谢谢黄老师解答,我说的更具体一些:

我的using dataset是一个关于基金信息的表
你好,我遇到了同样的问题,请问你后来是怎么merge的呢?

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-2-8 22:19