
Filtrer drop down basé sur autre colonne Sharepoint
Étiquetté : excel, powerautomate
Filtrer drop down basé sur autre colonne Sharepoint
Posté par CedZ sur 7 décembre 2022 à 5h19Bonjour à tous ,
J’ai pour le moment une app avec 1 drop down dont les valeurs proviennent d’une colonne Sharepoint.
Je souhaiterais que ce drop down exlu esormais des valeurs basées sur 1 autre colonne, je m’explique: Voici ma table en arrière plan:
Continent | Country
NA Mexico
NA Canada
Europe France
Europe Italy
Asia China
Je souhaiterai que mon drop down me retourne tous les “Country” de la liste Sharepoint à l’exception de ceux du Continent “Asia”. J’ai fait quelques essais et recherches cet après-midi mais ne suis pas arrivé au résultat souhaité.
Si quelqu’un pouvait m’orienter ce serait apprécié. Merci.
PostID=z8o8b0YLoD3Dges
R3dKap a répondu Il y a 1 année, 4 mois 1 Membre · 10 Réponses- 10 Réponses
Bonjour CedZ,
Je ne suis pas un expert mais je pense qu’un ForAll suivi d’un Filter devrait t’aider
ForAll(Filter('source de donnée';condition);{country:country})
Je ne suis pas un expert très loin de moi cette idée évidemment, j’imagine que d’autre solution plus simple doivent exister mais je pense que ça pourrait te donner une piste (je pense…)
CommentID=djp1DKfyM6JlrTA, PostID=z8o8b0YLoD3Dges
Bonjour.
J’utilise rarement les listes SharePoint, mais je pense que tout est faisable dans un Filter(). Dans l’option ‘Items’ de ta dropdown tu peux essayer quelque chose comme ça :
Filter('NomSourceDeDonnée'; Continent <> "Asia").Country
En passant voici la liste des opérateurs utilisable dans canvas, ça sert toujours !
Bonne continuation.
CommentID=VdX9pzfL72DrhDH, PostID=z8o8b0YLoD3Dges
Hello, tu peux utiliser un filtrage des choix de la colonne :
Filter(Choices([@'Source'].'NomLogiqueDelaColonne'),Not("Asia" in Value))
Devrait fonctionner, il y aura certainement un avertissement de délégation, mais cela ne posera pas de problèmes si tu as moins de 500 choix possibles.
CommentID=RtdoQT9aouLd0e5, PostID=z8o8b0YLoD3Dges
Je crains que la solution de DavidZed ne fonctionne pas dans ce cas-ci car tu ne veux pas obtenir une liste de continents mais une liste de pays dont le continent n’est pas Asia.
Si c’est bien le cas, la solution de Sebastien Brandeis est la plus simple.
Mais ensuite, attention : il faut te poser la question du format de la données que tu souhaites avoir dans ta dropdown et ce que tu vas en faire… Est-elle dans un datacard d’un formulaire ou sur un écran en dehors d’un formulaire ? Sert-elle à mettre à jour la colonne Pays de la liste ? D’ailleurs tes colonnes Continent et Pays sont-elles des colonnes de choix ou de recherche ? Car les formats ne sont pas les mêmes…
Ce que va te retourner la solution de Sebastien Brandeis c’est un tableau à une colonne Value avec la liste des pays hormis ceux du continent Asia.
CommentID=vhXKwSKHGP2UmZU, PostID=z8o8b0YLoD3Dges
J’avais compris que la colonne contenait une concatenation ‘continent & pays’ 😄
CommentID=cU1XcQEorxuLuI3, PostID=z8o8b0YLoD3Dges
Bonjour merci tout le monde, je vais faire des tests et vous donnerai des nouvelles.
Merci encore
CommentID=JgeEsSAPR1cNc1T, PostID=z8o8b0YLoD3Dges
Merci à tous pour vos réponses. La réponse de Sébastien convient mais j’ai mal décrit mon problème ( je viens d’hériter de l’app cette semaine).
Donc initialement, l’app pointait vers une liste Sharepoint et le drop down était basé sur une des colonnes de la liste (country).
Le changement que nous voulons faire est le suivant:
Créer une table de dimension dans laquelle nous aurions d’autres infos pour les pays et notamment le continent-,
FMon drop down doit toujours être basé sur ma liste Sharepoint cependant il doit exclure les pays appartenant au continent ”Asie” de ma table de dimension.
Je sais pas si la meilleure approche serait de faire un lookupvalue entre les listes Sharepoint (il me semble que les lookup engendrent quelques problèmes dans Powerapps?) ou s’il y a une autre syntaxe de formule qui pourrait m’aider. Je suis en train de découvrir le language en même temps donc excusez moi pour mon manque de connaissance.
J’ai ajouté un fichier excel qui présente mes tables, leur structure et l’output désiré.
Merci à tous encore une fois,
CommentID=zXFcDbAsf5V2GX5, PostID=z8o8b0YLoD3Dges
Ok Je pense avoir trouvé. J’ai utilisé :
Filter (Choices ( Table1, ‘Country’),
Value in Filter ( Table2, Continent.Value <>’Asia).Title)CommentID=PkcvCjQV0HgwoU6, PostID=z8o8b0YLoD3Dges
Attention à tes soucis potentiels de délégation.
Dans ton cas si Table2 a plus de 500 (jusque 2000) elements, le tableau retourné risquerai d’être incomplet
CommentID=3tI8Z8SSbLvOYV9, PostID=z8o8b0YLoD3Dges
En fait tu veux filter un lookup en te basant sur une autre colonne de la liste liée de ton lookup… Cas fréquent pour lequel je me suis noté dans un coin la solution propre :
Filter(n Choices(TableDeFait.Country); <--- colonne de lookupn Id in ShowColumns(n Filter(n TableDimension; <--- liste à laquelle est liée le lookupn Continent = "Asie" <--- filtrage sur la colonne de la liste liéen );n "ID"n )n)
Attention, si ta colonne Continent est de type choix, tu devras remplacer
Continent = "Asie"
parContinent.Value = "Asie"
… 😉CommentID=5KhJzSuPKvHESvO, PostID=z8o8b0YLoD3Dges
Connectez-vous pour répondre.