8 Replies Latest reply: Mar 17, 2017 4:19 AM by Sébastien Fatoux RSS

    Ajouter aspect temporel fonction if

    Audran BOROWSKI

      Bonjour,

       

      Je suis actuellement en train de mettre en forme une fonction if pour définir l'avancement d'une production. Ce que je souhaiterai, c'est que dans Qlik Sense, mes expression correspondent à:

      Si aujourd'hui, ma quantité demandé est supérieur à mon stock, alors mettre la couleur rouge,

      Si aujourd'hui ma quantité demandé est supérieur à mon encours + mon stock, alors mettre la couleur noir, sinon mettre la couleur verte.

      Ligne de code essayé:

      if(sum([Qté requise])>sum([Stock total]), red(),

      if(sum([Qté requise])>count(distinct [Ordre]) + sum([Stock total]),black(),green()))

       

      Je suis arrivé à un point où j'ai des couleurs, mais elle n'ont aucune signification dès lors qu'elles ne prennent pas en compte la valeur temporelle.

       

      Merci d'avance pour votre aide,

      Audran.

        • Re: Ajouter aspect temporel fonction if
          Sébastien Fatoux

          Bonjour Audran,

           

          Tu ne donnes pas d'info sur ta dimension temporelle.

           

          Comment les mesures Qté requise, Stock total et Ordre sont-elles liées à ta dimension temporelle ?

          • Re: Ajouter aspect temporel fonction if
            Denis Tronel

            bonjour

            Pour compléter la réponse de Sébastien et faciliter la compréhension de ton problème, pourrais-tu mettre en PJ en fichier (QV ou XL) illustrant une partie de ton je de donnée ?

            Cdlmt

            • Re: Ajouter aspect temporel fonction if
              Audran BOROWSKI

              Bonjour,

               

              Pour compléter un peu mon problème, je vous joins une photo pour que vous puissiez mieux visualiser ce que je cherche à faire.836556755543462d99c092b877108a96.png

              Pour ce produit, j'ai une demande étalé de 105 unités sur l'année, un en cours de 7 unités et un stock de 5.

              Ce que je souhaite obtenir, est la chose suivante:

              - sachant que j'ai 5 unités en stock, je voudrais que mes 5 premières bar soit en vert car mon besoin est couvert,

              - ensuite, je souhaite que les 7 bars suivantes soit en jaunes car le produit est en cours de production mais pas encore fini

              -finalement, le reste des bars peut-être en rouge car ma production n'est pas encore lancée mais mon besoin existe.

               

              Je ne sais pas si il faut utiliser une boucle ou si on peut s'en sortir avec une simple fonction if.

               

              Merci d'avance pour votre aide,

              Cordialement,

              Audran.

                • Re: Ajouter aspect temporel fonction if
                  Sébastien Fatoux

                  Si j'ai bien compris, c'est quelque chose comme ceci :

                  Community_1222628.png

                  Voici l'expression utilisée pour les couleurs :

                  if(RangeSum(Above(Sum([Qté Requise]),0,365)) > (sum([Qté en Stock]) + sum([Qté en préparation])),

                      red(),

                      if(RangeSum(Above(Sum([Qté Requise]),0,365)) > sum([Qté en Stock]),  

                    yellow(),

                          green()

                      )

                  )

                    • Re: Ajouter aspect temporel fonction if
                      Audran BOROWSKI

                      Super, merci beaucoup pour votre réponse.

                      Effectivement, au vue du graphique c'est exactement ce que je recherche. Je vais essayer de l'appliquer demain et voir si ça marche sur mon application. En théorie il ne devrait pas y avoir de problème.

                      Merci beaucoup pour votre temps, cette aide sera d'une grande utilité pour moi.

                        • Re: Ajouter aspect temporel fonction if
                          Audran BOROWSKI

                          Bonjour,

                           

                          Tout d'abord merci beaucoup à Sébastien, la formule marche parfaitement pour mon problème.

                           

                          Maintenant j'aimerais compléter un tout petit peu mon problème avec une autre couleur à définir.

                           

                          Ce que je souhaiterais maintenant obtenir est une couleur conditionnelle d'arrière plan pour ma colonne Désignation.

                          Si dans 7 jours, sur mon histogramme, ma couleur est jaune ou rouge, alors j'applique une couleur noir pour la colonne désignation.

                          Si dans 14 jours, ma colonne est jaune ou rouge, alors j'applique une couleur rouge.

                          Sinon, une couleur verte.

                           

                          Je ne vois pas comment dans le script lié la date avec le reste de ma formule.

                           

                          Je vous remercie encore et d'avance pour votre aide.

                          Cordialement,

                          Audran.

                          histo.pngtableau mod.png

                            • Re: Ajouter aspect temporel fonction if
                              Sébastien Fatoux

                              J'ai un peu de peine a comprendre la logique de vos codes couleur, mais voici l'expression qui correspond à votre demande :

                               

                              if(Sum({$<Date={"<$(=Min(Date)+7)"}>}[Qté Requise]) > Sum([Qté en Stock]),

                                   Black(),

                                   if(Sum({$<Date={"<$(=Min(Date)+14)"}>}[Qté Requise]) > Sum([Qté en Stock]),

                                        Red(),

                                        Green()

                                   )

                              )