Unpivot Excelmatrix/枢轴表?
有没有一种快速的方法来“不透明”Excelmatrix/数据透视表(在Excel或其他地方), 而无需编写macros或其他代码 ?
再次,我可以编写自己做的代码(C#或VBA或其他)。
我想知道是否有可能无需代码,很快呢?
例如,我需要转换此权限matrix(给出Excel表/matrix)
到这个半规范化表(所以我可以插入到SQL数据库):
例如在SQL中,我可以这样做:
CREATE TABLE dbo.T_DocumentMatrix ( [Function] [varchar](255) NULL, [GROUP-Admin] [varchar](255) NULL, [GROUP-SuperUser] [varchar](255) NULL, [GROUP-Manager] [varchar](255) NULL, [GROUP-OLAP] [varchar](255) NULL, [GROUP-1] [varchar](255) NULL, [GROUP-2] [varchar](255) NULL, [GROUP-3] [varchar](255) NULL, [GROUP-4] [varchar](255) NULL, [GROUP-5] [varchar](255) NULL, [GROUP-6] [varchar](255) NULL, [GROUP-7] [varchar](255) NULL, [GROUP-8] [varchar](255) NULL, [Externals] [varchar](255) NULL );
复制粘贴从Excel中的数据,然后
SELECT * FROM ( SELECT [Function] ,[GROUP-Admin] ,[GROUP-SuperUser] ,[GROUP-Manager] ,[GROUP-OLAP] ,[GROUP-1] ,[GROUP-2] ,[GROUP-3] ,[GROUP-4] ,[GROUP-5] ,[GROUP-6] ,[GROUP-7] ,[GROUP-8] ,[Externals] FROM T_DocumentMatrix ) AS p UNPIVOT ( Rights FOR GroupName IN ( [GROUP-Admin] ,[GROUP-SuperUser] ,[GROUP-Manager] ,[GROUP-OLAP] ,[GROUP-1] ,[GROUP-2] ,[GROUP-3] ,[GROUP-4] ,[GROUP-5] ,[GROUP-6] ,[GROUP-7] ,[GROUP-8] ,[Externals] ) ) AS unpvt ;
但是,这需要我更改表创build脚本和unpivot脚本组中的每个更改…
哦,好吧,这有点复杂。 其中一个问题是,精灵调用快捷方式在excel的非英文版本中不起作用(该死的,在家里我会有英文版,但是在这里工作…)
这是一个很好的video: https : //www.youtube.com/watch?v = pUXJLzqlEPk
但YouTubevideo可以删除,所以使它坚实的SO答案:
首先,您需要转到“选项”,然后添加menuband-item“数据透视表和数据透视图向导”。
创build一个多重合并数据透视表
并使用自定义变体
并select范围,并在新的工作表
然后删除行和列字段
双击NUMBER(图中的54)
excel会给你中途正常化的数据。