編碼屬性沒有兩個數字你好,
我下面有一個 for 循環,用於遍歷列,並為每一列分配一個“coding”屬性。 all_cols 是感興趣的列列表。該函數運作正常——幾乎符合預期。 coding 屬性已正確賦值,包括列的最小值和最大值。
for( y = 1, y <= N Items( all_cols ), y++,
row() = y;
lims = Eval List( { col min( eval( all_cols[y] ) ), col max( eval( all_cols[y] ) ) } );
all_cols[y] << Set Property( "Coding", Expr( lims ) );
);
然而,在增強日誌中,我注意到「編碼屬性沒有兩個數字」這個錯誤在 all_cols 表中的每一列都出現一次。我已經統計過了。
問題就出在這裡。在我的腳本後面,會執行標準最小平方法。當我嘗試從「效果摘要」中移除某個效果時,會出現一個錯誤框,顯示相同的錯誤訊息,如下所示。如果點擊右上角的「x」關閉該框,或點擊「確定」按鈕,該框會一直顯示,導致 JMP 無法使用,直到我強制結束 JMP 的任務。

對於類似的 JMP 表達式求值,使用 for each() 函數也會出現相同的誤差。這相當於選取所有列,然後透過「標準化屬性」批次變更它們的所有屬性。
對於目前的情況以及如何阻止它,大家有什麼想法嗎?
品質與工藝工程回复:編碼屬性沒有兩個數字編碼列屬性在“列信息”對話框中看起來是正確的,但實際上是不正確的。 我檢查了數據表腳本,發現 << Set Property() 消息的第二個參數是按字面賦值的。 它不使用存儲在限制. 您必須自己替換該值。 這是一種可行的方法。
For( i = 1, i < N Col(), i++,
lims = Eval List( {Col Min( Eval( Column(i) ) ), Col Max( Eval( Column(i) ) )} );
Eval(
Substitute(
Expr( Column( i ) << Set Property( "Coding", ccc ); ),
Expr( ccc ), lims
)
)
);
當您在 JMP DOE 平台中點擊製表時,會自動添加該屬性。 為什麼要在建表後加上這個屬性呢?
回复:編碼屬性沒有兩個數字all_cols 是一個列列表,但它正在被循環迭代。 定義 lims 下面的行使用 Expr() 調用 lims。這有幫助嗎?
回复:編碼屬性沒有兩個數字以下是關於此問題的更多說明:
- 對循環中的每一列使用 << Get Property("Coding"),成功返回 col min 和 col max 值對。 這將驗證是否正確分配了屬性,並填充了值。
- 將 Set Property() 的代碼隔離為空白腳本時,它運行良好,增強日誌中沒有錯誤通知...... 但是,請閱讀下文。
- 在“擬合模型”對話框中,從單獨的腳本執行 Set Property() 後,如上所述,錯誤仍然發生。

回复:編碼屬性沒有兩個數字在運行腳本以添加編碼屬性後執行此操作:單擊數據表左上角“表”面板中的紅色小三角,然後選擇“複製表腳本”。 然後打開一個新的腳本編輯器並粘貼腳本。 檢查設置屬性參數。 您應該看到一個包含兩個數字的列表作為第二個參數。 如果你不這樣做,那麼你的腳本是錯誤的。
回复:編碼屬性沒有兩個數字
優秀的捕獲!這是表腳本中的內容。 我會擺弄我的編碼以獲得必要的值。謝謝你, @馬克貝利!
在我發布決議之前,我會保持此線程打開。
回复:編碼屬性沒有兩個數字這是一個簡單的修復。 已驗證使用我的數據集!
for( y = 1, y <= N Items( all_cols ), y++,
row() = y;
lims = Eval List( { col min( eval( all_cols[y] ) ), col max( eval( all_cols[y] ) ) } );
Eval( Eval expr ( all_cols[y] << Set Property( "Coding", Expr( lims ) ) ) );
);