アプリケーションの現在のデータテーブル親愛なるコミュニティの皆様
皆さんのご協力と、多くの検索と反復のおかげで、最初の JMP アプリケーションの完成に近づいています。
私はまだいくつかの点で苦労していますが、きっと誰かが簡単な解決策を提案してくれるでしょう
:
- Dialog1 スクリプトの終わりで、ユーザーが選択したデータ テーブルを開きます。
OnNext1 = Function( {},
file_path = FilePath << GetText();
If ( file_path != "",
//IST Text File
dt = Open(
file_path,
Columns(...)
...
);
...
CurrentDataTable( dt );
Dialog2 << CreateInstance( dt );
)- しかし、Dialog2 に到達したときに CurrentDataTable を正しく設定することはできません。
- ファイル パス フィールドに入力して「次へ」を押すと表示されます。
Dialog2 のタイトル = ^APPNAME - ^TABLENAME
テーブル名が表示されないか、または別のプリロードされた DataTable 名が表示されます:( 
- この次の問題は、おそらく前の問題によって修正されるはずです。
- Dialog2 スクリプトの最後で、指定された文字列で始まるすべての列を Dialog2 Col List Box に追加します。
- 現在、問題 1 が原因で、深刻な空のままになっています。
- さらに、次のエラーが発生します。
- Send は、 'Send' のアクセスまたは評価で 22 回のスクリプト可能オブジェクトを期待します、 ColList1 << /*###*/Background Color( 2147483647 ) /*###*/
Send は、 'Send' のアクセスまたは評価で Scriptable Object を 3 回要求します。 ColList1 << /*###*/Set Data Type( "numeric" ) /*###*/
Send は、 'Send' のアクセスまたは評価でスクリプト可能オブジェクトを期待します、 ColList1 << /*###*/Get Items/*###*/
- Dialog2 で何が起こっても、ここで「OK」を押すと、モジュール「Report1」で使用される計算されたカスタム分位値変数に関連する次のエラーが表示されます。
- 無効なマトリックス トークンです。
行 69 列 41: ...les( ( Percent1 /100 ), [►( Percent1 /100 ), ( Perc...
データアクセス品質およびプロセスエンジニアリングRe: アプリケーションの現在のデータテーブルありがとうマーク、
- 「Dialog1」スクリプトの最後をよく見ると、「dt」参照を「Dialog2」に渡しており、コード内で明示的に使用していることがわかります。
- これも、CurrentDataTable コマンドも、「 「Dialog2」タイトルフィールドの「^TABLENAME」グローバル参照。
- 「^APPNAME - ^dt」を試しましたが、「^dt」は生の文字列として表示されます

- 「TABLENAME = dt;」も追加してみました。 "Dialog2" "OnModuleLoad" ですが、Dialog2 ウィンドウ タイトルでは何も変わりません: TABLENAME は空のままです
- 「スクリプト オブジェクト」エラーに対処すると、アプリの起動時にテーブルがまだ開いていないため、「Dialog2」の ColList オブジェクトが明らかに null であることに関連していると思われます。
- これを回避するには、スクリプト内で動的に Col List Box を作成する必要があると思います。
乾杯!
Re: アプリケーションの現在のデータテーブルデータ テーブル参照を変数 (この例では dt) に保持し、列を参照するには常に dt:col (etc) を使用します。 現在のデータ テーブルに依存しないでください。現在のデータ テーブルは、ユーザーがテーブルをクリックしたとき、または新しいウィンドウが開いたときに変更されます。
エラー "送信はスクリプト可能オブジェクトを期待します」という方がうまく説明できるかもしれません。 @Audrey_Shull 。 << 演算子は送信演算子です。 左側はオブジェクト、右側はオブジェクトが処理するメッセージでなければなりません。
myobject << message( ... );
このエラーは、左側がメッセージを受け入れるオブジェクト (スクリプト可能なオブジェクト) ではないことを意味します。 「myobject」はあなたが期待しているものではありません。 試す
show(myobject);
or
show(type(myobject));
何が起こっているのかを知るために。