如何變更 JSL 中的列格式或處理 Send Expects Scriptable Object 錯誤我正在致力於在 JSL 腳本中加入 (2) 個表。我遇到的問題是保存新加入的表。有 (2) 個問題。
第一個問題是 (Test2) 的資料列作為字元/名義進入 JMP,並且需要為數字/連續。當我將 Excel 電子表格列格式變更或建立為數字時,我在 dt3 <<另存為程式碼行處收到以下錯誤。
Send 在存取或評估 'Send' 時需要可編寫腳本的對象,dt3 << /*###*/save as("B:\JoinTest1_2.jmp") /*###*/
當我嘗試在 JSL 中格式化 JMP 資料表列格式時,我在另存為指令期間遇到相同的錯誤。
我已經搜索了幾個小時但無法弄清楚。
這是我的程式碼。任何幫助將不勝感激。
Names Default To Here( 1 );
dt1 = open("B:\Test1.jmp");
dt2 = Open("B:\Test2.jmp",
Worksheets( "WorkSheet1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
column(dt2,"Column1") << data type(Numeric)<<MODELING type=""></MODELING>回覆:如何變更 JSL 中的列格式或處理 Send Expects Scriptable Object 錯誤我強烈建議您養成存取腳本索引的習慣,以獲取您正在使用的不同函數的描述和範例。
幫助==>腳本索引
或者只是獲取描述,輸入函數名稱後,以“(”開頭,您可以將滑鼠懸停在函數名稱上,它將顯示該函數的描述
回覆:如何變更 JSL 中的列格式或處理 Send Expects Scriptable Object 錯誤這就像冠軍一樣,所以列號是正確的語法而不是列名。 呸,我應該能夠弄清楚這一點。
謝謝你!回覆:如何變更 JSL 中的列格式或處理 Send Expects Scriptable Object 錯誤好吧,我偶然發現了一個部分解決方案,dt1 和dt2 的電子表格都有字元數據和數字數據,儘管兩個excel 文件在excel 中都被格式化為“常規”,但無論出於何種原因dt2 表不喜歡這樣,並且迫使我將數字列格式化為「數字」資料。
所以有一個解決方法,但是我想知道為什麼在以程式設計方式更改參數時腳本似乎不起作用。回覆:如何變更 JSL 中的列格式或處理 Send Expects Scriptable Object 錯誤我想我看到了問題所在。當您指定
column(dt2,"Column1") << data type(Numeric)<<MODELING type=""></MODELING>
JMP正在尋找名為「Column1」的欄位.....是的....Excel將從Excel表中設定列名稱,因為它在定義中指定如何讀取Excel文件
Has Column Headers( 1 )
所以如果想使用列位置改變資料型別等,需要指定
column(dt2,1) << data type(Numeric)<<MODELING type=""></MODELING>
回覆:如何變更 JSL 中的列格式或處理 Send Expects Scriptable Object 錯誤是的,你是對的,dt2 是一個 Excel 文件,抱歉,這段程式碼是我對實際文件所做的通用程式碼。
我確實有兩列具有相同的標題(範例 ID)。
程式碼執行方式相同,當開啟 dt2 時,資料列不是數字/連續的,如果我嘗試更改腳本中的列參數,我會收到上面的錯誤。 JMP如何解釋帶有列標題的Excel數據,是否可以使用列標題中的文字來設定參數?回覆:如何變更 JSL 中的列格式或處理 Send Expects Scriptable Object 錯誤我發現有幾個問題。我不確定 dt2 是否開啟 .jmp 資料表或 Excel 檔案。您已指定 dt2 是 .jmp 文件,但已包含 Excel 規格。
接下來,「按匹配列」代碼的正確形式應該是:Column1 = :Column1........但事實上,如果資料表中存在兩列,那麼就不會有問題
我添加了幾個語句,以確保在關閉資料表 dt1 和 dt2 之前和之後資料表 dt3 都存在。
運行程式碼並查看 JMP 日誌列印出的內容
Names Default To Here( 1 );
dt1 = open("B:\Test1.jmp");
dt2 = Open("B:\Test2.jmp", // Is this a JMP table or an Excel..... the .jmp extension seems strange here
Worksheets( "WorkSheet1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
column(dt2,"Column1") << data type(Numeric)<<MODELING type=""></MODELING>