Anbindung der Beispielanwendung „Launcher with Report“ an ein Diagramm von Graphbuilder.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich bin neu bei JSL und vermute, dass ich das falsch mache. Hinweise und Ideen wären willkommen.
Ich habe eine Datentabelle, die mehrere Versionen von Z-Scores aus leicht unterschiedlichen Modellen enthält.
Z-Score von Modell A Z-Score von Modell B....Z-Score von Modell X
Betreff 1
Unterabschnitt 2
...
Betreff N
Ich versuche, eine Datenvisualisierungsanwendung zu erstellen, bei der der Client ein Paar dieser Z-Werte und einen kritischen Wert auswählt.
Das resultierende interaktive Diagramm wäre dann ein XY-Diagramm der Z-Werte sowie einer horizontalen und einer vertikalen Linie, beide am gewählten kritischen Wert.
Hoffentlich kann der Kunde dann mit der Maus über das Diagramm fahren und Personen mit deutlich unterschiedlichen Z-Werten finden.
Ich habe im Graph Builder ein Diagramm erstellt, das für ein Variablenpaar das tut, was ich möchte.
Ich habe den Launcher der Beispielanwendung mit Report so geändert, dass er einen X-Wert, einen Y-Wert und eine kritische Zahl zurückgibt, und habe es geschafft, diese Werte vom Graph Builder an den Code zu übergeben.
OnModuleLoad({items},
yval = Elemente[1];
xval = Elemente[2];
kritisch = Elemente[3];
);
Indem ich die x-Variable in xval ändere (und dasselbe für die y-Achse), kann ich die Beispielanwendung dazu bringen, die Achse zu ändern. Am Ende des Beitrags finden Sie einen Beispielcode.
Ich stoße auf zwei Probleme.
#1. Ich kann den Spaltendialog, der automatisch gestartet wird, wenn ich xval/yval verwende, anscheinend nicht unterdrücken. (Wenn ich den Spaltendialog dazu bringen könnte, einen kritischen Wert zu übergeben ... könnte ich damit wohl arbeiten.)
#2 Ich kann anscheinend keine geeignete Möglichkeit finden, die Versandlinien so zu ändern, dass die vertikalen und horizontalen Linien angezeigt werden, wenn ich die X- und Y-Werte von denen ändere, die sie hatten, als ich das Diagramm im Graph Builder erstellt habe.
Bin ich hier einfach völlig falsch?
Vielen Dank im Voraus für alle Antworten.
| | | Bericht1 = Plattform( | |
| | | | Datentabelle1, | |
| | | | Graph Builder( | |
| | | | | Systemsteuerung anzeigen( 0 ), | |
| | | | | Variablen( X( Eval( xval ) ), Y( Eval( yval ) ) ), | |
| | | | | Elemente( Punkte( X, Y, Legende( 1 ), Jitter( 1 ) ) ), | |
| | | | | SendToReport( | |
| | | | | | Versenden( | |
| | | | | | | {}, | |
| | | | | | | „Z-Wert von A“, | |
| | | | | | | ScaleBox, | |
| | | | | | | {Referenzlinie hinzufügen( | |
| | | | | | | | Eval( kritisch ), |
| | | | | | | | Solide, |
| | | | | | | | "Rot", |
| | | | | | | | "", |
| | | | | | | | 2 |
| | | | | | | )} | |
| | | | | | ), | |
| | | | | | Versenden( | |
| | | | | | | {}, | |
| | | | | | | „Z-Wert von D“, | |
| | | | | | | ScaleBox, | |
| | | | | | | {Referenzlinie hinzufügen( | |
| | | | | | | | Eval( kritisch ), |
| | | | | | | | Solide, |
| | | | | | | | "Rot", |
| | | | | | | | "", |
| | | | | | | | 2 |
| | | | | | | )} | |
| | | | | | ) | |
| | | | | ) | |
| | | | ) | |
| | | ) | |
| | ), | |
Danke
Betreff: Beispielanwendung „Launcher with Report“ mit einem Diagramm aus Graphbuilder verbinden.Vielen Dank an alle, die geantwortet haben.
Der Anfang ist immer der schwierige Teil.
Betreff: Beispielanwendung „Launcher with Report“ mit einem Diagramm aus Graphbuilder verbinden.Ich verstehe – es ist definitiv ein Problem, wenn die Dispatch()-Befehle auf einen der parametrisierten Werte verweisen.Dies kann ein Fall sein, in dem das Erstellen von Skripts für die Ref-Zeilen einfacher ist als der Versuch, den Dispatch zu verwenden.Nachdem die Objekte erstellt wurden (nach thisModuleInstance << Objekte erstellen Im Skript für Modul 1 würden Sie etwa Folgendes einfügen:
Report1[AxisBox(1)] << Add Ref Line( Critical, "Solid", "Black", "", 2 );
Das Standardverhalten von App Builder besteht darin, die aktuelle Datentabelle für alle Felder oder Berichte zu verwenden, die eine Tabelle erfordern.Um dies zu ändern, wählen Sie die Datentabelle im Objektbaum aus und ändern Sie die Eigenschaft „Standort“.Der Wert „Eingabeaufforderung“ fordert Sie immer auf, die Tabelle auszuwählen (oder zu öffnen).Beachten Sie, dass die Location-Eigenschaft nur zur Laufzeit gilt.Sie benötigen weiterhin einen Pfad zu einer Datentabelle, damit App Builder die Tabelle zum Zeitpunkt der Bearbeitung öffnen kann.
Es stehen Online-Kurse zur Verfügung, die Ihnen beim Erlernen von JSL helfen.Nächsten Monat gibt es eine Live-Web-Einführung in JSL das kann hilfreich sein.Da sind andere Klassen auch eines für die Anwendungsentwicklung mit Application Builder, das jedoch erst im September wieder verfügbar ist.Sie können das auch einfach kaufen Kursnotizen selbst.Zwei interessante Bücher sind Steigen Sie ein in JMP Scripting Und JSL Companion: Anwendungen der JMP-Skriptsprache .
Hoffentlich hilft das!
-Dan
Betreff: Beispielanwendung „Launcher with Report“ mit einem Diagramm aus Graphbuilder verbinden.Schauen Sie sich die beigefügte Präsentation an.Es zeigt, wie man mit Application Builder ein sehr einfaches Programm entwickelt.Das Programm öffnet ein Dialogfeld, in dem Sie eine Tabelle auswählen müssen, die Sie zum Erstellen einiger Diagramme verwenden möchten.
Betreff: Beispielanwendung „Launcher with Report“ mit einem Diagramm aus Graphbuilder verbinden.Dan,
Danke Nr. 1 ist genau das, was ich brauchte. Ich habe nicht an den automatischen Start für die gesamte Anwendung gedacht, aber das macht Sinn.
Zu Nr. 2: Der Abschnitt „Bewertung (kritisch)“ erfüllt meine Anforderungen. Wenn ein Benutzer die Leistungsfähigkeit der Datenauswahl im Graph Builder nutzen möchte, besteht für ihn die Möglichkeit, an Orte zu gelangen, mit denen ich nicht gerechnet hätte. Danke für die Warnung.
Was ich wirklich suchte, war eine Möglichkeit, „Z-Wert von A“ in der Versandanweisung durch eine Form von eval(xval) zu ersetzen.Ich kann das gewünschte Verhalten nachahmen, indem ich für jede mögliche Variable, die verwendet werden könnte, eine Dispatch-Anweisung einfüge, aber ich bin mir sicher, dass dies nicht die beste Vorgehensweise ist.
| Versenden( | |
| | | | | | | {}, | |
| | | | | | | „Z-Wert von A“, | |
| | | | | | | ScaleBox, | |
| | | | | | | {Referenzlinie hinzufügen( | |
| | | | | | | | Eval( kritisch ), |
| | | | | | | | Solide, |
| | | | | | | | "Rot", |
| | | | | | | | "", |
| | | | | | | | 2 |
| | | | | | | )} | |
| | | | | | ), |
Gibt es eine Möglichkeit, einen Dialog zu erstellen, der es dem Benutzer ermöglicht, beim Start der Anwendung auf eine Datentabelle zu zeigen?
Ich bin weder neu im Programmieren noch in JMP, aber ich schaue zum ersten Mal unter die Haube von JPL und habe festgestellt, dass es viel langsamer läuft, als ich gedacht hatte. Irgendwelche Ratschläge zu Ressourcen oder Texten, um die Lernklippe in eine Lernkurve zu verwandeln?
Betreff: Beispielanwendung „Launcher with Report“ mit einem Diagramm aus Graphbuilder verbinden.#1: Wählen Sie im Objektbaum „Anwendung“ aus.Die Eigenschaft „Auto Launch“ ist standardmäßig ausgewählt.Wenn Sie dies deaktivieren, sollte das Dialogfeld „Spalten“ nicht angezeigt werden, wenn die Anwendung ausgeführt wird.Wenn diese Option deaktiviert ist, wird davon ausgegangen, dass der Entwickler die entsprechende JSL schreibt, um die Parametervariablen zu initialisieren, was Sie bereits getan haben.
#2: Application Builder unterstützt derzeit nur die direkte Parametrisierung von Plattformrollen.Aus Ihrem Beispielskript geht hervor, dass Sie die gespeicherte Datei möglicherweise so bearbeitet haben, dass sie „Eval(critical)“ für die Zeilen verwendet?Ich habe dies anhand eines einfachen Graph Builder-Beispiels getestet und es schien für mich zu funktionieren.Probleme können auftreten, wenn App Builder die JSL erneut speichern muss, damit die Plattform Änderungen erfassen kann. Dies geschieht im Allgemeinen nur, wenn Sie eine <
Ein weiteres Problem, auf das beim Bearbeiten der JSL hinter einer JMP-Anwendung hingewiesen werden muss, ist das Verhalten beim Bearbeiten.Wenn Sie eine App im Editor öffnen, werden keine Skripte/Startdialoge ausgeführt, sodass App Builder die xval- und xval-Parameter erstellen muss, damit die Plattform ordnungsgemäß gestartet wird.Das Gleiche gilt nicht für Änderungen, die über den Editor an der JSL vorgenommen wurden.Wenn Ihre Variablen global definiert sind, startet die Plattform möglicherweise trotzdem wie erwartet, aber es ist möglich, dass Ihre Anpassungen auf diese Weise ebenfalls verloren gehen.
Wenn Sie mir eine Test-App zusenden möchten, schaue ich mir diese gerne an.
-Dan
Betreff: Beispielanwendung „Launcher with Report“ mit einem Diagramm aus Graphbuilder verbinden.Ich habe das Problem behoben, indem ich Ihre Antwort als richtige Antwort markiert und das dann rückgängig gemacht habe.
-Jeff
Betreff: Beispielanwendung „Launcher with Report“ mit einem Diagramm aus Graphbuilder verbinden.überprüft, vermutlich versehentlich beantwortet und kann nicht herausfinden, wie das deaktiviert werden kann.
Kein guter Tag.