選擇當前資料表你好,
我正在使用一個小的 jmp_addin 將規格限制資訊新增到選定的列。無論如何,我遇到的問題是,每當我運行它時,它總是會獲取打開的最新數據表,即使我從不同的視窗運行插件......有沒有辦法突出顯示我的 jmp_addin正在嘗試從選定的數據表運行腳本?我認為 currentdatatable 會這樣做,但它似乎總是適用於最新打開的數據表,有時我需要更改/添加規格到已經打開的表...
先致謝!
dt = currentdatatable();
table=list("Spec1", "Spec2", "Spec3" );
r = Column Dialog(
Spec = Col List( "Columns to add Spec" ),
v list ("Select Product Spec Table", rb = Combo Box( table()))
);
dtedc = open("C:\myData\ADDIN\Spec Limit\"||table[r["rb"]]||".jmp",invisible);
for ( i=1, i<=N Items(r["Spec"]),i++,
for (j=1, j<= nrows(dtedc), j++,
if(as Name(r["Spec"]) == as Name(dtedc:Parameter),
Eval(
Substitute(
Expr(
Column(dt, r["Spec"]) << set property("spec limits",
{LSL( l), Target( t ), USL( u ), Show Limits(1)}
)
),
Expr( l ), dtedc:LSL,
Expr( t ), dtedc:Target,
Expr( u ), dtedc:USL
)
);
);
);
);
close(dtedc, nosave);
回覆:選擇目前資料表如果您將 Choose_data_table 函數定義放在程式碼頂部,它將起作用。
回覆:選擇目前資料表是的,那行得通。 我只是希望有一種方法可以提示用戶選擇一張桌子,因為我們經常同時打開許多桌子。 過去,依賴不同使用者對其目前資料表的了解效果並不好。只是希望有一種方法來提示使用者指定。 但這是必須做的。
回覆:選擇目前資料表當我看到這條線時
dt = choose_data_table();
我假設您的程式碼中較早的地方有一個函數,可以讓您選擇要運行的資料表。但如果您不這樣做,那麼我建議您將該行更改為:
dt = current data table();
並嘗試運行你的程式碼
回覆:選擇目前資料表@tx尼爾森
謝謝你的慰問。 我沒有考慮過檢查日誌。 它說:
名稱未解析:存取或評估 'choose_data_table' 時的 Choose_data_table,choose_data_table() /*###*/
在以下腳本中,錯誤標記為 /*###*/
dt = Choose_data_table() /*###*/;
顯示(dt);
dt << 選擇其中( :Pad Summary == "Overload" );
dt << 顏色( 22 );
dt << 標記( 11 );
dt << Select Where( :Pad Summary == "曲線錯誤" );
dt << 顏色( 27 );
dt << 標記( 2 );
dt << 選擇其中( :Pad Summary == "Detected" );
dt << 顏色( 4 );
dt << 標記( 12 );
dt << Select Where( :Pad Summary == "位置未對齊" );
dt << 顏色( 3 );
dt << 標記( 2 );
dt << Select Where( :Pad Summary == "Negative (w/ Misalign)" );
dt << 顏色( 1 );
dt << 標記( 2 );
dt << 選擇其中( :Pad Summary == "Negative" );
dt << 顏色( 1 );
dt << 標記( 0 );
dt << 選擇其中( :Pad Summary == "Disconnect" );
dt << 顏色( 0 );
dt << 標記( 9 );
dt << Select Where( :Pad Summary == "高 CP 電流" );
dt << 顏色( 56 );
dt << 標記( 24 );
dt << 選擇其中( :運行狀態 == "無效" );
dt << 標記( 4 );回覆:選擇目前資料表您在日誌中收到什麼錯誤?
回覆:選擇目前資料表是的,我會嘗試的。 抱歉,我是個新手,沒有接受過任何腳本的正式培訓,這可能是顯而易見的。 我將數據表選擇器添加到此腳本中,而不是使用:
dt = 當前資料表();
並確保當前資料表是我想要重新格式化的表。 當我第一次實現“選擇數據表”功能時,它就像一個魅力,並創建了一個提示,從中選擇所需的表。 我也將其發送給同事使用,儘管驗證了腳本未更改,但它對他不起作用。 我打開了保存的腳本,它對我來說也不起作用。 因此,我交替使用以前的格式化方法,然後返回到選擇資料表方法,它再次起作用。 後來就不再這樣了。
對於這種不一致,或者成功和不成功的嘗試之間發生了什麼變化,我真的沒有很好的技術解釋。 據我所知,沒有什麼具體的事情發生。 我將這些東西拼湊在一起,所以我肯定缺乏一些基本原則,例如清除或指定偏好或符號。 也許這個問題超出了簡短的論壇貼文的範圍?
不管怎樣謝謝
回覆:選擇目前資料表我認為我們需要更多關於「工作不一致」含義的資訊。 能提供更多細節嗎?
回覆:選擇目前資料表你好@傑夫·珀金森,
我試圖在一個相當簡單的格式化資料標記的模組中使用它。 當我最初設定腳本時,它工作得很好,但此後一直工作不穩定。 有什麼想法為什麼會這樣嗎? 列標題和值是可靠的。
dt=choose_data_table();
show(dt);
dt << Select Where( :Pad Summary == "Overload" );
dt << Colors( 22 );
dt << Markers( 11 );
dt << Select Where( :Pad Summary == "Curve Error" );
dt << Colors( 27 );
dt << Markers( 2 );
dt << Select Where( :Pad Summary == "Detected" );
dt << Colors( 4 );
dt << Markers( 12 );
dt << Select Where( :Pad Summary == "Position Misalign" );
dt << Colors( 3 );
dt << Markers( 2 );
dt << Select Where( :Pad Summary == "Negative (w/ Misalign)" );
dt << Colors( 1 );
dt << Markers( 2 );
dt << Select Where( :Pad Summary == "Negative" );
dt << Colors( 1 );
dt << Markers( 0 );
dt << Select Where( :Pad Summary == "Disconnect" );
dt << Colors( 0 );
dt << Markers( 9 );
dt << Select Where( :Pad Summary == "High CP Current" );
dt << Colors( 56 );
dt << Markers( 24 );
謝謝
回覆:選擇目前資料表我剛剛遇到這個老問題,不幸的是,從未得到答案。
當前資料表()應傳回對活動資料表視窗的引用。 我不確定為什麼你的情況不是這樣。
然而,更可靠的方法是提示使用者從開啟的資料表中進行選擇。
這是一個小函數,它提示資料表列表並傳回使用者所做的選擇。
choose_data_table=function({},
list = {};
For( i = 1, i <= N Table(), i++,
list[i] = Data Table( i ) << get name
);
win = New Window( "Select a data table", << Modal,
hb = H List Box(
Panel Box( "Choose a data table",
dt = List Box(
list,
max selected( 1 ),
chosen = Data Table( (dt << get selected)[1] );
show (chosen);
)
),
)
);
chosen);
像這樣使用它:
dt=choose_data_table();
show(dt);