MS熔化的MS Access版本

问题描述 投票:0回答:1

假设一个表这样组织:

Row |  School | LocationCode2011 |  LocationCode2012 | LocationCode2013 

001      ABC        1000A                1000B                2000X
002      DEF        2000A                2000B                4000X

打算将其更改为此:

Row |  School |    Location        | Value

001      ABC    LocationCode2011     1000A
001      ABC    LocationCode2012     1000B
001      ABC    LocationCode2013     2000X
002      DEF    LocationCode2011     2000A
002      DEF    LocationCode2012     2000B
002      DEF    LocationCode2013     4000X

Python是我的首选语言,但我需要在MS Access中实现。在Python中,我会这样做

df2 = df.melt(id_vars=["Row","School"], value_vars=["LocationCode2011", "LocationCode2012", "LocationCode2013""], var_name="Location",val_name="Value")

并接收存储在df2中的新表。到目前为止,我一直在寻找有关Access中“融化”的文档,但我不知道Transform是否正是我所需要的。

ms-access transform melt
1个回答
0
投票

在Access中,可以通过UNION查询将数据重新安排为规范化的结构。

SELECT Row, School, LocationCode2011 AS Value, "LocationCode2011" AS Location FROM tablename
UNION SELECT Row, School, LocationCode2012, "LocationCode2012" FROM tablename
UNION SELECT Row, School, LocationCode2013, "LocationCode2013" FROM tablename;

然后,如果您希望它提交到新表,请将此查询用作SELECT INTO操作SQL的源,或者如果表已经存在,则使用INSERT操作。

© www.soinside.com 2019 - 2024. All rights reserved.