2013-04-12 1 views
0

나는 형태의 엑셀 시트가 : 그래서 내가 할 수있는 그은 만들 데이터 정규화 아이디어에 도움이 필요 엑셀 피벗 차트

DtWeek WsName CValues TValues 

:

enter image description here

내가로 변환 할을 내가 WS 이름을 선택하고 CValue 및 TValues의 그래프를보고 다른 모든 WsNames를 생략 할 수있는 피벗 차트가 있어야합니다.

붙여 넣기를 수동으로 복사하지 않으려면 어떻게하면 좋은 방법일까요? 나는 SQL DB에 그것을 덤핑 생각하고 다음을 수행

select WsName, 
     ,case when Current/Target='CurrentEcap' then..... 

하지만 내가 생각할 수있는 그게 전부. 그 후에 잃어버린! 잠시 동안 데이터를 트랜스 포즈하면 더 깔끔하게 보이지만 곧 도움이되지 않습니다. 주로 현재 값을 불연속 항목으로 표시하고 세로 축에 합이나 개수를 표시하는 방법을 알지 못해서입니다. (가로 방향으로 ww/dtweek 포함). 다른 쉬운 방법이 있습니까?

+0

올바른 길을 가고 있어도 데이터의 모양을 다시 잡아야합니다. 보통 이것은 소스에서하기가 더 쉽습니다. 이 보고서를 보내는 사람/시스템과 이야기하고 설명 된 4 칸짜리 테이블을 요청할 수 있습니까? – ExactaBox

+0

더 나쁜 형태의 일부 소프트웨어에 의해 생성됩니다. 내가 포함 된 except 화면은 내가 더 많이 청소 한 후에이다. – camelbrush

+0

그런 다음 매크로를 작성하여 원하는 형식으로 변환합니다. 그리 어렵지 않습니다. 셀 C2에서 시작하여 셀 C1, A2, C2, C3을 빈 워크 시트의 행에 복사하고 한 셀 오른쪽으로 이동하고 반복하고 행 끝까지 이동 한 다음 2 행 이상 시작합니다. – ExactaBox

답변

0

처리해야하는 DtWeek 열 수에 따라 두 가지 방법 중 하나를 사용하는 것이 좋습니다. Current/Target으로 분할 된 차트의 데이터 계열을 얻기 위해이 필드를 Column으로 피벗 할 수 있으므로 원하는 결과를 얻으려면 Current/Target을 두 개의 다른 필드로 역 정규화해야 할 필요는 없습니다. 일반 Excel 차트에서는이 작업을 수행해야하지만 피벗 차트에서는 선택 사항입니다. 그러나 DotWeek을 고귀하게 처리해야 피벗 테이블의 Row를 사용하여이 필드를 피벗 할 수 있습니다.

몇 DtWeek 열 - 나는 새로운 테이블을 만드는 문을 추가 Access 또는 SQL과 같은 RDBMS로 현재 테이블을로드하고 복수를 실행하는 것이 좋습니다 것,

몇하면 추가합니다. 그런 다음 각 DtWeek 값에 WHERE 절을 설정하여 해당 값만 추가하고 지정한 값 (DtWeek : '201310'등)에서 지정한 값으로 DtWeek라는 새 필드를 만듭니다. 또한 데이터가 비 휘발성이고 한 번에 한 주일 분량의 데이터를 얻는 경우 한 번만 실행하면됩니다.

많은 DtWeek 열 또는 반복 보고서 - 나는 DtWeek에 의해 SQL 서버 UNPIVOT 보는 것이 경우 UNPIVOT

. 그런 다음 Excel에서 연결하거나 CASE를 사용하여 대상 대 현재 열을 만드는 추가 쿼리를 실행할 수 있습니다. MSDN blurb here 또는 this 기사 (이전과 이후의 데이터 시각적 이미지가 좋음)가 도움이 될 수 있습니다. 이것은 매주 새로운 데이터를 얻거나 데이터가 휘발성 인 경우 더 좋은 옵션입니다.

원본 데이터가 (예 : 비 관계형 형식의 서식이 지정된 텍스트를 덤프하는 레거시 응용 프로그램에서 비롯된) 진짜 혼란 인 경우 사용자 지정 "트랩"을 빌드하는 Monarch와 같은 제품을 고려할 수도 있고 소프트웨어가 데이터를 모델링합니다.

행운을 빈다.