IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

QlikView Discussion :

Graphique radar avec ligne de référence


Sujet :

QlikView

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 58
    Points : 34
    Points
    34
    Par défaut Graphique radar avec ligne de référence
    Bonjour,

    Je représente mes données dans un graphe radar 0-350°.
    Je voudrais mettre en évidence des secteurs spécifiques angulaires comme 110°-150°.
    L'ajout de lignes de référence ne produit rien.
    Elle concerne en outre l'axe Y alors que ce qui m’intéresse est "l'axe" X (les positions angulaires).
    Avez vous une idée ?

    Merci

  2. #2
    Modérateur

    Inscrit en
    Octobre 2006
    Messages
    1 649
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 649
    Points : 2 529
    Points
    2 529
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Un graph radar permet de montrer le résultat d'une expression, selon toutes les valeurs d'une dimension.


    Si vous voulez faire ressortir un secteur en particulier, vous pouvez :
    - Ajouter des données qui correspondent au secteur qui vous intéresse
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // En supposant que la dimension de votre graph est "VotreDim" et que vous voulez mettre une référence à 1000.
    Load * INLINE [
    VotreDim, ValeurRef
    110, 1000
    120, 1000
    130, 1000
    140, 1000
    150, 1000
    ];
    - Créer une nouvelle expression dans le radar en mettant par exemple
    Vous aurez donc une ligne supplémentaire uniquement sur les axes 110 à 150.
    Vous pouvez aussi changer le style pour faire en sorte d'avoir un remplissage à la place des lignes.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 58
    Points : 34
    Points
    34
    Par défaut
    Bonjour PhunkyBob,

    J'avais pensé à cette solution mais comme le secteur à mettre en évidence n'est pas connu à priori mais déterminé par deux variables lors de l'affichage des données je ne sais pas comment appliqué un facteur sur la direction après le chargement du script.

    Le graphe radar représente des données Direction - Vitesse.
    Le but est d'ajouter un angle de référence Direction ref - Vitesse ref

    J'ai mis ce script pour définir un couple de valeur unitaire pour l'angle de référence.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    table_ref:
    load * inline [
    	'Direction ref','vitesse ref'
             0, 0.001
    	10, 10
    	];
    Je pondère la vitesse ref par un facteur pour gérer l'échelle ce qui ne pose pas de problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     =sum([vitesse ref]/10*0.05)
    et j'obtiens bien mon angle de référence

    Pour la direction, j'ai ajouté une dimension calculée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [Direction ref]/10*$(a2)
    Cela ne fonctionne pas car l'expression de [vitesse ref] tient compte de la dimension [Direction] et non de [Direction ref].
    Peut on forcer une expression à utiliser une dimension ?

    Merci

  4. #4
    Modérateur

    Inscrit en
    Octobre 2006
    Messages
    1 649
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 649
    Points : 2 529
    Points
    2 529
    Billets dans le blog
    6
    Par défaut
    Peut on forcer une expression à utiliser une dimension ?
    J'ai un peu du mal à voir votre modèle de données, mais normalement, en utilisant un "if", ça devrait passer.

    Quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(Direction = [Direction ref], [Direction ref]/10*$(a2))

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 58
    Points : 34
    Points
    34
    Par défaut
    Bonjour PhunkyBob

    J'ai résolu mon problème en ajoutant à mes données via une table excel des valeurs négatives qui me permettent de faire des tests et une dimension calculée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    =if([Vitesse]>=0,[Direction],
    if([Vitesse]=-1,$(a1),
    if([Vitesse]=-2,$(a2),
    if([Vitesse]=-3,$(a3),
    $(a3)+180)))
    )
    Il me reste à gérer 2 petits problèmes:
    1) l'ajout d'une table excel pour les valeurs test n'est pas terrible mais je n'arrive pas à trouver la syntaxe pour concaténer un load inline à mes données.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    //Concatenate LOAD * INLINE [
    //    F1, F2, F3, F4
    //    Station, Direction , Vitesse 1, Vitesse 2
    //    Ref, 0, -1, -1
    //    Ref, 0, -2, -2
    //    Ref, 0, -3, -3
    //    Ref, 0, -4, -4
    //];
    2) je souhaiterais gérer la couleur et le style de la ligne de référence en fonction de la variable $(a)
    2.1) en mettant une formule dans la couleur de base calculée cela ne fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =if([Vitesse 1]=-3 or [Vitesse 1]=-4,lightred(),black())
    2.2) en mettant une formule dans le style de ligne de l'expression cela ne fonctionne pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =if([Vitesse 1]=-3 or [Vitesse 1]=-4,'<S3><W2>','<S1>')
    En mettant uniquement les balises dans le style de ligne cela fonctionne (mais alors je ne peut plus gérer le style en fonction de la variable) de plus je n'arrive pas à cumuler l'épaisseur et le style et les traits pointillés se superposent.

    J'ai retrouvé un post qui explique cela /
    Uniquement applicable aux courbes, combinés et radars. Cliquez sur Style de ligne pour saisir un attribut destiné à calculer le style de la ligne ou du segment de ligne associé au point de données. On peut contrôler la largeur relative de la ligne au moyen d'une balise <Wn> où n est un coefficient multiplicateur à appliquer à la largeur de ligne par défaut du graphique. Le nombre n doit être un réel compris entre 0,5 et 8. Exemple : <W2.5>. On peut contrôler le style de la ligne au moyen d'une balise <Sn> où n est un entier compris entre 1 et 4 indiquant le style à utiliser (1=continu, 2=à tirets, 3=pointillé, 4=tirets/pointillé). Exemple : <S3>. Les balises <Wn> et <Sn> peuvent être combinées librement, mais seule la première occurrence de chacune compte. Les balises doivent être placées entre guillemets simples.

    Merci

  6. #6
    Modérateur

    Inscrit en
    Octobre 2006
    Messages
    1 649
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 649
    Points : 2 529
    Points
    2 529
    Billets dans le blog
    6
    Par défaut
    1) l'ajout d'une table excel pour les valeurs test n'est pas terrible mais je n'arrive pas à trouver la syntaxe pour concaténer un load inline à mes données.
    Si vous faites
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    data:
    LOAD
    ...
    FROM fichier Excel;
     
    CONCATENATE (data)
    LOAD * INLINE [
    Champ1, Champ2, ...
    1, 2, ...
    ];
    cela concatène les 2 contenus dans la même table QV.

    Pour les couleurs, ça dépend vraiment comment vous avez monté votre chart. Quelles dimensions ? Quelles expressions ?

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 58
    Points : 34
    Points
    34
    Par défaut
    Bonjour PhunkyBob,

    Pour le load inline cela fonctionne.

    Pour le graphe radar j'ai mis en dimension la direction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    =if([Vitesse]>=0,[Direction],
    if([Vitesse]=-1,$(a1),
    if([Vitesse]=-2,$(a2),
    if([Vitesse]=-3,$(a3),
    $(a3)+180)))
    )
    et en expression
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    = sum({1} [Vitesse]/[Vitesse])*$(Echelle max %)/100
    Le ratio [Vitesse]/[Vitesse] me permet de définir une valeur unitaire à pondérer par le facteur d'échelle pour chaque variable $(a) représentative.

    C'est pourquoi je souhaite utiliser une formule pour définir le style et la couleur du segment de la variable $(a) qui dépend de la valeur négative de [Vitesse]:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    // couleur
    =if([Vitesse]=-3 or [Vitesse]=-4,lightred(),black())
    //
    //style
    =if([Vitesse]=-3 or [Vitesse]=-4,'<S3><W2>','<S1>')
    Merci

  8. #8
    Modérateur

    Inscrit en
    Octobre 2006
    Messages
    1 649
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 649
    Points : 2 529
    Points
    2 529
    Billets dans le blog
    6
    Par défaut
    Pour les dimensions, je vous conseille d'utiliser une véritable dimension plutôt qu'une calculée.

Discussions similaires

  1. Graphique radar avec R
    Par momo42 dans le forum R
    Réponses: 2
    Dernier message: 05/07/2017, 11h19
  2. Lignes de référence dynamique dans un graphique courbe
    Par paulisgone dans le forum QlikView
    Réponses: 0
    Dernier message: 21/03/2017, 10h57
  3. [XL-2007] Graphique 3D avec colonne + Ligne
    Par Nelmech dans le forum Excel
    Réponses: 2
    Dernier message: 11/12/2013, 14h18
  4. [XL-2007] Graphique 3D avec colonne + Ligne
    Par Nelmech dans le forum Excel
    Réponses: 0
    Dernier message: 05/12/2013, 16h52
  5. Graphique en RADAR avec Access
    Par ade94 dans le forum Modélisation
    Réponses: 6
    Dernier message: 21/06/2007, 23h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo