Salut,
J'ai un peu de mal avec ce qui suit. J'ai un groupe de sorties personnalisées, regroupées par une variable, que j'ai besoin d'être dans un seul rapport. J'obtiens la sortie dont j'ai besoin. Cependant, j'obtiens tellement de tables de données de sous-ensemble à la suite de la boucle for. Je lisais sur les fenêtres à onglets, mais il n'y a pas beaucoup d'écrits en ligne sur la mise en place de plusieurs tableaux de données dans des onglets. Existe-t-il une telle option ?
Sinon, je peux peut-être ajouter une option à mon script JMP qui minimise automatiquement les tables de données générées avec le rapport.
S'il n'y a pas une telle option mentionnée ci-dessus, y aurait-il un moyen d'utiliser uniquement l'instruction select where pour sélectionner les lignes des données, puis d'utiliser ces lignes pour générer une sortie personnalisée et automatique dans un seul rapport ? j'ai essayé d'utiliser la méthodologie de ce forum , mais je n'obtenais aucun résultat.
Voici mon script JMP actuel, ainsi que le fichier jmp joint.
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)
);Merci beaucoup, Jim. C'est exactement ce dont j'avais besoin.
Si vous rendez simplement vos tables de données sous-ensembles invisibles, vous pouvez plusieurs fois nettoyer votre sortie.
listDT = dt << Subset( invisible,
output table name( "Subset where category is " || vali ),
Selected rows only ( 1 ),
Selected columns only( 1 )
);