[ 파워쿼리 ] 텍스트 서식 변경

2024. 11. 15. 08:15Power BI/파워 쿼리 ( Power Qeury )

728x90
반응형

파워쿼리를 이용한 텍스트 서식 변경하는 방법을 알아보도록 하겠습니다.

다음과 같은 테이블을 하나 준비해 주겠습니다.

준비한 데이터는 대, 소문자가 섞여 있는 데이터입니다.

 

영어에서는 대소문자에 대한 구분이 명확하기 때문에 같은 문자이지만 대소문자에 다른 값이 매칭되지 않는 상황이 발생합니다.

이 것은 추후에 이야기드릴 쿼리 병합에서 치명적인 오류로 연결될 수 있어서 

데이터를 병합하기 전에는 꼭 데이터 일치를 해주는 작업을 해 주어야 합니다.

이러한 작업을 해줄 때 사용하는 파워쿼리 메뉴는 [ 서식 ]에 있는 다양한 옵션들입니다.

 

직관적으로 알 수 있는 항목들이므로 변환을 하면서 진행해 보도록 하겠니다.

구분 세부사항
소문자 문자를 소문자로 변경
대문자 문자를 대문자로 변경
각 단어를 대문자로 문자의 첫번째 글자를 대문자로
공백제거 문자의 앞, 뒤 공백을 제거
접두사 추가 텍스트 앞에 원하는 문자 추가
접미사 추가 텍스트 뒤에 원하는 문자 추가

 


텍스트를 소문자로 변환

소문자 컬럼을 선택 후 [ 서식 ] - [ 소문자 ]를 클릭해 보도록 하겠습니다.

우선 대소문자 구분에 대한 구분이 실제로 엄격한지 알아보기 위해서 소문자 컬럼의 중복된 항목 제거를 해 보도록 하겠습니다.

처음과 똑같은 결과가 나오는 것을 볼 수 있습니다.

하지만 분명히 수식에는 Distinct 함수가 사용되었기 때문에 중복된 항목 제거를 하였다는 것을 알 수 있습니다.

 

 

아래와 같이 [ 서식 ] - [ 소문자 ]를 클릭해 보도록 하겠습니다.

처음과 다른 점을 파악하기 위해서 적용된 단계 제거된 중복 항목 수 전 단계에서 작업을 수행해 보도록 하겠습니다.

다음과 같은 경고가 나오는데 삽입을 누르시면 넘어갑니다.

 

이 경고는 지금 작업하는 과정이 다음에 한 단계에 영향을 준다는 의미 입니다.

 

 

그럼 아래와 같이 소문자 컬럼의 텍스트가 소문자로 변경되는 것을 볼 수 있습니다.

이제 적용된 단계 맨 마지막에 있는 제거된 중목 항목 수를 클릭해 보도록 하겠습니다.

반응형
이렇게 작업하면 중복된 항목을 다시 하는 것이 아닌 기존의 작업을 불러오는 효과가 발생합니다.

 

 

처음에 했던 결과와는 다르게 이번에는 "abc"값이 하나만 나오는 것을 볼 수 있습니다.

이렇게 기준을 통일해 주는 것은 추후에 데이터 모델링을 할 때 메모리를 효율적으로 관리하는 것이 가능합니다.


대소문자 구분이 안되면 예시처럼 4개의 열이 생성이 되지만 기준 통일 시 1열만 추가해도 되기 때문입니다.


 

그리고 기준을 맞추는 것이기 때문에 꼭 소문자로만 해야 할 이유는 없습니다.

이번에는 [ 서식 ] - [ 대문자 ]를 클릭해 보도록 하겠습니다.

그럼 아까와는 다르게 대문자로 문자가 변경된 것을 볼 수 있습니다.

그리고 아까와 똑같이 제거된 중복 항목 수를 클릭해 보도록 하겠습니다.

 

아까 소문자 / 대문자가 1개의 열로 나오는 것을 볼 수 있습니다.

 

사용자 지정 열을 추가해서 해당 항목에 대한 검증을 해 보도록 하겠습니다.

[ 열 추가 ] - [ 사용자 지정 열 ]을 눌러 주도록 하겠습니다.

 

다음과 같은 창이 나오면 아래와 같이 입력해 줍니다.

소문자 컬럼의 값 ( abc )와 대문자 컬럼의 값( ABC )이 동일한지 알아보는 수식입니다.

구분 세부항목
새 열 이름 만들려고 하는 새로운 컬럼의 컬럼명
사용자 지정 열 수식 만들고자 하는 수식 ( 내가 원하는 수식 삽입 가능 )

 

다음과 같이 "FALSE" 동일하지 않다는 의미입니다.

그렇다면 값을 만들 때 소문자 or 대문자로 통일해서 작업하는 것이 효율적일 것 같습니다.


문자의 공백 제거

이번에는 아래와 같은 데이터를 준비해 주도록 하겠습니다.

모두 동일한 데이터입니다.

 

아까와 같이 중복된 항목 제거를 해 보도록 하겠습니다.

분명히 같은 값인데 값이 하나로 보이지가 않습니다.

1열의 값을 한번 클릭해 보도록 하겠습니다.

 

아래의 값을 보니 c문자 뒤에 공백이 있는 것을 볼 수 있습니다.

4열을 클릭해 보니 1열보다 더 많은 공백이 있습니다.

지금은 데이터가 작으니 괜찮지만 작업할 때 굉장히 짜증이 나는 순간입니다.

 

 

이때 소문자 컬럼을 선택 후 [ 서식 ] - [ 공백제거 ]를 클릭해 주도록 하겠습니다.

아무 변경 없이 단계만 추가되는 것을 볼 수 있습니다.

이제 제거된 중복 항목 수를 한번 클릭해 보도록 하겠습니다.

728x90

 

하나의 결과를 반환하는 것을 볼 수 있습니다.

공백도 문자로 간주하기 때문에 각각의 항목은 다르게 인식하는데 공백이 제거되었기 때문에 동일한 문자로 인식이 됩니다.


 

공백제거 비교 예제

 

하지만 지금은 눈에 안 보이기 때문에 힘든 상황인데 

이러한 상황은 아까의 상황보다는 좋은 경우가 있습니다.

이 상황은 어떠신가요?

누가 봐도 앞에 공백이 있어서 아 값이 다르구나 인식할 수 있습니다.

실수를 해도 이렇게 실수를 하는 후배가 더 고마울 수 있습니다.

 

공백 제거를 하면 누가봐도 결과가 정정이 된 것을 볼 수 있습니다

 

하지만 공백제거는 모든 공백을 제거하는 것이 아닙니다.

아래의 데이터를 앞, 뒤가 아닌 중간에 공백이 존재합니다.

 

공백 제거를 해보지만 공백이 제거되지 않는 것을 볼 수 있습니다.

 

공백 제거는 앞, 뒤의 공백만 제거한다는 것을 기억해 주십시오.

 

접두사 추가

문자 앞에 접두사를 추가하는 방법을 알아보도록 하겠습니다.

아래와 같은 날짜 데이터를 준비해 보겠습니다.

년월 형식인 것 같습니다.

그럼 시계열 분석을 위해서 해당 데이터를 날짜로 변경해 주도록 하겠습니다.

( 현재는 text 형식입니다 )

 

아래와 같은 오류가 발생하였습니다.

해당 값은 날짜 형식으로 인식이 되지 않는다는 내용입니다.

 

이제 접두사를 추가해서 날짜 형식으로 변경될 수 있도록 변경해 보도록 하겠습니다.

번거롭게 다시 작업하지 않고 바로 전 단계인 승격된 헤더로 이동해 줍니다.

그리고 [ 서식 ] - [ 접두사 추가 ]를 클릭해 준 후 아래와 같은 창이 뜨면 20을 입력해 주도록 하겠습니다.

 

이제 형식이 좀 날짜의 느낌이 나는 것 같습니다.

다시 변경하지 않고 기존에 작업했던 변경된 유형을 클릭해 보도록 하겠습니다.

 

이제는 값이 날짜 형식으로 변경이 된 것을 볼 수 있습니다.

그럼 이 날짜를 이용한 날짜테이블도 만들어서 다양하게 활용할 수 있을 것 같습니다.

 

[ 파워쿼리 ] 날짜 테이블 만들기

파워 쿼리를 이용한 날짜 테이블을 만들어 보도록 하겠습니다.M function 중 List.Dates 함수를 사용해서 날짜 List를 만들어 주었습니다.간단하게 함수를 살펴보도록 하겠습니다.List.Dates(#date( 2024, 11,

sunconnector.tistory.com


 

접미사 추가

접미사를 추가하는 방법을 알아보도록 하겠습니다.

다음과 같은 데이터를 준비해 줍니다.

아래 데이터를 월( month ) 데이터입니다.

 

 

날짜 컬럼 형식을 날짜로 변경해 주었더니 어김없이 오류가 발생합니다.

 

아래와 같이 [ 서식 ] - [ 접미사 추가 ]를 클릭하고 "-2024"라고 입력해 줍니다.

 

아까 만큼은 아니지만 날짜 형식의 느낌이 나는 것 같습니다.

이제 적용된 단계에서 변경된 유형을 눌러보도록 하겠습니다.

 

아래와 같이 날짜 형식으로 변경된 것을 볼 수 있습니다.

 

※ 주의 사항 : 접미사는 모두 동일하게 추가 되기 때문에 같은 해의 한해서만 적용 가능합니다.

728x90
반응형