Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
Avec ma formule, j'ai qu'une couleur qui apparait
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
Bonjour,
quel est le nom de votre dimension dans votre tableau ?
Voici mon tableau :
---- Dimensions
=Week([DATE_LIVRAISON_LIVRAISON.autoCalendar.Date])
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.
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.
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
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
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