Hallo,
Ich habe einige Probleme mit Folgendem. Ich habe eine Gruppe benutzerdefinierter Ausgaben, die nach einer Variablen gruppiert sind und in einem einzigen Bericht enthalten sein müssen. Ich bekomme die Ausgabe, die ich brauche. Allerdings erhalte ich aufgrund der for-Schleife so viele Teilmengendatentabellen. Ich habe über Tab-Fenster gelesen, aber online steht nicht viel darüber, wie man mehrere Datentabellen in Tabs zusammenfügt. Gibt es eine solche Option?
Wenn nicht, kann ich meinem JMP-Skript möglicherweise eine Option hinzufügen, die die mit dem Bericht generierten Datentabellen automatisch minimiert.
Wenn die oben genannte Option nicht vorhanden ist, gibt es dann eine Möglichkeit, nur die Select-Where-Anweisung zu verwenden, um die Datenzeilen auszuwählen und diese Zeilen dann 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)
);Vielen Dank, Jim. Das ist genau das, was ich brauchte.
Wenn Sie Ihre Teilmengentabellen einfach unsichtbar machen, können Sie Ihre Ausgabe um ein Vielfaches bereinigen.
listDT = dt << Subset( invisible,
output table name( "Subset where category is " || vali ),
Selected rows only ( 1 ),
Selected columns only( 1 )
);