establecer valor a las celdas seleccionadasHola,
Estoy tratando de seleccionar ciertas celdas en la tabla de datos y establecerles el valor 2, pero no funciona. ¿Alguien puede revisar mi script para ver qué tiene de malo?
sdt << selectwhere(
:Informat( "06/26/2018 16:49:00", "m/d/y h:m:s" ) <= :Time <= :Informat(
"06/26/2018 16:54:00",
"m/d/y h:m:s"
)
);
selRows = sdt << getselectedRows;
As Column( sdt, "Status" )[selRows] = "2";
Re: poner valor a las celdas seleccionadasFunciona, gracias!
Re: poner valor a las celdas seleccionadasEl si La función asegura que solo intente establecer Estado valores a 2 si hubo coincidencias.
No estoy seguro de la diferencia entre Columna y como columna .Generalmente solo uso Columna .Si eso no funciona lo intento como columna . 
Re: poner valor a las celdas seleccionadas¿Cuál es la diferencia de tener la función if aquí:
if <SPAN class="token punctuation">(</SPAN>nrows<SPAN class="token punctuation">(</SPAN>selrows<SPAN class="token punctuation">)</SPAN> <SPAN class="token operator">></SPAN> <SPAN class="token number">0</SPAN><SPAN class="token punctuation">,</SPAN>
<SPAN class="token function">Column</SPAN><SPAN class="token punctuation">(</SPAN> sdt<SPAN class="token punctuation">,</SPAN> <SPAN class="token string">"Status"</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">[</SPAN>selRows<SPAN class="token punctuation">]</SPAN> <SPAN class="token operator">=</SPAN> <SPAN class="token string">"2"</SPAN><SPAN class="token punctuation">;</SPAN>
<SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
Además, ¿cuál es la diferencia entre una columna y una columna?
Solo trata de entender el guión.
Re: poner valor a las celdas seleccionadasPrimero, elimine los dos puntos antes de Informat().Eso le dice a JMP que Informat es un nombre de columna.Comience por sacar esos dos puntos.También puede simplificar su script así:
sel rows = sdt << Get Rows Where(Informat("06/26/2018 16:49:00", "m/d/y h:m:s") <= :Time <= Informat("06/26/2018 16:54:00", "m/d/y h:m:s"));
sdt:Status[selRows]="2";También debe verificar que el estado sea una columna de caracteres.Si es numérico (incluso si el tipo de modelado es nominal u ordinal), debe eliminar las comillas alrededor de "2".
Re: poner valor a las celdas seleccionadasSi utiliza obtener filas donde puede asegurarse de que hay filas que necesitan ser cambiadas.Como se mencionó, elimine los dos puntos iniciales de Informat.Cambiar como columna a Columna .
selrows = sdt << get rows where(
Informat( "06/26/2018 16:49:00", "m/d/y h:m:s" ) <= :Time <= :Informat(
"06/26/2018 16:54:00",
"m/d/y h:m:s"
)
);
if (nrows(selrows) > 0,
Column( sdt, "Status" )[selRows] = "2";
);
Re: poner valor a las celdas seleccionadasNo tengo datos para ejecutar su script, pero lo cambié por mis datos y funcionó bien (pero no usé la función informat()).Luego noté que tiene dos puntos ":" antes de informat (), y el editor jsl no muestra la ayuda de texto flotante para informat con los dos puntos, pero lo muestra cuando elimino esos dos puntos. Intente eliminar los dos puntos antes de informat() y vea si eso ayuda. El colon se utiliza para definir una variable de columna. con sintaxis ":nombre" fuerzas nombre para ser evaluado como una columna de tabla de datos.(editado para dar una descripción más precisa, del sitio web de JMP)
Por cierto, gracias por la sugerencia sobre la estructura lógica allí. No tenía idea de que podía hacer ax < y < z de una sola vez. Por lo general, es x < y & y < z.