mySQL,二维化为一维

我已经忘记了我所知道的关于枢轴的任何事情,但是在我看来却是相反的。 假设我有一组项目A,B,C,D,…和属性W,X,Y,Z的列表。我有一个电子表格

ABCD W 1 P 3 Q X 5 R 7 S YT 2 U 4 ZD 6 F 7 

其中项目B的属性X的值是“P”。 为了做一些比较的统计,我想把它从表格改成列表,也就是说,

 WA 1 XA 5 YAT ZAD WBP XBR YCU ZCF WDQ XDS YB 2 ZB 6 Etc. 

我可以很容易地在电子表格中编写一个嵌套的循环macros来做到这一点,但是有没有一种简单的方法将其导入到mySQL格式中? 如果数据是第二种格式,那么在SQL中使用查询来获得所需的统计信息是很简单的(并且在电子表格中公式不是很难)。

由于显然不是“电子表格”标签,我使用“excel”。 🙂

第一眼看上去有很多类似的问题,但是我所看到的五个都想放弃其中一个指数(AD或WZ),也就是说创造类似

 W 1 WP X 5 XR 

EDITED

您可以使用PowerQuery来转移表格。 请参阅teylyn的回答以下问题。 我有Office 365,并不需要先安装插件。 function已经可用。

将matrix转换为3列表格('反向枢轴','不透明','平坦','正常化')

另一种在不使用VBA的情况下取消数据传输的方法是使用PowerQuery,这是Excel 2010及更高版本的免费插件,可在此处find: http : //www.microsoft.com/en-us/download/details.aspx?id=39379

单击第一列的列标题将其选中。 然后,在“变换”function区上,单击“Unpivot Columns”下拉列表并select“Unpivot其他列”。

老解答

如果按原样导入电子表格,则可以运行查询以输出正确的格式。 对于固定的less量项目,可以对每个列使用UNION

 SELECT attr, 'A' AS 'item', A AS 'value' FROM sheet UNION SELECT attr, 'B' AS 'item', B AS 'value' FROM sheet UNION SELECT attr, 'C' AS 'item', C AS 'value' FROM sheet UNION SELECT attr, 'D' AS 'item', D AS 'value' FROM sheet; 

工作示例: http : //sqlfiddle.com/#!9/c274e7/7