Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Ajouter aspect temporel fonction if

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.

1 Solution

Accepted Solutions
sfatoux72
Partner - Specialist
Partner - Specialist

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()

    )

)

View solution in original post

8 Replies
sfatoux72
Partner - Specialist
Partner - Specialist

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 ?

dtronel
Contributor III
Contributor III

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

Not applicable
Author

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.

sfatoux72
Partner - Specialist
Partner - Specialist

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()

    )

)

Not applicable
Author

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.

Not applicable
Author

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

sfatoux72
Partner - Specialist
Partner - Specialist

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()

     )

)

sfatoux72
Partner - Specialist
Partner - Specialist

Bonjour,

Si des réponses vous ont aidés, merci de les spécifier comme "Utile".

Si vous désirez recommander une réponse aux autres membre de la communauté, cliquez sur recommander.

Et si la réponse résout votre problème, merci de mettre la question comme résolue, afin d'aider les autres membres de la communauté.

Merci