我需要取消透视下表,以便输出如下图所示。
这是否需要我在数据集上执行两次 UNPIVOT,或者我可以通过使用 UNPIVOT 一次并指定所有可用的月份和值列来完成我的预期输出?
我的脚本应该类似于以下内容来完成我需要的吗?
Select ID, Name, Age, Gender,Month,Value
FROM
(Select ID, Name, Age, Gender,Month1,Month2,Month3,Month4,Value1,Value2,Value3,Value4
FROM MyTable
) as cp
UNPIVOT
(
Month FOR Months IN (Month1, Month2, Month3,Month4),
Value for Values IN (Value1,Value2,Value3,Value4)
) AS up;
您想要做的是交叉应用而不是 unpivot。这允许取消旋转多个列,而
UNPIVOT
只允许取消旋转单个列。像这样的东西:
结果: