Formules nommées dans PowerApps

Étiquetté : 

  • Formules nommées dans PowerApps

    Posté par edou sur 14 décembre 2022 à 10h19

    Bonjour à tous,

    Est-il possible d’actualiser les formules nommées sans changer d’écran ?

    Car dans mon application, j’ai un écran avec un component qui me permet de sélectionner un utilisateur et j’ai des labels qui affichent le résultat de mes formules nommées en fonction de l’utilisateur sélectionné.

    Mais lorsque je change l’utilisateur dans mon component, mes données ne s’actualisent pas.(pour info, je reste toujours sur le même écran)

    Est-il possible d’actualiser des formules nommées, si on reste sur le même écran ?

    Merci.

    PostID=3VxItuPEjPP7eO0

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

    Membre
    14 décembre 2022 à 11h07

    edou ton problème doit venir d’ailleurs car tout l’intérêt des formules nommées est justement qu’elles sont en permanence à jour. Il n’existe donc rien qui permette de les “mettre à jour”.

    Quelle formule as-tu mis dans ta formule nommée ?

    CommentID=PZwbDkrKdWAQ9sC, PostID=3VxItuPEjPP7eO0

    • edou

      Membre
      14 décembre 2022 à 15h02

      Hello R3dKap ,

      Voici un exemple de formule :

      Formule_1 =nSum(n    Filter( n        AddColumns(n            ShowColumns(n            Filter(Table, Colonne_Nom = variable.nom   &&  Colonne_Prenom = variable.prenom  ),n            "mois","indicateur","montant"),n            "mois_date",DateValue(mois)),n            mois_date >= variable.debut_perioden            &&n            mois_date <= variable.fin_perioden            &&n            indicateur = "F1"n        ),montant);n/**nles éléments de comparaison proviennent du Component. J'ai regroupé ces informations dans une variable :*/nSet(variable,n    {n        Nom: Component.Nom,n        Prenom : Component.Prenom,n        debut_periode: DateValue(Component.date_debut_sorti),n        fin_periode: DateValue(Component.date_fin_sorti)n    }n);n

      Dans mon cas, j’ai donc mis la variable dans le bouton suivant du component, mais il la MAJ des formules ne se fait pas.

      J’ai donc mis en place une entrée dans le component de type screen. Lorsque l’on change d’utilisateur on passe sur un screen de chargement , puis les données sont de nouveaux actualisées car j’ai mis dans le OnVisible de mon écran la l’initialisation de ma variable

      La MAJ des Formules fonctionne quand je passe d’un écran à l’autre mais pas quand je suis sur le même écran.

      SubCommentID=8Wfzfky15IbUqos, CommentID=PZwbDkrKdWAQ9sC, PostID=3VxItuPEjPP7eO0

  • R3dKap

    Membre
    14 décembre 2022 à 15h56

    Bizarre… En restant sur le même écran, tu constates bien le changement de variable.debut_periode et fin_periode mais aucun changement sur Formule_1 ? C’est ça ?

    CommentID=GJdMJNHAKZ4lKKu, PostID=3VxItuPEjPP7eO0

    • edou

      Membre
      15 décembre 2022 à 14h13

      Hello R3dKap ,

      En effet, lorsque je change d’utilisateur via mon component, les variables sont bien à jour.
      Pour info, j’ai pallié à mon problème en initialisant ma variable dans le onvisbile de mon 1er écran et j’ai crée un deuxième écran qui me sert d’écran de chargement. J’ai mis un timer avec une fonction Back().

      Et là , j’ai bien mes formules sont à jour 😄 .

      SubCommentID=tDq7dYnjjePmYjq, CommentID=GJdMJNHAKZ4lKKu, PostID=3VxItuPEjPP7eO0

  • R3dKap

    Membre
    14 décembre 2022 à 16h00

    Par contre je suis dubitatif sur la technique employée pour comparer des mois et des dates…

    Dans la colonne mois de ta table, il y a uniquement la valeur numérique du mois (genre 6 pour juin) ou s’agit-il d’une vraie date du premier jour du mois concerné (genre 01/06/2022) ?

    Du coup, pourquoi ajouter une colonne “date_mois” en faisant une conversion avec DateValue(mois) ? Pourquoi ta colonne “mois” n’est-elle pas une vraie colonne de date ?

    CommentID=5VCFeeMrviOKZFP, PostID=3VxItuPEjPP7eO0

Connectez-vous pour répondre.