Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
stephanie29
Contributor III
Contributor III

Formule couleur

Bonjour à tous,

J'aimerais pouvoir intégrer une couleur différente dans mes tableaux chaque semaine, mais ma formule ne marche pas. Est-ce que vous pourriez m'aider ?

Voici ce que je souhaite mais en semaine 

stephanie29_0-1713881993116.png

Avec ma formule, j'ai qu'une couleur qui apparait 

stephanie29_1-1713882109038.png

if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='1','#9ca2db',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='2','#9dc5e0',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='3','#a4c77b',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='4','#9de0ce',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='5','#9ee09d',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='6','#d7e09d',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='7','#fffb94',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='8','#edd182',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='9','#e0b19d',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='10','#e09d9d',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='11','#e09dbc',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='12','#9ca2db',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='13','#9dc5e0',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='14','#a4c77b',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='15','#9de0ce',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='16','#9ee09d',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='17','#d7e09d',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='18','#fffb94',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='19','#edd182',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='20','#e0b19d',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='21','#e09d9d',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='22','#e09dbc',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='23','#9ca2db',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='24','#9dc5e0',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='25','#a4c77b',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='26','#9de0ce',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='27','#9ee09d',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='28','#d7e09d',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='29','#fffb94',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='30','#edd182',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='31','#e0b19d',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='32','#e09d9d',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='33','#e09dbc',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='34','#9ca2db',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='35','#9dc5e0',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='36','#a4c77b',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='37','#9de0ce',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='38','#9ee09d',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='39','#d7e09d',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='40','#fffb94',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='41','#edd182',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='42','#e0b19d',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='43','#e09d9d',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='44','#e09dbc',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='45','#9ca2db',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='46','#9dc5e0',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='47','#a4c77b',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='48','#9de0ce',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='49','#9ee09d',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='50','#d7e09d',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='51','#fffb94',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='52','#edd182',
if(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])='53','#F6888B','#ce9de0')))))))))))))))))))))))))))))))))))))))))))))))))))))

Merci

 

 

 

 

Labels (1)
7 Replies
Clement15
Partner - Creator III
Partner - Creator III

Bonjour,
quel est le nom de votre dimension dans votre tableau ?

stephanie29
Contributor III
Contributor III
Author

Voici mon tableau :

stephanie29_0-1713886165929.png

---- Dimensions

=Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])

 

igoralcantara

Il semble que vous rencontriez des difficultés avec votre formule Qlik Sense pour attribuer des couleurs à vos tableaux sur une base hebdomadaire. Examinons cela de manière plus détaillée.

Votre formule actuelle est assez longue et pourrait être difficile à gérer. Une approche alternative consiste à la simplifier en utilisant la fonction Mod, qui peut aider à parcourir une liste prédéfinie de couleurs en fonction du numéro de la semaine.

Voici un exemple simplifié de la façon dont vous pourriez utiliser la fonction Mod pour attribuer des couleurs à vos semaines :

 


// Définissez votre palette de couleurs
SET vColorPalette = '#9ca2db', '#9dc5e0', '#a4c77b', '#9de0ce', '#9ee09d', '#d7e09d', '#fffb94', '#edd182', '#e0b19d', '#e09d9d', '#e09dbc';

// Calcul du numéro de semaine
WeekNumber:
LOAD
Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date]) AS WeekNumber
;
LOAD
[DATE_LIVRAISON_LIVRAISON.autoCalendar.Date]
;

 

Ensuite, utilisez la fonction Mod pour attribuer des couleurs en fonction du numéro de semaine :


// Appliquez des couleurs à votre tableau
YourTable:
LOAD
*,
Pick(Mod(WeekNumber, 10), $(vColorPalette)) AS WeekColor // Mod 10 pour parcourir les couleurs
;
LOAD
*,
WeekNumber
RESIDENT WeekNumber;

Dans cet exemple, `vColorPalette` est une variable contenant vos choix de couleurs. Nous calculons ensuite le numéro de semaine en utilisant la fonction `Week` et appliquons les couleurs à votre tableau en utilisant la fonction `Mod` pour parcourir les couleurs de la palette.

Avant de mettre en œuvre cela, assurez-vous que votre champ de date (`[DATE_LIVRAISON_LIVRAISON.autoCalendar.Date]`) est correctement formaté et que les numéros de semaine correspondent à vos attentes.

Check out my latest posts at datavoyagers.net
Clement15
Partner - Creator III
Partner - Creator III

Il serait préférable de créer votre dimension semaine dans votre script, vous pouvez utiliser la même fonction.
Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date]) as Semaine

Puis le remplacer dans votre formule. ex : if(Semaine='1','#9ca2db', ...)

Cela devrait marcher et régler votre problème.

stephanie29
Contributor III
Contributor III
Author

Bonjour,

Désolé, mais je n'ai pas tout compris.

Est-ce que je dois aller dans le script??? Si c'est le cas, je ne sais pas y aller et je préfère ne pas y toucher.

Merci

stephanie29
Contributor III
Contributor III
Author

Bonjour,

Je ne sais pas aller dans le script et je préfère ne pas y toucher.

Normalement, ma formule aurait dû fonctionner ? 

Merci

MatheusC
Specialist II
Specialist II

@stephanie29 

L'approche de @igoralcantara  serait la voie à suivre, car vous ne voulez pas recourir à des scripts.

D'après ce que j'ai vu, il est utilisé dans un tableau croisé dynamique, faisant passer les couleurs à travers les étiquettes commençant par Totaux .

Vous pouvez essayer de l'utiliser comme suit :

Rowno() – renverra la position des totaux dans ce cas

if(RowNo()=0,'#9ca2db',
pick(Match(Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date]),'1', '2','3'), '#9dc5e0', '#a4c77b','#9de0ce'))

Vous pouvez également essayer l'approche de la fonction MOD pour minimiser le code et le rendre plus propre. J'avoue que je n'ai pas testé cela sur des graphiques mais la syntaxe est censée être très proche de celle du script.


Qlik Help
Rowno()

https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/ChartFunctions/InterReco... %20chart's%20straight%20table%20équivalent.


fonction Pick()

https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFun...


Cordialement, Matheus

Did you find a solution to your question? Mark the solution as accepted and if you found it useful, press the like button!