jsl でのリンク ID の設定がうまくいかないようです - 何が問題なのですか?JSLでリンクIDを設定しようとしているのですが、JSLで設定するとテーブルにリンクIDが設定されているように見えますが、それを参照するはずの他のテーブルのリンク参照がうまくいきません。
リンク ID を削除し、リンク ID を右クリックして設定すると、すべて正常に動作します。
私はこれを使用します:
dfps:name( "Country" ) << Set Property( "Link ID", 1 );
これの何が問題なのかわかりません。 それを機能させるための更新操作が欠けていますか? 助言がありますか?
スクリプティングRe: jsl でのリンク ID の設定が機能しないようです - 何が問題なのですか?Craige が述べているように、これは「保存」の問題だと思います。 以前にこの問題が発生したことがありますが、イライラすることに、PC でのみ発生していました。 Mac では、保存を実行する必要はありませんでした。
テーブルが最初に保存されていることを確認して、問題を修正しました。
ブレイディ
Re: jsl でのリンク ID の設定が機能しないようです - 何が問題なのですか?私は何か新しいことを発見しました:
私が実行しているJSLスクリプトが保存されておらず、以前に保存されたことがない場合(つまり、ソースコードが新しく開いたスクリプトウィンドウに書き込まれたりコピーされたりした場合)、保存されていない2つのデータテーブルをリンクするのは魅力的です.
保存されている場合、または変更されたばかりで保存されていない既存のスクリプトである場合、機能していません。
Re: jsl でのリンク ID の設定が機能しないようです - 何が問題なのですか?みなさん、こんにちは。
スクリプトを介して2つのテーブルをリンクすることで、まったく同じ問題が発生しました。
まったく同じように動作します@ThomasZatValcon説明された。
クリックして手動で行った後、ログから 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" )
);