[파워쿼리] 파워쿼리의 필터 기능(기본 사용법, And/Or 조건 추가)
엑셀, VBA, 파워쿼리/파워쿼리

[파워쿼리] 파워쿼리의 필터 기능(기본 사용법, And/Or 조건 추가)

by Jongg 2023. 10. 18.
728x90

엑셀 시트에서 필터 기능을 사용할 수 있듯이, 파워쿼리 편집기에서도 데이터 필터 기능을 활용할 수 있습니다. 이번 글에서는 파워쿼리 편집기 내 필터 기능의 기본적인 사용법부터 And/Or 조건 추가하는 두 가지 방법을 소개하겠습니다. 예시파일의 기초데이터는 공공데이터포털의 사고유형별 교통사고 통계입니다.

 

 

도로교통공단_사고유형별 교통사고 통계_20221231

- 경찰에서 조사, 처리한 교통사고에 대한 통계 정보로 인적 피해가 있는 사고만 집계 됨 <br/>- 사고유형별(차대차, 차대사람 등) 교통사고 사고건수, 사망자수, 중상자수, 경상자수, 부상신고자

www.data.go.kr

 

<기초데이터, 예시파일>

도로교통공단_사고유형별 교통사고 통계_20221231.csv
0.00MB
예시파일_사고유형별 교통사고 통계.xlsx
0.02MB

 

기본적인 사용방법: 엑셀과 유사함

 

기초데이터는 csv 파일이며, csv 파일에서 데이터를 가져오는 방법은 아래의 글을 참고해 주세요. 

 

[파워쿼리- 쿼리 생성하는 5가지 방법] #3 텍스트/CSV에서 가져오기

1. 테이블/범위에서 가져오기 2. 엑셀 통합 문서(xlsx, xlsm, xlsb)에서 가져오기 3. 텍스트/CSV에서 가져오기 4. 폴더에서 가져오기 5. 빈쿼리 참고: 파워쿼리에 대한 간단한 소개글 [엑셀] 엑셀 주요기

writingpjt.tistory.com

 

▲ 엑셀 시트의 필터처럼, 파워쿼리 편집기의 데이터에는 열 머리글마다 화살표 박스가 있습니다. 화살표 박스를 클릭한 후, 엑셀 시트 때처럼 콤보박스를 클릭하거나 텍스트 필터, 혹은 숫자 필터(숫자 일치여부, 숫자 범위 등) 기능을 활용할 수 있습니다. 

 

▲ 사고유형대분류에서 '차대사람'만 체크한 결과, 우측 적용된 단계에 '필터링된 행' 항목이 추가되면서 사고유형대분류가 '차대사람'인 데이터만 로드됩니다. 

 

728x90

 

버튼 클릭으로 And, Or 조건 추가하기 

 

▲ 우측 적용된 단계에서 톱니바퀴를 클릭하면 '행 필터'라는 팝업창이 생성됩니다. 팝업창에서 '절 추가' 버튼을 누르면 필터 조건 행이 생성되며, 이후 '및(And)' 혹은 '또는(Or)' 조건을 추가하면 됩니다. 위의 사진처럼 사고유형대분류는 '차대사람'으로, 그리고 중분류는 '횡단중'으로 조건을 설정하겠습니다. 

 

▲ 대분류 '차대사람'이면서 중분류는 '횡단 중'인 데이터만 출력됩니다. 

 

코드 수정으로 And/Or 조건 추가하기

 

클릭으로만 And/Or 조건을 추가하는 것은 한계가 있습니다. 예를 들면, 사고유형대분류가 '차대사람'이면서 사고유형중분류는 '횡단중' 혹은 '기타'인 데이터는 로드할 수 없습니다. 하지만 수식창이나 고급편집기에서 코드를 직접 수정하면 이 문제를 해결할 수 있습니다.  

 

▲ 수식창 혹은 고급편집기에서 기존의 코드를 아래처럼 수정하여 조건을 추가할 수 있습니다. 노란색 음영표시 된 부분이 수정된 부분입니다. 코드 수정 결과, 대분류가 '차대사람'이면서 중분류가 '횡단중'이거나 '기타'인 데이터가 로드되었습니다. 클릭만으로 만들 수 없는 조건이라서 우측 적용된 단계에 톱니바퀴 버튼은 사라졌습니다. 

 

= Table.SelectRows(#"변경된 유형", each [사고유형대분류] = "차대사람" and [사고유형중분류] = "횡단중" or [사고유형중분류] = "기타" ) )

 

이 형식은 '조건 1 And ( 조건 2-1 Or 조건 2-2)' 형태의 And와 Or이 중첩된 조건문입니다. 

 

추후에는 엑셀 시트에서 필터 조건을 만드는 방법에 대해서도 소개하겠습니다. 

728x90

댓글