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 :

Mise en forme (couleurs) d'un champ


Sujet :

QlikView

  1. #1
    Membre du Club
    Inscrit en
    mai 2006
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : mai 2006
    Messages : 115
    Points : 59
    Points
    59
    Par défaut Mise en forme (couleurs) d'un champ
    Bonjour,

    Dans QlikView 11.2 SR13, j'aimerais mettre en couleur le contenu de ma cellule selon la valeur renseignée et uniquement pour les lignes qui ne sont pas les lignes nommées "Total" par QlikView.

    Pour le moment, je n'arrive à le faire que sur les lignes "finales" de mon tableau, mais pas sur les lignes "intermédiaires".

    Auriez-vous une idée de la façon dont c'est faisable ?

    Formule utilisée pour mettre le fond des cellules en couleur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If(Not IsNull(RowNo()) and RowNo()>0,
       If(sum(MonChamp)/sum(TOTAL MonChamp)>0.75,RGB(155,255,155),
       If(sum(MonChamp)/sum(TOTAL MonChamp)>0.5 ,RGB(255,200,145))))
    Nom : QV_CodeCouleur.jpg
Affichages : 85
Taille : 166,8 Ko

    Merci beaucoup.

    MarieO

  2. #2
    Modérateur

    Inscrit en
    octobre 2006
    Messages
    1 605
    Détails du profil
    Informations forums :
    Inscription : octobre 2006
    Messages : 1 605
    Points : 2 460
    Points
    2 460
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Dans un tableau, il existe une fonction qui permet de dire à quel niveau de granularité le calcul est effectué : "dimensionality()".
    Au niveau du grand total, cela retournera "0", au niveau du sous-total de la première dimension, cela retournera "1", etc...

    Lorsque vous utilisez un tableau croisé dynamique avec une dimension horizontale, on distingue le niveau de granularité horizontal avec "secondarydimensionality()".

    Exemple :
    Supposons que nous ayons les données suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    LOAD * INLINE [
    Pays, Ville, Année, Montant
    France, Paris, 2020, 10
    France, Lyon, 2020, 8
    France, Marseille, 2020, 5
    USA, New-York, 2020, 13
    USA, Washingtown, 2020, 3
    Allemagne, Berlin, 2020, 6
    France, Paris, 2019, 9
    France, Lyon, 2019, 5
    France, Marseille, 2019, 6
    USA, New-York, 2019, 11
    USA, Washingtown, 2019, 4
    Allemagne, Berlin, 2019, 9
    ];
    Je crée un TCD avec comme dimensions : Pays, Ville, Année (à l'horizontal) et comme expressions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dimensionality() & ' / ' & SecondaryDimensionality()
    Pour la première expression, j'ajoute une couleur dynamique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =if(Dimensionality() >= 2 and SecondaryDimensionality() >= 1, RGB(155,255,155))
    J'obtiens le résultat suivant :
    Nom : 2020-07-10 110304.png
Affichages : 85
Taille : 15,8 Ko

    Attention, quand une ligne est collapsed, la fonction est calculée au niveau du sous-total. Elle n'aura donc pas le "dimentionality()" le plus élevé.

Discussions similaires

  1. [XL-2007] Mise en forme - Couleur ligne alterné
    Par alex75 dans le forum Excel
    Réponses: 3
    Dernier message: 17/08/2009, 23h37
  2. Réponses: 2
    Dernier message: 07/07/2008, 09h11
  3. Réponses: 1
    Dernier message: 10/12/2007, 23h19
  4. Réponses: 2
    Dernier message: 31/05/2007, 14h24
  5. Mise en forme conditionnelle d'un champs cumul
    Par pontoise dans le forum Access
    Réponses: 5
    Dernier message: 17/02/2007, 19h03

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