Fügen Sie über das Application Builder-Skript eine Ref-Zeile im Bericht hinzuHallo alle,
Ich habe versucht, die folgende Zeile in mein Anwendungs-Builder-Skript einzufügen, um Referenzzeilen zu Berichten hinzuzufügen:
Report1[Axis Box(1)] << Add Ref Line( 100, "Solid", "Medium Dark Red", "LL", 10 );
Es bringt 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 Herumspielen etwas geändert, was zu einem Fehler in dieser Zeile geführt hat, aber die Ref-Zeile wurde erfolgreich hinzugefügt. Einmal. Durch erneutes Ausführen desselben Vorgangs wurde die Zeile in Zukunft nicht hinzugefügt.
Seitdem habe ich es in eine Schaltfläche geändert, die Sie im Bericht drücken, um die Ref-Zeile hinzuzufügen, was beim ersten Versuch mit genau derselben Skriptzeile funktionierte, sodass ich nicht dringend eine Lösung benötige. Ich frage mich nur, ob das ein Fehler ist.
Betreff: Ref-Zeile im Bericht über Anwendungs-Builder-Skript hinzufügenHallo 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 Anwendungs-Builder-Skript hinzufügenIn diesem Fall ermöglicht Wait(0) die Anzeige des Fensters auf dem Bildschirm, wodurch auch der „Ausgangszustand“ festgelegt wird, der bestimmt, ob Anpassungen im Skript gespeichert werden.Aus Leistungsgründen, einige Veranstaltungen werden asynchron verarbeitet, um die weitere Ausführung von Skripten zu ermöglichen.
Betreff: Ref-Zeile im Bericht über Anwendungs-Builder-Skript hinzufügenVielen Dank wie immer an alle!!
Dan, kannst du erklären, was genau das Hinzufügen von Wait(0); Linie tut? (dh die Anzeigen aktualisieren?)
Betreff: Ref-Zeile im Bericht über Anwendungs-Builder-Skript hinzufügenIch habe dies auch am Beispiel von Big Class versucht und vielleicht herausgefunden, was los ist.Meine App ist angehängt und funktioniert zunächst.Wenn Sie jedoch den lokalen Datenfilter aktivieren, verschwindet die Zeile.Die Funktion des LDF besteht darin, die Plattform erneut auszuführen. 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 sie über LIRT > Skript speichern > Im Skriptfenster gespeichert werden) 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);
VOR dem Code, der auf den Bericht zugreift, ermöglicht die Plattform eine einmalige Anzeige, bevor die Referenzzeile hinzugefügt wird.In der angehängten .jmpapp-Quelle habe ich diese Zeile auskommentiert, sodass Sie sie zum Testen der Lösung wieder hinzufügen können.
Betreff: Ref-Zeile im Bericht über Anwendungs-Builder-Skript hinzufügenIst das Ziel, nur eine Referenzlinie hinzuzufügen, oder besteht das Ziel darin, Referenzlinien dynamisch hinzuzufügen?

Manchmal muss ich Referenzlinien basierend auf Daten in einer Tabelle hinzufügen. In diesem Fall hilft das Hinzufügen dieses Skripts zum Anpassen des Diagramms.
//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 Anwendungs-Builder-Skript hinzufügenDanke 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 erstellt und diese Codezeile hat perfekt funktioniert.Vielleicht lohnt sich ein Anruf beim technischen Support?
Betreff: Ref-Zeile im Bericht über Anwendungs-Builder-Skript hinzufügenEs tut mir leid, dass ich keinen weiteren Kontext angegeben habe. Report1 ist ein Einwegbericht, der im Application Builder zugewiesen wird. Die Variable existiert.
Ich konnte auf die Framebox desselben Berichts zugreifen, um eine Legende hinzuzufügen:
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 ));
Ich denke also, dass die Referenz funktioniert.
Ich habe jedoch die von Ihnen vorgeschlagene Zeile ausprobiert und sie hat zu nichts geführt. Keine Fehler oder Warnungen, keine Ref-Zeile.
Betreff: Ref-Zeile im Bericht über Anwendungs-Builder-Skript hinzufügenWie 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 abrufen, indem Sie Folgendes verwenden:
Report1 = this module instance << Get box
Versuchen Sie, die vorhandene Zeile durch diese zu ersetzen, um festzustellen, ob das Problem darin liegt:
(this module instance << get box)[Axis Box(1)] << Add Ref Line( 100, "Solid", "Medium Dark Red", "LL", 10 );