Brauchen Sie Hilfe. Beim Erstellen einer interaktiven HTML-Datei ist ein Fehler aufgetretenIch schreibe ein Skript, um Dateien in HTML (interaktiv) umzuwandeln, indem ich eine Datenfilterfunktion in Diagramme einfüge, aber beim Aufrufen der Funktion save Interactive HTML() ist beim folgenden Code ein Fehler aufgetreten.
Vielen Dank für Ihre Hilfe.
Die Fehlermeldung finden Sie unten im angehängten Bild.


Hier ist mein Code
Names Default To Here( 1 );
dt = Open( "C:\myJSL\BigClass.csv");
app=New Window( "Shared Local Filter Batman",
Data Filter Context Box(
H List Box(
Current Data Table() <<
Data Filter( Local ),
Platform(
Current Data Table(),
Bivariate( Y( :height ), X( :weight ) )
),
Platform(
Current Data Table(),
Distribution(
Continuous Distribution(
Column( :height ),
Horizontal Layout( 1 ),
Vertical( 0 )
)
)
)
)
)
);
box = app << Run;
Show Properties( box );
Show( box );
/*create HTML */
(box << get windows)[app] << save Interactive HTML( "C:\myJSL\myiHTML.htm" );
/* Open HTML file in Chrome */
Web( "file:///C:/myJSL/myiHTML.htm", Chrome);
InhaltsorganisationDatenexploration und -visualisierungMassenanpassungErgebnisse teilen und kommunizierenBetreff: Brauche Hilfe. Beim Erstellen einer interaktiven HTML-Datei ist ein Fehler aufgetretenHallo John, @John_Powell_JMP Vielen Dank für die Hilfe, herauszufinden, was ich in meinem Code falsch mache. Jetzt funktioniert es gut! und so kann ich den Code für den nächsten Schritt passend zu meinen eigentlichen Aufgaben anpassen.
Wie auch immer, vielen Dank auch für die Ratschläge und ein paar Tipps, die ich befolgen sollte.


Betreff: Brauche Hilfe. Beim Erstellen einer interaktiven HTML-Datei ist ein Fehler aufgetretenHallo @cpbatman ,
Sie haben die Zeilen „Modus“ und „Filter hinzufügen“ zur Funktion „Datenfilter-Kontextfeld“ und nicht zur Funktion „Datenfilter“ hinzugefügt. Sie haben außerdem ein zusätzliches H-Listenfeld hinzugefügt, das das erste dupliziert.
So sollte es mit einigen geringfügigen Dateinamenänderungen aussehen, damit es auf meinem Computer funktioniert:
Names Default To Here(1);
/* using sample data table */
dt = Open("$SAMPLE_DATA/Big Class.jmp"); // C:\myJSL\BigClass.csv");
app = New Window("Shared Local Filter Batman",
Data Filter Context Box(
H List Box(
Current Data Table() << Data Filter(Local,
/** added code to handle data filter **/
Mode( Include( 0 ) ),
Add Filter( columns( :height ), Display( :height, N Items( 6 ) ) )
/** end of added code **/
),
Platform(Current Data Table(), Bivariate(Y(:height), X(:weight))),
Platform(
Current Data Table(),
Distribution(Continuous Distribution(Column(:height), Horizontal Layout(1), Vertical(0)))
)
)
/** removed duplicate H List Box code **
,
H List Box(
Current Data Table() << Data Filter(Local),
Platform(Current Data Table(), Bivariate(Y(:height), X(:weight))),
Platform(
Current Data Table(),
Distribution(Continuous Distribution(Column(:height), Horizontal Layout(1), Vertical(0)))
)
)
** end of removed code **/
)
);
/* exported file location changed */
app << save Interactive HTML("$DOWNLOADS\myiHTML.htm");
Web("$DOWNLOADS/myiHTML.htm", Chrome); // open with default browser
Da Sie neu im Bereich JSL-Scripting sind, finden Sie hier ein paar hilfreiche Tipps:
1. Klicken Sie mit der rechten Maustaste in den JSL-Editor und wählen Sie „Zeilennummern anzeigen“, um die im eingebetteten Protokoll (siehe Skript unten) genannten Zeilen zu finden.
2. Um herauszufinden, welche Parameter Sie an eine Funktion übergeben können, bewegen Sie den Mauszeiger über den Funktionsnamen und ein Tipp sollte sie anzeigen. Um weitere Informationen zur Funktion zu erhalten, klicken Sie mit der rechten Maustaste auf die Funktion und wählen Sie „Help Scripting Index“.
~John
Betreff: Brauche Hilfe. Beim Erstellen einer interaktiven HTML-Datei ist ein Fehler aufgetretenHallo John, @John_Powell_JMP , vielen Dank, dass Sie meine nächste Ausgabe vorhergesagt haben, dass ich sie sehen werde.
Jetzt habe ich das Problem, das du mir erzählt hast, hahha ^^"
Wie auch immer, ich versuche, den von Ihnen vorgeschlagenen Code hinzuzufügen (in der Kommentarzone wurde Code zur Handhabung des Datenfilters hinzugefügt ), aber ich habe eine Fehlermeldung wie im angehängten Bild erhalten. Könnten Sie uns bitte helfen? Entschuldigung für meine Unterbrechung, ich bin ziemlich neu für JSL.
Names Default To Here(1);
dt = Open("C:\myJSL\BigClass.csv");
app = New Window("Shared Local Filter Batman",
Data Filter Context Box(
<FONT color="#FF0000">/** Code zur Handhabung des Datenfilters hinzugefügt **/ Local, Mode( Include( 0 ) ), Add Filter( columns( :height ), Display( :height, N Items( 6 ) ) ); /** Ende des hinzugefügten Codes **/</FONT>
H List Box(
Current Data Table() << Data Filter(Local),
Platform(Current Data Table(), Bivariate(Y(:height), X(:weight))),
Platform(
Current Data Table(),
Distribution(Continuous Distribution(Column(:height), Horizontal Layout(1), Vertical(0)))
)
),
H List Box(
Current Data Table() << Data Filter(Local),
Platform(Current Data Table(), Bivariate(Y(:height), X(:weight))),
Platform(
Current Data Table(),
Distribution(Continuous Distribution(Column(:height), Horizontal Layout(1), Vertical(0)))
)
)
)
);
app << save Interactive HTML("C:\myJSL\myiHTML.htm");
Web("file:///C:/myJSL/myiHTML.htm", Chrome); // open with default browserHier ist meine Fehlermeldung.

Betreff: Brauche Hilfe. Beim Erstellen einer interaktiven HTML-Datei ist ein Fehler aufgetretenVielen Dank @jthi
Es funktioniert gut, nachdem ich getan habe, was Sie vorgeschlagen haben.

Betreff: Brauche Hilfe. Beim Erstellen einer interaktiven HTML-Datei ist ein Fehler aufgetretenHallo @cpbatman ,
Mir ist aufgefallen, dass der lokale Datenfilter in Ihrem Skript keine zu filternde Spalte definiert.
Mir ist auch aufgefallen, dass Sie im lokalen Datenfilter den Einschlussmodus aktiviert haben.
Der lokale Datenfilter funktioniert in interaktivem HTML nur, wenn vor dem Speichern eine Filterspalte hinzugefügt und der Einschlussmodus deaktiviert ist.
Hier ist ein Skriptcode für den lokalen Datenfilter, der den Einschlussmodus deaktiviert und die Altersspalte filtert:
Data Filter(Local,
Mode( Include( 0 ) ),
Add Filter( columns( :age ), Display( :age, N Items( 6 ) ) )
)
Wenn Sie dies mit Jarmos Lösung kombinieren, sollte Ihr Filter in JMP und in interaktivem HTML funktionieren.
Bitte beachten Sie, dass sich das Verhalten bei deaktiviertem Einschlussmodus von dem bei aktiviertem Modus unterscheidet, da der Filter nur Zeilen ein-/ausblendet. Es werden immer alle Zeilen einbezogen. Während die Punkte im bivariaten Diagramm und die Ausreißer im Boxplot auf den Anzeigemodus des lokalen Datenfilters reagieren, ist dies beim Histogramm und Boxplot nicht der Fall.
Beachten Sie, dass beim Veröffentlichen auf JMP Live oder JMP Public, die ebenfalls interaktives HTML verwenden, der Include-Modus nicht deaktiviert werden muss.
Ich hoffe, dass Sie dies nützlich finden.
~John
Betreff: Brauche Hilfe. Beim Erstellen einer interaktiven HTML-Datei ist ein Fehler aufgetretenIch benutze JMP16.
Ich habe leichte Änderungen an Ihrem Skript vorgenommen. Die Box-Variable wird nicht benötigt, wenn „Neues Fenster“ auf diese Weise verwendet wird (nicht sicher, wann sie benötigt wird, Anwendung/Dashboard?) und Sie können die App (neues Fenster) einfach als interaktives HTML speichern.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
app = New Window("Shared Local Filter Batman",
Data Filter Context Box(
H List Box(
Current Data Table() << Data Filter(Local),
Platform(Current Data Table(), Bivariate(Y(:height), X(:weight))),
Platform(
Current Data Table(),
Distribution(Continuous Distribution(Column(:height), Horizontal Layout(1), Vertical(0)))
)
)
)
);
// box = app << Run;
// Show Properties(box);
// Show(box);
/*create HTML */
app << save Interactive HTML("$DOWNLOADS\myiHTML.html");
Web("$DOWNLOADS\myiHTML.html"); // open with default browser