Bonjour,
La question que je me pose c’est pourquoi faire ce traitement ? Car en fonction de la réponse, la solution ne sera pas forcement la même. Est ce que c’est pour afficher le résultat dans une gallerie ou peut être une liste ?
Dans tout les cas voici la doc du distinct qui est la base de la demande :
https://learn.microsoft.com/fr-fr/power-platform/power-fx/reference/function-distinct
Et justement il y a une partie qui reprend le cas avec un tri sur les pays.
Sinon voici quelques explications qui j’espère pourrons débloquer la situation.
Pour la sauvegarde de liste en cache nous avons deux solution, ClearCollect et Collect.
La différent entre les deux et la suivant :
Collect ajoute toujours les données sans jamais ré initialisé les données d’origine alors que ClearCollect vide la liste de donnée de base pour y ajouté les nouvelles.
Petit exemple bidon :
Collect(NomList; {name: "France"}); //Ici je crée une liste NomList et j'y ajoute un name avec France dedans
Collect(NomList; {name: "Espagne"}); //Ici j'ajoute espagne dans ma collection
Donc à ce moment là ma liste ressemble à ceci :
[
{name: "France"};
{name: "Espagne"}
]
Si maintenant nous réalisons la même opération avec ClearCollect :
ClearCollect(NomListDeux; {name: "France"}); //Ici je crée une liste NomListDeux et j'y ajoute un name avec France dedans
ClearCollect(NomListDeux; {name: "Espagne"}); //Ici je réinitialise ma liste et j'y ajoute espagne
Donc à ce moment là ma liste ressemble à ceci :
[
{name: "Espagne"}
]
France n’existe plus car la liste est reset à chaque ClearCollect, par contre une bonne utilisation dans un cas comme celui que j’ai détaillé c’est de reset avec ClearCollect par exemple lorsque l’utilisateur arrive sur une page et ensuite d’utilisé Collect pour charger la liste.
Passons à la suite, dans les deux cas Collect & ClearCollect voici les paramètres
Collect(
(Source de données) ; //Ne pas oublié le ;
(Données)
)
Tout ça pour dire qu’il va falloir travailler sur la source de donnée pour le problème de doublon.
Pour ça nous avons Distinct qui fonctionne grosso modo comme un Filter ou Lookup par exemple
Encore une fois voici le détaile des paramètres obligatoires (j’en passe certain à la trape volontairement)
Distinct (
(Source de données) ; //Ne pas oublié le ;
(Champs) //Champs ou nous devons garder les uniques
)
Et donc si on prend le cas de base :
Distinct (
Liste_Sharepoint ;
Test
)
Avec ceci nous venons de filter les données pour ne garder que les uniques MAIS rien n’est sauvegarder pour le moment.
Ce qu’il faut bien comprendre ici c’est cas se moment là la fonction Distinct deviens une source de donnée, vous voyez le rapport ?
Souvenez vous de ceci :
Collect(
(Source de données) ; //Ne pas oublié le ;
(Données)
)
ça veux donc dire que je peux mettre ici le Distinct comme source de donnée, comme ceci :
Collect(
Distinct (
Liste_Sharepoint ;
Test
)
;
(Données)
)
Je vous laisse la partie donnée avec le nom exacte des colonnes mais ça devrais être quelque chose du genre.
Collect(
Distinct (
Liste_Sharepoint ;
Test
)
;
{
name: nomColonne //ici name est remplaçable par ce que vous voulez bien sur
}
)
Pour la suite ça dépend de votre utilisation des données mais voici ce que je ferais avec différent cas :
Si je devais afficher les noms dans une gallerie et que j’avais à côté une dropdown qui me permet de selectionner un pays de la collection défini juste au dessus alors j’utiliserais comme source de donnée pour ma gallerie un Filter.
Si maintenant j’ai des dropdown comme ceci :
DropDown_Pays //Affiche notre collection de pays unique
DropDown_Utilisateurs // affiche les utilisateurs en choix
Alors là je bloque l’utilisation du DropDown_Utilisateurs pour obliger une selection dans DropDown_Pays, ensuite dans le onChange du DropDown_Pays je réalise un filter pour récupérer les noms utilisateurs que je stock dans une variables ou collection.
et j’utilise cette variable ou collection pour alimenté mon DropDown_Utilisateurs
Dans le cas ou DropDown_Pays change de valeurs ou perd la valeur je reset DropDown_Utilisateurs voir même re bloque DropDown_Utilisateurs
J’espère que cette explication va vous débloquez, dans le cas contraire je reste à votre disposition si vous voulez approfondir le sujet.
ET sinon une petite vidéo sur le sujet

-
This reply was modified 3 days, 2 hours ago by
Sébastien. -
This reply was modified 3 days, 2 hours ago by
Sébastien. -
This reply was modified 3 days, 2 hours ago by
Sébastien.