cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar
hcarr01
Level VI

graphique

Bonjour à tous,

 

Dans ma base de données, chaque semaine de nouvelles données sont rajoutées à partir de différents calculs.
J’ai donc des colonnes par semaine (Ex : Y2023-W45...) et ces colonnes se remplissent au fur et à mesure des semaines.

 

Je représente ces données dans un graphique comme ci-dessous :

 

hcarr01_0-1700144147303.png

 

Je cherche à améliorer mon graphique de cette façon : ne représenter que les semaines pour lesquelles j’ai les données (au jour d’aujourd’hui Y2023-W44 et Y2023-W45).

 

Exemple ci-dessous :

 

hcarr01_1-1700144264986.png

 

J’aimerais que mon graphique affiche seulement ces semaines là et que automatiquement mon graphique se décale vers la droite de semaine en semaine...

 

Le but est d’automatiser cela à l’aide d’un script JSL ou à l’aide d’une manipulation.

 

Merci pour vos réponses !

5 REPLIES 5
txnelson
Super User

Re: graphique

I suggest you use a local data filter, setting the filter to only the time you want to display.  The below example set the filter to the last 90 days

Local Data Filter(
		Mode( Show( 0 ) ),
		Add Filter( columns( :Date ), Where( :Date >= today()-in days(90) ) )
	)
Jim
hcarr01
Level VI

Re: graphique

Merci pour votre réponse !

 

La table de données me permet pas de construire un filtre comme ceci, je n'ai pas qu'une seule colonne date, j'ai par exemple 50 colonnes différentes, chacune correspond à une semaine de l'année.

 

Est-il possible d'automatiser un décalage sur l'axe des abscisses (par exemple chaque semaine en plus, décaler l'axe des abscisses de +1.5) ou quelque chose comme ça ?

txnelson
Super User

Re: graphique

It sounds like you should stack the columns.  That would allow you to use the Data Filter.

Jim
hcarr01
Level VI

Re: graphique

Oui cela marche correctement.

 

J'obtiens une colonne comme ceci :

 

hcarr01_0-1700486672207.png

Est-il possible de sélectionner toutes les semaines < la semaine d'aujourd'hui.


Par exemple on a :

a= Char( "Y" ) || Char(Year(today()))  || "-" || Char( "W" ) || Char(Week Of Year( Today(),3)-1);
// a = "Y2023-W46"

Lorsque j'exécute le script, la sélection du filtre serait de la semaine 44 à la semaine 46 car on est semaine 47 aujourd'hui

txnelson
Super User

Re: graphique

I suggest that you create 2 new numeric columns, Work Week and Year.

The formula for Work Week would be

num( word( -1, ::Etiquette, "W" ) );

The formula for Year would be

num( word( 1, :Etiquette, "Y-" ) );

Then you can easily select

:Year == Year( Today() ) & :Work Week < Week Of Year( today() );

Being able to use numeric comparisons should prove to be faster, and les complex

Jim