French Power Platform User Group

Please login or click SIGN UP FOR FREE to create your PowerPlatformUG account to join this user group.
Expand all | Collapse all

Problème filtrage galerie - différence entre listesharepoint et collections

  • 1.  Problème filtrage galerie - différence entre listesharepoint et collections

    Silver Contributor
    Posted Jul 12, 2021 04:09 AM
    Bonjour

    ci après je montre les différents résultats obtenus et qui me posent problèmes :

    grph
    la galerie 1 est obtenu avec :
    Filter(STOCKPIECES;And(DATESORTIESTOCK>DatePicker1.SelectedDate;NBRESORTIEPIECE > 0;'Lieu de stockage'.Value=Dropdown1.Selected.Value;DATESORTIESTOCK<DatePicker2.SelectedDate))

    avec le même code, je remplace avec la collection et j'ai la galerie 2 (vide donc)
    Filter(stockpiecescollection;And(DATESORTIESTOCK>DatePicker1.SelectedDate;NBRESORTIEPIECE > 0;'Lieu de stockage'.Value=Dropdown1.Selected.Value;DATESORTIESTOCK<DatePicker2.SelectedDate))

    la galerie 3 est obtenu avec :
    Filter(STOCKPIECES;Value('IDPIECE:NUMLOT'.Value;"en-US") = Value(Dropdown1_1.Selected.Value))    il y a le panneau pb délégation mais ca fonctionne

    la galerie 4 est la copie du code précédent avec la collection - il n' y a plus de pb de délégation - ca fonctionne :
    Filter(stockpiecescollection;Value('IDPIECE:NUMLOT'.Value;"en-US") = Value(Dropdown1_1.Selected.Value))


    la galerie 5 intègre les codes qui marche   :
    Filter(STOCKPIECES;And(DATESORTIESTOCK>DatePicker1.SelectedDate;NBRESORTIEPIECE > 0;'Lieu de stockage'.Value=Dropdown1.Selected.Value;DATESORTIESTOCK<DatePicker2.SelectedDate);Value('IDPIECE:NUMLOT'.Value;"en-US") = Value(Dropdown1_1.Selected.Value))

    résultat vide !        en mettant la liste Sharepoint comme source, j'ai un pb de délégation (qui disparait si je met la collection, mais j'ai toujours la galerie vide)

    avez vous une idée ?

    ------------------------------
    CARRIERE LAURENT
    ------------------------------


  • 2.  RE: Problème filtrage galerie - différence entre listesharepoint et collections

    Gold Contributor
    Posted Jul 12, 2021 05:38 PM
    Pour le 5, question très bête mais es-tu certain d'avoir des enregistrements qui correspondent à l'ensemble des critères ? Est-ce que dans 3 et 4 tu as des lignes situées entre le 1er et le 8 juillet ?

    Pour le 2, c'est plus bizarre... Je suppose que ta collection stockpiecescollection contient la même chose que ta liste STOCKPIECES ? Peux-tu mettre ici le code qui remplit stockpiecescollection ?

    ------------------------------
    EMMANUEL GALLIS
    Power Platform Consultant
    France
    ------------------------------



  • 3.  RE: Problème filtrage galerie - différence entre listesharepoint et collections

    Silver Contributor
    Posted Jul 13, 2021 04:08 AM
    Bonjour

    ClearCollect(stockpiecescollection;STOCKPIECES)  sur le OnStart de l'application.

    j'ai augmenté ma plage (j'ai mis une date plus ancienne) et cela donne des resultats


    Néanmoins, cela reste énigmatique - sachant que mes codes sont les mêmes (pour le cas 1 et 2 par exemple) a part la différence entre liste SH et collection.
    j'ai refait les tests, quand je change ma date, je n'ai pas les mêmes données.

    après recherche, , il s'avère que les données ne sont pas les mêmes -

    2000 champs pour la liste (avec Countrows) et 2000 pour la collection, mais ce ne sont pas les mêmes .....

    Question : Comment être sur qu'il y a les mêmes données et aussi est t'on sur que la requête se fait sur l'ensemble des données et pas que les 2000 .....


    les codes sont : SortByColumns(stockpiecescollection;"DATESORTIESTOCK";Descending)
    et                       SortByColumns(STOCKPIECES;"DATESORTIESTOCK";Descending)

    avec toujours le ClearCollect(stockpiecescollection;STOCKPIECES)

    ------------------------------
    CARRIERE LAURENT
    ------------------------------



  • 4.  RE: Problème filtrage galerie - différence entre listesharepoint et collections

    Gold Contributor
    Posted Jul 13, 2021 06:08 AM
    Ah mais si tu as plus de 2000 enregistrement dans ta liste ça change tout ! Tu es désormais confronté à la problématique de délégation : si une formule a un problème de délégation, seuls les 2000 premiers enregistrements de ta liste seront interrogés ! Et ton ClearCollect() pour alimenter ta collection locale ne ramènera jamais plus de 2000 éléments. C'est une limitation Power Apps qui est là pour des raisons de performances...

    Quoiqu'il arrive, tu ne pourras donc pas travailler avec une collection locale. Il faudra que tu bosses directement sur ta liste SharePoint pour pouvoir interroger la totalité des enregistrements.

    Mais pour cela, il faut te débarrasser de tes problèmes de délégation et donc de tes triangles jaunes.
    Est-ce que tu peux essayer de tester ta formule n° 5 morceaux par morceaux :
    • commence par ne mettre comme condition de filtrage que NBRESORTIEPIECE > 0 et vérifie que tu n'as pas de problème de délégation
    • procède de la même façon pour chacune des parties de ta condition : tester uniquement la partie DATESORTIESTOCK>DatePicker1.SelectedDate puis uniquement la partie Value('IDPIECE:NUMLOT'.Value;"en-US") = Value(Dropdown1_1.Selected.Value), etc.
    Jusqu'à identifier où se situe le problème de délégation (mon avis c'est que c'est la partie Value('IDPIECE:NUMLOT'.Value;"en-US") = Value(Dropdown1_1.Selected.Value) qui pose problème).

    Check ça et revient vers moi avec le résultat...


    ------------------------------
    EMMANUEL GALLIS
    Power Platform Consultant
    France
    ------------------------------



  • 5.  RE: Problème filtrage galerie - différence entre listesharepoint et collections

    Silver Contributor
    Posted Jul 13, 2021 11:01 AM
    Bon ben, effectivement

    Filter(STOCKPIECES;'IDPIECE:NUMLOT'.Value = Dropdown1_1.Selected.Value) fait apparaitre le pb de délégation.

    -

    je vais fouiller.... notament le fait que le dropdown1_1 ne soit pas une simple liste de choix ["1";"2";"3";"4";"5";"6";"7";"8";"9";"10";"11";"12";"14";"15"]
    mais plutot un choix des valeurs possible de NUMLOT   (qui vient de la table PIECES) et en utilisant l'ID.

    si tu as d'autres pistes.

    merci en tout cas


    ------------------------------
    CARRIERE LAURENT
    ------------------------------



  • 6.  RE: Problème filtrage galerie - différence entre listesharepoint et collections

    Gold Contributor
    Posted Jul 13, 2021 11:53 AM
    En général lorsqu'il y a un deux-points ":" dans le nom d'un champ dans SharePoint c'est qu'il s'agit d'un champ supplémentaire rapatrié via un champ de lookup. Est-ce que ta colonne IDPIECE est un lookup ?

    Peux-tu me décrire ton modèle de données ? Je peux sûrement t'aider à trouver une solution...

    ------------------------------
    EMMANUEL GALLIS
    Power Platform Consultant
    France
    ------------------------------



  • 7.  RE: Problème filtrage galerie - différence entre listesharepoint et collections

    Silver Contributor
    Posted Jul 13, 2021 12:47 PM

    sous sharepoint
    une table PIECES avec le champ NUMLOT (champ numérique sans décimale) et un champ IDPIECE(champ numérique sans décimale)

    une table STOCKPIECES avec le champ lookup IDPIECE qui va chercher la valeur dans PIECES.IDPIECE
    plusieurs champs  liés au lookup dont IDPIECE:NUMLOT

    ------------------------------
    CARRIERE LAURENT
    ------------------------------



  • 8.  RE: Problème filtrage galerie - différence entre listesharepoint et collections

    Gold Contributor
    Posted Jul 13, 2021 05:13 PM
    Ok. Alors si tu veux filtrer STOCKPIECES en fonction d'un numéro de lot, essaie la technique ci-dessous...

    Modifie d'abord le Items de Dropdown1_1 en mettant ceci :
    Distinct(PIECES; NUMLOT)​

    Ensuite, teste cette formule pour filtrer ton stock en fonction d'un numéro de lot choisi dans Dropdown1_1 :
    Filter(
        STOCKPIECES;
        IDPIECE.Value in ShowColumns(
            Filter(
                PIECES;
                NUMLOT = Dropdown1_1.Selected.Result
            );
            "IDPIECE"
        )
    )​


    Dis-moi ce que ça donne, et surtout si y'a un souci de délégation ou pas...



    ------------------------------
    EMMANUEL GALLIS
    Power Platform Consultant
    France
    ------------------------------



  • 9.  RE: Problème filtrage galerie - différence entre listesharepoint et collections

    Silver Contributor
    Posted Jul 14, 2021 09:54 AM
    hello

    le distinct marche bien.

    malheureusement le "in" pose un probleme de délégation.
    Il ne reconnait même pas les items dans la galerie

    petite précision :
    IDPIECE (champ lookup) dans STOCKPIECES correspond a 'REF RDE24' dans PIECES (je l'avais pas mis comme ça dans mon post précédent pour simplifier la compréhension, mais j'ai bien fait gaffe a mettre le bon nom dans le code)



    ------------------------------
    CARRIERE LAURENT
    ------------------------------



  • 10.  RE: Problème filtrage galerie - différence entre listesharepoint et collections

    Gold Contributor
    Posted Jul 14, 2021 06:27 PM
    Ok. Alors, je sais pas si tu le sais mais dans une formule, si tu sélectionnes avec la souris une portion de la formule il l'évalue en temps réel et t'affiche le résultat en bas de la base de formule.

    Est-ce que tu peux sélectionner cette partie de la formule (comme sur la capture ci-dessous) et vérifier qu'il y a bien un résultat :


    ------------------------------
    EMMANUEL GALLIS
    Power Platform Consultant
    France
    ------------------------------



  • 11.  RE: Problème filtrage galerie - différence entre listesharepoint et collections

    Silver Contributor
    Posted Jul 15, 2021 03:09 AM
    comme tu peux le voir, cela ne lui plait pas...

    pour infos, cette partie du code marche si je le met seul : il me tri bien ma liste PIECES par le dropdown (j'ai fait le test sur une autre galerie)



    ------------------------------
    CARRIERE LAURENT
    ------------------------------



  • 12.  RE: Problème filtrage galerie - différence entre listesharepoint et collections

    Gold Contributor
    Posted Jul 15, 2021 05:33 AM
    Ok. Bon, je t'envoie un message privé pour qu'on se fasse une session Teams. Passke sinon on va pas y arriver... 😋

    ------------------------------
    EMMANUEL GALLIS
    Power Platform Consultant
    France
    ------------------------------



  • 13.  RE: Problème filtrage galerie - différence entre listesharepoint et collections

    Silver Contributor
    Posted Aug 03, 2021 09:23 AM
    Une solution qui marche (pas une belle solution...)
    Je résume :
    le problème se pose pour une liste sharepoint de plus de 2000 enregistrement qui contient un champ recherche(lookup).
    Lorsque l'on veut filtrer cette liste il y a un problème de délégation....... voir plus haut.

    ma solution :
    a chaque fois qu'une ligne est crée sur ma listesharepoint en question, je crée via Powerautomate une ligne sur un tableau excel.
    je me retrouve avec un tableau Excel qui est la copie de ma liste sharepoint et sur lequel je n'ai plus de probleme avec les champs lookup.

    Pour l'instant mon fichier Excel est sur mon Onedrive, ce qui posera surement des problemes pour la suite....
    en attendant mes requêtes marchent....

    je suis preneur pour une solution beaucoup plus élégante bien sur

    :)

    ------------------------------
    CARRIERE LAURENT
    ------------------------------