Rehacer cancela << informar accionesHola,
Si ejecuto algunos cambios en el informe en el script y luego ejecuto excluir algunas filas con Autorecalc activado,
todos los cambios en el informe desaparecen.
¿Cómo inserto todos los cambios del informe en el cuerpo de distribución, para que no desaparezcan?
Gracias.
dt = Abrir ("$ SAMPLE_DATA / Big Class.jmp");
dist = Distribución (
Recálculo automático (1),
Distribución continua (
Cuantiles (0),
Resumen de estadísticas (1),
Columna (: peso),
Diseño horizontal (1),
Etiquetado de capacidad Ppk (1),
Análisis de capacidad (LSL (80), USL (140))
));
PpkValue = (dist << report) [OutlineBox ("Sigma a largo plazo")] [NumberColBox (1)] [2];
PPKtb = Cuadro de tabla (
Cadena Col Box ("Parámetro", {"Ppk"}),
Número Col Box ("Valor", {PpkValue})
);
(dist << informe) [OutlineBox ("Resumen de estadísticas")] << Agregar (PPKtb);
(dist << informe) [OutlineBox ("Sigma a largo plazo")] << Eliminar;
Re: Rehacer cancela << informar accionesCreo que su sintaxis está un poco apagada. Cambie las referencias a siguiente, y funciona bien
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dist = Distribution(
Automatic Recalc( 1 ),
Continuous Distribution(
Quantiles( 0 ),
Summary Statistics( 1 ),
Column( :weight ),
Horizontal Layout( 1 ),
Ppk Capability Labeling( 1 ),
Capability Analysis( LSL( 80 ), USL( 140 ) )
)
);
PpkValue = (dist << report)[Outline Box( "Long Term Sigma" )][Number Col Box( 1 )][2];
PPKtb = Table Box( String Col Box( "Parameter", {"Ppk"} ), Number Col Box( "Value", {PpkValue} ) );
(dist << report)["Summary Statistics"] << Append( PPKtb );
(dist << report)["Long Term Sigma"] << delete;Re: Rehacer cancela << informar accionesGracias.
Funciona bien, pero cuando excluyo una fila, todos los cambios de informe desaparecen.
¿Qué quiere decir con "Cambiar las referencias a siguiente"?
Por favor vea adjunto la imagen.
Re: Rehacer cancela << informar accionesCuando realiza un Recalc, la plataforma se vuelve a ejecutar de manera efectiva, por lo que todas las modificaciones de su publicación también deben volver a ejecutarse. Una forma de hacerlo es utilizar un controlador de cambio de filtro o un controlador de estado de fila, que ejecutará el código cuando se detecte un cambio en el filtro o en los estados de fila. También puede agregar una secuencia de comandos de gráficos al cuadro de cuadro () en el gráfico de distribución para activar la ejecución de código cuando cambia el gráfico. El siguiente código utiliza un controlador de cambio de filtro () para realizar el trabajo
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dist = Distribution(
Automatic Recalc( 1 ),
Continuous Distribution(
Quantiles( 0 ),
Summary Statistics( 1 ),
Column( :weight ),
Horizontal Layout( 1 ),
Ppk Capability Labeling( 1 ),
Capability Analysis( LSL( 80 ), USL( 140 ) )
)
);
addit = Function({},
PpkValue = (dist << report)["Long Term Sigma"][Number Col Box( 1 )][2];
PPKtb = Table Box( String Col Box( "Parameter", {"Ppk"} ), Number Col Box( "Value", {PpkValue} ) );
(dist << report)["Summary Statistics"] << Append( PPKtb );
(dist << report)["Long Term Sigma"] << delete;);
filter = dist << Local Data Filter(
Add Filter( columns( :age ) )
);
f = Function( {a}, addit() );
rs = filter << Make Filter Change Handler( f );
addit();
Re: Rehacer cancela << informar accionesGracias Jim
Lamentablemente, esta solución no es buena para mí.
1) No quiero agregar filtro de datos local
2) Cuando ejecuto su secuencia de comandos y cambio la selección en el filtro de datos local, la distribución se vuelve a ejecutar sin cambios de informes personalizados.
¿Cuál es la sintaxis de su segunda solución ( Script de gráficos para el cuadro de marco () )?
Gracias de nuevo.
Re: Rehacer cancela << informar acciones¡Gracias!
¡"Agregar guión gráfico" funcionará bien para mí!Re: Rehacer cancela << informar accionesMi script tenía la intención de darle un puntero hacia los posibles métodos que podrían usarse, con la esperanza de que proporcionara una visión suficiente. Espero poder mejorar mi aporte con lo siguiente:
No mencioné 2 métodos en mi respuesta anterior. Mencioné 3 métodos, Filter Change Handler, RowState Handler y Add Graphics Script. Teniendo en cuenta los detalles de lo que necesita, puede optar por utilizar cualquiera de las diferentes opciones. He proporcionado 2 scripts a continuación, uno con el controlador RowState y el otro con el comando Agregar gráficos.
El controlador RowState es muy similar a la implementación del controlador de cambio de filtro. Al usarlo, los cambios se activan si se realiza algún cambio en la columna RowState en la tabla de datos.
names default to here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dist = Distribution(
Automatic Recalc( 1 ),
Continuous Distribution(
Quantiles( 0 ),
Summary Statistics( 1 ),
Column( :weight ),
Horizontal Layout( 1 ),
Ppk Capability Labeling( 1 ),
Capability Analysis( LSL( 80 ), USL( 140 ) )
)
);
addit = Function({},
PpkValue = (dist << report)["Long Term Sigma"][Number Col Box( 1 )][2];
PPKtb = Table Box( String Col Box( "Parameter", {"Ppk"} ), Number Col Box( "Value", {PpkValue} ) );
(dist << report)["Summary Statistics"] << Append( PPKtb );
(dist << report)["Long Term Sigma"] << delete;);
f = Function( {a}, addit() );
rs = dt << Make RowState Handler( f );
addit();
El ejemplo Agregar gráficos es más complejo. Esto se debe principalmente a que el guionista debe determinar qué elementos deben compararse para luego activar el código que se ejecutará. En el siguiente caso, la comprobación para ver si cambia la desviación estándar o media, desencadena la ejecución del código. Es posible que eso no sea suficiente, para el tipo de cosas que sus usuarios podrían estar cambiando ... por lo que es necesario expandirlos o cambiarlos por completo.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dist = Distribution(
Automatic Recalc( 1 ),
Continuous Distribution(
Quantiles( 0 ),
Summary Statistics( 1 ),
Column( :weight ),
Horizontal Layout( 1 ),
Ppk Capability Labeling( 1 ),
Capability Analysis( LSL( 80 ), USL( 140 ) )
)
);
addit = Function( {},
PpkValue = (dist << report)["Long Term Sigma"][Number Col Box( 1 )][2];
PPKtb = Table Box( String Col Box( "Parameter", {"Ppk"} ), Number Col Box( "Value", {PpkValue} ) );
(dist << report)["Summary Statistics"] << Append( PPKtb );
(dist << report)["Long Term Sigma"] << delete;
);
theMean = ((dist << report)["Summary Statistics"][Number Col Box( 1 )] << get)[1];
theSTD = ((dist << report)["Summary Statistics"][Number Col Box( 1 )] << get)[2];
(dist << report)[framebox( 2 )] << add graphics script(
If(
theMean != ((dist << report)["Summary Statistics"][Number Col Box( 1 )] << get)[1] | theSTD != ((dist
<< report)["Summary Statistics"][Number Col Box( 1 )] << get)[2],
addit()
);
theMean = ((dist << report)["Summary Statistics"][Number Col Box( 1 )] << get)[1];
theSTD = ((dist << report)["Summary Statistics"][Number Col Box( 1 )] << get)[2];
);
addit();
Le sugiero que se tome el tiempo de leer la Guía de secuencias de comandos y familiarizarse con el Índice de secuencias de comandos. La descripción general de JSL en la Guía de secuencias de comandos proporciona la base que se necesita para ser un programador de JSL competente, y los ejemplos de todos los objetos y funciones en el Índice de secuencias de comandos son invaluables para escribir el código