Club Power BI

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

mise en forme conditionnel multiple

  • 1.  mise en forme conditionnel multiple

    Posted May 02, 2019 10:37 AM
    Bonjour,

    je suis novice sur Power BI et je l'utilise sur demande de mon manager.

    J'explique la situation, j'ai crée un plan de l'usine où je travaille, par l'intermédiaire de Synoptic Panel, sur lequel je peux visualiser l'ensemble des machines de l'usine avec la charge de travail (en heures).
    En fonction de la valeur de la charge, les couleurs change indépendamment pour chaque machine grâce aux "States" dans l'onglet format : vert = sous-charge ;  bleu = correct ; rouge = sur-charge.

    Chaque machine ayant une capacité de production différentes, je voudrais donc définir des valeurs de seuils différentes pour chaque machine et que celles-ci influent sur ma "carte".

    Exemple : machine "Tour" : vert (sous-charge) si valeur de charge < 50
                                                bleu (charge moyenne) si valeur de charge < 150
                                                rouge (sur-charge) si valeur de charge > 150

    Exemple : machine "Stama 734 C8" : vert (sous-charge) si valeur de charge < 120
                                                                bleu (charge moyenne) si valeur de charge < 250
                                                                rouge (sur-charge) si valeur de charge > 250


    et ainsi pour les 11 autres machine de l'usine ........

    J'ai cru voir, en consultant les différents forum, qu'avec des lignes de codes DAx ce serait possible ...

    Merci d'avance :)


    ------------------------------
    corentin b
    ------------------------------


  • 2.  RE: mise en forme conditionnel multiple

    Silver Contributor
    Posted May 04, 2019 11:49 AM
    Salut. De ce que je comprends tu as 2 valeurs de seuils par machine (la 3ième étant par défaut l'état de la machine). Moi j'essaierai avec une table de paramètres liée à ta table de fait avec une ces 2 valeurs par machine (3 colonnes :  une avec la réf machine et les 2 autres avec les valeurs basse / hautes, liée par le code machine).  Tu crée une mesure DAX qui renvoie en fonction des seuils de la machine sont statut sur 3 valeurs (genre -1, 0, 1) qui te permettra de colorier l'objet selon ces 3 valeurs. Je ne sais pas si je suis clair... :-)

    ------------------------------
    Jérôme
    ------------------------------



  • 3.  RE: mise en forme conditionnel multiple

    Bronze Contributor
    Posted May 04, 2019 06:26 PM
    Salut,

    J'ai commencé exactement comme ça en essayant de trouver une solution à ce problème mais je me suis rendu compte qu'en fait le problème, ce n'est pas de faire de la mise en forme conditionnelle en s'aidant d'une formule dax mais c'est qu'ensuite il n'y a aucune option dans le panneau de paramétrage du visuel pour l'appliquer...

    Désolé pour Corentin, j'espère que quelqu'un aura une solution.

    ------------------------------
    Jonathan CHANAL
    Comptable
    ------------------------------



  • 4.  RE: mise en forme conditionnel multiple

    Posted May 06, 2019 05:21 AM
    Bonjour à vous et merci pour vos réponses,

    Jerome de LATTRE, tout est clair, j'avais pensé à cette solution mais j'avais plusieurs interrogations :
     1. Comment écrire cette nouvelle mesure ? J'ai essayé en utilisant la fonction IF, cela fonctionne partiellement (les valeurs -1,0,1 apparaissent dans la nouvelle colonne en fonction du [TOTALTIME], mais les seuils sont les mêmes pour tout mes code machine) (Voir image plus bas) puisque dans ma formule je ne vois pas où intégrer mon code machine ... Je dois avouer que c'est la première fois que j'utilise le code DAx et je suis un peu perdu ....
    Littéralement ma formule devrait être :
    Si [TOTALTIME] pour CCPLN 002003 est <150 alors -1 ; si >250 alors 1 ; sinon 0
    Si [TOTALTIME] pour CCPLN 463033 est <100 alors -1 ; si >200 alors 1 ; sinon 0
    etc ...

    Au cas où l'image serais trop petite : 
    Thresholds = IF(SUM(V_OPERATION_LIVE[TOTALTIME]) <150; -1; IF(SUM(V_OPERATION_LIVE[TOTALTIME]) >250; 1;0))

     2. Si la formule fonctionne, j'imagine que dans l'onglet "FORMAT", est dans le sous-onglet "States" (j'utilise POWER BI en anglais) je devrais indiquer : State A color : vert
                    State A value : -1
                    State B color : bleu
                    State B value : 0
                    State C color : rouge
                    State C value : 1

    Pour ça j'imagine qu'il faut que la nouvelle mesure sois dans l'onglet "CATEGORY" dans le sous onglet "States Measure" ?


    Jonathan, vous avez dis : le problème, ce n'est pas de faire de la mise en forme conditionnelle en s'aidant d'une formule dax mais c'est qu'ensuite il n'y a aucune option dans le panneau de paramétrage du visuel pour l'appliquer"

    Donc ce que j'ai écrit au point 2 ne fonctionnerai pas ??
    Et si cela n'est pas indiscret, quelle à étais votre solution ?

    Cordialement,
    Corentin.

    ------------------------------
    corentin b
    ------------------------------



  • 5.  RE: mise en forme conditionnel multiple

    Silver Contributor
    Posted May 06, 2019 09:31 AM
      |   view attached

    Salut Corentin,

    La solution proposé par Jerome pourrais répondre à ton problème ;

    Tu ne pourras pas avoir un formatage en arrière-plan sur ta carte comme présenté sur l'image dans ton post car à ce que je sache power bi ne gère pas encore le formatage conditionnel d'arrière-plan mais juste textuelle.

    Donc comme Jerome l'a dis tu crée une table de paramétrage contenant (id machine, seuil1, seuil2). Tu fais une jointure entre cette table et ta table V_OPERATION_LIVE.

    Tu fais le calcul de ton indicateur en te basant sur la colonne totaltime et les colonnes (seuil1, seuil2)

    Thresholds = if([(M01) TotalTime]<SELECTEDVALUE(Ref_Machines[Seuil1]);1;if([(M01) TotalTime]<SELECTEDVALUE(Ref_Machines[Seuil2]);0;-1))

     

    Tu utilise la visualization de type « table » pour l'affichage. S'aurais été mieux l'utilisation des visualisations (« Advance Card » ou « Card with States by OKViz »), mais ceux-ci ne permettent pas d'appliquer un filtre au niveau de l'élément visuel

    Ainsi en masquant les entêtes de colonne, désactivant le total et en appliquant une mise en forme conditionnel tu pourras avoir quelque chose de pas mal.


    Resulat final


     

    Ci-joint le fichier pbix de test.

    J'espère que ça pourras t'aide à obtenir ce que tu souhaites.

     

    A plus 😉,

     

     

     

     



    ------------------------------
    Aurelien BETBEUI KWANDJEU
    CHIEF DATA OFFICER (BI & DWH)
    0033766857584
    ------------------------------

    Attachment(s)

    pbix
    V_OPERATION_LIVE.pbix   434K 1 version


  • 6.  RE: mise en forme conditionnel multiple

    Posted May 06, 2019 10:32 AM
    Bonjour Aurélien,

    en un mot : MERCI !!

    Ta solution fonctionne parfaitement, de plus, j'ai un formatage en arrière plan sur ma carte ! Avec le paramétrage des "states" (regarde l'image ci-jointe)

    C'est exactement ce que je voulais ! Merci à toi et à l'ensemble de la communauté !!!!

    Cordialement,
    Corentin.

    ------------------------------
    corentin b

    ------------------------------