JMP 12 speichert den Bericht nicht. Erwartet skriptfähigen Objektfehlercode.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo alle,
Ich bin ein neuer JMP-Benutzer und habe mich gerade mit jsl beschäftigt, als ich auf ein Problem stieß.
Zweck: 1) Öffnen Sie eine Datei
2) Lebensverteilung durchführen
3) Klicken Sie auf die entsprechende Schaltfläche für das Format, in das der Benutzer den Verteilungsbericht exportieren möchte.
Problem: Ich kann JMP nicht dazu bringen, den unten von der Life-Distribution generierten Bericht zu speichern.
Das Konzept hinter dieser Übung war einfach, aber ich sehe nicht, warum die letzte Funktion nicht funktioniert oder wie man sie löst.
Gelegentlich bekomme ich den Fehler: Send erwartet skriptfähiges Objekt beim Zugriff oder Auswertung von 'Send'....
=============================================== ========================
//Algorithmus: 1. Öffnen Sie eine vom Benutzer angegebene geeignete Datendatei.
// 2. Importieren Sie die Datei als JMP-Datentabelle.
// 3. Führen Sie die Lebensdauerverteilung für die angegebene Datentabelle durch.
// 4. Erlauben Sie dem Benutzer, die Datei bei Bedarf zu manipulieren.
// 5. Sobald die erforderlichen Änderungen vorgenommen wurden, bieten Sie dem Benutzer die Möglichkeit, den Bericht als gewünschten Dateityp zu speichern
// Der Benutzer wählt die Datei aus, die er öffnen möchte
dt1 = Offen ( ) ;
// Die eingebaute Life Distribution-Plattform wird auf der ausgewählten Datentabelle ausgeführt
LD = Lebensverteilung (
dt1 ,
Y ( 1 ) , //Zeitspalte
Zensieren ( 6 ) , // Spalte „Kumulative Gefährdung“.
Zensurcode ( 1 ) ,
<< Fit Weibull ,
Konfidenzintervallmethode ( Wald ) ,
<< Maßstab festlegen ( Nichtparametrisch ) ,
Intervalltyp ( Gleichzeitig ) ,
Ereignisdiagramm-Häufigkeitsbeschriftung anzeigen ( 0 ) ,
<< Skriptables festlegen (
{ Wahrscheinlichkeitspapier ( Profiler ( 1 , Vertrauensintervalle ( 1 ) , Laufzeitwert ( Spalte 1 ( 80.85 , Sperren ( 0 ) , Zeigen ( 1 ) ) ) ) ) ,
Weibull-Verteilung ( Profiler ( 1 , Vertrauensintervalle ( 1 ) , Laufzeitwert ( Spalte 1 ( 80.85 , Sperren ( 0 ) , Zeigen ( 1 ) ) ) ) ) ,
Weibull-Quantil ( Profiler ( 1 , Vertrauensintervalle ( 1 ) , Laufzeitwert ( Wahrscheinlichkeit ( 0,5 , Sperren ( 0 ) , Zeigen ( 1 ) ) ) ) ) ,
Weibull Hazard ( Profiler ( 1 , Vertrauensintervalle ( 1 ) , Laufzeitwert ( Spalte 1 ( 80.85 , Sperren ( 0 ) , Zeigen ( 1 ) ) ) ) ) ,
Weibull-Dichte ( Profiler ( 1 , Laufzeitwert ( Spalte 1 ( 80.85 , Sperren ( 0 ) , Zeigen ( 1 ) ) ) ) ) , Benutzerdefinierte Schätzung ( Weibull , 0 )}
) ,
Versenden ( { "Verteilungen vergleichen" } , "Lebensverteilung" , FrameBox , { Gitterlinienreihenfolge ( 2 ) , Reihenfolge der Referenzlinie ( 3 )} ) ,
Versenden ( { "Statistiken" , "Modellvergleiche" } , "" , TableBox , { Nach Spalte sortieren ( 2 , 1 )} )
);
LD << beim Schließen(
w1 = Neues Fenster( "Berichtsexport",
Text Box("Möchten Sie diesen Bericht in einem anderen Format exportieren? \!n (Hinweis: Es gibt Einschränkungen hinsichtlich der Arten von Dateiformaten, \!n die dieser Bericht exportiert werden kann. ) \!n"),
Schaltflächenfeld ("Ja",
w2 = Neues Fenster( "Bericht exportieren",
Button Box( "Word", LD << MSword speichern("$DESKTOP\my_file.doc")),
Button Box( "Power Point", LD << Präsentation speichern("$DESKTOP\my_file.pptx")),
Schaltflächenfeld ("Schließen", << Fenster schließen())
),
Anzeigen(w2);
w1 << Fenster schließen();
),
Schaltflächenfeld ("Nein",
w1 << Fenster schließen()
),
);
Betreff: JMP 12 speichert den Bericht nicht. Erwartet skriptfähigen Objektfehlercode.Groß! Es klappt. Danke Jim.
Als letztes möchte ich mit diesem Datenfilter die ersten 10 Modelle per Skript auswählen.
Beispiel 1: In diesem Beispiel wählt der Datenfilter Daten aus und schließt Daten ein, die sich auf die angegebenen Modell-IDs beziehen.
dt1 << Datenfilter (
Ort ( { 1000 , 50 } ) ,
Modus ( Zeigen ( 1 ) , Enthalten ( 1 ) ) ,
Säulen ( : Artikel ) ,
Wo ( : Artikel == {"Modell-ID 1", "Modell-ID 2", "Modell-ID 3", "Modell-ID (n)"} ) ,
Anzeige ( : Artikel , Größe ( 204 , 140 ) , Listenanzeige )
) ;
//Ich möchte etwas Ähnliches tun, aber ohne die genauen Modell-IDs angeben zu müssen. Ich möchte sagen, dass die Daten der ersten (n) Modell-ID's enthalten sind.
Beispiel 2: Einer meiner vielen experimentellen Versuche.
Modelle = Verkohlen ( Aktuelle Datentabelle () << wählen wo ( auswerten ( Artikel [] < 3 ))) ; //Wählen Sie die ersten drei eindeutigen Modell-IDs aus und zeichnen Sie sie
dt1 << Datenfilter (
Ort ( { 1000 , 50 } ) ,
Modus ( Zeigen ( 1 ) , Enthalten ( 1 ) ) ,
Säulen ( : Artikel ) ,
Wo ( : Artikel == Modelle ) ,
Anzeige ( : Artikel , Größe ( 204 , 140 ) , Listenanzeige )
) ;
Bitte teilen Sie mir mit, wenn Sie Vorschläge haben.
Betreff: JMP 12 speichert den Bericht nicht. Erwartet skriptfähigen Objektfehlercode.Da Sie Ihr eigenes Ausgabefenster mit Ihren eigenen Spezifikationen innerhalb des Fensters generieren, müssen Sie die gesamte Steuerung für das Fenster übernehmen und erkennen, wenn Sie etwas im Datenfilter ändern.Das bedeutet also, dass Sie Ihrem Code Folgendes hinzufügen müssen:
rs = dt<
und um eine Funktion "f" hinzuzufügen, die die Komponenten in Ihrem Anzeigefenster neu erstellt, wenn sie die Änderung erkennt.
Normalerweise richte ich in meinen Anzeigefenstern eine Vorlage ein, die V-Listenfelder und H-Listenfelder enthält, aus denen ich Komponenten anfüge/lösche.Wenn also eine Zeilenstatusänderung erkannt wird, lösche ich die erforderlichen Elemente aus dem Anzeigefenster, erstelle sie hinter den Kulissen neu und füge sie dann wieder an das Anzeigefenster an.
Betreff: JMP 12 speichert den Bericht nicht. Erwartet skriptfähigen Objektfehlercode.Zwei Dinge passieren, wenn ich das versuche.
(1) Die Panel-Box verschwindet
(2) Der Datenfilter nimmt keine sichtbaren Änderungen am Diagramm vor.

(Bild 1)

(Bild 2)
In Bild eins wird kein Datenfilter angewendet. Wenn der Datenfilter angewendet wird (Bild 2), verschwinden die Optionen zum Speichern unter. Ich habe versucht, den Datenfilter zu verwenden, um ein bestimmtes Modell oder eine bestimmte Gruppe von Modellen auszuwählen, die bei Auswahl angezeigt werden sollen. Gibt es Optionen, die mir bei der Verwendung von JMP 12 mehr Kontrolle geben? Ich verstehe, dass die Version (JMP 12.2), die ich habe, möglicherweise eingeschränkt ist.
Vielen Dank für all eure Hilfe bisher!
Betreff: JMP 12 speichert den Bericht nicht. Erwartet skriptfähigen Objektfehlercode.Ein Datenfilter wird auf die Datentabelle angewendet, nicht auf die Plattform.Was in der Life Distribution Platform passieren muss, ist, dass Sie die Option Automatische Neuberechnung aktivieren müssen, damit die Plattform die Plattform neu berechnet, wenn die Plattform eine Änderung in der Datentabelle erkennt (dh Sie haben etwas im Datenfilter geändert). Anzeige.

Sobald Sie Ihren Datenfilter definiert haben, können Sie ihn anfordern, um Ihnen das Skript zu geben, das ihn neu erstellt.

Jetzt können Sie auch einen lokalen Datenfilter verwenden.

Wenn Sie in diesem Fall die Plattform auffordern, das Skript zu generieren, das die von Ihnen eingerichtete Lebensverteilung reproduziert, enthält sie den Code für den lokalen Datenfilter

Betreff: JMP 12 speichert den Bericht nicht. Erwartet skriptfähigen Objektfehlercode.Ich danke dir sehr! es hat perfekt funktioniert!
Ich war mir nicht sicher, ob JMP die Implementierung von Datenfiltern auf seiner Life-Distribution-Plattform zulassen würde. Ich suche derzeit nach einer Skriptoption, aber ich hatte kein Glück. Könntest du mich vielleicht in die richtige Richtung weisen?
Datenfilter: Der Datenfilter
Ich schaue gerade durch den Scripting Guide: Skriptleitfaden
zusammen mit dem Syntax-Referenzhandbuch: JSL-Syntaxreferenz
Betreff: JMP 12 speichert den Bericht nicht. Erwartet skriptfähigen Objektfehlercode.Unten sind zwei Versionen Ihres Skripts.Das erste funktioniert so, wie Sie es entworfen haben, während das zweite so ist, wie ich solche Dinge am liebsten mache, indem ich die Speicheranforderungen direkt in die Ausgabe der Lebensverteilung einbette.
//Algorithmus: 1. Öffnen Sie eine vom Benutzer angegebene geeignete Datendatei.
// 2. Importieren Sie die Datei als JMP-Datentabelle.
// 3. Führen Sie die Lebensdauerverteilung für die angegebene Datentabelle durch.
// 4. Erlauben Sie dem Benutzer, die Datei bei Bedarf zu manipulieren.
// 5. Sobald die erforderlichen Änderungen vorgenommen wurden, bieten Sie dem Benutzer die Möglichkeit, den Bericht als gewünschten Dateityp zu speichern
// Der Benutzer wählt die Datei aus, die er öffnen möchte
dt1 = Offen () ;
// Die eingebaute Life Distribution-Plattform wird auf der ausgewählten Datentabelle ausgeführt
LD = dt1 << Lebensverteilung (
Y( Spalte ( 1 ) ) , //Zeitspalte
Zensieren( Spalte ( 6 ) ) , // Spalte „Kumulative Gefährdung“.
Zensurcode ( 1 ) ,
<
Konfidenzintervallmethode (Wald) ,
< ( Nicht parametrisch ) ,
Intervalltyp (gleichzeitig) ,
Ereignisdiagramm-Häufigkeitsetikett anzeigen ( 0 ) ,
< (
{Wahrscheinlichkeitspapier( Profiler( 1 , Vertrauensintervalle( 1 ) , Laufzeit Wert( Spalte 1( 80.85 , Sperren( 0 ) , Zeigen ( 1 ) ) ) ) ) ,
Weibull-Verteilung (Profiler( 1 , Vertrauensintervalle( 1 ) , Laufzeit Wert( Spalte 1( 80.85 , Sperren( 0 ) , Zeigen ( 1 ) ) ) ) ) ,
Weibull-Quantil (Profiler( 1 , Vertrauensintervalle( 1 ) , Term Wert( Wahrscheinlichkeit( 0,5 , Sperren( 0 ) , Zeigen ( 1 ) ) ) ) ) ,
Weibull Hazard( Profiler( 1 , Vertrauensintervalle( 1 ) , Laufzeit Wert( Spalte 1( 80.85 , Sperren( 0 ) , Zeigen ( 1 ) ) ) ) ) ,
Weibull-Dichte (Profiler( 1 , Laufzeit Wert( Spalte 1( 80.85 , Sperren( 0 ) , Zeigen ( 1 ) ) ) ) ) , Benutzerdefinierte Schätzung (Weibull , 0 )}
) ,
Versenden( { "Verteilungen vergleichen" } , "Lebensverteilung" , FrameBox , {Gitterlinienreihenfolge( 2 ) , Referenzzeilenreihenfolge ( 3 )} ) ,
Versenden( { "Statistiken" , "Modellvergleiche" } , "" , TableBox , {Nach Spalte sortieren ( 2 , 1 )} )
) ;
LD << Auf Schließen (
w1 = Neues Fenster ( "Berichtsexport" ,
Textfeld (
"Möchten Sie diesen Bericht in einem anderen Format exportieren? \!n (Hinweis: Es gibt Einschränkungen hinsichtlich der Arten von Dateiformaten, \!n die dieser Bericht exportiert werden kann. ) \!n"
) ,
Button-Box ( "Ja" , w1 << Fenster schließen () ;
w2 = Neues Fenster ( "Liste exportieren" ,
Button-Box ( "Wort" , Bericht (LD) << MSword speichern ( "$DESKTOP\meine_datei.doc" ) ) ,
Button-Box ( "Power Point" , Bericht (LD) << Präsentation speichern ( "$DESKTOP\meine_datei.pptx" ) ) ,
Button-Box ( "Nah dran" , < () )
)
) ,
Button-Box ( "Nein" , w1 << Fenster schließen () ) ,
)
) ;
Zweites Skript:
//Algorithmus: 1. Öffnen Sie eine vom Benutzer angegebene geeignete Datendatei.
// 2. Importieren Sie die Datei als JMP-Datentabelle.
// 3. Führen Sie die Lebensdauerverteilung für die angegebene Datentabelle durch.
// 4. Erlauben Sie dem Benutzer, die Datei bei Bedarf zu manipulieren.
// 5. Sobald die erforderlichen Änderungen vorgenommen wurden, bieten Sie dem Benutzer die Möglichkeit, den Bericht als gewünschten Dateityp zu speichern
// Der Benutzer wählt die Datei aus, die er öffnen möchte
dt1 = Offen () ;
// Die eingebaute Life Distribution-Plattform wird auf der ausgewählten Datentabelle ausgeführt
LD = dt1 << Lebensverteilung (
Y( Spalte ( 1 ) ) , //Zeitspalte
Zensieren( Spalte ( 6 ) ) , // Spalte „Kumulative Gefährdung“.
Zensurcode ( 1 ) ,
<
Konfidenzintervallmethode (Wald) ,
< ( Nicht parametrisch ) ,
Intervalltyp (gleichzeitig) ,
Ereignisdiagramm-Häufigkeitsetikett anzeigen ( 0 ) ,
< (
{Wahrscheinlichkeitspapier( Profiler( 1 , Vertrauensintervalle( 1 ) , Laufzeit Wert( Spalte 1( 80.85 , Sperren( 0 ) , Zeigen ( 1 ) ) ) ) ) ,
Weibull-Verteilung (Profiler( 1 , Vertrauensintervalle( 1 ) , Laufzeit Wert( Spalte 1( 80.85 , Sperren( 0 ) , Zeigen ( 1 ) ) ) ) ) ,
Weibull-Quantil (Profiler( 1 , Vertrauensintervalle( 1 ) , Term Wert( Wahrscheinlichkeit( 0,5 , Sperren( 0 ) , Zeigen ( 1 ) ) ) ) ) ,
Weibull Hazard( Profiler( 1 , Vertrauensintervalle( 1 ) , Laufzeit Wert( Spalte 1( 80.85 , Sperren( 0 ) , Zeigen ( 1 ) ) ) ) ) ,
Weibull-Dichte (Profiler( 1 , Laufzeit Wert( Spalte 1( 80.85 , Sperren( 0 ) , Zeigen ( 1 ) ) ) ) ) , Benutzerdefinierte Schätzung (Weibull , 0 )}
) ,
Versenden( { "Verteilungen vergleichen" } , "Lebensverteilung" , FrameBox , {Gitterlinienreihenfolge( 2 ) , Referenzzeilenreihenfolge ( 3 )} ) ,
Versenden( { "Statistiken" , "Modellvergleiche" } , "" , TableBox , {Nach Spalte sortieren ( 2 , 1 )} )
) ;
w2 = V Listenfeld (
Button-Box ( "In Word speichern" , Bericht (LD) << MSword speichern ( "$DESKTOP\meine_datei.doc" ) ) ,
Button-Box ( "In PowerPoint speichern" , Bericht (LD) << Präsentation speichern ( "$DESKTOP\meine_datei.pptx" ) ) ,
Button-Box ( "Nah dran" , LD < () )
) ;
Bericht (ld)[ "Lebensverteilung" ] < (w2) ;