Ciao,
Ho qualche problema con quanto segue. Ho un gruppo di output personalizzati, raggruppati per una variabile, che devo inserire in un unico report. Ottengo l'output di cui ho bisogno. Tuttavia, ottengo così tante tabelle di dati di sottoinsiemi come risultato del ciclo for. Stavo leggendo sulle finestre delle schede, ma non c'è molto scritto online sull'inserimento di più tabelle di dati in schede. C'è una tale opzione?
In caso contrario, forse posso aggiungere un'opzione al mio script JMP che riduce automaticamente al minimo le tabelle di dati generate con il report.
Se non esiste tale opzione menzionata sopra, ci sarebbe un modo per utilizzare solo l'istruzione select where per selezionare le righe dei dati e quindi utilizzare tali righe per generare output personalizzato e automatico in un singolo report? ho provato ad usare la metodologia di questo forum , ma non ho ottenuto alcun risultato.
Ecco il mio attuale script JMP, insieme al file jmp allegato.
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)
);Se rendi invisibili le tue tabelle di dati sottoinsiemi, puoi molte volte ripulire il tuo output.
listDT = dt << Subset( invisible,
output table name( "Subset where category is " || vali ),
Selected rows only ( 1 ),
Selected columns only( 1 )
);