파워 쿼리 조건부 동적 필터

파워 쿼리 조건부 동적 필터

내 통합 문서의 테이블에서 매개 변수를 가져오는 보조 함수 쿼리를 사용하는 파워 쿼리 쿼리가 있습니다. 예를 들어 날짜 범위별로 필터링하려면 다음을 사용합니다.

#"Filtered Rows" = Table.SelectRows(#"Added Custom", each [EventDatetime] >= fnGetParameterValue("EventStartDate") and [EventDatetime] <= fnGetParameterValue("EventEndDate"))

내가 하고 싶은 것은 fnGetParameterValue("AccountNumber")에 의해 반환된 값이 빈 문자열이 아닌 경우에만 필터링하는 것입니다.

날짜 필터 단계 뒤에 이 단계를 삽입해 보았습니다.

#"Filtered Rows1" = if fnGetParameterValue("AccountNumber") = "" then #"Filtered Rows" else Table.SelectRows(#"Filtered Rows", each [AccountNumber] = fnGetParameterValue("AccountNumber"))

구문 오류가 없는 것 같지만 데이터를 다시 가져올 수 없습니다.

데이터를 조건부로 필터링하려면 어떻게 해야 하나요?

답변1

함수(예: [AccountNumber Filter] )를 사용하고 if 논리를 사용하여 다음 행을 따라 열을 추가하는 중간 단계를 추가하겠습니다.

if fnGetParameterValue("AccountNumber") = "" then [AccountNumber] else fnGetParameterValue("AccountNumber")

그런 다음 필터 단계에서 해당 새 열을 사용합니다. 예:

[AccountNumber] = [AccountNumber Filter]

검토/테스트 등을 위해 중간 단계도 더 명확해집니다.

관련 정보