使用腳本加載數據時排除數據<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />嗨社區,
當我打開一個帶有數據庫的表,並將以下腳本保存到數據表時,它可以工作。 當我將腳本保存到插件中的菜單項時,它只是提取數據而不排除。 這是怎麼回事?
開放數據庫(
“DSN = PI SQL連接實驗室;說明= PI SQL連接實驗室; UID =; Trusted_Connection =是; APP = JMP; WSID = SFX-5GCN2M1; DATABASE = LabData”,
“SELECT * FROM dbo.NSI_Discovered_Factors_Lab_Data”,
“NSI_Discovered_Factors_Lab_Data”
“NSI數據庫”
);
DT = CurrentDataTable();
dt <<選擇Where(排除==“排除”)<< hide <<排除;
Re:使用腳本加載數據時排除數據感謝有關它從腳本編輯器運行但不作為加載項運行的線索。
這通常表示JSL中變量引用的範圍問題。默認情況下,加載項使用“Names Default to Here(1)”選項運行,以便無範圍的引用轉到“Here”命名空間。
您的選擇Where() 它的形式有一個無範圍的變量排除 。
如果你在它之前包含一個:將它擴展到數據表列,它在兩種情況下都適用(腳本編輯器和加載項)。
dt<<Select Where(:Exclude=="Exclude")<<hide<<Exclude;
-Jeff
Re:使用腳本加載數據時排除數據嗨拜倫,
當我將查詢複製並粘貼到一個完全如下的腳本中時:
DT = CurrentDataTable();
dt <<選擇Where(排除==“排除”)<< hide <<排除;
有用。 但是當我將腳本保存到jsl插件時,奇怪的是沒有。 列名稱,大小寫和空格匹配。 對於行也是如此。 它非常奇怪,它在非addin jsl中工作,但在addin中不起作用。 我沒有生成這個jsl形式的數據過濾器。
Re:使用腳本加載數據時排除數據可能還有其他一些小事要檢查,我提前道歉,因為它是如此基本。
導入的數據表有一個名為“Exclude”的列
- 實際的列名是否有任何前導空格?
- 實際的列名匹配?例如標題案例和拼寫。
要在名為“Exclude”的列中篩選的值
- 列中的值是否有任何前導或尾隨空格?
- 對於“排除”級別的拼寫和標題情況是否準確?
數據表中的腳本是否有效,是否來自數據過濾器?
Re:使用腳本加載數據時排除數據這是PMroz的一個選項,但我更願意提取所有數據並讓人們可以選擇取消排除。
Re:使用腳本加載數據時排除數據這是一個想法。 由於您使用SQL提取數據,為什麼不排除SQL中的行?另外我認為你有一個額外的參數來打開數據庫(NSI數據庫)。
DT = 打開數據庫 (
“DSN = PI SQL連接實驗室;說明= PI SQL連接實驗室; UID =; Trusted_Connection =是; APP = JMP; WSID = SFX-5GCN2M1; DATABASE = LabData” ,
“SELECT * FROM dbo.NSI_Discovered_Factors_Lab_Data WHERE exclude!='Exclude'” ,
“NSI_Discovered_Factors_Lab_Data” ,
“NSI數據庫” ) ;
Re:使用腳本加載數據時排除數據同樣的問題PMroz。 奇怪的是它仍然無效。
Re:使用腳本加載數據時排除數據嘗試使用wait(0)而不是運行公式。 我同意拜倫 - 刪除dt =當前數據表並將dt =設置為打開數據庫的結果。 像這樣:
DT = 打開數據庫 (
“DSN = PI SQL連接實驗室;說明= PI SQL連接實驗室; UID =; Trusted_Connection =是; APP = JMP; WSID = SFX-5GCN2M1; DATABASE = LabData” ,
“SELECT * FROM dbo.NSI_Discovered_Factors_Lab_Data” ,
“NSI_Discovered_Factors_Lab_Data” ,
“NSI數據庫” ) ;
等待 ( 0 ) ;
DT << 選擇Where ( 排除 == “排除” ) << 隱藏 << 排除 ;
Re:使用腳本加載數據時排除數據嗨拜倫,
這沒有解決它。 我也做了一個單獨的插件,應該可以工作,因為你說的是真的,我在加載數據集之後執行,如下所示。
DT = CurrentDataTable();
dt <<選擇Where(排除==“排除”)<< hide <<排除;
這奇怪的是也不起作用。
Re:使用腳本加載數據時排除數據執行Select時,Open可能無法完成?
我沒有看到這個確切的問題,但是當我使用有很多行的表時,它就像它一樣。
兩個建議:
首先,在打開變量時將數據表分配給變量。這樣dt =當前數據表();當數據庫表打開時,不會意外地指向當前表。
dt =開放數據庫(“DNS ....
省去dt =當前數據表();
其次,在選擇行之前強制進行dt評估。在完成打開之前無法對其進行評估
dt << Run Formulas; //先包括這個
dt <<選擇Where(排除==“排除”)<< hide <<排除;