Unbekannte Nachricht erscheint im gültigen JSL-CodeKürzlich ist mir aufgefallen, dass JSL eine unbekannte Meldung für gültigen Code meldet. Unten ist das neueste Beispiel (unbekannte Nachrichten hervorgehoben):
Names Default to Here(1);
Delete Symbols();
databaseFile = Pick File(
"Select Music Collection File",
"$DOCUMENTS",
{"Music Collection|csv"},
1,
0
);
albumTable = Open(databaseFile);
albumTable << <FONT color="#FF0000">Delete Rows</FONT>(N Rows());
:Name("Artist/Album") << Set Name("Title");
:Single 2 << Set Name("CD Single");
:LP << Value Labels({0 = "False", 1 = "True"});
:EP << Value Labels({0 = "False", 1 = "True"});
:Single << Value Labels({0 = "False", 1 = "True"});
:Album << Value Labels({0 = "False", 1 = "True"});
:CD Single << Value Labels({0 = "False", 1 = "True"});
:Want << Value Labels({0 = "False", 1 = "True"});
albumTable << <FONT color="#FF0000">New Column</FONT>(
"Artist Block",
Character,
Formula(If(:Format == "", :Title))
);
albumTable << <FONT color="#FF0000">New Column</FONT>(
"Artist",
Character,
Formula(
If(Row() != 1,
If(:Artist Block == "",
Lag(:Artist, 1),
:Artist Block
),
:Artist Block
)
)
);
albumTable << <FONT color="#FF0000">Move Selected Columns</FONT>({"Artist"}, To First);
tableName = albumTable << <FONT color="#FF0000">Get Name</FONT>();
artistCategoryTable = albumTable << <FONT color="#FF0000">Subset</FONT>(
Output Table("Artist Category " || tableName),
Copy Formula(0),
All Rows,
Selected Columns Only(0)
);
Close(albumTable, NoSave);
artistRowFilter = artistCategoryTable << <FONT color="#FF0000">Data Filter</FONT>(
Mode(Include(1)),
Inverse(1),
Add Filter(
Columns(:Artist Block),
Where(:Artist Block == "")
),
Invisible
);
artistCategoryTable << <FONT color="#FF0000">Delete Rows</FONT>;
artistCategoryTable << <FONT color="#FF0000">Delete Columns</FONT>(:Artist Block);
artistRowFilter << <FONT color="#FF0000">Clear</FONT>;
artistRowFilter << <FONT color="#FF0000">Delete</FONT>;Wie bei anderen Skripten, bei denen ich diese Farbcodierung gesehen habe, läuft dieses Skript ohne Probleme. Irgendwelche Ideen, warum gültige JSL-Nachrichten als unbekannt gekennzeichnet werden?
SkripterstellungBetreff: Unbekannte Nachricht erscheint im gültigen JSL-CodeIch liebe es „Nachrichten zu unbekannten Objekten färben“ aktiviert:

Dann kann ich schnell überprüfen, ob Objekte initialisiert sind.
aber manchmal werden Nachrichten rot markiert, obwohl sie „bekannt“ sind.
Einige Minuten später korrigiert Jmp den Fehler.
Beispiel: dt ist als Datentabelle bekannt – und einige Minuten später weiß Jmp, dass es senden kann Beginnen Sie mit der Datenaktualisierung zur Datentabelle.
Warum ist Beginnen Sie mit der Datentabelle als unbekannt markiert?

Betreff: Unbekannte Nachricht erscheint im gültigen JSL-CodeDas war es. Ich muss versehentlich „Nachrichten für unbekannte Objekte einfärben“ aktiviert haben, als ich versuchte, ein Dark-Mode-Design zu erstellen.
Betreff: Unbekannte Nachricht erscheint im gültigen JSL-CodeAnscheinend haben Sie die Einstellung „Nachrichten zu unbekannten Objekten färben“ aktiviert. Sie finden diese Einstellung im Gruppenfeld „JSL-Formatierung“ in der Einstellungsgruppe „Skript-Editor“.Vor der Ausführung des Skripts wurde die Variable albumTable nicht zugewiesen, sodass jmp Objektnachrichten nicht aggressiv als unbekannt markiert.Wenn das Skript ausgeführt wird, wird albumTable auf eine Tabelle gesetzt und diese Tabelle wird dann geschlossen.An diesem Punkt kann jmp besser bestimmen, welche Nachrichten gültig sind, und da eine geschlossene Tabelle eine „Zeilen löschen“-Nachricht nicht verarbeiten kann, wird die Nachricht rot gefärbt.Da die Auswertung von Objekten und Nachrichten zeitaufwändig sein kann, überprüft JMP nicht jedes Skript erneut, wenn eine Variable geändert wird. Daher müssen Sie möglicherweise das Skript neu formatieren oder die Zeile mit der Nachricht bearbeiten, um die Farbaktualisierung zu sehen.
Betreff: Unbekannte Nachricht erscheint im gültigen JSL-Code
@Jeff_Perkinson schrieb:
Das ist wirklich seltsam. Das habe ich noch nie gesehen. Welche Version von JMP verwenden Sie?
Dito. Wie ich bereits sagte, hatte ich dieses Problem bis vor ein paar Monaten noch nie. Es ist wirklich seltsam. Ich habe vor einiger Zeit versucht, mit der Erstellung eines Dark-Mode-Designs für JSL zu experimentieren, bin aber letztendlich zu den Standardeinstellungen zurückgekehrt, da ich nicht so gut weiß, womit alle Elemente in der Stilliste in JSL verknüpft sind. Es hilft nicht, dass ich gerade genug über die Farbwissenschaft weiß, um bei der Auswahl von Farben, die komplementär sind, aber auch gut zum Gesamtthema passen, ziemlich verrückt zu sein; Ich habe im Moment einfach nicht so viel Freizeit. :frowning_face:
Ich verwende JMP 14.3. Da ich der JMP-Administrator unseres Unternehmens bin, lege ich großen Wert darauf, die JMP-Benutzer auf dem neuesten Stand zu halten.
Betreff: Unbekannte Nachricht erscheint im gültigen JSL-CodeJetzt verstehe ich, was Sie beschreiben. Das Bild hilft zu verdeutlichen, dass die Farbcodierung im Skripteditor die gültigen Nachrichten nicht richtig einfärbt. Stattdessen werden sie rot gefärbt, wie es die Standardeinstellungen vorschreiben Nachrichten unbekannt .

Das ist wirklich seltsam. Das habe ich noch nie gesehen. Welche Version von JMP verwenden Sie?
Betreff: Unbekannte Nachricht erscheint im gültigen JSL-Code
@Craige_Hales schrieb:
Auch: Unbekannt ist eine knappe Fehlermeldung, die JMP verwendet, wenn etwas passiert, auf das JMP nicht vorbereitet war. Sie können die JSL-Anweisung einzeln ausführen und dabei das Protokoll beobachten, um das Problem einzugrenzen. JMP versucht, Fehler zu diagnostizieren, wenn die JSL analysiert und ausgeführt wird. Wenn JMP einen Fehler erkennt, ohne den Fehler einzuplanen, kann JMP nur Folgendes sagen: Unbekannt .
Wenn Sie ein eigenständiges Beispiel veröffentlichen können, hat JMP möglicherweise eine bessere Nachricht für die nächste Person, die es findet.Wenn Sie das Beispiel an den technischen Support senden, stellen Sie sicher, dass es nachverfolgt wird.
Das Problem wird möglicherweise offensichtlicher, wenn die Problemzeile bekannt ist und Sie die Werte in den Variablen untersuchen (im Protokoll ausdrucken) können. Es könnte sich um einen fehlenden Wert oder fehlende Zeichendaten handeln, bei denen numerische Daten benötigt werden, es könnte sich um zwei vertauschte Parameter eines Funktionsaufrufs handeln, oder um die Verwendung einer zu großen oder zu kleinen Tabellenzeile oder um etwas anderes. All dies sollte eine bessere Botschaft haben als Unbekannt .
Wenn mir nicht entgeht, was Sie weiterzuleiten versuchen, scheint es, als ob Sie sich auf ein Meldungsfenster oder einen vom Debugger gemeldeten Fehler beziehen. Die Flags, die ich bekomme, sind im Code. Basierend auf der Standardfarbcodierung für JSL sind die Schlüsselwörter in Rot entweder Fehler oder unbekannte Meldungen. Da ich beim Speichern des Skripts keine Fehlermeldung erhalte und es ohne Probleme ausgeführt wird, besteht die einzige Möglichkeit darin, dass es sich bei den rot markierten Schlüsselwörtern um unbekannte Nachrichten handelt.
Betreff: Unbekannte Nachricht erscheint im gültigen JSL-CodeDie Hervorhebung erfolgt nicht, wenn Code zu einem Beitrag mit einem JSL-Tag hinzugefügt wird. Hier ist daher ein Screenshot des Codes mit den Flags.

Wie ich in meinem ursprünglichen Beitrag angegeben habe, funktioniert das Skript zwar wie beabsichtigt, aber die Tatsache, dass in vielen Zeilen Wörter reserviert sind, die als „Unbekannte Nachricht“ gekennzeichnet sind, lässt mich vermuten, dass es ein anderes zugrunde liegendes Problem gibt. Ich verwende JSL seit einigen Jahren und erst seit ein paar Monaten erhalte ich diese unbekannten Meldungsflags. Wenn ich jetzt darüber nachdenke, begann das wahrscheinlich nach dem Update meiner JMP-Installation auf 14.3.
gzmorgan0 schrieb:
albumTable << Delete Rows(N Rows()); Was ist der Zweck dieser JSL?
Diese Codezeile löscht die letzte Zeile in der Datentabelle, die keine Albumdaten sind.
gzmorgan0 schrieb:
Der gesamte Code, der den Datenfilter verwendet, ist verwirrend. Einfach verwenden
artistCategoryTable <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN><SPAN class="token messages"> select where</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation">:</SPAN>Artist<SPAN class="token operator">==</SPAN><SPAN class="token string">""</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
artistCategoryTable <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN><SPAN class="token messages"> delete rows</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
Der Filtercode, den ich im Skript habe, wurde von JMP generiert, als ich den Prozess manuell durchlief. Obwohl ich JSL seit etwa fünf Jahren verwende, bin ich keineswegs ein Experte, da meine Arbeitsbelastung so groß ist, dass ich kaum Zeit habe, etwas Neues zu lernen, geschweige denn, es zu beherrschen, sodass ich selten ein Skript komplett von Grund auf erstelle . Hinzu kommt die Tatsache, dass ich jetzt R lernen muss, weil einer unserer Kunden R verwendet und darauf besteht, dass wir dasselbe tun.
Betreff: Unbekannte Nachricht erscheint im gültigen JSL-CodeBearbeiten: Ignorieren Sie diese Antwort nach der zusätzlichen Erklärung unten ... Danke, Jeff!
Auch: Unbekannt ist eine knappe Fehlermeldung, die JMP verwendet, wenn etwas passiert, auf das JMP nicht vorbereitet war. Sie können die JSL-Anweisung einzeln ausführen und dabei das Protokoll beobachten, um das Problem einzugrenzen. JMP versucht, Fehler zu diagnostizieren, wenn die JSL analysiert und ausgeführt wird. Wenn JMP einen Fehler erkennt, ohne den Fehler einzuplanen, kann JMP nur Folgendes sagen: Unbekannt .
Wenn Sie ein eigenständiges Beispiel veröffentlichen können, hat JMP möglicherweise eine bessere Nachricht für die nächste Person, die es findet.Wenn Sie das Beispiel an den technischen Support senden, stellen Sie sicher, dass es nachverfolgt wird.
Das Problem wird möglicherweise offensichtlicher, wenn die Problemzeile bekannt ist und Sie die Werte in den Variablen untersuchen (im Protokoll ausdrucken) können. Es könnte sich um einen fehlenden Wert oder fehlende Zeichendaten handeln, bei denen numerische Daten benötigt werden, es könnte sich um zwei vertauschte Parameter eines Funktionsaufrufs handeln, oder um die Verwendung einer zu großen oder zu kleinen Tabellenzeile oder um etwas anderes. All dies sollte eine bessere Botschaft haben als Unbekannt .
@EvanMcCorkle @Audrey_Shull
Betreff: Unbekannte Nachricht erscheint im gültigen JSL-Code@mdawson69 ,
Welche JSL-Zeilen werden hervorgehoben? Es gibt mehrere JSL-Zeilen, die verwirrend sind:
Ohne weitere Einzelheiten verstehe ich Ihre Probleme nicht.