2014-11-08 4 views
0

다양한 시장 지수, 날짜 및 값이있는 Excel 파일이 있습니다. 이 파일에는 시장 인덱스 이름을 나타내는 왼쪽에 하나의 열이 있고 오른쪽에 많은 날짜 열이옵니다. Excel, SSIS 또는 SQL Server에서이 피벗을 수행 할 수 있습니다. 각 프로그램의 최신 버전이 있습니다. Excel에서 특수 전치를 복사하여 붙여 넣기 만하면됩니다. 가능한 한 자동화 된 솔루션을 원합니다. 이 데이터를 SSMS에로드하고 SQL을 사용하는 것이 가장 쉽다고 생각합니다. 필요한 경우 날짜 형식을 변경할 수 있습니다.Excel, SSIS 또는 SQL Server를 사용하여 피벗 또는 피벗 해제

필자는 SSIS와 SSMS 모두에서 피벗을 사용했지만 항상이 작업보다 적은 수의 열을 사용했으며 많은 양의 열과 열 수에 대한 가능성이있는 방식으로이 방법에 접근하는 방법을 잘 모릅니다 날짜)를 변경하십시오. 아마도 이것은 동적 SQL을 요구합니다. 대량의 열을 구성하는 날짜는 잠재적으로 100 행 이상을 확장 할 수 있습니다. 특정 일에 인덱스에 값이 없으면 null 값이있을 수 있습니다.

입력 데이터 여기서

Input

원하는 출력 포맷이다. 여기

Output

이 데이터는 날짜 열 헤더가 SSMS 2012로 로딩된다. 날짜와 색인 이름을 바꾸는 것과 같은 목표.

enter image description here

답변

1

나는이의 엑셀 파워 쿼리 추가 기능을 사용할 수 있습니다. 사용할 수있는 Pivot 및 Unpivot 명령이 있습니다. 두 명령의 Power Query 구현은 동적입니다. 즉 입력 데이터의 변형에 맞게 조정됩니다.

시나리오의 경우 먼저 다른 모든 열 이름 지정 및 피킹 해제를 선택합니다. 그러면 각 날짜 열과 값이 행으로 변환됩니다. 그런 다음 이름 열에 피벗 (Pivot)을 클릭하면 각 Name 값에 대한 열이 생성됩니다.

이 프로세스를 자동화하려면 Excel 파일 (Power Queries 포함)을 열고 새로 고침하고 저장하기 위해 몇 줄의 VBA 코드 또는 스크립트 코드 만 있으면됩니다. 이에 대한 다양한 옵션이 있습니다 (예 :

http://southbaydba.com/2013/09/10/part-5-power-query-api-refreshing-data-indeed/