파워쿼리는 데이터 분석과 변환을 쉽고 빠르게 수행할 수 있도록 돕는 유용한 도구입니다. 하지만 때로는 Expression Error라는 이름의 오류를 만나곤 합니다. 이 글에서는 이러한 Expression Error를 이해하고, 이를 적극적으로 활용하여 문제를 해결하는 방법을 소개합니다. 또한, 실무에서 유용하게 사용할 수 있는 팁과 예제를 함께 제공합니다.
Expression Error란 무엇인가?
Expression Error는 파워쿼리에서 쿼리를 실행하거나 변환 과제를 수행하는 과정에서 발생하는 오류 유형 중 하나입니다. 이러한 오류는 주로 쿼리에서 잘못된 표현식이 사용되었을 때 나타나며, 구문 오류나 값 오류 등이 그 원인이 될 수 있습니다. Expression Error를 정확히 이해하고 해결하는 것은 파워쿼리 사용자에게 있어 중요한 능력입니다.
1. 잘못된 구문(malformed syntax) 오류 해결
잘못된 구문 오류는 주로 쿼리에서 문법적으로 잘못된 표현식이 작성되었을 때 발생합니다. 예를 들어, 잘못된 변수 이름이나 불완전한 함수가 원인이 될 수 있습니다. 이를 해결하기 위해서는 쿼리 문법을 정확히 이해하고, 코드 검토 및 디버깅을 통해 오류를 수정해야 합니다.
예제:
let
단계1 = 123,
단계2 = 단계 * 2 // 오타: '단계' 대신 '단계1'이어야 함
in
단계2
위 코드를 실행하면 “단계” 변수는 정의되지 않았다는 오류가 발생합니다. 이를 “단계1″으로 수정하면 오류가 해결됩니다.
2. 잘못된 값/타입 사용
파워쿼리에서 변수나 함수에 대입된 값의 타입이 잘못되었을 때 발생하는 오류입니다. 예를 들어, 숫자를 기대하는 위치에 텍스트 값이 들어가면 오류가 발생할 수 있습니다. 이러한 오류를 해결하기 위해서는 각 변수와 함수가 적절한 타입의 값을 받도록 보장해야 합니다.
예제:
let
단계1 = "100",
단계2 = 단계1 * 2 // 숫자 변환 필요
in
단계2
위 코드는 “100”을 문자열로 처리하기 때문에 오류가 발생합니다. 숫자로 변환하여 사용해야 합니다: Value.FromText(단계1).
3. NULL 값 처리
파워쿼리는 NULL 값을 특별히 처리해야 합니다. 데이터 세트에서 NULL 값이 존재할 때, 이를 처리하지 않고 넘어갈 경우 오류를 발생시킬 수 있습니다. NULL 값을 안전하게 처리하려면 조건문을 사용하여 NULL 값 여부를 확인하고 적절한 대체 값을 제공합니다.
예제:
let
단계1 = null,
단계2 = if 단계1 = null then 0 else 단계1 * 2
in
단계2
단계1이 NULL일 경우, 대체 값으로 0을 사용하여 오류를 방지합니다.
4. 데이터 유형 변환 실수 방지
데이터 변환 과정에서 잘못된 유형으로 변환될 경우 예기치 않은 오류가 발생할 수 있습니다. 데이터 유형을 명시적으로 변환하고, 변환 전에 데이터 유형을 확인하는 습관이 필요합니다.
예제:
let
문자열숫자 = "123",
숫자 = try Number.FromText(문자열숫자)
in
숫자
이 예제에서 try 키워드를 사용하여 변환 오류를 우회하고 오류 발생시 대체 값이나 에러 로그를 출력할 수 있습니다.
5. 조건문을 사용한 오류 처리 및 로깅
파워쿼리에서 조건문을 사용하면 오류를 유연하게 처리할 수 있습니다. 불완전한 데이터나 잠재적으로 오류를 발생시킬 수 있는 부분을 미리 점검하여 중간에 오류가 발생하지 않도록 합니다. 또한, 오류를 로깅하여 추적할 수 있도록 하는 것이 중요합니다.
예제:
let
데이터 = {"100", "200", null, "NaN"},
처리된데이터 = List.Transform(데이터, each
try Number.FromText(_) otherwise "Error"
)
in
처리된데이터
이 예에서는 try ... otherwise 구문을 활용하여 변환 과정에서 발생할 수 있는 오류를 처리합니다. 오류가 발생하면 “Error”라는 문자열로 표시되며 데이터 집합에서 데이터를 빠르게 확인할 수 있습니다.
이상으로 파워쿼리 Expression Error를 처리하고, 이를 실무에서 어떻게 활용할 수 있는지에 대해 살펴보았습니다. 쿼리 작성 시 발생할 수 있는 다양한 오류를 미리 대비하고, 이를 해결하는 능력을 기르는 것은 파워쿼리 활용의 핵심입니다. 실수 있을 수 있는 부분을 꼼꼼히 점검하고 다양한 기능을 적극 활용하여 더욱 효율적인 데이터 분석을 경험해 보세요.