2020. 10. 23. 21:26ㆍ엑셀/파워쿼리 공부
요즘 자재 마스터를 클랜징 하는 일을 하고 있는데요. 파워쿼리가 작업에 많은 도움을 주고 있습니다.
자재의 명칭이 대문자와 소문자를 규칙없이 등록되어 있어서 이것을 골라내다가 매우 중요한 사실을 알게 되어 포스팅합니다.
데이터 베이스에서는 데이터 값의 영문 대,소문자를 구분 할까요?
제가 사용경험이 있는 2개의 DB만 따져보겠습니다.
먼저. 오라클 DB 에서는 구분합니다. 그리고 MSSQL은 쿼리에서 구분을 하지 않습니다.
(물론 구분해서 쿼리하는 것도 가능합니다. 기본 기능이 그렇다는 얘기입니다. )
엑셀은 구분 할까요?
검색이나 필터, 수식에서 구분할까요?
피벗 테이블로 구성하면 같은 항목으로 볼까요? 아니면 두줄로 나누어 별도의 데이터로 인식할까요?
하나 씩 정리 해보죠~!
1. 엑셀 시트에서 구분할까?
위 그림은 엑셀 시트에서 테스트 해본 결과를 캡쳐 한 것입니다.
엑셀 시트에서는 대.소문자를 구분하지 않습니다. 모두 같은값으로 인식하고 수식에 적용되는 논리도 동일합니다. Ctrl+F 로 찾기를 했을때도 동일하게 구분하지 않습니다.
하지만 Ctrl+F 로 찾을때는 구분할 수 있는 옵션이 있습니다. 찾기 창에서 "옵션" 을 누르면 대소문자 구분 여부로 구분이 가능합니다.
옵션에는 이것 외에도 여러 유용한 설정값이 있으니 사용해보세요.
2. 그럼 파워쿼리에서는?
파워쿼리에서 어떻게 대소문자를 구분하는지 확인하기 위해서 간단한 단계를 추가하여 살펴보겠습니다.
엑셀에서 테스트 했던 예제를 그대로 파워 쿼리로 옮겨와서 '조건 열 추가'를 해보겠습니다.
대소문자 구분여부를 확인하기 위해서 데이터에 존재하지 않는 "selecT" 라는 끝에 대문자 T가 들어간 값과 일치 여부를 조건으로 넣었습니다. 같으면 '구분안하네' 같다고 하지 않으면 '구분하네' 입니다.
결과는 위 그림처럼 파워쿼리는 대소문자를 구분합니다.
3. 활용 방안은?
제가 이번에 업무에 사용했던 것을 활용예로 들어볼께요. 작업 데이터 중 명칭을 정비 해야 할 일이 있었는데요. 입력되어 있는 값이 다소 엉망이었습니다. 그중 영문 대소문자의 규칙이 지켜지지 않은 것이 매우 보기 불편하더군요. 게다가 데이터 베이스에 따라 대소문자를 구분하는 것이 다르니 혼동 사유도 있을 것 같아서 수정하기로 결정을 했습니다.
물론 엑셀은 대소문자를 구분하지 않으므로 그냥 '모두 바꾸기'로 처리하면 됩니다. 하지만 그전에 얼마나 다양하게 사용하고 있는지 살펴보고 싶었습니다.
이때 파워쿼리로 데이터를 넘겨서 '그룹화' 기능을 사용하면 쉽게 대소문자 사용이 다른 동일 단어를 구분하여 개수를 셀 수 있습니다.
위 데이터를 대소문자가 다르게 사용된 유형별로 건수를 합산해야 한다면..
여기서 그룹화를 처리 하면
쉽게 산출 할 수 있습니다.
피벗 테이블도 대소문자 구분을 하지 않으므로 이렇게 구분하여 합산이 불가합니다.
(일단 저는 그렇게 알고 있습니다. 제가 모르는 다른 옵션이 있는지는 모르겠네요. 있다면 댓글 좀 부탁 드려요.)
'엑셀 > 파워쿼리 공부' 카테고리의 다른 글
파워쿼리로 문자 검색기 만들기(복수의 단어) (0) | 2020.11.19 |
---|---|
파워쿼리를 이용하여 엑셀에 입력한 조건으로 DB 쿼리하기 (0) | 2020.11.10 |
[파워쿼리-Tip] PDF 파일의 표를 엑셀로 가져오기 (15) | 2020.07.11 |
[파워쿼리] 파워쿼리 쿼리 추가 - union all (0) | 2020.06.19 |
[파워쿼리] 웹에서 데이터 가져오기 (0) | 2020.06.10 |