cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Choose Language Hide Translation Bar
View Original Published Thread

「列がありません」というエラーをキャッチし、選択メニューを提供する

☑ クールな新機能
☑ 多くのユーザーに役立つ可能性があります!

☐ 「バグ」を除去する

☐ あれば良い

☐ 誰もそれを必要としない

#myTop10_2022

ユーザーが列の名前を変更すると、テーブル スクリプト内の列への参照は (場合によっては) 自動的に修正されますが、ユーザー スクリプト内の参照は残念ながら修正されません: Column() と As Column() と datable:column と dt:As name("column")

したがって、列名の変更は非常に危険です。以下の例に示すように、変更後に jsl コードが機能しなくなるリスクが常に存在します。

JMP は、noc が存在する列が要求されたことを検出し、エラーをスローします。

undefined

私の願い:
エラーをスローする代わりに、JMP はウィンドウを開いて列名のリストを提供できます。

その後、ユーザーは置換列を選択できます。
また、J SL コードを新しい列名に合わせて自動的に調整するかどうかをユーザーが決定できるようにするトグル ボックスも必要です。

新しい動作は設定メニューで有効/無効にできるため、エラー メッセージに慣れているユーザーは引き続きそれを受け取るかどうかを選択できます。

NamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Big Class.JMP");
Data Table( "Big Class" ):age << Set Name( "age_" );

s = dt << runScript("Distribution"); // column names automatcally adjusted
wait(2);
s = dt << runScript("Set Age Value Labels"); // this script throws an error

より多くの願いが提出されましたundefined

この投稿のオリジナルは 、English (US) で書かれており、ユーザビリティ向上のため自動翻訳機能を使用して表示しています。コメントを投稿すると、オリジナルの言語(English (US))やご指定の言語 でも表示されます。

9 Comments
Sarah-Sylvestre
Staff
Status changed to: Acknowledged

@ほぎ- 提案ありがとう! ご要望を承りましたので、検討させていただきます。

hogi
Level XII

ちょうど見た@Florian_VogtのJMP17紹介プレゼンテーションは、新しいワークフロービルダーキャッチ「列がありません」というエラーが表示され、代わりの列を選択するためのウィンドウが表示されます。
素晴らしい :)

 

より深く掘り下げる:

 

Workflow Builder は、元の列名と置換列の間のリンクを記憶していますが、JSL コードは変更しませんよね?

undefined


a) 交換を一度だけ適用し、将来のために保存しないボタンを追加してください。

b) コードの自動修正を有効にするボタンを追加してください。 (ユーザーに列の置換を求めるウィンドウのオプションとして、または参照マネージャーの機能として)

c)現時点では、置換ルールの存在が実際の列へのリンクを「オーバーライド」します。 おそらく、オプションを追加することは理にかなっています:元の列が欠落している場合にのみ置換ルールを使用しますか?

 

最も重要な
-この機能を標準の JSL コードの実行に対しても有効にしていただけますか?

 

undefined

 

hogi
Level XII

もちろん、想像できるすべてのコード行を自動修正で修正するのは困難です。

 

 

しかし、どうですか:
最初に欠落している列を「呼び出す」すべてのコード行をキャッチし、次にそのような行ごとに、次のようなケースを自動的に修正します。

 

 

:missingcolumn;
column(dt,missingcolumname);
As Column(dt,missingcolumname);

または、自動修正に失敗したコメントを残してください:

 

 

columnname_part1="heig"; 
columnname_part2="ht"; 
Parse( ":" || columnname_part1 || columnname_part1) // auto-correction failed: missing column: ":height", replacement column: ":height_new"

 

 

 

hogi
Level XII
SamGardner
Level VII
Status changed to: Investigating
SamGardner
Level VII

今後も調査を続けてまいります。これは対処するのが少し複雑な問題なので、これに対処する方法を思いつくことができれば、そうするつもりです。  

hogi
Level XII

素晴らしい、いいですね。
あなたの成功を祈っています:)

Sarah-Sylvestre
Staff
Status changed to: Acknowledged
hogi
Level XII

ありがとうございます。JMPがさらに快適になります。