有効な JSL コードに不明なメッセージが表示される最近、JSL が有効なコードに対して不明なメッセージを報告していることに気付きました。 以下は最新の例です (不明なメッセージが強調表示されています)。
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>;この色分けを確認した他のスクリプトと同様、このスクリプトも問題なく実行されます。 有効な JSL メッセージが不明としてフラグが付けられる理由について何か考えはありますか?
スクリプト作成Re: 有効な JSL コードに表示される不明なメッセージ私は持つのが大好きです「色の不明なオブジェクトのメッセージ」が有効になっています:

そうすれば、オブジェクトが初期化されているかどうかをすぐに確認できます。
ただし、「既知」のメッセージであっても、赤色でマークされる場合があります。
数分後、Jmp がエラーを修正します。
例: dt はデータテーブルとして知られています - そして数分後、Jmp はそれが送信できることを知りますデータ更新の開始データテーブルに。
なぜですかデータテーブルの開始不明としてマークされていますか?

Re: 有効な JSL コードに表示される不明なメッセージそれはそれでした。 ダーク モード テーマを作成しようとしたときに、誤って「色の不明なオブジェクト メッセージ」を有効にしてしまったのでしょう。
Re: 有効な JSL コードに表示される不明なメッセージ「色の不明なオブジェクトのメッセージ」設定がオンになっているようです。 この設定は、スクリプト エディター設定グループの「JSL フォーマット」グループ ボックスにあります。スクリプトを実行する前には、albumTable 変数が割り当てられていないため、jmp はオブジェクト メッセージを不明として積極的にマークしません。スクリプトが実行されると、albumTable がテーブルと同じに設定され、そのテーブルが閉じられます。その時点で、jmp はどのメッセージが有効であるかをより適切に判断できるようになり、閉じられたテーブルでは「行の削除」メッセージを処理できないため、メッセージは赤色になります。オブジェクトとメッセージの評価には時間がかかる場合があるため、JMP は変数が変更されるたびにすべてのスクリプトを再チェックするわけではないため、色の更新を確認するにはスクリプトを再フォーマットするか、メッセージを含む行を編集する必要がある場合があります。
Re: 有効な JSL コードに表示される不明なメッセージ
@ジェフ・パーキンソン書きました:
それは本当に奇妙です。 今まで見たことがありません。 実行している JMP のバージョンは何ですか?
同上。 先ほども述べたように、私は数か月前までこの問題に遭遇したことはありませんでした。 それは本当に奇妙です。 少し前に JSL 用のダーク モード テーマを作成して実験しようとしましたが、スタイル リスト内のすべての項目が JSL でどのように関連付けられているかについてはよくわかっていないため、最終的にはデフォルト設定に戻りました。 私が色彩科学について十分な知識を持っているとしても、補色的でありながら全体のテーマによく適合する色の選択についてかなり**悲鳴を上げる**ことは役に立ちません。ただ今はそれほど自由な時間がありません。 :しかめっ面:
JMP14.3を実行しています。 私は当社の JMP 管理者であるため、JMP ユーザーに常に最新の情報を提供するよう努めています。
Re: 有効な JSL コードに表示される不明なメッセージ今、あなたが説明している内容が理解できました。 この図は、スクリプト エディターの色分けが有効なメッセージを正しく色分けしていないことを説明しています。 代わりに、デフォルト設定で禁止されているように、赤く色付けされています。不明なメッセージ。

それは本当に奇妙です。 今まで見たことがありません。 実行している JMP のバージョンは何ですか?
Re: 有効な JSL コードに表示される不明なメッセージ
@Craige_Hales書きました:
また:知らないは、JMP が準備していなかった何かが発生したときに JMP が使用する簡潔なエラー メッセージです。 ログを監視しながら、一度に 1 ステートメントずつ JSL を実行して、問題を切り分けることができます。 JMP は、JSL が解析されて実行されるときにエラーを診断しようとします。 JMP がエラーを計画せずにエラーを検出した場合、JMP が言えることは次のとおりです。知らない。
自己完結型の例を投稿できれば、JMP は次にそれを見つけた人に向けて、より良いメッセージを伝えることができるかもしれません。サンプルをテクニカル サポートに送信すると、確実に追跡されます。
問題の行が分かり、変数の値を調べる (ログに出力する) と、問題がより明らかになる可能性があります。 それは、数値データが必要な場合の欠損値または文字データである可能性があります。あるいは、関数呼び出しの 2 つのパラメーターが交換されているか、大きすぎるまたは小さすぎるテーブル行の使用などの可能性があります。 これらすべてには、以下よりも優れたメッセージが含まれている必要があります。知らない。
あなたが伝えようとしている内容を私が見逃していない場合、メッセージウィンドウまたはデバッガによって報告されたエラーを参照しているように見えます。 取得しているフラグはコード内にあります。 JSL のデフォルトの色分けに基づいて、赤色のキーワードはエラーまたは不明なメッセージのいずれかです。 スクリプトを保存するときにエラー メッセージは表示されず、問題なく実行されるため、唯一の可能性は、赤色のキーワードが不明なメッセージであることです。
Re: 有効な JSL コードに表示される不明なメッセージJSL タグを含むコードを投稿に追加すると強調表示されないため、フラグを含むコードのスクリーンショットを次に示します。

元の投稿で述べたように、スクリプトは意図したとおりに機能しますが、多くの行に不明なメッセージとしてフラグが付けられた予約語が含まれているという事実から、別の根本的な問題があると考えられます。 私は数年間 JSL を使用してきましたが、これらの不明なメッセージ フラグが表示されるようになったのは、ここ数か月のことです。 今考えてみると、これはおそらく JMP インストールを 14.3 に更新した後に始まったものと思われます。
gzmorgan0 さんが書きました:
albumTable << 行を削除(N 行());この JSL の意図は何ですか?
このコード行は、アルバム データではないデータ テーブルの最後の行を削除します。
gzmorgan0 さんが書きました:
データ フィルターを使用するコードはすべて混乱を招きます。 単純に使用する
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>
スクリプト内のフィルタリング コードは、プロセスを手動で実行したときに JMP によって生成されました。 私は JSL を約 5 年間使用していますが、仕事量が多すぎて習得するどころか、新しいことを学ぶ時間もほとんどないため、決して専門家ではないため、完全にゼロからスクリプトを生成することはほとんどありません。 。 さらに、クライアントの 1 人が R を使用しており、私たちも同じようにするよう主張しているため、R を学ぶ必要があるという事実も加わりました。
Re: 有効な JSL コードに表示される不明なメッセージ編集: 以下の追加説明の後はこの返信を無視してください...ありがとう、ジェフ!
また:知らないは、JMP が準備していなかった何かが発生したときに JMP が使用する簡潔なエラー メッセージです。 ログを監視しながら、一度に 1 ステートメントずつ JSL を実行して、問題を切り分けることができます。 JMP は、JSL が解析されて実行されるときにエラーを診断しようとします。 JMP がエラーを計画せずにエラーを検出した場合、JMP が言えることは次のとおりです。知らない。
自己完結型の例を投稿できれば、JMP は次にそれを見つけた人に向けて、より良いメッセージを伝えることができるかもしれません。サンプルをテクニカル サポートに送信すると、確実に追跡されます。
問題の行が分かり、変数の値を調べる (ログに出力する) と、問題がより明らかになる可能性があります。 それは、数値データが必要な場合の欠損値または文字データである可能性があります。あるいは、関数呼び出しの 2 つのパラメーターが交換されているか、大きすぎるまたは小さすぎるテーブル行の使用などの可能性があります。 これらすべてには、以下よりも優れたメッセージが含まれている必要があります。知らない。
@EvanMcorkle @Audrey_Shull
Re: 有効な JSL コードに表示される不明なメッセージ@mdawson69 、
JSL のどの行が強調表示されていますか? JSL には混乱を招く行がいくつかあります。
もっと詳しく説明しないと、あなたの問題が理解できません。