Tengo una consulta de Power Query que utiliza una consulta de función secundaria que extrae parámetros de una tabla en mi libro. Por ejemplo, para filtrar por rango de fechas, uso
#"Filtered Rows" = Table.SelectRows(#"Added Custom", each [EventDatetime] >= fnGetParameterValue("EventStartDate") and [EventDatetime] <= fnGetParameterValue("EventEndDate"))
Lo que me gustaría hacer es filtrar solo si un valor devuelto por fnGetParameterValue("AccountNumber") no es una cadena vacía.
Intenté insertar este paso después del paso del filtro de fecha:
#"Filtered Rows1" = if fnGetParameterValue("AccountNumber") = "" then #"Filtered Rows" else Table.SelectRows(#"Filtered Rows", each [AccountNumber] = fnGetParameterValue("AccountNumber"))
Parece que no tengo ningún error de sintaxis, pero no obtengo ningún dato.
¿Cómo puedo filtrar datos condicionalmente?
Respuesta1
Agregaría un paso intermedio para agregar una columna usando su función (por ejemplo, [Filtro de número de cuenta]) y usando su lógica if, como sigue:
if fnGetParameterValue("AccountNumber") = "" then [AccountNumber] else fnGetParameterValue("AccountNumber")
Luego usaría esa nueva columna en el paso Filtrar, por ejemplo
[AccountNumber] = [AccountNumber Filter]
El paso intermedio también será más claro para revisión/prueba, etc.