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

Maintenir valeur courbes combinées

Bonjour,

Dans ma base de donnée j'ai à disposition un capteur qui remonte l'information lors de son changement d'état 0 ou 1( pas d'échantillonnage régulier).

Ce qui implique qu'il y a une valeur 1 puis plus rien pendant 7 minutes par exemple et ensuite la valeur passe à 0.

J'aimerai afficher cette courbes avec d'autres capteurs échantillonnés toutes les secondes dans un graphe combiné.

Cependant Qlik relie les points entre eux ce qui me donne un courbe triangulaire alors que les deux valeurs possibles sont 1 ou 0.

Est ce qu'il y a une solution pour que la valeur soit maintenue jusqu’à la suivante afin d'obtenir une courbes avec des échelons?

J'avais penser avec une variables mais je n'ai pas réussi a trouver une définition adéquate, ou peu être avec une fonction bloqueur si elle existe.

Merci de votre aide.

10 Replies
brunobertels
Master
Master

Bonjour

Pas sur d'avoir bien compris mais en l'adaptant un peu la logique décrite dans ce post devrait t'aider je crois :

https://community.qlik.com/thread/250234

clefeuvre
Partner - Contributor II
Partner - Contributor II

Bonjour,

Je suis absente du 13 au 17 févier inclus.

Pour toute demande, vous pouvez envoyer vos mails à support@opso.fr.

Cordialement,

sfatoux72
Partner - Specialist
Partner - Specialist

Bonjour,

Je crois que c'est cela qu'il te faut:

  • La courbe grisée représente le résultat que tu as actuellement et la courbe bleue représente ce que tu auras après avoir sélectionné l'option correcte (valeur maintenue jusqu'au prochain changement😞

Community_1214571_2.png

Community_1214571.png

clefeuvre
Partner - Contributor II
Partner - Contributor II

Bonjour,

Je suis absente du 13 au 17 févier inclus.

Pour toute demande, vous pouvez envoyer vos mails à support@opso.fr.

Cordialement,

Not applicable
Author

Bonjour

Je n'avais pas vu votre réponse. C'est exactement ce que je souhaite faire mais comment faire cela sous Qlik Sense Desktop ? Je ne trouve pas les propriétés du graphique telles que vous les présentez...

brunobertels
Master
Master

Bonjour

Regarde cette extension sous qlik branch elle devrait répondre à ton besoin :

http://branch.qlik.com/#!/project/576573911848ac08ccd7d3ff

Not applicable
Author

Bonjour,

Merci mais malheureusement j'ai besoin de plus de 2 mesures donc cette extension ne répond pas a mes attentes..

sfatoux72
Partner - Specialist
Partner - Specialist

Bonjour,

Effectivement, ce que je vous est montré c'est sous QlikView.

Cette option n'existe pas pour l'instant sous Qlik Sense. Je voulais également vous proposer de vous rendre sous Branch.Qlik.com pour trouver une extension qui vous conviendrait.

Mais vu que je n'y ai rien trouvé, j'ai réfléchi à comment contourner le problème.

J'arrive à ça:

Community_1233314_3.png

ça se passe dans le script de chargement, je crée une copie de l'indicateur principale pour le graphe et j'y ajoute des points pour créer l'illusion de niveau.

Voici un exemple:

// Tes données

Data:
LOAD * Inline [
    Jour, Value
    7, 2000
    8, 1200
    9, 1800
    12, 2500
];

// Les données générées pour le graphe
Data_Graph:
LOAD
    Jour as Jour,
    Value as Value_Graph
Resident Data;

Concatenate(Data_Graph)
LOAD
    Jour-0.00000001 as Jour,
    Previous(Value_Graph) as Value_Graph
Resident Data_Graph
Where Len(Previous(Value_Graph)) > 0
Order by Jour;

Mais attention, Value_Gaph ne doit être utilisé que pour le graphe. Et dans ton graphe, tu dois définir l'axe des abscisses avec une échelle continue :

Community_1233314_4.png

Je joint l'application en exemple

Not applicable
Author

Bonjour,

Merci de votre réponse, nous avançons.

Cependant, par quoi faut il remplacer le -0.0000001 si on a des dates format TimeStamp?

// Les données générées pour le graphe
Data_Graph:
LOAD
    Jour as Jour,
    Value as Value_Graph
Resident Data;

Concatenate(Data_Graph)
LOAD
    Jour-0.00000001 as Jour,
    Previous(Value_Graph) as Value_Graph
Resident Data_Graph
Where Len(Previous(Value_Graph)) > 0
Order by Jour;


Merci,

cdlt