我已经通过使用DB Browser通过简单地插入包含多个表的所有csv文件来构建数据库,该表如下所示:
sqlite> .schema P2012_EBITDA
创建表P2012_EBITDA
(
Mark
,
Companyname
,
BvDIDnumber
,
CountryISOCode
,
Dateofincorporation
,
Cons.code
,
Lastavail.year
,
ClosingdateLastavail.yr
,
Numberofavailableyears
,
NACERev.2Corecode(4digits)
,
BVDindependenceindicator
,
Type(s)ofaccountsavailable
,
Typeofentity
,
EBITDAthUSDLastavail.yr
,
EBITDAthUSDYear-1
,
EBITDAthUSDYear-2
,
EBITDAthUSDYear-3
,
EBITDAthUSDYear-4
,
EBITDAthUSDYear-5
,
EBITDAthUSDYear-6
,
EBITDAthUSDYear-7
,
EBITDAthUSDYear-8
,
EBITDAthUSDYear-9
);
sqlite> SELECT * FROM P2012_EBITDA LIMIT 1; 1 |皇家荷兰盾PLC | GB04366849 | GB | 2002/5/2 | C2 | 2010 | 31/12/2010 | 6 | 0610 | A + |缺点&Uncons。|工业公司| 51,927,636 | 36,122,919 | 65,082,035 | 62,494,114 | 57,180,747 | 56,649,160 ||||
现在,我需要转换数据,以便BvD ID和会计年度唯一地标识一条记录。首先,确定哪一年是“最后可用会计年度”(0,-1,-2,-3,-4,-5,-6,-7,-8,-9)。假设记录的帐户关闭日期为2012/7/1或之后,然后将最后一个可用会计年度定义为2012。如果关闭日期是2012/6/30或之前,将最后一个可用会计年度定义为2011。 ,将所有相对年份转换为绝对会计年度(例如,如果最后一个可用会计年度为2011,则绝对年份为2011、2010、2009、2008、2007、2006、2005、2004、2003、2002)。 ,将数据从“宽格式”更改为“长格式”。由于现在BvD ID +会计年度可以唯一标识一条记录,因此您可以将主键设置为BvD ID和会计年度。
非常感谢!