<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />在一列中,我有一些帶有前導零的數據,有些沒有前導零。 是否可以刪除前導零而不建立新列?
嗨,詹妮弗,
我很高興你明白了,我很樂意提供協助! 如果您遇到困難,請毫不猶豫地提出問題—很可能有很多人有類似的問題!
我希望您喜歡使用 JMP!
朱利安
嗨,詹妮弗,
偉大的! 如果您只有數字,這會更容易,將列資料類型變更為數字,這樣您就可以為您進行排序。 若要變更列資料類型,請選擇該列,然後前往「列」功能表 >「列資訊」。 您可以將資料類型變更為數值,並將建模類型變更為連續。現在,當您按該列排序時(透過右鍵單擊資料表中的列 > 排序,或表格選單 > 排序),JMP 會自然地對這些數字進行排序。
朱利安
沒關係,我想我已經明白了。 我必須將其從字元更改為數字,我相信這就是您想要告訴我的。 對不起。 再次感謝你的幫忙!!
尊敬,
珍妮佛
嗨朱利安,
該列僅包含數字,但我希望能夠將其變更為連續列,而不僅僅是名目或序數列,以便我可以進行需要資料採用連續格式的特定分析。
尊敬,
珍妮佛
嗨賈羅威,
如果您的列是字元列,JMP 將按照您所說的方式對資料進行排序,1, 11, 12, 13, 2, 3 等。如果列是數字,JMP 將按照自然順序對列進行排序,1 , 2, 3 、 4 等。您的欄位是否包含字元? 如果是這樣,更改為數字將不是一個選擇,因此我們需要做一些更有創意的事情。 我要做的就是在資料前面添加一些零,然後修剪結果以限製字元總數。 例如,如果您有以下值:1a、2e、13h、33f、201v,我們想要的是在前面加零,這樣我們最終會得到 001a、002e、013h、033f、201v。 請注意,這意味著我們要在前面添加不同數量的零(有時 2 個,有時 1 個,有時沒有)。 我們可以透過一些條件邏輯來處理這個問題,但是將我們需要的最大數量的零(2)添加到所有資料中會更容易,然後使用名為“right”的字元函數從其中獲取最正確的字元每一行。 例如,假設我們在每個值前面加上2 個零(這會產生001a、002e、0013h、0033f、00201v),然後我們應用另一個公式,該公式只取每個值中最右邊的4 個字元(這會產生我們想要的001a、002e) 、013h、033f、201v)。 我們只需使用滑鼠(和幾次按鍵)即可透過 JMP 中的公式來完成這一切。
1. 透過前往「列」功能表 >「新列」建立一個新列。

2. 對於資料類型,選擇“字元”。 如果您希望有前導零和字符,這是必要的(數字列將忽略前導零,因為它們對實際數字沒有意義,並且不能儲存字母)。 完成此操作後,按一下“確定”
3. 選擇新列,然後前往“列”功能表 >“公式”
4. 這是公式編輯器。 在這裡,您可以定義適用於整個列的公式。 我們想要的是一個公式,它將在原始列中的現有值前面添加一個零(或任何您想要的字元)。 我們可以使用稱為“concatenate”的字元函數來完成此操作。 以下是設定該公式的步驟:
A。 在右上部分(功能組列表)中選擇“字元”,然後選擇“連接”

b.在公式編輯器中,您現在將看到以下內容:

C。 這兩個矩形稱為該函數的參數——它們需要填充列或文字。 在您的情況下,您希望將值新增至另一列的開頭,因此首先透過按一下第二個方塊來選取它,然後在左上角的列清單中選擇原始列。 這是您應該擁有的內容(但帶有您自己的專欄名稱):

d. 就我而言,隨機 ID 列已設定為字元列,因為它包含字母。 如果您的原始列是數字,您需要告訴 JMP 將數字資料轉換為您要新增到前面的字串。 為此,請再次選擇“字元”功能組,然後選擇“字元”。 這將更新公式並向 JMP 新增說明,以將您選擇的列的內容轉換為字元。

e. 接下來我們要決定要前置什麼。 雙擊第一個矩形,這將開啟該欄位的編輯器。 在這裡,我們要在前面添加我們需要的最多數量的零。 對於我上面使用的範例,我們將在前面添加兩個零。 輸入(帶引號)“00”,然後按 Enter 或 Return 鍵。在我們點擊 Enter 之前,它會是這樣的:

F。 點擊返回後,JMP 將關閉該欄位的編輯器。 現在,如果我們應用這個公式,我們最終會在每個值前面都有兩個零。 但是,像「201v」這樣的值不需要零,如果我們在這些值前面加上零,我們的排序將無法運作。 因此,我們將對此公式再套用一個函數,以只保留最右邊的 4 個字元。 為此,請透過點擊我們編寫的公式的最外面的方塊來選擇整個公式。 當您執行此操作時,該框將突出顯示,如下所示:

G。 現在,我們將應用字元函數組中的另一個字元函數。 選擇字元組,然後選擇“right” 這會將 right() 函數應用於整個公式,並為我們提供一個空間來輸入我們希望從右側提取的字元數。 在本例中,我將透過雙擊「n」欄位並輸入 4(不帶任何引號)來輸入 4。 當我點擊返回時,這就是我所擁有的:

H。 您的公式已準備好運行。 按一下「確定」按鈕,您應該會看到新列填入了所有原始值,但前面新增了所需數量的零。在您的情況下,您可能需要修改新增的零數量以及正確的修剪數量。 要確定這一點,請計算出最高值的字元數(這將是正確的修剪數字),然後確定需要為最小值添加多少個零(這將是您應該在前面添加的零數)一切)。
我希望這有幫助!
朱利安
我對 jmp 真的很陌生,請原諒我的無知。
有沒有辦法將我的所有數據更改為前面有零或更改列表,使其按實際數字順序而不是 1、11、12、13、2、3、4 等?
只要任何行中都沒有儲存任何字符,拜倫的建議就會完美地發揮作用。 如果這樣做,這些條目將在將列變更為數字時刪除。
由於您的資料中有那些前導零,因此該列必須已設定為字符,我假設是因為您要儲存字母和數字。 若要消除這些零,您可以在「編輯」>「搜尋」>「尋找」中使用正規表示式。正規表示式非常強大,但看起來不太友善。 對於您的情況,以下正規表示式將搜尋前導零,但不會找到字串內的零:
(?
透過將列資料類型變更為數字並將建模類型變更為連續,前導零將會消失。