在 jsl 中設置鏈接 ID 似乎不起作用 - 怎麼了?我正在嘗試在 JSL 中設置鏈接 ID,但在 JSL 中設置鏈接 ID 時,鏈接 ID 似乎已按應有的方式設置在表中,但其他表中應該引用它的鏈接引用不起作用。
如果我刪除鏈接 ID 並通過右鍵單擊鏈接 ID 進行設置,一切正常。
我用這個:
dfps:name( "Country" ) << Set Property( "Link ID", 1 );
看不出這有什麼問題。 我是否缺少一些刷新操作以使其正常工作? 有什麼建議麼?
腳本回复:在 jsl 中設置鏈接 ID 似乎不起作用 - 有什麼問題嗎?正如 Craige 提到的,我認為這是一個“保存”問題。 我以前遇到過這個問題,令人沮喪的是,我只在 PC 上遇到過。 在 Mac 上,我不需要執行保存。
確保首先保存了我的表,解決了問題。
布雷迪
回复:在 jsl 中設置鏈接 ID 似乎不起作用 - 有什麼問題嗎?我發現了一些新想法:
如果我正在執行的 JSL 腳本沒有保存並且之前從未保存過(因此如果源代碼被寫入或複製到一個全新打開的腳本窗口中),鏈接兩個未保存的數據表就像一個魅力。
如果它已保存,或者如果它是一個剛剛修改但未保存的現有腳本,則它不起作用。
回复:在 jsl 中設置鏈接 ID 似乎不起作用 - 有什麼問題嗎?大家好你們好,
我在通過腳本鏈接兩個表時遇到了同樣的問題。
它的行為完全一樣@ThomasZatValcon描述。
通過單擊手動完成後,我從日誌中復制了兩行代碼。
然後這取決於它們插入的位置。 如果我將它們插入一個新的腳本窗口,該腳本就可以工作。 如果我將它們插入到我當前正在開發的腳本中(最初從中打開兩個表),它就不起作用。
對這個問題有什麼新的見解嗎?
乾杯
羅伯特
順便提一句。 與此同時,我發現了一個相關的線程。 解決方法是先保存數據表,但這並不總是很方便。
https://community.jmp.com/t5/Discussions/Virtual-Join-via-JSL-does-not-work/td-p/360675
回复:在 jsl 中設置鏈接 ID 似乎不起作用 - 有什麼問題嗎?嘗試在鏈接之前保存表格,看看您的結果是否一致。 我不確定這些鏈接在內部是如何工作的,但這可能取決於可用的文件名。
回复:在 jsl 中設置鏈接 ID 似乎不起作用 - 有什麼問題嗎?這是兩張不同的桌子。 左邊的是帶有 ID 的表,左邊的表是帶有引用的表。
是的,我嘗試了 column(dt...) 和 dt:name()... 引用。
我還嘗試將有效的代碼(當它從單獨的腳本窗口運行時)放入一個單獨的文件中並包含它。 也沒用。 我試圖將它放入 expr() 並對其進行評估。 也沒有幫助。
但是如果我創建一個單獨的腳本窗口並從那裡運行它們,這兩行代碼就可以工作,這是出乎意料的。
回复:在 jsl 中設置鏈接 ID 似乎不起作用 - 有什麼問題嗎?他們應該是一樣的嗎? 因為兩個表的列數不同。
你看過 `dfps` 是對的嗎? 或者嘗試使用 `Column(dt, "Country")`?回复:在 jsl 中設置鏈接 ID 似乎不起作用 - 有什麼問題嗎?仍然沒有弄明白,但我在這裡得到了一些真正奇怪的行為:
在兩個窗口中具有相同的代碼:

當我在左側窗口中運行代碼時,請注意帶有兩個鍵的圖標是灰色的(它不起作用):

當我在右側窗口中運行相同的兩行時,它起作用了:

左側窗口中的代碼是創建 jsl 的位置。 所有代碼都只是在全局命名空間中運行。 我什至嘗試將名稱默認設置為 here(1) 並得到相同的行為,這讓我感到驚訝,因為我預計無法從另一個腳本窗口引用表變量。
回复:在 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>
回复:在 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" )
);