如何在公式字符上編寫命令<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我想知道如何使用公式字符功能編寫可行的命令。
例如,我有一列角色數據,其中包含從 1.0 級到 9.0 級的數據。
我想將此信息轉換為僅顯示 1.0 到 9.0 的另一列,如何使用公式字符函數為此編寫命令?
我想知道的另一個請求是如何將字符數據列更改為新列中的另一個語句。
例如,我有一個字符列的數據顯示甜,美味,酸,...我想將其更改為甜-->Bin1,美味-->Bin2,酸-->Bin3。 如何使用公式字符將 sweet-->Bin1 轉換為新列中的值。
謝謝,
回复:如何在公式字符上編寫命令嗨伯尼,
很抱歉這對你不起作用! 我想我可能選擇了一個不明確的列名,我認為這可能是造成混亂的根源。 在附加的數據集中,我有一個名為“OriginalColumn”的列,下面的腳本在 Word() 函數中引用該列。 word 函數不接受任何要查找的單詞的參數,只接受哪個單詞編號以及要查找的列。 當您想要刪除“Class”列名時,我錯誤地使用了“Class”列名!讓我知道下面的腳本是否適用於所附的表。 如果是這樣,您應該能夠通過更改“ :OriginalColumn ”來更改它以適用於您想要的任何表,以匹配表中列的任何名稱。
朱利安
//新建一個列
當前數據表() <<新專欄( “僅班級編號” ,特點) ;
//停止表更新,直到完成所有更改,適合大型表
當前數據表() <<開始數據更新;
//將更改應用到每一行
對於每一行(
:僅班級編號=單詞( 2 , :原創專欄)
) ;
// 結束“數據更新”
當前數據表() <<結束數據更新;
回复:如何在公式字符上編寫命令嗨朱利安,
實際上,我想將其保留為字符而不是將其轉換為數字。
我只想去掉原來的“Class 9.0”中的“Class”,只顯示“9.0”。
我使用了(2,Class)這個詞,但沒有成功。
謝謝,
回复:如何在公式字符上編寫命令你好伯尼426
聽起來您希望結果列是數字,是嗎? 如果是這樣,彼得上面的建議就是處理這個問題的正確方法。 當您提取字符串的一部分時,它仍然是字符串,除非您告訴 JMP 您要將字符串轉換為數字。 這是一個完整的腳本,其中 Num() 函數包裹著 Word() 函數,並且還進行了一項更改,以使新列在創建時為數字。
希望這對你有用!
朱利安
//創建一個新的NUMERIC列
當前數據表() <<新專欄( “僅班級編號” ,數字) ;
//停止表更新,直到完成所有更改,適合大型表
當前數據表() <<開始數據更新;
//將更改應用到每一行
//下面的函數將查找名為“Class”的列
//如果數據位於具有不同名稱的列中
//將 :Class 更改為列名,但是
//請務必保留 : 因為這可以讓 JMP 知道您是
//引用一列。
//該函數還將Word()函數包裝在Num()中
//將字符輸出轉換為數字
//允許結果列保留數字
對於每一行(
:僅班級編號=數量(單詞( 2 , :班級) )
) ;
// 結束“數據更新”
當前數據表() <<結束數據更新;
回复:如何在公式字符上編寫命令嘗試使用 NUM 函數將字符串數字轉換為實際數字。
A = 《9級》 ;
乙=編號(單詞( 2 , A )) ;
回复:如何在公式字符上編寫命令嗨朱利安,
我的“匹配”腳本或公式運行得很好,我非常喜歡它。
但是,我無法在公式或腳本上使用“Word”功能。
我的案例是一個現有的列,它是“1 類”到“9 類”的字符,我希望在它旁邊有一個新列,只顯示數字(1 到 9),並且仍然採用字符/屬性格式。
因此,以您為我編寫的Word()腳本為例,我們是否需要母列(Class1…Class 9)的輸入信息並使用Word()函數?
謝謝,
伯尼
使用 Words() 只提取數字
//新建一個列
當前數據表() << 新列("ClassNumberOnly", Character);
//停止表更新,直到完成所有更改,適合大型表
當前數據表() << 開始數據更新;
//將更改應用到每一行
對於每一行(
:ClassNumberOnly = Word( 2, :Class )
);
// 結束“數據更新”
當前數據表() << 數據更新結束;
回复:如何在公式字符上編寫命令嗨伯尼,
我很高興我問了! 有幾種方法可以解決此問題,具體取決於您是想編寫公式列還是編寫實際值。 不同的情況需要其中之一,因此我在下面提供了針對這兩種情況的方法。
寫入實際值:
| 使用 Word() 只提取數字 |
|---|
//新建一個列 當前數據表() <<新專欄( “僅班級編號” ,特點) ; //停止表更新,直到完成所有更改,適合大型表 當前數據表() <<開始數據更新; //將更改應用到每一行 對於每一行( :僅班級編號=單詞( 2 , :班級) ) ; // 結束“數據更新” 當前數據表() <<結束數據更新; |
| 使用 Match() 進行重新編碼 |
|---|
//新建一個列 當前數據表() <<新專欄( “屬性重新編碼” ,特點) ; //停止表更新,直到完成所有更改,適合大型表 當前數據表() <<開始數據更新; //將更改應用到每一行 對於每一行( :屬性重新編碼=匹配( :屬性, “可口” , “賓3” , “甜的” , “賓2” , “酸的” , “賓1” , :屬性 ) ) ; // 結束“數據更新” 當前數據表() <<結束數據更新; |
要編寫公式列:
| 使用 Word() 只提取數字 |
|---|
//製作公式列 當前數據表() <<新專欄( “僅班級編號” ,特點, 公式( 單詞( 2 , :班級) ) ) ;
|
| 使用 Match() 進行重新編碼 |
|---|
//製作公式列 當前數據表() <<新專欄( “屬性重新編碼” ,特點, 公式( 匹配( :屬性, “可口” , “賓3” , “甜的” , “賓2” , “酸的” , “賓1” , :屬性 ) ) ) ;
|
希望這可以幫助!
朱利安
回复:如何在公式字符上編寫命令嗨朱利安,
非常感謝您再次閱讀我最初的帖子。 是的,如果有一個腳本選項那就更好了,因為我每天都使用它。
回复:如何在公式字符上編寫命令不客氣! 我剛剛再次閱讀了您最初的帖子,我想到您可能一直在尋找腳本解決方案而不是列公式解決方案。 如果是這種情況,請告訴我,我可以幫助您通過腳本進行設置。 您可能已經註意到,在“Col”>“重新編碼”中,甚至可以選擇讓 JMP 將重新編碼編寫為腳本,因此我將從這裡開始,我們可以調整代碼以使用 Word() 來解決您的第一個問題。
朱利安
回复:如何在公式字符上編寫命令非常感謝朱利南提供的有用信息。
伯尼
回复:如何在公式字符上編寫命令你好伯尼426 ,
要提取列的一部分,您可以使用 Word() 函數,該函數有兩個參數:第一個是要提取的“單詞”(您將在此處輸入數字),第二個是包含您要從中提取的文本的列。 還有第三個可選參數,您可以在其中指定分隔單詞的分隔符,但在您的情況下,默認的“空格”將起作用。 因此,要使用它,請使用 Word(2,:Class) 創建一個新的公式列(其中:Class 是存儲原始數據的任何變量)。例如(也在所附數據集中):

這將採用第二個“單詞”,它就是遇到的第一個空格之後的任何內容,因此只是數字。
對於你的第二個問題,我將使用 match 函數(如下)。 您可以自己編寫,也可以使用列重新編碼實用程序為您編寫。 要執行後者,請選擇原始列,然後轉到“列”>“重新編碼”。 指定您希望變量具有哪些新值,然後選擇“公式列”而不是“就地”。JMP 將使用匹配功能為您創建一個新列。

對於第一個問題,您可以以相同的方式使用 Cols > Recode,但如果您有很多級別,則使用 Word() 會比手動指定重新編碼更快。
我附上了包含這些公式的示例數據集。
我希望這有幫助!
朱利安