Ref-Zeile im Bericht über das Application Builder-Skript hinzufügenHallo alle,
Ich habe versucht, die folgende Zeile in meinem Application Builder-Skript hinzuzufügen, um Ref-Zeilen zu Berichten hinzuzufügen:
Report1[Axis Box(1)] << Add Ref Line( 100, "Solid", "Medium Dark Red", "LL", 10 );
Es tut jedoch nichts.Ich erhalte keine Warnungen oder Fehler im Protokoll. Ich habe den Anzeigebaum überprüft und greife auf die richtige Achsenbox zu. Wenn ich den Index des Achsenfelds ändere, wird ein Fehler generiert. Ich verstehe nicht, warum das nicht funktionieren sollte. Ist das ein Fehler?
Seltsamerweise habe ich beim Herumfummeln etwas geändert, das einen Fehler in dieser Zeile erzeugte, aber die Ref-Zeile erfolgreich hinzugefügt. Einmal. Das erneute Ausführen derselben Sache fügte die Zeile in der Zukunft nicht hinzu.
Ich habe es seitdem in eine Schaltfläche geändert, die Sie im Bericht drücken, um die Ref-Zeile hinzuzufügen, die beim ersten Versuch mit genau derselben Skriptzeile funktionierte, sodass ich nicht dringend eine Lösung benötige. Fragt sich nur, ob das ein Bug ist.
Betreff: Ref-Zeile im Bericht über das Application Builder-Skript hinzugefügtHallo zusammen, ich freue mich, Ihnen mitteilen zu können, dass das ursprünglich hier gemeldete Problem in der neuesten Version von JMP (15) behoben wurde. Sie sollten wait(0) nicht mehr benötigen, damit dies funktioniert. Für diejenigen, die ältere Versionen von JMP verwenden, ist dies eine großartige Problemumgehung.
Betreff: Ref-Zeile im Bericht über das Application Builder-Skript hinzugefügtIn diesem Fall lässt Wait(0) zu, dass das Fenster auf dem Bildschirm angezeigt wird, wodurch auch der „Anfangszustand“ festgelegt wird, der bestimmt, ob Anpassungen im Skript gespeichert werden.Einige aus Leistungsgründen Veranstaltungen werden asynchron verarbeitet, damit Skripts weiter ausgeführt werden können.
Betreff: Ref-Zeile im Bericht über das Application Builder-Skript hinzugefügtDanke wie immer an alle!!
Dan, können Sie erklären, was genau das Hinzufügen von Wait(0); Linie tut? (dh die Anzeigen aktualisieren?)
Betreff: Ref-Zeile im Bericht über das Application Builder-Skript hinzugefügtIch habe dies auch am Beispiel von Big Class versucht, und ich habe vielleicht herausgefunden, was los ist.Meine App ist angehängt und funktioniert zunächst.Wenn Sie jedoch den lokalen Datenfilter aktivieren, verschwindet die Zeile.Das LDF funktioniert durch erneutes Ausführen der Plattform, und in diesem Fall werden die Anpassungen der Referenzlinie nicht beibehalten.Dies geschieht sowohl innerhalb als auch außerhalb von App Builder.
Das Problem besteht darin, dass Plattformskripte (wie von LIRT > Skript speichern > In Skriptfenster gespeichert) nur Anpassungen speichern, die seit der ersten Anzeige der Plattform angewendet wurden.Dies ist einer der Fälle, in denen die Zeile hinzugefügt wird:
Wait(0);
BEVOR der Code, der auf den Bericht zugreift, der Plattform erlaubt, einmal anzuzeigen, bevor die Referenzzeile hinzugefügt wird.In der angehängten .jmpappsource habe ich diese Zeile auskommentiert, damit Sie sie wieder hinzufügen können, um die Lösung zu testen.
Betreff: Ref-Zeile im Bericht über das Application Builder-Skript hinzugefügtIst das Ziel, nur eine Referenzlinie hinzuzufügen, oder ist das Ziel, Referenzlinien dynamisch hinzuzufügen?

Manchmal muss ich Referenzlinien basierend auf Daten in einer Tabelle hinzufügen. In diesem Fall ist das Hinzufügen dieses Skripts zum Anpassen des Diagramms der Trick.
//example<BR />For Each Row(
If( :ref > 0,
V Line( Row(), Col Minimum( :weight ) - 10, Col Maximum( :weight ) + 10 )
)
)
In etwas mehr Kontext sieht es so aus.
dt=open("$Sample_Data\Big Class.jmp");
dt<< New Column( "ref",
Set Values(
[0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0]
)
);
dt<<NEW column=""> 0,
V Line(
Row(),
Col Minimum( :weight ) - 10,
Col Maximum( :weight ) + 10
)
)
)
), Grid Line Order( 1 ), Reference Line Order( 3 )}
)
)
);
</NEW>Betreff: Ref-Zeile im Bericht über das Application Builder-Skript hinzugefügtDanke für die Klarstellung.In diesem Fall sollte Ihr Code wirklich funktionieren.Ich habe einen Testfall mit einem Oneway-Bericht in einer App-Builder-App durchgeführt, und diese Codezeile hat perfekt funktioniert.Vielleicht lohnt sich ein Anruf beim technischen Support?
Betreff: Ref-Zeile im Bericht über das Application Builder-Skript hinzugefügtTut mir leid, dass ich nicht mehr Kontext bereitgestellt habe. Bericht1 ist ein Einwegbericht, der im Anwendungsersteller zugewiesen wird. Die Variable existiert.
Ich konnte auf die Framebox desselben Berichts zugreifen, um eine Legende hinzuzufügen, indem ich Folgendes verwendete:
Report1[FrameBox(1)] << Row Legend(
Tissue,
Color( 1 ),
Color Theme( "JMP Default" ),
Marker( 0 ),
Marker Theme( "" ),
Continuous Scale( 0 ),
Reverse Scale( 0 ),
Excluded Rows( 0 ));
Also ich denke der Hinweis funktioniert.
Ich habe jedoch die von Ihnen vorgeschlagene Linie ausprobiert und sie hat nichts ergeben. Keine Fehler oder Warnungen, keine Ref-Zeile.
Betreff: Ref-Zeile im Bericht über das Application Builder-Skript hinzugefügtWie ist Report1 definiert?Ist das der Name des Moduls?
Um auf unbenannte Anzeigefelder in einem Application Builder-Modulfenster zuzugreifen, müssen Sie normalerweise einen Verweis auf das Fenster erhalten, indem Sie Folgendes verwenden:
Report1 = this module instance << Get box
Versuchen Sie, die Zeile, die Sie haben, durch diese zu ersetzen, um festzustellen, ob dies das Problem ist:
(this module instance << get box)[Axis Box(1)] << Add Ref Line( 100, "Solid", "Medium Dark Red", "LL", 10 );