Hola a todos:
Esta es mi primera publicación. Todavía soy un neofita con JSL y he estado tratando de resolver mi problema durante un par de días. Aquí está la configuración del problema ...
Tengo un archivo de datos que necesito analizar todos los viernes. Este archivo de datos consta de un registro de fecha / hora de algunos valores capturados en tiempo real. Así que todos los viernes, este archivo de datos tiene un nuevo intervalo de fechas. Escribí un guión para trazar estos datos en un gráfico bivariado donde el eje x es fecha / hora y el eje y es un parámetro de interés:
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 )
)}
)
)
);Quiero que esta gráfica se escala automáticamente en el eje x para que el punto mínimo sea la fecha más antigua en el archivo de datos y el punto máximo sea la fecha más joven en el archivo de datos. Creo que la mejor manera de hacer esto es tener 2 variables que dependen del contenido real del archivo de datos, minDate y fecha máxima y los definí como:
<FONT color="#FF0000">minDate</FONT> = col min(dt1, :DATE);
<FONT color="#FF0000">maxDate</FONT> = col max(dt1, :DATE);
La ejecución de estos recortes de código en mi script más grande genera un gráfico vacío (no se muestran datos). La depuración muestra que ambos minDate y fecha máxima Están en blanco, así que no debo estar definiendo estas variables correctamente.
Apreciaría alguna idea.
Gracias por tu ayuda.
La estructura de la función Col Min () es
x = Col Min( Column, By Column );
La columna que estás especificando en tu código.
minDate = col min(dt1, :DATE);
maxDate = col max(dt1, :DATE);
parece no estar preguntando por la columna: Fecha para encontrar los valores mínimo y máximo para una columna llamada "dt1". Supongo que "dt1" es en realidad un puntero a su tabla de datos. Creo que tu código debería ser:
minDate = col min( :DATE);
maxDate = col max( :DATE);