在 jsl 中設定連結 ID 似乎不起作用 - 出了什麼問題?我試圖在 JSL 中設置連結 ID,但是在 JSL 中設置它時,連結 ID 似乎在表中設置,但應該引用它的另一個表中的連結引用不起作用。
如果我刪除連結 ID 並透過右鍵單擊連結 ID 進行設置,則一切正常。
我用這個:
dfps:name( "Country" ) << Set Property( "Link ID", 1 );
看不出這有什麼問題。 我是否缺少一些刷新操作以使其正常工作? 有什麼建議麼?
大規模客製化回覆:在 jsl 中設定連結 ID 似乎不起作用 - 出了什麼問題?謝謝曼迪,
有時你不想保存東西。
但感謝您指出這個問題已在 JMP 17 中解決。 我的是16.2。 在大公司中更新到較新的軟體版本並不總是那麼容易,但現在我知道這是值得的。
回覆:在 jsl 中設定連結 ID 似乎不起作用 - 出了什麼問題?感謝您分享這些評論和見解。我們多次鼓勵在創建表的連結 ID 和連結引用之前保存表,以確保正確保存。 然而,我們確實報告了一個缺陷,並在 17.0 JMP 週期中修復了該缺陷。 所以這個腳本行為不再失敗。
安裝新的 JMP 17.0,此行為應該會得到更多改進。謝謝。
回覆:在 jsl 中設定連結 ID 似乎不起作用 - 出了什麼問題?@羅布我剛剛給開發團隊發了一條訊息;我沒有測試過你的理論,但我希望你已經找到了不可預測性的原因。 這是可信賴的,因為當未儲存腳本時,目前目錄會有所不同,且表格可能依賴與之相關的某些內容。
回覆:在 jsl 中設定連結 ID 似乎不起作用 - 出了什麼問題?正如克雷格所提到的,我認為這是一個“保存”問題。 我以前也遇到過這個問題,而且令人沮喪的是,我只在 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" )
);