jsl でのリンク ID の設定が機能していないようです。何が問題なのでしょうか?JSLでリンクIDを設定しようとしているのですが、JSLで設定するとテーブルにはリンクIDは正常に設定されているようですが、それを参照するはずの他のテーブルのリンク参照が機能しません。
リンク ID を削除し、リンク ID を右クリックして設定すると、すべて正常に動作します。
私はこれを使います:
dfps:name( "Country" ) << Set Property( "Link ID", 1 );
これの何が問題なのかわかりません。 動作させるための更新操作が不足しているのでしょうか? 助言がありますか?
マスカスタマイゼーションRe: jsl でのリンク ID の設定が機能していないようです。何が問題なのでしょうか?ありがとう、マンディ、
保存したくない場合もあります。
ただし、この問題は JMP 17 で修正されているとご指摘いただきありがとうございます。 私は16.2です。 大企業では新しいソフトウェア バージョンに更新するのは必ずしも簡単ではありませんが、今では努力する価値があることがわかりました。
Re: jsl でのリンク ID の設定が機能していないようです。何が問題なのでしょうか?コメントや洞察を共有していただきありがとうございます。これらのリンク ID とテーブルのリンク参照を作成する前に、正しく保存されることを確認するために、テーブルを保存することが何度も推奨されてきました。 ただし、これに関する欠陥が報告されており、17.0 JMP サイクル中に修正されました。 したがって、このスクリプト動作は失敗しなくなりました。
新しい JMP 17.0 をインストールすると、この動作はさらに改善されるはずです。ありがとう。
Re: jsl でのリンク ID の設定が機能していないようです。何が問題なのでしょうか?@ロブ開発チームにメモを送信したところです。私はあなたの理論をテストしていませんが、予測不可能性の原因が特定されたことを願っています。 スクリプトが保存されていない場合、現在のディレクトリに何か違いがあり、おそらくテーブルがそれに関連する何かに依存しているため、これは信じられます。
Re: jsl でのリンク ID の設定が機能していないようです。何が問題なのでしょうか?クレイジ氏が述べているように、私はそれが「保存」の問題だと考えています。 以前にもこの問題が発生したことがありますが、残念なことに、PC でのみ発生していました。 Mac では、保存を実行する必要はありませんでした。
テーブルが最初に保存されていることを確認すると、問題が解決しました。
ブレイディ
Re: jsl でのリンク ID の設定が機能していないようです。何が問題なのでしょうか?新しいことを発見しました:
実行している JSL スクリプトが保存されておらず、これまで一度も保存されていない場合 (つまり、ソース コードが新しく開かれたスクリプト ウィンドウに書き込まれたかコピーされた場合)、2 つの未保存のデータ テーブルをリンクすると魔法のように機能します。
保存されている場合、または変更されたばかりで保存されていない既存のスクリプトである場合、機能しません。
Re: jsl でのリンク ID の設定が機能していないようです。何が問題なのでしょうか?みなさん、こんにちは。
スクリプトを介して2つのテーブルをリンクする場合にも、まったく同じ問題が発生しました。
それはまさに次のように動作します@TomasZatValcon説明された。
クリックして手動で実行した後、ログから 2 行のコードをコピーしました。
次に、どこに挿入されるかによって異なります。 これらを新しいスクリプト ウィンドウに挿入すると、スクリプトは機能します。 開発中の現在のスクリプト (もともと 2 つのテーブルを開いたスクリプト) にそれらを挿入しても、機能しません。
この問題に関して新たな洞察はありますか?
乾杯
ロバート
ところで。 そんな中、関連スレッドを見つけました。 回避策は、最初にデータテーブルを保存することですが、これは常に便利であるとは限りません。
https://community.jmp.com/t5/Discussions/Virtual-Join-via-JSL-does-not-work/td-p/360675
Re: jsl でのリンク ID の設定が機能していないようです。何が問題なのでしょうか?リンクする前にテーブルを保存して、結果に一貫性があるかどうかを確認してください。 リンクが内部でどのように機能するかはわかりませんが、使用可能なファイル名に依存する可能性があります。
Re: jsl でのリンク ID の設定が機能していないようです。何が問題なのでしょうか?2 つの異なるテーブルです。 左側がID付きのテーブル、左側が参照付きのテーブルです。
はい、column(dt...) と dt:name()... を参照してみました。
また、(別のスクリプト ウィンドウから実行した場合に) 機能するコードを別のファイルに入れてインクルードしようとしました。 どちらも機能しませんでした。 それを expr() に入れて評価しようとしました。 また役に立ちませんでした。
しかし、別のスクリプト ウィンドウを作成してそこから実行すると、2 行のコードは機能しますが、これは予想外です。
Re: jsl でのリンク ID の設定が機能していないようです。何が問題なのでしょうか?それらは同じであるはずですか? 2 つのテーブルの列数が異なるためです。
「dfps」が正しいことがわかりましたか? それとも `Column(dt, " Country")` を使ってみましたか?Re: jsl でのリンク ID の設定が機能していないようです。何が問題なのでしょうか?まだそれを理解していませんが、ここで本当に奇妙な動作が発生しています。
2 つのウィンドウに同じコードがあります。

左側のウィンドウでコードを実行すると、2 つのキーのあるアイコンが灰色になっていることがわかります (機能しません)。

右側のウィンドウで同じ 2 行を実行すると、機能します。

左側のウィンドウのコードは、JSL が作成された場所です。 すべてのコードはグローバル名前空間で実行されるだけです。 デフォルトの here(1) という名前を使用して試してみましたが、別のスクリプト ウィンドウからテーブル変数を参照できないと予想していたので、同じ動作が発生して驚きました。
Re: jsl でのリンク ID の設定が機能していないようです。何が問題なのでしょうか?ありがとう。 何が起こっているかをより正確に表現するためにコードを変更し(テーブルはメモリ内にのみ存在します)、何が起こっているかをより正確に表現し、失敗することを予期しましたが、実際には機能します。 他のコードが失敗する原因はまだわかりませんが、判明したらこのスレッドを更新します。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
// creating a unique ID
dt2 = dt << subset( all rows, all columns );
dt2 << New Column( "_Row", <<SET each="" value=""></SET>
Re: jsl でのリンク ID の設定が機能していないようです。何が問題なのでしょうか?IDの前に参照を設定しているということでしょうか?どうやってそれを行うのかわかりませんが、これは私にとってはうまくいきます。
Names default to here( 1 );
dt = open("$SAMPLE_DATA\Big Class.jmp");
// creating a unique ID
dt << New Column("_Row", << Set Each Value(Row()));
// subsetting just so I have something to link
dt_sub = dt << Subset(
Selected Rows( 0 ),
Rows( [1, 2, 3, 4, 5] ),
columns( :_Row )
);
Column(dt, "_Row") << Set Property( "Link ID", 1 );
Column(dt_sub, "_Row") << Set Property( "Link Reference",
Reference Table( "$SAMPLE_DATA\Big Class.jmp" )
);