Salut,
J'ai du 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-ensembles à la suite de la boucle for. Je lisais sur les fenêtres à onglets, mais il n'y a pas grand-chose d'écrit en ligne sur la mise en place de plusieurs tables 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 de 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)
);Si vous ne faites que rendre invisibles vos tables de données sous-ensembles, vous pouvez nettoyer plusieurs fois votre sortie.
listDT = dt << Subset( invisible,
output table name( "Subset where category is " || vali ),
Selected rows only ( 1 ),
Selected columns only( 1 )
);