SQL Server의 열 변환에 대한 심층적 인 안내서
많은 수의 메트릭 열이 포함 된 테이블을 처리 할 때이 열을 행으로 변환하는 것은 분석 및보고 목적으로 매우 유리합니다. 이 변환에는 데이터를 재건하여 스키마가 다른 새 테이블을 생성하는 것이 포함됩니다.
문제 설명
다음 테이블 구조를 고려하십시오 :
[ID] [EntityID] [Indicator1] [Indicator2] [Indicator3] ... [Indicator150]
목표는이 메트릭 열을 행으로 변환하여 다음 스키마를 사용하여 새 테이블을 만드는 것입니다.
[ID] [EntityId] [IndicatorName] [IndicatorValue]
]]]
unpivot
사용 솔루션이 작업을 수행하기위한 우아한 솔루션은 Unpivot 기능을 활용하는 것입니다. unpivot의 구문은 다음과 같습니다.
UNPIVOT ([unpivot column] FOR [pivot column] IN ([pivot values]))
이 예제에서, 비 vIt 열은 표시기 값 (예 : "indicator1", "indicator2"등)을 나타내며, 피벗 열은 열 이름 자체를 나타냅니다. 다음 쿼리는 비 큐트 사용 방법을 보여줍니다.
select id, entityId,
indicatorname,
indicatorvalue
from yourtable
unpivot
(
indicatorvalue
for indicatorname in (Indicator1, Indicator2, Indicator3)
) unpiv;
이 쿼리를 수행하면 메트릭 열이 행으로 변환되고 메트릭 이름과 값은 새 열로 채워집니다.
대안
unpivot 외에도 열을 행으로 변환하는 다른 방법이 있습니다.
솔루션의 선택은 특정 요구 사항과 사용 된 SQL Server 버전에 따라 다릅니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3