Initialiser un tableau/collection dans un ForAll

Étiquetté : , ,

  • Initialiser un tableau/collection dans un ForAll

    Posté par Maxime sur 20 avril 2023 à 9h19

    Bonjour,

    J’aimerais initialiser une collection ou bien un tableau a chaque itération de ma boucle dans un forAll.

    Voici le format de données que je cherche a obtenir :

    [n  {n    Index: 1;n    Job: XXX;n    Values: [n                { Index: 1; Value: X };n                { Index: 2; Value: Y };n                { Index: 3; Value: Z };n                ...n            ]n  }n ...n]

    Et voila mon code jusque là :

    // Reset current activities displayednClearCollect(CurrentWeekActivities; Blank());;n// For every data loaded from APInForAll(ThisWeekData;n    Collect(CurrentWeekActivities; {n       Index: n           CountRows(CurrentWeekActivities) + 1;n       Values : n           UpdateIf(n                Table(n                     {Index: 1; Value: 0};n                     {Index: 2; Value: 0};n                     {Index: 3; Value: 0};n                     {Index: 4; Value: 0};n                     {Index: 5; Value: 0};n                     {Index: 6; Value: 0};n                     {Index: 7; Value: 0}n                );n                Index = DayNbr;n                {n                     Index: Index;n                     Value: Value(Quantity; "en-US")n               }n          )n     })n);;

    Le souci ici, c’est que mon tableau n’est pas initialisé a chaque itération, mais variabilisé, puis modifié.

    Si vous avez des recommandations, ou que vous voulez plus d’informations, n’hésitez pas.

    Cordialement,

    PostID=HpNDEb3fpOJw75R

    Maxime a répondu Il y a 7 mois, 4 semaines 1 Membre · 4 Réponses
  • 4 Réponses
  • DavidZed

    Membre
    20 avril 2023 à 10h12

    Hello,

    Le soucis vient de ton UpdateIf avec une fonction Table() comme source, le updateIf est fait pour mettre à jour une source de données ou une collection

    donc a premiere vue je dirais qu’il faut peut être remplacer toute la formule par un GroupBy() ou alors remplacer le updateif par un second ForAll

    CommentID=qBFhlbOQJQ0N90r, PostID=HpNDEb3fpOJw75R

  • Maxime

    Membre
    20 avril 2023 à 10h35

    Merci pour ton message !
    J’ai un peu de mal à quoi me servirais un GroupBy dans mon cas, mais également comment un second ForAll me permettrait de modifier mon tableau sur un Index en particulier ?
    Est-ce que tu aurais des exemples ?

    CommentID=blPCdLMjzP9udPq, PostID=HpNDEb3fpOJw75R

  • DavidZed

    Membre
    21 avril 2023 à 11h19

    Pour le GroupBy, en gros, si tu as une liste/table/collection avec

    [n{Nom: "Jules", Job: "Réceptionniste", Date: "10/12/2023"},n{Nom: "Julia", Job: "Comptable", Date: "12/12/2023"},n{Nom: "Yuan", Job: "Réceptionniste", Date: "13/12/2023"},n{Nom: "Robert", Job: "Réceptionniste", Date: "20/12/2023"},n{Nom: "Yasmine", Job: "Comptable", Date: "15/12/2023"},n]

    Avec un GroupBy('Ma Liste',"Values",Job) , tu auras:

    [n{Job: "Réceptionniste", Values : n       [n       {Nom: "Jules", Date: "10/12/2023"},n       {Nom: "Yuan", Date: "13/12/2023"},n       {Nom: "Robert", Date: "20/12/2023"}n       ]n},n{Job: "Comptable", Values : n       [n       {Nom: "Julia", Date: "12/12/2023"},n       {Nom: "Yasmine", Date: "15/12/2023"}n       ]n}n]

    Ce qui ressemble à la structure que tu souhaites, mais sans connaître la structure de données de départ, ce n’est pas évident 🙂

    CommentID=cPeGUXVEcU6BCvl, PostID=HpNDEb3fpOJw75R

  • Maxime

    Membre
    24 avril 2023 à 12h50

    Justement, c’est moi qui choisis d’initialiser la structure de départ comme ceci, pour pouvoir la manipuler dans 2 Galerie. La première pour parcourir les éléments de “CurrentWeekActivities” et ensuite la seconde pour parcourir les “Values”. C’est dommage qu’il n’y ai pas moyen d’initialiser une collection ou un tableau sans avoir a ce qu’il soit déclaré dans le context global

    CommentID=lIxtPQHT2hc8gEy, PostID=HpNDEb3fpOJw75R

Connectez-vous pour répondre.