성장 일기 - AI
[파워쿼리] 데이터 구조화 본문
💡CrossTable 데이터를 표 개체로 구조화 하는 법
CrossTable은 가로 세로 양방향으로 정보를 담고 있는 구조이기 때문에 데이터 분석에 적합하지 못한 형태의 데이터다.
따라서 데이터 분석을 위해서는 형태를 바꿔주어야 하는데 이 행위를 unpivot한다고 말한다.
엑셀에서 CrossTable데이터를 unpivot하기 위해서는 먼저
데이터를 표 개체로 만들어 파워쿼리 편집기 창으로 와야한다.
연도 컬럼을 선택하고 [우클릭]-[다른 열 피벗 해제]를 하게 되면 연도 열을 제외한 다른 열들이 아래와 같이 unpivot되게 된다.
조금더 깔끔하게 보기위해 열 병합까지 해주게 되면 이런 모습으로 데이터를 깔끔하게 구조화 할 수 있다.
✔지저분한 데이터로 Unpivot 연습하기
겉보기에는 크게 문제가 없어보이는 데이터 일 수 있지만 표 개체로 만들어보면 문제가 있음을 알 수 있다.
표 개체로 만들 시 비어있던 열이 채워지면 열1, 열2와 같이 마킹이 됨을 알 수 있다.
이 마킹된 열들의 이름을 바꿔주려면 직접 시트에서 작업을 해도 괜찮지만 그러면 새로운 데이터가 들어오는 등의 일이 생겼을 때, 문제가 생기거나 할 수 있다. 그러므로 파워쿼리를 이용해 어떤 상황에서도 문제없이 자동으로 열의 이름이 동일하게 과자, 빵류, 캔디류로 변경되게끔 작업해주도록 하겠다.
표 개체로 만든 데이터를 파워쿼리 편집기로 불러오면 이러한 형태가 되어있는데, 먼저 이름을 변경해주기 전에 unpivot 작업을 선행해주도록 하겠다.
후에 데이터를 살펴보면 '열'을 포함한 값들은 제거해주고 그 자리에 위쪽에 있는 값으로 덮어주면 되겠다고 보인다.
먼저 '열'을 포함한 값들을 모두 제거해주자.
리본 메뉴 [열 추가] - [조건 열]을 통해 작업한다.
위 처럼 조건 열 추가 창이 뜨면 원하는 작업에 맞춰 입력해주면 된다.
**조건 열은 흔히 프로그래밍 언어에 if문이라고 생각하면 된다.
위의 조건을 예로 설명하자면 if 특성에 '열'이라는 문자를 포함한 것이 있다면 null값으로 출력해라. else 특성 열에 값을 동일하게 출력해라 **
그럼 이와 같이 조건에 맞춘 새로운 열이 추가된다. 그리고 [우클릭] - [채우기] - [아래로]를 통해 위에 있는 종류 값을 채워주면 된다. 이후 필요없게 된 특성 열은 제거해주도록 하자.
여기까지 제대로 마쳤다면 이와같은 모습이된다. 업체명 열에 아직 문제가 있음을 알 수 있다.
하지만 동일하게 [채우기] 작업으로 처리하면 될 것으로 보인다.
이 후, 상황에 맞춰 해당쿼리를 사용하면 된다.
'빅데이터 분석가 과정 > Excel을 이용한 데이터 분석' 카테고리의 다른 글
[파워쿼리] 빈도표 만들기 (0) | 2023.05.15 |
---|---|
[파워쿼리] 병합(Join), 추가(Union) (0) | 2023.05.15 |
[파워쿼리] 파일통합과 시트통합 (0) | 2023.05.10 |
[파워쿼리]웹 스크래핑, M코드 수정 (0) | 2023.05.09 |
[파워쿼리]Data Literacy, 표 개체, 파워쿼리로 데이터 타입 수정 (0) | 2023.05.09 |