Wie sende ich einen Graph Builder-Bericht (Heatmap) für jede FOR-Iteration an das Journal?Hallo JMP-Benutzer,
Ich bin ein ziemlicher Anfänger in der Skripterstellung und würde mich über einen kurzen Hinweis sehr freuen. Mein Skript folgt.Die Frage ist Wo Füge ich einen Befehl ein, für den der Heatmap-Bericht gesendet werden soll? jede Iteration zum gleichen Journal nacheinander und welcher Befehl Sollte ich es benutzen?
Skript:
directory = Pick Directory( "Select a directory" );
Pick File( "Select JMP File", directory, {"JMP Files|jmp;jsl;jrn", "All Files|*"}, 1, 0, "newJmpFile.jmp" );
For( i = 1, i < 5, i++,
Graph Builder(
Show Control Panel( 0 ),
Variables( X( :RowN ), Y( :ColN ), Color( :bh ) ),
Elements( Heatmap( X, Y, Color, Legend( 2 ) ) ),
Local Data Filter(
Location( {106, 106} ),
Add Filter( columns( :SN ), Where( :SN == i ), Display( :SN, Size( 221, 259 ), List Display ) ),
Mode( Select( 0 ), Show( 1 ), Include( 1 ) )
),
SendToReport(
Dispatch( {}, "RowN", ScaleBox, {Show Major Ticks( 0 ), Rotated Labels( "Automatic" )} ),
Dispatch( {}, "ColN", ScaleBox, {Show Major Ticks( 0 )} ),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
2,
Properties(
0,
{gradient(
{Color Theme( "Blue to Green to Red" ), Label Levels(
[155 158 161 164 167 170 173 176 179 182 185]
), Width( 15 ), Reverse Colors( 1 )}
)}
)
)}
)
)
)
);
Betreff: Wie sende ich einen Graph Builder-Bericht (Heatmap) für jede FOR-Iteration an das Journal?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo Frau,
Wieder hat es wie ein Zauber funktioniert. Vielen Dank für zwei „Komm aus dem Gefängnis“-Pässe!
Ich wusste, dass es irgendwie N Elemente umfassen würde, konnte aber den Link nicht finden, der in diesem Fall die Funktion „Zusammenfassen“ ist, die eine Liste eindeutiger Spaltenelemente generiert.Ich habe vergeblich nach Unique, Count usw. gesucht.
Ich wünschte, der Scripting Guide könnte besser durchsuchbar sein.
Danke noch einmal,
Barry
Betreff: Wie sende ich einen Graph Builder-Bericht (Heatmap) für jede FOR-Iteration an das Journal?Sie können eine Liste aller Ebenen erstellen und dann die Ebenen der N Elemente (Liste) durchlaufen. Einzelne Elemente einer Liste werden mit einem Index abgerufen, z. B. list .Im Folgenden finden Sie eine Möglichkeit, dies in Ihr Skript zu integrieren (ein Teil des Codes wurde weggelassen).
Zusammenfassen ( SNs = von ( : SN ) ) ; // Liste aller Ebenen erstellen (Seriennummern)
für ( ich = 1 , ich <= N Artikel ( SNs ) , ich ++,
GB = Graph Builder ( ....
Lokaler Datenfilter (
Standort ( { 106 , 106 } ) ,
Filter hinzufügen (
Säulen ( : SN ) ,
Wo ( : SN == SNs [ ich ] ) , // i'tes Element der Liste SNs
Anzeige ( : SN , Größe ( 221 , 259 ) , Listenanzeige )
) ,
Modus ( Wählen ( 0 ) , Zeigen ( 1 ) , Enthalten ( 1 ) )
) , ...
) ;
...
)
Betreff: Wie sende ich einen Graph Builder-Bericht (Heatmap) für jede FOR-Iteration an das Journal?Hallo Frau,
Ich danke Ihnen vielmals für die Antwort auf meine Fragen.Genau das, was ich suche.Nein, ich nehme es zurück – es ist mehr als nur das, was hier benötigt wird.Es öffnete die Tür für ähnliche Operationen.
Die Variablenzuweisung ist der Schlüssel – das habe ich tatsächlich versucht, aber die Codierung ist nicht richtig hingekommen:
gb << Journal, oder
Bericht << Journal
Auch der ; Am Ende von GB habe ich die Zeile „Bericht zur Journalzeile“ vermisst.
Abschließend möchte ich mich für den Bonus zum Format/Inhalt zum Versenden bedanken.
Ich wollte Ihre Antwort mit 7 Punkten als RICHTIG und HILFREICHEN markieren, wenn sie es zuließen.
Wenn ich noch eine Frage stellen darf:
Meine FOR-Schleife ist nicht sehr elegant. Ich wollte eine Heatmap für jede Seriennummer (eine andere Spalte) nacheinander verarbeiten, während sie im Datenfilter erscheinen.Es ist eine Art „N Items“-Befehl erforderlich, aber ich konnte ihn nicht richtig hinbekommen.Also habe ich darauf zurückgegriffen, die alphanumerischen Seriennummern in numerische Reihenfolge umzukodieren und die grundlegende FOR(i)-Schleife zu verwenden.Gibt es eine schnelle Möglichkeit, die ursprünglichen alphanumerischen (Zeichen-)Seriennummern direkt zu verwenden?
Sehr geschätzt,
Barry
Betreff: Wie sende ich einen Graph Builder-Bericht (Heatmap) für jede FOR-Iteration an das Journal?Ich schlage vor, dass Sie das Graph Builder-Objekt einer Variablen (gb) zuweisen und dann << Journal; in das entsprechende Anzeigefeld des GB-Berichts am Ende jeder Iteration. Siehe Beispiel unten mit zwei Alternativen (die zweite auskommentiert). Die Baumstruktur ist oft eine große Hilfe, um die passende Displaybox-Ebene zu finden. Hier verwenden gb << Baumstruktur anzeigen um das Baumfenster aufzurufen.
für ( ich = 1 , ich < 5 , ich ++,
GB = Graph Builder (
........
);
Bericht ( GB )[ Framebox ( 1 )] << Tagebuch ; // Nur die Heatmap
//report(gb)[1]<
) ;