Re : Message inconnu apparaissant dans un code JSL validej'adore avoir « Colorer les messages d'objets inconnus » activé :

Ensuite, je peux rapidement vérifier si les objets sont initialisés.
mais parfois, les messages sont marqués en rouge, bien qu'ils soient "connus".
Quelques minutes plus tard, Jmp corrige l'erreur.
exemple : dt est connu comme une table de données - et quelques minutes plus tard, Jmp saura qu'il peut envoyer Commencer la mise à jour des données au tableau de données.
Pourquoi est-ce Commencer le tableau de données marqué comme inconnu ?

Re : Message inconnu apparaissant dans un code JSL valideC'était ça. J'ai dû activer par inadvertance "Messages d'objets inconnus en couleur" lorsque j'essayais de créer un thème en mode sombre.
Re : Message inconnu apparaissant dans un code JSL valideIl semble que la préférence "Couleur des messages d'objets inconnus" soit activée. Vous pouvez trouver ce paramètre dans la zone de groupe "Formatage JSL" du groupe de préférences de l'éditeur de script.Avant d'exécuter le script, la variable albumTable n'a pas été affectée, jmp n'est donc pas agressif pour marquer les messages d'objet comme inconnus.Lorsque le script est exécuté, albumTable est égal à une table, puis cette table est fermée.À ce stade, jmp peut mieux déterminer quels messages sont valides et comme une table fermée ne peut pas gérer un message "supprimer des lignes", le message sera alors coloré en rouge.Étant donné que l'évaluation des objets et des messages peut prendre du temps, JMP ne revérifie pas chaque script chaque fois qu'une variable est modifiée. Vous devrez peut-être reformater le script ou modifier la ligne contenant le message pour voir la mise à jour des couleurs.
Re : Message inconnu apparaissant dans un code JSL valide
@Jeff_Perkinson écrit:
C'est vraiment étrange. Je n'ai jamais vu ça auparavant. Quelle version de JMP utilisez-vous ?
Idem. Comme je l'ai dit, je n'ai jamais eu ce problème jusqu'à il y a quelques mois. C'est vraiment bizarre. J'ai essayé d'expérimenter la création d'un thème en mode sombre pour JSL il y a quelque temps, mais je suis finalement revenu aux paramètres par défaut, car je ne connais pas aussi bien ce à quoi tous les éléments de la liste de styles sont associés dans JSL. Cela n'aide pas que j'en sache juste assez sur la science des couleurs pour être tout à fait ** bip ** sur la sélection de couleurs complémentaires, mais également bien adaptées au thème général ; Je n'ai juste pas beaucoup de temps libre en ce moment. :visage_froncer les sourcils:
J'utilise JMP 14.3. Comme je suis l'administrateur JMP de notre entreprise, je mets un point d'honneur à tenir les utilisateurs JMP à jour.
Re : Message inconnu apparaissant dans un code JSL valideMaintenant je comprends ce que tu décris. L'image aide à expliquer que le codage couleur dans l'éditeur de script ne colore pas correctement les messages valides. Au lieu de cela, il les colore en rouge car les préférences par défaut proscrivent pour Messages inconnus .

C'est vraiment étrange. Je n'ai jamais vu ça auparavant. Quelle version de JMP utilisez-vous ?
Re : Message inconnu apparaissant dans un code JSL valide
@Craige_Hales écrit:
Aussi: inconnu est un message d'erreur concis que JMP utilise lorsqu'il se produit quelque chose auquel JMP n'était pas préparé. Vous pouvez exécuter le JSL une instruction à la fois, en regardant le journal, pour isoler le problème. JMP tente de diagnostiquer les erreurs lorsque la JSL est analysée et exécutée ; si JMP détecte une erreur sans planifier l'erreur, tout ce que JMP peut dire est inconnu .
Si vous pouvez publier un exemple autonome, JMP pourrait avoir un meilleur message pour la prochaine personne qui le trouvera.L'envoi de l'exemple au support technique assurera son suivi.
Le problème peut être plus évident une fois que la ligne du problème est connue et que vous pouvez étudier les valeurs des variables (les imprimer dans le journal). Il peut s'agir d'une valeur manquante ou de données de caractères où des données numériques sont nécessaires, ou il peut s'agir de deux paramètres d'un appel de fonction échangés, ou en utilisant une ligne de tableau trop grande ou trop petite, ou autre chose. Tous ces éléments devraient avoir un meilleur message que inconnu .
Si je ne manque pas ce que vous essayez de relayer, il semble que vous fassiez référence à une fenêtre de message ou à une erreur signalée par le débogueur. Les drapeaux que je reçois sont dans le code. Sur la base du code couleur par défaut pour JSL, les mots-clés en rouge sont soit des erreurs, soit des messages inconnus. Comme je ne reçois pas de message d'erreur lors de l'enregistrement du script et qu'il s'exécute sans problème, la seule possibilité qui reste est que les mots-clés en rouge soient des messages inconnus.
Re : Message inconnu apparaissant dans un code JSL valideLa surbrillance n'apparaît pas lorsque le code est ajouté à un message avec une balise JSL, voici donc une capture d'écran du code avec les drapeaux.

Comme je l'ai indiqué dans mon message d'origine, le script fonctionne comme prévu, mais le fait que de nombreuses lignes aient des mots réservés marqués comme message inconnu me fait penser qu'il existe un autre problème sous-jacent. J'utilise JSL depuis quelques années et ce n'est que depuis quelques mois que je reçois maintenant ces indicateurs de message inconnus. Maintenant que j'y pense, cela a probablement commencé après la mise à jour de mon installation JMP vers 14.3.
gzmorgan0 a écrit :
albumTable << Supprimer les lignes (N lignes ()); Quelle est l'intention de cette JSL ?
Cette ligne de code supprime la dernière ligne de la table de données qui ne correspond pas aux données de l'album.
gzmorgan0 a écrit :
Tout le code utilisant le filtre de données est déroutant. Utilisez simplement
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>
Le code de filtrage que j'ai dans le script a été généré par JMP lorsque je parcourais manuellement le processus. Bien que j'utilise JSL depuis environ 5 ans, je ne suis en aucun cas un expert en raison du fait que ma charge de travail est telle que j'ai peu de temps pour apprendre quelque chose de nouveau et encore moins le maîtriser, donc je génère rarement un script complètement à partir de zéro . Pour couronner le tout, j'ai maintenant besoin d'apprendre R car l'un de nos clients utilise R et insiste pour que nous fassions de même.
Re : Message inconnu apparaissant dans un code JSL valideedit : ignorez cette réponse après une explication supplémentaire ci-dessous... merci Jeff !
Aussi: inconnu est un message d'erreur concis que JMP utilise lorsqu'il se produit quelque chose auquel JMP n'était pas préparé. Vous pouvez exécuter le JSL une instruction à la fois, en regardant le journal, pour isoler le problème. JMP tente de diagnostiquer les erreurs lorsque la JSL est analysée et exécutée ; si JMP détecte une erreur sans planifier l'erreur, tout ce que JMP peut dire est inconnu .
Si vous pouvez publier un exemple autonome, JMP pourrait avoir un meilleur message pour la prochaine personne qui le trouvera.L'envoi de l'exemple au support technique assurera son suivi.
Le problème peut être plus évident une fois que la ligne du problème est connue et que vous pouvez étudier les valeurs des variables (les imprimer dans le journal). Il peut s'agir d'une valeur manquante ou de données de caractères où des données numériques sont nécessaires, ou il peut s'agir de deux paramètres d'un appel de fonction échangés, ou en utilisant une ligne de tableau trop grande ou trop petite, ou autre chose. Tous ces éléments devraient avoir un meilleur message que inconnu .
@EvanMcCorkle @Audrey_Shul
Re : Message inconnu apparaissant dans un code JSL valide@mdawson69 ,
Quelles lignes de JSL sont mises en évidence ? Il y a plusieurs lignes de JSL qui prêtent à confusion :
Sans plus de détails, je ne comprends pas vos problèmes.
Message inconnu apparaissant dans un code JSL valideRécemment, j'ai remarqué que JSL signale un message inconnu pour un code valide. Vous trouverez ci-dessous le dernier exemple (messages inconnus mis en évidence) :
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>;Comme dans d'autres scripts où j'ai vu ce codage couleur, ce script s'exécute sans problème. Des idées sur la raison pour laquelle les messages JSL valides sont signalés comme inconnus ?
Automatisation et script