Masquer/Démasquer un bouton Power BI en fonction de la sélection des segments

  • Masquer/Démasquer un bouton Power BI en fonction de la sélection des segments

    Posté par Franck sur 18 octobre 2024 à 14h22

    Bonjour à tous, 😀

    Je cherche à savoir s’il est possible de masquer ou de rendre visible un bouton dans un rapport Power BI en fonction de la sélection effectuée sur deux segments.

    Voici le cas que je souhaite mettre en place :

    • J’ai deux segments dans mon rapport.

    • Je voudrais que le bouton soit masqué lorsque aucune sélection n’est faite dans les segments.

    • En revanche, dès que des données sont sélectionnées dans les deux segments, je souhaite que le bouton apparaisse.

    Est-ce que Power BI permet de gérer la visibilité d’un bouton en fonction de la sélection (ou de l’absence de sélection) dans plusieurs segments ? Si oui, quelle approche recommanderiez-vous pour mettre cela en place ?

    Merci d’avance pour votre aide !

    Mattthieu a répondu Il y a 2 mois 3 Membres · 4 Réponses
  • 4 Réponses
  • Jonathan

    Membre
    21 octobre 2024 à 15h56

    Bonjour Franck,

    Oui, il est tout à fait possible de masquer un bouton selon certaines conditions dans Power BI.

    Pour cela, vous devez créer une mesure qui vérifie la sélection dans les segments à l’aide de la fonction DAX ISFILTERED, par exemple. Ensuite, appliquez une mise en forme conditionnelle avec une couleur transparente. La couleur transparente peut être définie ainsi : RGBA(255, 255, 255, 0), ou via un code hexadécimal suivi de “00”. Attention toutefois, j’ai déjà rencontré des surprises avec cette dernière méthode.

    Il vous est ensuite possible de rendre n’importe quel élément du bouton transparent (arrière-plan, bordure, texte, etc.), en appliquant la mise en forme conditionnelle via le bouton fx.

    J’utilise régulièrement cette approche pour des boutons d’extraction : ils ne sont visibles que lorsque l’extraction est possible et disparaissent lorsqu’elle ne l’est pas.

  • Franck

    Membre
    21 octobre 2024 à 18h54

    Bonjour, 😁

    Merci beaucoup pour votre réponse claire et détaillée, c’est exactement ce que je recherchais.

    Cependant, pourriez-vous m’apporter quelques précisions sur l’utilisation du code hexadécimal pour la transparence ? J’ai cru comprendre qu’il pouvait parfois poser problème, notamment dans certains cas spécifiques. Avez-vous rencontré des situations où cela ne fonctionnait pas comme prévu, et si oui, comment les avez-vous résolues ?

    Aussi, j’ai créé cette mesure pour la visibilité du bouton :

    ButtonVisible = IF(ISFILTERED(‘Table'[Column]), 1, 0)

    Pourriez-vous me confirmer si cet exemple est correct et m’expliquer comment et où exactement appliquer cette mesure dans les options du bouton pour contrôler sa visibilité ?

    Encore merci pour votre aide ! 😀

  • Jonathan

    Membre
    21 octobre 2024 à 19h21

    En fait tout va dépendre du type de bouton. Pour les boutons d’extraction, c’est facile à gérer puisqu’il y a des états. J’ai donc juste à choisir la couleur transparente si l’état n’est pas activé (Dans le bouton FX, je référence simplement ma mesure couleur transparente).

    Voici un exemple générique, il faudra ajuster en fonction du nombre de couleurs car hors bouton d’extraction simple à configurer, je pense qu’il va falloir faire une mesure spécifique pour chaque couleur si elles ne sont pas identiques (Texte, bordure, fond, etc…).

    <div>

    Couleur Bouton =
    VAR Check1 =
    ISFILTERED ( Table1[Column1] )
    VAR Check2 =
    ISFILTERED ( Table2[Column1] )
    RETURN
    IF (
    Check1 && Check2,
    [Couleur 1],
    [Couleur Transparente]
    )

    <div>Pour la couleur transparente, c’est juste que de temps en temps la transparence saute quand on met les deux 00 après le code hexa alors que l’autre version fonctionne toujours.</div>
    <div> </div>
    <div>Pour ma part, je fais systématiquement des mesures avec les couleurs de base, positive, négative et neutre (version texte et version arrière plan) plus la couleur transparente pour faire disparaître certains éléments.</div>
    </div>

  • Mattthieu

    Membre
    23 octobre 2024 à 16h51

    Salut,

    Avec ces solutions tu ne pourras pas agir sur le fonctionnement du bouton mais juste le masquer. Si tu veux vraiment agir sur un bouton de navigation : tu peux faire une mesure qui permet d’attribuer, en fonction du contexte de filtre de ta page, d’aller dans une page ou l’autre en prenant son nom.

    @+ !

Connectez-vous pour répondre.