Hallo,
Ich versuche, eine allgemeine Diagrammfunktion für verschiedene Datentabellen zu erstellen. Daher variieren auch die Namen der Y-Achsen-Spalten, und ich konnte keinen Weg finden, sie basierend auf dem Titel zu zeichnen, der sie übergibt.
title = "no. of people";
gb = graph_func(stackdt,title);
graph_func = function({stackdt,title},{Default Local},
gb = Graph Builder(
Size( 1342, 905 ),
Variables(
Y( :title),
Group X( :Type ),
Group X( :Stat ),
Overlay( :MATRIX_GROUP )
),
Elements( Box Plot( Y, Legend( 25 ) ), Caption Box( Y, Legend( 26 ) ) ),
);
return(gb);
);Stackdt hat eine Spalte mit dem Namen no. von den Leuten und von diesem Namen unterscheidet sich, wenn ich eine Funktion für eine andere Datentabelle aufrufe. Ich weiß, dass der Titel keine Spalte ist, daher wird er nicht erkannt, aber wie kann ich das darstellen? Ich habe auch versucht, die Kolumne zu übergeben, aber ich konnte sie wahrscheinlich auch nicht zum Laufen bringen, weil sie nicht kopiert wurde.
Wenn ich verstehe, worum es geht, müssen Sie meines Erachtens nur die Funktion As Column () verwenden, um JMP die Verwendung der Speichervariable "title" als Spalte zu erläutern. Siehe mein Beispiel unten:
names default to here(1);
stackdt=open("$SAMPLE_DATA/big class.jmp");
graph_func = function({stackdt,title},{Default Local},
Graph Builder(
Size( 525, 490 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( as column( title ) ), Group X( :sex ) ),
Elements( Points( X, Y, Legend( 4 ) ) )
));
title = "height";
gb = graph_func(stackdt,title);Danke, das hat den Job gemacht
.