Holen Sie sich ein JRP-ähnliches Skript aus einem BerichtsfensterHallo alle zusammen,
Ich versuche, mein Berichtsskript in einer JRP-Datei zu speichern, wie in: Diagramme als ".jrp"-Datei in JSL speichern
Ich habe jedoch keinen direkten Zugriff auf den Graph Builder, der mein Berichtsfenster generiert hat.
Ich erhalte meine Berichte per
Get Window List(Type("Reports"));
Und jetzt muss ich das Skript extrahieren, um es als Textdatei zu speichern, aber ich kann nicht herausfinden, wie ich dieses Skript bekomme.
Wenn ich << Get Script verwende, lande ich nur bei Dingen wie
GraphBuilderBox(ScaleBox(ParallelScaleBox(ScaleBox(ScaleBox(ScaleBox(ScaleBox(ScaleBox(ScaleBox(GraphBuilderContainerBox(Graph[...]
Wie bekomme ich einen Text, der mehr wie
Graph Builder(
Size( 1896, 975 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables(...
?
SkripterstellungBetreff: Holen Sie sich ein jrp-ähnliches Skript aus einem BerichtsfensterVielen Dank @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 in das JSL-Kochbuch aufgenommen werden! Vielen Dank @txnelson ! @DonMcCormack
Betreff: Holen Sie sich ein jrp-ähnliches Skript aus einem BerichtsfensterVielen Dank, das hat es getan!
Betreff: Holen Sie sich ein jrp-ähnliches Skript aus einem BerichtsfensterDie "Get Window List" gibt das Top Parent 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 du es Schritt für Schritt so machst:
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, dass Objekt 'HeadBox' erkennt die Nachricht 'report' nicht; ebenso gut wie Objekt 'HeadBox' erkennt die Meldung 'Get Scriptable Object' nicht; wenn ich die Berichtsnachricht schneide. So Get Window List(Type("Reports")); bekommt mir eine Headbox, die nur Get Script erkennen kann, was mir wiederum das gleiche alte 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 bekomme ich 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, dass sie sind.
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:
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 Nachricht „Get Scriptable Object()“ an. Sie können dies verwenden, um in einem Bericht Zugriff auf die Plattform (dh Graph Builder) zu 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>