Bonjour à tous:
C'est ma première publication. Je suis encore un néophyte avec JSL et j'essaie de résoudre mon problème depuis quelques jours. Voici la configuration du problème...
J'ai un fichier de données que je dois analyser tous les vendredis. Ce fichier de données consiste en un journal date/heure de certaines valeurs capturées en temps réel. Ainsi, chaque vendredi, ce fichier de données a une nouvelle plage de dates. J'ai écrit un script pour tracer ces données dans un graphique bivarié où l'axe x est la date/heure et l'axe y est un paramètre intéressant :
trendChart = Bivariate(
Y( :PARAMETER ),
X( :DATE ),
SendToReport(
Dispatch(
{},
"1",
ScaleBox,
{Format( "m/d/y", 10 ), Min( minDate ), Max( maxDate ),
Interval( "Day" ), Inc( 7 ), Minor Ticks( 6 ),
Label Row( Label Orientation( "Vertical" ) )}
),
Dispatch(
{},
"2",
ScaleBox,
{Max( myMaxValue ), Label Row( {Show Major Grid( 1 ), Show Minor Grid( 1 )} )}
),
Dispatch(
{},
"Bivar Plot",
FrameBox,
{Frame Size( 720, 360 ), Row Legend(
PROGRAM_NAME,
Color( 1 ),
Color Theme( "JMP Vibrant" ),
Marker( 1 ),
Marker Theme( "Hollow" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
);Je souhaite que ce tracé soit automatiquement mis à l'échelle sur l'axe des x afin que le point minimum soit la date la plus ancienne du fichier de données et que le point maximum soit la date la plus récente du fichier de données. Je pense que la meilleure façon de le faire est d'avoir 2 variables qui dépendent du contenu réel du fichier de données, Datemin et datemax et je les ai définis comme suit :
<FONT color="#FF0000">minDate</FONT> = col min(dt1, :DATE);
<FONT color="#FF0000">maxDate</FONT> = col max(dt1, :DATE);
L'exécution de ces extraits de code dans mon script plus volumineux génère un tracé vide (aucune donnée affichée). Le débogage montre que les deux Datemin et datemax sont vides, je ne dois donc pas définir ces variables correctement.
J'apprécierais un peu de perspicacité.
Merci pour votre aide.
La structure de la fonction Col Min() est
x = Col Min( Column, By Column );
La colonne que vous spécifiez dans votre code
minDate = col min(dt1, :DATE);
maxDate = col max(dt1, :DATE);
semble ne pas demander la colonne :Date pour trouver les valeurs minimales et maximales, mais pour une colonne appelée "dt1".Je suppose que "dt1" est en fait un pointeur vers votre table de données.Je crois que votre code devrait être:
minDate = col min( :DATE);
maxDate = col max( :DATE);