我目前有一个包含多个行和列的表,如bellow(行中的数据有些分组)
ID Column1_1 Column1_2 Column1_3 Column1_4 Column2_1 Column2_2 Column2_3 etc.
1 data11 data12 data13 etc.
2 data21 data22 etc.
3 data31 etc.
我需要将此表导出为excel,如下所示:
ID Column DATA
1 Column1_1 data11
1 Column1_2 data12
1 Column1_3 data13
1 Column1_4 data14
2 Column2_1 data21
2 Column2_2 data22
我想先将它导出到一个大的Excel中,然后创建多个工作表。但我可以在Excel中使用group by吗?
答案 0 :(得分:1)
您可以使用UNPIVOT
SELECT
ID, ColumnName, DataValue
FROM
YourTable
UNPIVOT
(
DataValue FOR ColumnName IN (Column1_1, Column1_2, Column1_3, Column1_4, Column2_1, Column2_2, Column2_3.........)
)
AS unpvt;
https://docs.microsoft.com/en-us/sql/t-sql/queries/from-using-pivot-and-unpivot
答案 1 :(得分:0)
您正在规范化数据,并且您只有一个名为Row Normalizer
的字段。 (Official doc is here)。
不可否认,最初几次你用过时的词汇拉你的头发,只是因为微软通过将这个操作称为“枢轴”来重新发明轮子。
在您的情况下,Typefield
为“列”,Fieldname
为“Column1_1”,或者您的输入中列出的任何列,Type
为“Column1_1”或无论你想在输出上的Column
列中写什么,New field
是“DATA”或者你想要命名输出非规范化列的任何内容。
当然,有一个底部按钮可以帮助你,但是,因为它接缝是你的第一次,我建议你先用两个或树柱手动尝试。