Ciao,
Ho qualche problema con quanto segue. Ho un gruppo di output personalizzato, raggruppato per una variabile, che devo essere in un unico rapporto. Ottengo l'output di cui ho bisogno. Tuttavia, ottengo così tante tabelle di dati di sottoinsiemi come risultato del ciclo for. Stavo leggendo delle finestre delle schede, ma non c'è molto scritto online sull'inserimento di più tabelle di dati nelle schede. Esiste una tale opzione?
In caso contrario, forse posso aggiungere un'opzione al mio script JMP che riduca automaticamente a icona le tabelle di dati generate con il report.
Se non esiste tale opzione sopra menzionata, 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 a usare la metodologia di questo forum , ma non stavo ottenendo 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)
);Grazie mille Jim. Questo è esattamente ciò di cui avevo bisogno.
Se rendi invisibili le tue tabelle di dati con 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 )
);