使用列和行本演示將說明如何管理數據列和數據表行。 我將使用一個腳本來創建一個新的數據表,其中一列開始。 因此,在部分課程日誌中,我將單擊製作新數據表和列。 您可以看到我們正在使用新的表格功能。 我們將在變量 dt 中存儲由此創建的數據表對象引用。 該表將稱為測試數據。 我將有一個名為 pH 的列。 數據類型將是數字,建模類型將是連續的。 然後我使用 values 參數,我也可以說設置值——這兩個都是同義詞——使用索引運算符填充,它是一個中綴運算符。 所以這只是我們要以一為增量從一數到七。 因為我提供了這些值,所以這就是該數據表將擁有的行數。 如果我最初沒有填充值,則有一個可選參數可以添加我可能使用的指定行數。 您還將看到是否讓 JMP 使用該 get 腳本消息為您的數據表編寫腳本,該腳本將包含添加行的參數。 我們還將使用固定十進制參數指定一個格式,該參數帶有一個小數點後三位的字段。 我們將打開列上的鎖定選項,以便在未解鎖的情況下無法對其進行修改。 我們將使用範圍檢查參數來分配該列屬性。 這裡的語法 LELE ( ) 只是說小於或等於列中的值小於或等於 最後我們有一個設置屬性參數的示例,我們在其中設置屬性規格限制。 因為有不止一個選項可以指示規格限制,所以我們列出了三個限制 - 規格下限、規格上限和目標。 還要記住,新列的所有這些可選參數都可以在創建列後作為消息發送到列,或者如我們在此處看到的那樣,作為新列的參數。 所以我要運行腳本。 您可以在下面的日誌中看到,我們已經創建了一個名為測試數據的數據表對象的實例。 當然,如果我將鼠標懸停在腳本中的變量 dt 上,這就是我所看到的。 我有一個單列七行的數據表。 我們可以看到表格本身中指示的腳本中的所有元素。 因此,一方面,我知道數據類型是數字,因為我可以看到建模類型圖標顯示它是連續的。 而連續建模類型只需要數值數據。 同樣,數值是右對齊的。 如果我們將數字視為字符,那麼它們將是合理的。 如果我們看一下列面板中的圖標,就會看到鎖定圖標,表示我鎖定了列。 小複選標記表示範圍檢查。 然後星號表示任意數量的沒有自己獨特符號的附加屬性。 因此,要進入列信息對話框,當然有幾種方法。 我們可以通過點擊這個星號來走捷徑。 我們看到該屬性是規格限制。 同樣,此下拉菜單中可能列出了多個屬性。 我可以選擇它。 這讓我進入了專欄信息。 當然,我們也可以選擇列並使用列菜單或右鍵單擊列並選擇列信息。 因此,設置屬性參數中指示的值存在規範限制。 我們也有那個範圍檢查。 再一次,它是小於或等於,小於或等於——在通用語法中表示 LELE——然後我們有實際值。 在這裡我們可以看到該列已被鎖定。 數據類型是數字。 建模類型是連續的。 格式為固定十進制,字段寬度為該列最多可顯示的字符數,小數點後三位。 所以我要取消列信息對話框。 我會繼續並取消選擇那個 pH 值列。 現在,列屬性下拉菜單中有一個選項可以設置您自己的用戶列屬性。 如果您以交互方式執行此操作,則菜單選項僅稱為“其他”。 並且您命名該屬性以及它將採用的任何值。 我在日記中有一個名為 Add User Column Property 的腳本。 我們將其發送到 pH 柱。 此用戶列將正確地稱為 Meter Calibration。 我只想把今天的日期格式化為月、日、年字符串。 所以這裡的文本,設置屬性的第二個參數,在這種情況下,我使用 Today 函數來檢索自運行這行代碼的一月午夜以來的秒數。 我將其包裝在 format 函數中,並指定我希望將其顯示為的字符串格式。 同樣,當您編寫腳本時,這可能是一個反複試驗的過程。 如果我只是提供了我強調的內容——我想我可能有——有——是的。 我想確保我指定了正確數量的括號。 讓我運行一下,我剛剛強調的內容。 所以我選擇那個。 而我 Ctrl+R。 而且我看到該字符串完全按照我在日誌中的要求出現。 所以我可能會運行這個設置屬性消息,這個帶有屬性消息的代碼,最初沒有 eval 函數。 如果我這樣做了,當我查看儀表校準屬性的列信息時,我會看到實際上是代碼。 它實際上不會評估。 所以 set 屬性可能不會評估它的第二個參數,需要我們將它包裝在 eval 函數中。 現在,在設置屬性消息之外運行它,這將只是——讓我繼續運行它——它將返回完全相同的東西。 因此,這可能是您最初只有 Today 函數的格式,然後發現它沒有在列屬性中返回您想要的內容。 然後你會意識到你需要添加那個 eval。 所以我不會選擇任何這個,我會運行這個腳本。 我在日誌中收到的消息只是可編寫腳本的。 這意味著我做了一些可編寫腳本的事情。 所以你有時會發現你會運行一些代碼,而你期望發生的事情並沒有發生。 您可能只會看到這條可編寫腳本的消息。 因此,您需要嘗試找出在這種情況下出了什麼問題,因為您並沒有真正從 scriptable 這個詞中獲得信息。 但在我們的例子中,讓我們繼續討論。 同樣,我們可以通過單擊這個星號來簡單地進入列信息。 我這樣做是為了表明現在我們在該菜單中有另一個項目。 同樣,任何沒有自己獨特圖標的列屬性都將顯示在此星號菜單中。 然後我將單擊 Meter Calibration,以便在打開列信息對話框時選擇該屬性。 還有使用 Today 函數並將其格式化為字符串的評估結果。 所以我會取消它。 我將使用 Add User Column 屬性 Script Editor Window 來玩這個表。 現在不需要那麼寬了。 所以我現在想將新列作為消息發送到數據表。 我將把這個新列命名為 Hydronium。 我將在創建後添加一個公式。 當然,我可以將公式添加為列創建的一部分。 而且我實際上還將把代碼產生的列對象引用存儲在一個變量中。 我就叫它 HYD,hyd 代表水合氫。 我會將發送消息的結果分配給 dt,因為這是我們存儲測試數據對象引用的內容。 所以我將消息發送到 dt new 列,然後打開括號和字符串。 新列唯一需要的參數是列名 Hydronium。 我會繼續運行它。 將該結果存儲在這個變量中意味著我不需要再次輸入整個名稱 Hydronium。 所以我不必存儲該對象引用。 我仍然可以與專欄交流。 但這只是讓我節省了一點打字時間來給它起一個縮短的名字。 現在,讓我們假設,正如我所提到的,我想在此列中添加一個公式。 所以我會去一個新的線路。 而且我要小心不要意外地再次運行整個腳本並創建第二個 Hydronium 列。 所以我要評論第一行。 我將向該變量 hyd 發送消息。 並且消息是設置公式。 我將把公式提高到負 pH 的冪,所以提高到 - 然後我將打開括號 - 減號 - 我將使用冒號範圍運算符,因為我指的是ph 列,為了安全起見,以防在我的全局命名空間中有任何其他變量名稱 ph 浮動。 我沒有使用 Names Default to Here,儘管我們在實踐中建議將其作為最佳實踐。 所以我要輸入那個分號並運行這行腳本。 同樣,我們在日誌中看到了可編寫腳本的消息。 但是我們可以檢查該表並看到這些值已被填充。 在使用我們的列和行時,還有其他一些事情可以玩。 假設我想為數據表中的單元格著色以標記超過某個數字的值。 因此,我將轉到腳本編輯器窗口中的新行。 我將創建一個名為 callout 的變量。 並且我將分配存儲在 dt 中的數據表的結果接收消息獲取行的位置。 然後我的布爾比較將是列中的值 pH 值大於所以我將只運行該行。 您可以看到這些行並獲取向我返回行號列向量的行。 然後我將向 pH 發送消息。 由於該列對象引用未存儲在變量中,因此我將僅按名稱引用它。 所以 pH 將接收到顏色單元格的消息。 所以這是我們可以發送到專欄的另一條消息。 我將使用顏色的名稱作為第一個參數。 還有索引值,您可以使用 rgb 值。 我將使用名稱作為字符串。 所以我要把這些細胞染成紅色。 然後第二個參數是,您要為哪些單元格著色? 您可以執行整個列,也可以提供行號。 所以我將使用變量 Callout,它存儲 pH 值大於 3 的行。 我將只運行那條線。 順便說一句,請注意我忘了放分號。 所以這說明結束分號是不必要的。 只有當我有額外的論點來時。 如果我們現在查看數據表,您可以看到這四個單元格已被塗成紅色。 因此,如果您有一個大數據表並且您可能對某些列有規範限制,那麼這可能是一件好事。 您可以根據這些規格限制為超出規格的事物著色單元格,例如,在您開始查看圖表之前,在數據表中直觀地標記這些內容。 您當然不必為單元格著色,但這是一個可以使用的選項。 所以在這個演示中,我們看到了一個創建一個帶有列的新數據表的示例,向該數據表添加一個列,並嘗試了一些我們可以對列和行執行的操作。