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

Changement de la couleur de l'équation

Bonjour.

Je ne parviens pas à changer la couleur de l'équation linéaire (ou polynomiale d'ailleurs) de mon expression.

Capture.PNG

Comme vous le voyez, le noir est illisible.

Cordialement,

19 Replies
sfatoux72
Partner - Specialist
Partner - Specialist

C'était un peu plus complexe que ce que j'ai écrit précédemment, mais ça marche bien.

J'ai basé mon exemple sur ta dernière copie d'écran, tu la trouveras l'application en pièce jointe:

L'équation donne ceci au final:

=if(visu=0,
if(Len(Only([Date de création]))=0 ,
'y = ' &
Round(linest_m(aggr(Sum(Volumes), [Date de création]), [Date de création]), 0.1) & 'x + ' & Round((linest_m(aggr(Sum(Volumes), [Date de création]), [Date de création]) * Min([Date de création]) + linest_b(aggr(Sum(Volumes), [Date de création]), [Date de création])))
),
if(visu=1,
if(Len(Only([Semaine num de création]))=0 ,
'y = ' &
Round(linest_m(total aggr(Sum(Volumes), [Semaine num de création]), [Semaine num de création]), 0.1) & 'x + ' & Round((linest_m(aggr(Sum(Volumes), [Semaine num de création]), [Semaine num de création]) * Min([Semaine num de création]) + linest_b(aggr(Sum(Volumes), [Semaine num de création]), [Semaine num de création])))
),
if(visu=2,
if(Len(Only([Mois num de création]))=0 ,
'y = ' &
Round(linest_m(total aggr(Sum(Volumes), [Mois num de création]), [Mois num de création]), 0.1) & 'x + ' & Round((linest_m(aggr(Sum(Volumes), [Mois num de création]), [Mois num de création]) * Min([Mois num de création]) + linest_b(aggr(Sum(Volumes), [Mois num de création]), [Mois num de création])))
),
if(visu=3,
if(Len(Only([Trimestre num de création]))=0 ,
'y = ' &
Round(linest_m(total aggr(Sum(Volumes), [Trimestre num de création]),[Trimestre num de création]), 0.1) & 'x + ' & Round((linest_m(aggr(Sum(Volumes), [Trimestre num de création]), [Trimestre num de création]) * Min([Trimestre num de création]) + linest_b(aggr(Sum(Volumes), [Trimestre num de création]), [Trimestre num de création])))
),
if(Len(Only([Année num de création]))=0 ,
'y = ' &
Round(linest_m(total aggr(Sum(Volumes), [Année num de création]), [Année num de création]), 0.1) & 'x + ' & Round((linest_m(aggr(Sum(Volumes), [Année num de création]), [Année num de création]) * Min([Année num de création]) + linest_b(aggr(Sum(Volumes), [Année num de création]), [Année num de création])))
)
))))

Not applicable
Author

Ça ne fonctionne toujours pas chez moi car je n'ai pas de plage continue de date je pense. Je ne peux pas créer en dur une plage continue c'est évident. Je t'envoie mon rapport si tu vois une autre erreur ou une autre piste:

sfatoux72
Partner - Specialist
Partner - Specialist

Pourquoi ne peux-tu pas créer en dur une plage continue de date (calendrier) ?

Il y a un autre problème bien plus important, c'est la création des valeurs numériques continues associées à chaque période qui n'a pas été fait correctement de ton côté, comme tu peux le voir ci-dessous :

Community_1246507_1.pngCommunity_1246507_2.png

La semaine qui porte la référence N°2 ne suit pas directement la semaine qui porte la référence N°1 (elle est même longtemps avant).

Lors de la création de ces champs avec Autonumber, il faut absolument que les date soit triées. Dans mon cas, je l'ai fait en créant le calendrier, elles étaient donc ordonnées.

Dans ton cas, ça devrait le faire si tu ajoute ORDER BY DATECREATION à la fin de ta requête SQL d'extraction des données source.

Not applicable
Author

Et bien je ne vais pas créer en dur plus de 1000 dates ^^. Il n'y a pas moyen de le faire de manière dynamique ? J'ai ajouté un ORDER BY mais ca ne suffit pas bien sûr

sfatoux72
Partner - Specialist
Partner - Specialist

Bien sur qu'il faut le faire de manière dynamique.

  • J'ai repris ton application Test.qvw que j'ai appelé Productivité GTO_Data.qvw
  • J'en ai fait une copie que j'ai appelé Productivité GTO_Modifié.qvw
    • J'ai chargé les données de Productivité GTO_Data.qvw
    • J'ai commenté ton code
    • J'ai dropé les champs des valeurs numériques continues associées à chaque période
    • J'ai dropé les champs Trimestre et Mois
    • J'ai créé un calendrier basé sur le champ Date de création
      • Avec les champs des valeurs numériques continues associées à chaque période
      • Avec les champs libellé pour chaque période
      • Avec les champs Trimestre et Mois

Je me suis aperçu que tu utilisais le système américain pour la numérotation des semaines (semaine partielle en début et fin d'année). J'ai donc modifié la génération du champ Semaine num de création et Libellé semaine de création en conséquence.

J'ai également ajouté la variable TPL_libellé que j'utilise dans l'expression de génération de l'équation pour afficher l'équation correct en  fonction du choix de la mesure (Tâches, Pages, Lignes).

Tu trouveras Productivité GTO_Modifié.qvw en pièce jointe

Not applicable
Author

Merci beaucoup d'avoir pris le temps de retoucher mon document.

Entre temps, j'avais fait des modification dessus. Du coup, je ne comprends pas pourquoi ça ne fonctionne pas quand j'intègre tes modifications sur mon document. Je me retrouve avec exactement les mêmes erreurs.

Voici le fichier joint.

Not applicable
Author

Il y a notamment un soucis pour les semaines sur mes graphiques. Désormais, j'ai un vide pour les semaines 1 de chaque année.

Not applicable
Author

Rectification: Le calcul fonctionne. J'avais oublié de cocher la case "supprimer la valeur si nulle" pour chaque dimension. Je ne l'avais fait que pour la première.

Il ne reste donc plus que ce problème de semaine.

sfatoux72
Partner - Specialist
Partner - Specialist

Il n'y a pas de problème avec les semaines 1.

Vous utiliser le système américain ( SET BrokenWeeks=1;  SET ReferenceDay=0; ) de numérotation des semaines . Les semaines américaines ont l'avantage d'être entièrement contenue dans une année, par contre la 1ère semaine et la dernière peuvent varier de 1 à 7 jours.

Les semaines 1 de chaque année commence le 1er janvier et se termine le 1er dimanche.

Les dernière semaines commence le dernier lundi de l'année et se termine le 31 décembre.

Ce qui fait pour les années présentes dans votre application :

  • 2014      ==>  5 jours
  • 2015      ==>  4 jours
  • 2016      ==>  3 jours
  • 2017      ==>  1 jour

Ce qui explique :

Community_1248331_1.png

A noter que les semaine 53 font l'inverse:

Community_1248331_2.png

Les semaines iso ( SET BrokenWeeks=0;  SET ReferenceDay=4; ) font elles par contre toujours 7 jours, mais la 1ère et la dernière semaine peuvent être à cheval sur 2 années.

Attention si vous passez sur les semaine iso, il faudra modifier le script pour activer les libellés semaine ISO et les semaine num ISO


Not applicable
Author

Merci Sébastien, ça fonctionne parfaitement désormais.