Hi,
Ich habe einige Probleme mit folgendem. Ich habe eine Gruppe von benutzerdefinierten Ausgaben, die nach einer Variablen gruppiert sind und in einem einzigen Bericht enthalten sein müssen. Ich bekomme die Ausgabe, die ich brauche. Als Ergebnis der for-Schleife erhalte ich jedoch so viele Teilmengen-Datentabellen. Ich habe über Registerkartenfenster gelesen, aber online ist nicht viel darüber geschrieben, mehrere Datentabellen in Registerkarten zu platzieren. Gibt es eine solche Möglichkeit?
Wenn nicht, kann ich meinem JMP-Skript vielleicht eine Option hinzufügen, die die mit dem Bericht generierten Datentabellen automatisch minimiert.
Wenn es oben keine solche Option gibt, gäbe es dann eine Möglichkeit, nur die select where-Anweisung zu verwenden, um die Zeilen der Daten auszuwählen und dann diese Zeilen zu verwenden, um eine benutzerdefinierte und automatische Ausgabe in einem einzigen Bericht zu generieren? Ich habe versucht zu verwenden die Methodik dieses Forums , aber ich habe keine Ergebnisse erhalten.
Hier ist mein aktuelles JMP-Skript zusammen mit der angehängten JMP-Datei.
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)
);Wenn Sie Ihre untergeordneten Datentabellen einfach unsichtbar machen, können Sie Ihre Ausgabe viele Male bereinigen.
listDT = dt << Subset( invisible,
output table name( "Subset where category is " || vali ),
Selected rows only ( 1 ),
Selected columns only( 1 )
);