Holen Sie sich ein JRP-ähnliches Skript aus einem BerichtsfensterHallo an alle,
Ich versuche, mein Berichtsskript in einer JRP-Datei zu speichern, wie in: Diagramme als „.jrp“-Datei in JSL speichern
Allerdings habe ich keinen direkten Zugriff auf den Graph Builder, der mein Berichtsfenster erstellt hat.
Ich erhalte meine Berichte per
Get Window List(Type("Reports"));
Und jetzt muss ich das Skript extrahieren, um es als Textdatei zu speichern, kann jedoch nicht herausfinden, wie ich an dieses Skript komme.
Wenn ich << Get Script verwende, erhalte ich nur Dinge wie
GraphBuilderBox(ScaleBox(ParallelScaleBox(ScaleBox(ScaleBox(ScaleBox(ScaleBox(ScaleBox(ScaleBox(GraphBuilderContainerBox(Graph[...]
Wie bekomme ich einen Text, der eher so ist
Graph Builder(
Size( 1896, 975 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables(...
?
Automatisierung und SkripterstellungInhaltsorganisationMassenanpassungBetreff: Holen Sie sich ein JRP-ähnliches Skript aus einem BerichtsfensterDanke @MikeD_Anderson ! Ich stimme zu, es wäre eine gute Ergänzung.
Betreff: Holen Sie sich ein JRP-ähnliches Skript aus einem BerichtsfensterDieses kleine Nugget sollte im JSL-Kochbuch stehen! Danke @txnelson ! @DonMcCormack
Betreff: Holen Sie sich ein JRP-ähnliches Skript aus einem BerichtsfensterVielen Dank, das hat es geschafft!
Betreff: Holen Sie sich ein JRP-ähnliches Skript aus einem BerichtsfensterDie „Get Window List“ gibt das oberste übergeordnete Element für das Fenster zurück.
Das „Get Scriptable Object“ ist eine Nachricht an eine Outline Box().Daher sollte diese Modifikation Ihnen das bringen, was Sie wollen.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dis = Distribution( Continuous Distribution( Column( :height ) ) );
x = (Get Window List( Type( "Reports" ) )[1][Outline Box( 1 )] << get scriptable object());
x << get script;
Betreff: Holen Sie sich ein JRP-ähnliches Skript aus einem BerichtsfensterInteressant. Indem Sie es Schritt für Schritt so machen:
wList = Get Window List(Type("Reports"));
rep = wList[1] << report;
so = rep << Get Scriptable Object();
skr = so << get script();
Print( skr );Ich bekomme jetzt Fehlermeldungen darüber Objekt „HeadBox“ erkennt die Nachricht „report“ nicht; ebenso gut wie Das Objekt „HeadBox“ erkennt die Meldung „Get Scriptable Object“ nicht; wenn ich die Berichtsnachricht schneide. So Get Window List(Type("Reports")); verschafft mir einen Headbox, der nur Get Script erkennen kann, was mir wiederum das Gleiche gibt
HeadBox(V List Box(Box(OutlineBox(H List Box(NoCloneBox(IfBox(H List Box
Ich habe schon etwas gelernt, bin aber noch nicht so weit. Wie Tun Ich erhalte das skriptfähige Objekt meines Fensters?
Betreff: Holen Sie sich ein JRP-ähnliches Skript aus einem BerichtsfensterEs könnte sein, dass Ihre Nachrichten in:
print(wList[1] << report << Get Scriptable Object() << get script());
werden nicht in der Reihenfolge ausgeführt, in der Sie denken.
Vergleichen Sie die Ergebnisse dieser beiden:
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = bivariate( y( :weight ), x( :height ) );
rbiv = biv << report;
Print( (rbiv << Get Scriptable Object()) << get script() );
Print( rbiv << Get Scriptable Object() << get script() );
Betreff: Holen Sie sich ein JRP-ähnliches Skript aus einem BerichtsfensterDanke für Ihre Antwort. Allerdings konnte ich mein Problem noch nicht lösen.
Nach dem Öffnen einer vorhandenen .jrp-Datei, die wiederum eine Datentabelle und ein Berichtsfenster öffnet, werden die folgenden Skripte ausgeführt:
wList = Get Window List(Type("Reports"));
print(wList[1] << report << Get Scriptable Object() << get script());wList = Get Window List(Type("Reports"));
print(wList[1] << Get Scriptable Object() << get script());wird beides zur Folge haben
HeadBox(V List Box(Box(OutlineBox(H List Box(NoCloneBox(IfBox(H List Box(V List Box(H List Box(ButtonBox, ButtonBox, ButtonBox), BorderBox(V List Box(H List Box(PopupBox, Text Box("40 Columns")), V List [... etc.]Nicht die Art von Skript, die ich suche. Dies scheint ein Sonderfall zu sein, da ich mit einem vorhandenen Berichtsfenster beginne. Was mache ich falsch?
Betreff: Holen Sie sich ein JRP-ähnliches Skript aus einem BerichtsfensterSehen Sie sich die Meldung „Get Scriptable Object()“ an. Damit können Sie in einem Bericht Zugriff auf die Plattform (z. B. Graph Builder) erhalten.
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Big Class.jmp" );
biv = bivariate( y( :weight ), x( :height ) );
rbiv = biv << report;
bivobj = rbiv << Get Scriptable Object();
bivobj<<GET script=""></GET>