이번 포스팅에서는 파워쿼리를 활용하여 특수문자를 손쉽게 전처리 하는 방법을 소개해 볼까 합니다.
데이터 전 처리를 하다보면 다음과 같이 이상한(?) 특수 문자가 섞인 데이터들을 많이 볼 수 있습니다. 실수로 입력된 것일수도 있고 어떤 의미를 담고 있는 기호 일 수도 있지만 데이터 측면에서는 불 필요한 정보일 확율이 높습니다. 이를 전 처리 하는 방법은 엑셀에서도 어렵지 않게 할 수 있는데 (다만, 반복 작업 필요) 파워쿼리를 활용하면 여러번의 반복 작업 없이 코드 한 줄로 더욱 손쉽게 처리할 수 있습니다.
일단 관련해서 참고로 파워쿼리에 대해서 한가지 설명하자면 다른 소프트웨어도 마찬가지이겠지만 파워쿼리에서 메뉴버튼을 통해 실행하는 전처리 작업은 사실 코드로도 확인 할 수 있습니다. 여러 전처리 작업을 진행한 후 파워쿼리 메뉴 텝의 '보기'→'고급 편집기'를 선택하면 작업했던 모든 동작의 함수 값을 볼 수 있습니다.
특수문자 전처리에 사용할 수 있는 함수는 여러가지가 있는데 저는 Text.Remove 함수를 사용하도록 하겠습니다. 파워쿼리에서 함수를 입력하는 방법은 세가지가 있습니다.
1. 함수 입력 창에 직접 입력
2. '열 추가' 기능을 활용하여 함수를 입력
3. '고급 편집기'에서 수식을 입력
이중 우선은 가장 쉬운 '열 추가' 기능으로 함수를 입력 해 보도록 하겠습니다. 다만, 열 추가로 함수를 입력하면 그 결과가 새로운 열로 추가되고 원본은 그대로 보존되기 때문에 원본이 따로 필요하지 않는다면 원본 열을 삭제 해 주는 전처리를 한 번 더 실행해야 합니다.
'열 추가' →'사용자 지정 열'을 선택하고 수식 입력 창이 나타나면 다음과 같이 입력합니다.
=Text.Remove([Data],
{"#","|","%","{","}","*",">","-","~",";","&","^","_","/"})
Text.Remove 함수의 인수는 대상이 되는 데이터와 제거 목록입니다. 제거 대상 특수 문자가 여러 개인 경우는 위와 같이 중괄호 { } 를 사용해서 이를 하나의 리스트로 만들어 주면 됩니다.
결과 값은 다음과 같이 리스트에 있는 모든 특수기호가 전처리 된 깔끔한 형태의 데이터를 얻을 수 있습니다. 추가로 사실 Text.Remove 함수는 특수문자의 제거 뿐만 아니라 원하지 않는 데이터는 모두 제거할 수 있습니다. 다만 일반 텍스트 문자의 경우 특수문자와 다르게 항상 제거되면 안돼는 경우가 있기 때문에 신중히 사용해야 합니다. (개인적인 경험상 데이터는 한번 제거되고 나면 나중에 찾기가 힘들어집니다.)
'Power BI 글모음 > Power BI DAX-M Query' 카테고리의 다른 글
Excel Power Query 엑셀 파워 쿼리 소개 & [레코드] 입력 (1) | 2025.01.13 |
---|---|
DAX 의 핵심 개념 Row Context 와 Filter Context (1) | 2025.01.03 |
데이터 정복을 위한 DAX 교실 (2) | 2024.12.27 |