Filtre dynamique conditionnel Power Query

1

J'ai une requête Power Query qui utilise une requête de fonction secondaire qui extrait les paramètres d'une table de mon classeur. Par exemple, pour filtrer par plage de dates, j'utilise

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

Ce que j'aimerais faire, c'est ne filtrer que si une valeur renvoyée par fnGetParameterValue ("AccountNumber") n'est pas une chaîne vide.

J'ai essayé d'insérer cette étape après l'étape de filtrage de la date:

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

Je ne semble pas avoir d'erreur de syntaxe, mais je ne récupère aucune donnée.

Comment puis-je filtrer conditionnellement les données?

Dave
la source

Réponses:

0

J'ajouterais une étape intermédiaire pour ajouter une colonne en utilisant votre fonction (par exemple, [Filtre du numéro de compte]) et en utilisant votre logique if, le long des lignes suivantes:

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

J'utiliserais ensuite cette nouvelle colonne dans une étape de filtrage, par exemple.

[AccountNumber] = [AccountNumber Filter]

L'étape intermédiaire sera également plus claire pour l'examen / test, etc.

Mike Honey
la source