Filtrage Lookup par rapport à un autre lookup Multi Sélection (dans Sharepoint)

Étiquetté : ,

  • Filtrage Lookup par rapport à un autre lookup Multi Sélection (dans Sharepoint)

    Posté par Robin Navarro sur 1 février 2023 à 12h24

    Bonjour à tous

    J’aurais bien besoin d’un petit éclaircissement sur un filtrage dans une de mes applications sur lequel je bloque un peu et sur lequel mes recherches se montrent infructueuses.

    Pour vous expliquer simplement, j’ai 3 listes SP :

    • “Demandes” avec 3 champs : Titre (texte), Département (Recherche vers Département et multi-sélections) et Centre de coût (Recherche vers Centre de Coût et multi-sélections)

    • “Département” avec 1 champ : Titre (texte) (et une cinquantaine d’item)

    • “Centre de cout” avec 2 champs : Titre (texte) et Département (Recherche vers Département) (500 items)

    Exemple de “Centre de cout” : Titre = “Frais Financier Actions” et Département = “OTHERS”

    Quand je remplis une demande, je renseigne le titre, je sélectionne un département et un centre de cout.

    Or, un centre de coût est rattaché à un département. J’aimerais filtrer les centre de cout en fonction du ou des départements sélectionnés

    J’ai donc mon formulaire standard dans mon app et j’ai la formule suivante :

    Filter(Choices([@'Demande accès Ivalua et JDE'].Centredeco_x00fb_t);Id in ShowColumns(Filter('Centre de coût'; Departement.Value = cbx_Departement.Selected.Value);"ID"))

    Elle marche très bien pour filtrer les centres si un seul département est sélectionné. (thx to un article de R3dKap 🧢 )

    J’ai voulu passer en multi-sélection et cela me donne ceci :

    Est-ce que cela parle à quelqu’un ?

    Merci d’avance pour le temps que vous prendrez pour m’aider 👏 💖

    PostID=I8KHeSTnogKHPNh

    Robin Navarro a répondu Il y a 11 mois, 3 semaines 1 Membre · 5 Réponses
  • 5 Réponses
  • R3dKap

    Membre
    1 février 2023 à 13h10

    Robin Navarro comme tu le sais probablement, l’opérateur IN ne fonctionne que sur des tables à une seule colonne. Puisque tu as sûrement branché directement ta liste Départements sur ta cbx_Departement, la propriété SelectedItems récupère toutes les colonnes pourries de SharePoint en plus de la Title.

    Il faut qu’à droite du IN tu fasses un ShowColumns() pour ne garder que la colonne Title du cbx_Departement.SelectedItems

    Je pense que ça vient de là…

    CommentID=ByblqpxM9Oq7gWS, PostID=I8KHeSTnogKHPNh

    • Robin Navarro

      Membre
      1 février 2023 à 13h16

      Hello Emmanuel ! J’y ai pensé, j’ai voulu réduire le scope pour lui fournir simplement une colonne et il me propose uniquement du Id ou du Value

      SubCommentID=9TfYBvh9Ay21893, CommentID=ByblqpxM9Oq7gWS, PostID=I8KHeSTnogKHPNh

    • Robin Navarro

      Membre
      1 février 2023 à 13h21

      Update :

      Filter(n    Choices([@'Demande accès Ivalua et JDE'].Centredeco_x00fb_t);n    Id in ShowColumns(n        Filter(n            'Centre de coût';n            Departement.Value in ShowColumns(n                cbx_Departement.SelectedItems;n                "Value"n            )n        );n        "ID"n    )n)

      ça semble fonctionner comme ça même si…………..délégation sur le In🥴

      SubCommentID=Wknldc8hksEyA3B, CommentID=ByblqpxM9Oq7gWS, PostID=I8KHeSTnogKHPNh

  • R3dKap

    Membre
    1 février 2023 à 13h25

    Ah si tu n’as que Id et Value sur ta cbx_Departement c’est qu’elle est alimentée avec un Choices() sur ta colonne Département d’une de tes listes. Du coup, effectivement comme ça c’est bon…

    Pour ton problème de délégation, très simple : je doute que tu aies plus de 2000 centres de coûts (500 j’ai vu). Donc, monte le nombre max de ton app dans les paramètres à 2000 puis charge ta table Centre de coût dans une collection et fait ton IN sur la collection. T’auras plus de souci de délégation.

    D’ailleurs, vu que ta table des départements ne dépasse pas les 50, tu peux aussi la charger en collection et ne bosser qu’avec la collection. Tous les appels à la source de données que tu peux éviter, c’est de la consommation de ressources en moins… 😉

    CommentID=3DxW470TXWT0mFa, PostID=I8KHeSTnogKHPNh

  • Robin Navarro

    Membre
    1 février 2023 à 13h29

    Décidément, on est synchro ! Je viens de passer la limite à 2000 et je vais passer dans des collections pour alléger le tout 💭 Cas résolu, merci pour ton temps ! 🙌

    CommentID=InIqYMx6ttm6Tds, PostID=I8KHeSTnogKHPNh

Connectez-vous pour répondre.