使用布林函數

在這個示範中,我們將了解布林函數,以及 If 函數,我將獲得一個腳本編輯器視窗。再次,鍵盤快捷鍵是 Ctrl+T,或者您可以轉到檔案選單,使用工具列。有很多不同的方法來取得新的腳本編輯器視窗。讓我把日誌帶到日誌前面。回到腳本編輯器窗口,我將輸入程式碼,將值指派給變數 x。我將繼續並初始化它。然後在新行上,我將進行比較,JSL 中的一件事是,我們可以透過比較運算子連接參數,並讓 JMP 將它們視為單一子句。因此,如果我輸入小於 x 小於等於,這將被一次性評估,而不是按順序評估,因為當 JMP 看到這些比較運算子像這樣串在一起時,它們就是所謂的省略運算符。所以我可以運行那行,當然,這是一個真正的比較,大於但小於或等於,所以我得到布林值作為結果。現在,我們最常使用比較函數是在測試特定條件時,例如在 If 函數中。所以我要改變第一行並用 a 替換,所以我將的值分配給 x。然後我將用我的 If 語句完全替換第二行。因此,如果括號中的 x 小於逗號,則傳回的結果將是限制下的字串。這是一個簡單的 if/then 語句。如果條件評估為真,我將傳回此結果。如果條件評估為假,我就不會評估第二個參數並傳回一個缺失值。所以我要運行整個腳本。再一次,鍵盤快速鍵是 Ctrl+R。因此,如果 x 儲存了該值,那麼它就小於我們得到這個結果。但是如果我將分配給 x 的值更改為並運行整個腳本,我會得到缺少的值,因為該條件不成立。再次,我們可以得到其他結果。因此,如果條件不成立,我將返回另一個結果,而不是缺失值。在這裡,我將打開雙引號並輸入“超出限制”。如果我運行整個腳本,我就會得到其他結果。因此,If 函數可以根據需要採用盡可能多的條件和結果,然後,如果所有條件的評估結果為假,則始終可以得到 else 結果。因此,在下一個例子中,我們將採用一張以年份為單位的人們的年齡表,並將其歸類為 Erik Erikson 的心理發展階段之一。因此,我將返回“部分”中的日誌,然後單擊“年齡資料”。因此,我們擁有個體,我們希望將他們歸入心理發展的這些階段。因此,再次回到日誌中,我將單擊“年齡到分期腳本”。因此,日誌中預先編寫的腳本會將新列訊息傳送到資料表 Age,其中該列的標題為 Stage,並且我們指定資料類型為字元。然後,一旦建立了列,我們將使用每個行函數透過 If 語句來填入它。回想一下,一旦 JMP 在 If 語句中遇到真條件,則唯一要評估的其他參數就是對應的結果。不會評估任何其他條件。因此,對於年齡為的人,所有這些年齡比較都是正確的,但是一旦我們評估,是的,大於我們返回晚期成人結果並繼續下一行,因為我們是在迭代的背景下執行此操作的。這樣,我們就不必對每個層級進行括起來。我們可以說如果它大於,如果它大於等等。有一件事需要考慮,如果你查看數據——在這種情況下,它們分佈相當均勻。但是,如果您查看數據並注意到它往往在高端有很多觀察值,或者在低端有很多觀察值,那麼這就是您想要開始分箱的分佈的末端,因為如果有很多人的年齡大於數據表中的年齡,那麼在許多行中,數據表將評估這一個條件,返回此結果,然後繼續迭代的下一步,而不是評估其他所有內容。因此,任何行 - 再說一次,如果這是人們所處的大多數情況,那麼一旦找到真正的結果,您就可以通過繼續進行下一次迭代來加快腳本處理速度。因此讓我們繼續運行腳本。然後您可以看到使用 If 語句建立並填入了該列。我們在這裡要討論的另外兩種類型的功能是邏輯功能和查詢功能。因此在很多情況下,您需要一次測試多種情況。您可以透過以邏輯方式組合您的條件來實現這一點。邏輯函數的一些例子是 AND 和 OR 函數。因此,帶有與號運算子的 AND 函數將確保所有條件都為真。 OR 函數具有垂直管道運算子。這確保至少有一個條件為真。因此,我只需使用包含 Age to Stage 腳本的腳本視窗並將其清除即可。我將定義 x 為分號的值,將 y 為另一個分號的值,然後我將在一行中輸入所有內容並讓重新格式化清理所有內容。因此,如果在括號中,x 小於,那麼這裡的 OR 運算子就是豎線,豎管,如果 x 小於 OR y 大於,那麼這就是我的條件。在那裡輸入一個逗號。如果其中一個或兩個都是真,那麼我將返回滿足的結果條件。如果兩者都不正確,我將以不滿足條件的字串形式傳回結果。我將再次輸入結束分號,作為提醒,我們認為這是最佳做法,但不需要以分號結束腳本。我將繼續並右鍵單擊以重新格式化。這樣,當我把所有內容都輸入到一行後,就可以稍微清理一下了。因此,如果我運行腳本,這兩個條件中至少有一個為真,我希望得到滿足的第一個結果條件。事實上,這就是我在日誌中得到的內容。如果我需要兩個條件都成立,我將用 & 符號取代垂直管道運算符。在這種情況下,只有一個條件為真,但不是兩個條件都為真。所以我希望得到其他結果。當我運行它時,這就是我在日誌中看到的內容。我提到的另一類功能是查詢功能。有時您希望能夠檢查某個值的性質。舉個例子,也許您需要知道該值是數字還是列表。有很多種可能的值類型。在某些情況下,如果您嘗試執行在變數中儲存了錯誤類型的值的腳本,則可能會發生錯誤。因此您要確保對此進行查詢,並且您的腳本可能會以某種方式運行,具體取決於該變數中值的性質。所以我要再次清除腳本編輯器的內容。在第一行,我將分配給 xa 矩陣。因此我將輸入 x(分配函數),然後輸入方括號、空格逗號。這是我的第一行。這是我的第二排空間。關閉方括號,輸入分號,然後我將在 if 語句的上下文中執行此操作,我還想向您展示 JSL 中的函數具有自動完成功能。如果我輸入一個函數的前幾個字母。在這種情況下,查詢函數全部以字母 IS 開頭(代表 is)。然後按下 Control 鍵和空白鍵。我可以透過此清單向下箭頭來找到我想要的查詢功能,在這種情況下,我將使用 Is Matrix,然後按 Enter 鍵進行選擇,JMP 將為我完成該功能。當然,我仍然需要打開括號,我會在那裡輸入 x,關閉括號,然後在 If 語句的右括號之前,我會輸入一個逗號,然後我會使用相同的結果,即條件滿足,關閉雙引號,逗號,打開雙引號條件不滿足。讓我用箭頭確保每個人都排好隊,然後右鍵單擊以重新格式化。所以在這種情況下,x 儲存的是一個矩陣。所以我希望得到第一個結果,當我運行腳本時,我確實得到了它。不過,讓我們假設,如果 x 儲存的是字串,我的腳本將會做一些不同的事情。這可能是使用者輸入,也許是從資料表或其他地方檢索到的。所以我要將這裡的單字矩陣改為字串,然後運行腳本。因此,當然,我得到了 else 結果,因為條件評估為假。在這裡,您看到了一些布林函數的範例,它們使用 If 函數來對資料進行分類,並將 If 函數與邏輯函數和查詢函數結合使用。