Hola,
Tengo algunos problemas con lo siguiente. Tengo un grupo de resultados personalizados, agrupados por una variable, que debo incluir en un solo informe. Obtengo la salida que necesito. Sin embargo, obtengo tantas tablas de datos de subconjuntos como resultado del bucle for. Estaba leyendo acerca de las ventanas de pestañas, pero no hay mucho escrito en línea sobre cómo colocar varias tablas de datos en pestañas. ¿Existe tal opción?
De lo contrario, quizás pueda agregar una opción a mi secuencia de comandos JMP que minimice automáticamente las tablas de datos que se generan con el informe.
Si no existe tal opción mencionada anteriormente, ¿habría alguna forma de usar solo la instrucción select where para seleccionar las filas de los datos y luego usar esas filas para generar resultados personalizados y automáticos en un solo informe? traté de usar la metodologia de este foro , pero no estaba obteniendo ningún resultado.
Aquí está mi secuencia de comandos JMP actual, junto con el archivo jmp adjunto.
Names Default To Here( 1 );
dt = Current Data Table();
col9 = Column(dt, "category");
unique_category = Associative Array(col9) << get keys;
nw= New Window("results",
container = V List Box()
);
for (i = 1, i <= N Items(unique_category), i++,
content = V List Box(
vali = unique_category[i];
dt << Select Where(:category == vali);
//subset the selected data
listDT = dt << Subset(
output table name( "Subset where category is " || vali ),
Selected rows only ( 1 ),
Selected columns only( 1 )
);
//Get the measurment units formatted, if applicable
col4 = Column( listDT, "Measurement Units");
units = col4[1];
units_formatted = If(Is Missing(units), "", Is String(units), " (" || units || ") ");
//chart
Oneway(SendToByGroup( {:category == vali},
Y( :results ) ),
SendToByGroup(
{:category == vali},
X( :name),
Connect Means( 1 ),
Grand Mean( 0 )
),
SendToByGroup(
{:category == vali},
SendToReport(
Dispatch(
{},
"2",
ScaleBox,
{Label Row( Set Font Size( 5 ) )}
),
Dispatch(
{},
"results",
TextEditBox,
{Set Text( vali || units_formatted )}
),
Dispatch(
{},
"Oneway Plot",
FrameBox,
{Frame Size( 1500, 300 ), DispatchSeg(
CustomStreamSeg( 6 ),
{Line Color( "Gray" )}
), Row Legend(
subcategory,
Color( 1 ),
Color Theme( "" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 )
)}
)
)
)
);
);
container << Append(content)
);Muchas gracias Jim. Eso es exactamente lo que necesitaba.
Si solo hace que sus tablas de datos subdivididas sean invisibles, muchas veces puede limpiar su salida.
listDT = dt << Subset( invisible,
output table name( "Subset where category is " || vali ),
Selected rows only ( 1 ),
Selected columns only( 1 )
);