Filtro dinâmico condicional do Power Query

Filtro dinâmico condicional do Power Query

Eu tenho uma consulta do Power Query que usa uma consulta de função secundária que extrai parâmetros de uma tabela na minha pasta de trabalho. Por exemplo, para filtrar por período, eu uso

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

O que eu gostaria de fazer é filtrar apenas se um valor retornado por fnGetParameterValue("AccountNumber") não for uma string vazia.

Tentei inserir esta etapa após a etapa do filtro de data:

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

Parece que não tenho um erro de sintaxe, mas não estou recebendo nenhum dado.

Como posso filtrar dados condicionalmente?

Responder1

Eu adicionaria uma etapa intermediária para adicionar uma coluna usando sua função (por exemplo, [AccountNumber Filter] ) e usando sua lógica if, nos moldes de:

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

Então eu usaria essa nova coluna na etapa Filtro, por exemplo

[AccountNumber] = [AccountNumber Filter]

A etapa intermediária também será mais clara para revisão/teste, etc.

informação relacionada