揚聲器 | 成績單 |
| 米婭·斯蒂芬斯(Mia Stephens) | 歡迎參加JMP探索峰會。 我是Mia Stephens,也是JMP產品經理。 我加入了系統工程師喬丹·希勒(Jordan Hiller)的工作。 今天,我們將討論自動化數據管理工作流程。 |
| 這是摘要,僅供參考;我不會談論它。 |
| 我們將把這個演講分為兩個部分。 我將開始討論分析工作流程 |
| 談論數據創建,我們所說的數據管理是什麼意思。 我們將看到如何識別數據中潛在的數據質量問題。 |
| 然後,我將其移交給約旦,約旦將談論對可重複性的需求。 |
| 他將與我們分享用於數據管理的備忘單,並展示如何...如何在JMP中管理您的數據。 |
| 動作記錄器和增強的日誌。 |
| 因此,讓我們談談分析工作流程。 |
| 一切都始於遇到一些我們要解決的業務問題。 |
| 當然,我們需要編譯數據,並且您可以編譯來自許多不同來源的數據並將數據放入JMP中。 |
| 最後,我們需要能夠共享結果,與他人交流我們的發現。 現在有時候這可能是一個一次性的項目, |
| 但通常我們會重複進行分析。 因此,本次演講所要解決的核心問題是,您可以輕鬆地再現結果嗎? |
| 其他人可以復制您的結果嗎? 或者,如果您有新數據,或者如果您有更新數據,是否可以輕鬆地重複分析,尤其是對這些新數據進行數據整理的步驟? 這就是我們在本次演講中要解決的問題。 |
| 但是數據管理到底是什麼呢? |
| 為什麼我們需要對此加以關注? |
| 好吧,數據策劃就是要確保我們的數據對推動分析發現有用。 從根本上講,我們需要能夠解決我們要解決的問題。 |
| 它主要涉及數據組織,數據結構以及數據清理。 |
| 如果您考慮我們可能會遇到的數據問題,那麼它們通常可以分為四類 |
| 您可能使用了不正確的格式,可能有不完整的數據,缺少了數據或臟的或混亂的數據。 |
| 為了幫助我們討論這些問題,我們將從STIPS借用一些內容。 而且,如果您不熟悉STIPS,那麼STIPS是我們的免費課程,即“工業問題解決的統計思考”。 |
| 這是一門基於七個獨立模塊的課程,第二個模塊是探索性數據分析。 |
| 而且由於探索性數據分析和數據管理的迭代和交互性質,此模型中的最後一課...在本模塊中稱為“數據準備分析”,因此在整個演講過程中,我們都大量借鑒了本課。 |
| 讓我們分解這些問題中的每一個。 格式不正確。 不正確的格式是什麼意思? 好吧,這是當您的數據採用錯誤的格式或錯誤的格式進行分析時。 這可以應用於整個數據表。 因此,例如,您可能有 |
| 稱為...數據存儲在單獨的列中,但實際上您需要將數據存儲在一個列中。 |
| 也可能是您的數據位於單獨的數據表中,而您需要連接或更新或將數據表連接在一起。 |
| 它可以與各個變量有關。 因此,例如,您可能使用了錯誤的建模類型。 或者您可能在數據表中有日期,因此您可能有日期列,並且可能未將其格式化為天,因此分析可能無法識別這些是...這是日期數據。 |
| 格式化也可以是美觀的。 因此,例如,如果您要處理大型數據表,則可能有很多列... |
| 您可能有名稱...您可能想要更改的列名確實無法識別。 |
| 您可能希望將許多列組合在一起,以使其更易於管理。 |
| 您的“響應”列可能位於數據表的最後,您可能需要將其上移。 因此,外觀問題不一定會影響您的分析,但是,如果您可以解決其中的一些問題,則可以使您的分析更加輕鬆。 |
| 數據不完整就是您缺少數據的時候。 這可能是缺少重要變量的數據。 因此,例如,您可能沒有捕獲關於解決問題的基本變量的數據。 也可能是缺少有關變量組合的數據。 |
| 因此,例如,您可能沒有足夠的信息來估計交互。 |
| 或者您可能有一個您感興趣的目標變量,該目標變量是不平衡的,因此您可能正在研究諸如缺陷之類的東西。 可能只是您觀察的5% |
| 是針對缺陷的,您可能沒有足夠的數據,您知道,您可能只擁有很小的數據子集 |
| 存在缺陷的位置。 您可能沒有足夠的數據來了解潛在的缺陷原因。 您可能也沒有足夠大的樣本量,因此您只是沒有足夠的數據來進行良好的估算。 |
| 缺少數據是指缺少變量的值,這可以採取幾種不同的形式。 |
| 如果您正在丟失數據,並且數據...丟失不是隨機發生的,這可能會導致嚴重的問題,因此您的估算可能會有偏差。 |
| 如果您完全隨機地丟失數據,則僅丟失一些觀測值就不會有問題,但是如果您丟失大量數據,則可能會出現問題。 |
| 髒亂的數據就是您在觀察或變量方面遇到問題的時候。 因此,您可能有錯誤的值,這些值就是錯誤的。 |
| 您可能有不一致之處。 因此,例如,當人們以不同的方式輸入內容時,您可能會遇到錯別字或印刷錯誤。 |
| 該值可能不正確。 因此,例如,您的測量系統可能有問題。 可能有錯誤,可能有錯別字,數據可能已過時。 |
| 過時的數據是指您擁有的數據(例如不再使用的設施或機器)時。 |
| 數據可能已過時,因此您可能要追溯兩到三年的數據,但是在該時間範圍內,該過程可能已更改, |
| 這意味著那些歷史數據可能與當前的流程無關。 您的數據可能已被檢查,或者可能已被截斷。 |
| 您可以有多餘的列,這些列實質上包含相同的信息。 否則您可能有重複的觀察結果。 |
| 因此,骯髒或凌亂的數據可以採用許多不同的形式。 |
| 那麼,您如何確定潛在的問題呢? |
| 好吧,一個很好的起點是瀏覽數據,實際上,發現問題會引導您進行數據瀏覽然後進行分析。 隨著您開始探索數據,您開始識別可能導致分析中出現問題的事物。 |
| 因此,一個不錯的起點是掃描數據表以查找明顯的問題。 |
| 因此,在本講座的其餘部分中,我們將使用一個名為“組件”的示例,這是STIPS課程中的一個示例 |
| 公司正在生產小零件的地方,它們的良率問題。 因此收集了369個批次的數據。 已經捕獲了15個特徵,我們希望使用這些數據來幫助我們了解低產量的潛在根本原因。 |
| 因此,如果我們開始查看數據表本身,就會發現一些線索,說明我們可能會遇到哪種數據質量問題。 這是一個非常好的起點,(並且在JMP 15中添加了它) |
| is是標題圖。 我喜歡標題圖。 它們的作用是,如果您有一個連續變量顯示直方圖,那麼您就可以看到分佈的中心,形狀和分佈。 |
| 它們還會顯示值的範圍。 如果您有分類數據,它將為您顯示條形圖,其中包含數量最多的條形圖的值。 因此,讓我們看一下其中的一些。 我將從批號開始。 因此批號顯示的是直方圖,實際上形狀是均勻的。 |
| 批號可能是一個標識符,所以馬上就可以發現這些數據編碼不正確。 |
| 我可以看到此分佈高度偏斜,並且我也可以看到最小值是-6,這可能使我問起具有負廢品號的可行性的問題。 |
| 過程是另一個。 我基本上有兩個條形,實際上是在顯示只有兩個值的直方圖。 |
| 當我查看這些柱狀圖,標題圖時,我可以查看列面板中的 |
| 很容易看到,例如,批號,零件號和過程都被編碼為連續的。 當您將數據導入JMP時,如果JMP看到數字,它將自動將這些列編碼為連續的數字。 這些是我們可能想要更改的事情。 |
| 我們還可以查看數據本身。 因此,例如,當我查看濕度(當您查看數據時,上下文確實很重要)時,濕度就是我們認為是連續數據。 |
| 但是我在這裡有幾個領域,其中我需要N / A。 |
| 如果您有字母數字數據,並且在數字列中有文本數據,那麼當您將數據拖入JMP時,該列將被編碼為標稱值。 因此,這是馬上就要解決的事情,我們認為我們需要對其進行修復。 |
| 我也可以瀏覽其他列。 因此,例如,供應商,我發現我缺少一些價值。 當您將數據提取到JMP中時,如果存在 |
| 空類別數據的單元格,我們知道我們缺少值。 我可以看到有些條目,我們不一致...輸入數據的方式不一致。 |
| 因此,我得到了一些有關數據潛在問題的重要線索。 |
| 注意所有的點。 溫度是一個連續變量,當我看到點時,表示我缺少值。 因此溫度對我的分析而言確實很重要,這可能會出現問題。 |
| 一個自然的擴展是開始探索數據,一次一個變量。 當我想首先開始查看數據時,我最喜歡的工具之一就是列查看器。 列查看器為我們提供了所選變量的數字摘要。 |
| 如果我們缺少值,那麼將有一個N Missing列。 在這裡,我可以看到我遺漏了369個溫度值中的265個,因此,如果我們認為溫度在分析中很重要,那麼這就是一個嚴重的差距。 |
| 我還可以查看是否有一些奇怪的值。 因此,當我查看諸如Mins和Maxes之類的報廢數量和報廢率時,我得到的是負值。 如果這不可行,那麼我的數據或數據收集系統就會出現問題。 |
| 也很容易看到變量的錯誤編碼。 因此,例如,設施和批號(可能應該編碼為標稱值)報告了平均值和標準偏差。 |
| 考慮這一點的一種好方法是,如果在物理上不可能有平均批號或(部件號是另一個變量)或部件號,則應將其更改為名義變量,而不是連續變量。 |
| 當我第一次熟悉數據時,Distributions是我要去的下一個地方。 |
| 而分佈,如果您有連續的數據,則可以了解數據的形狀,居中和分佈,但是您也可以查看是否有一些異常值。 |
| 對於分類數據,您還可以查看有多少級。 因此,例如,客戶編號。 如果客戶數量是重要變量或潛在重要變量, |
| 我有很多級別或價值的客戶數量。 當我準備數據時,我可能希望將這些數據合併為四個或五個存儲桶,並為那些我實際上沒有大量數據的客戶提供另一個類別。 |
| 濕度。 我們在列中看到不適用的問題。 我們看到的是條形圖而不是直方圖。 |
| 我們可以輕鬆地在供應商數據中看到我們正在查看的內容。 例如,考克斯公司(Cox Inc)和考克斯(Cox),安德森(Anderson)的拼寫有三種不同的方式,赫什(Hersh)的拼寫是三種不同的方式。 |
| 對於速度,請注意速度,我們有一個分佈分佈在60到140之間的分佈,但是在最底層,我們看到有一個或兩個值 |
| 幾乎接近零,這可能是...可能是數據輸入錯誤,但絕對是我們要研究的內容。 |
| 對此的擴展是開始同時查看兩個變量的數據。 因此,例如,使用圖形生成器或散點圖。 |
| 當您一次查看兩個變量時,您可以看到模式,並且可以更輕鬆地看到跨越一個以上變量的異常模式。 |
| 因此,例如,如果我查看報廢率和報廢數量,就會發現我有一些樂隊。 可能是您的數據表中有一些可以解釋這種模式的東西。 |
| 在這種情況下,條帶歸因於不同的批處理大小,因此紫色條帶是我的批處理大小為5,000的地方。 |
| 而且與批量較小的廢料相比,批量較大的廢料有更多的機會。 因此,這可能有些道理,但我也看到了一些沒有道理的事情。 這兩個值在此處處於負範圍內。 |
| 因此,當我查看二維數據時,很容易看到它們。 |
| 我可以使用列切換器和數據過濾器為圖形添加更多維度。 |
| 這也使我進入了潛在的分析範圍,因此我可能有興趣了解可能與廢品率相關的重要的x是什麼。 |
| 同時,查看數據質量問題或潛在問題。 因此,對於廢品率,壓力和廢品率之間似乎存在正相關關係。 |
| 看起來沒有太多的關係。 廢品率與溫度的關係不大,因此這裡沒有太多事情發生。 |
| 但是請注意速度。 這是消極的關係,但是在最上面我看到了這兩個值。我在直方圖上看到的一個值,但似乎還有一個突出的第二個值。 |
| 因此,該值可能在60附近只是一個離群值,但這可能是一個有效的點。 我可能會問,這裡接近0的這一點是否有效。 |
| 因此,我們查看了數據表。 我們一次只查看了一個變量的數據。 我們一次查看了兩個變量的數據,所有這些都恰好適合數據探索並引導我們進行分析。 |
| 我們可能會使用超出本課程或本講座範圍之外的更高級工具(例如,探索異常值,探索缺失值)。 |
| 並且,當您開始分析數據時,您可能會發現其他問題。 因此,例如,如果您有很多類別的類別變量 |
| 並且您嘗試將交互方式擬合到回歸模型中,就知道JMP會警告您您實際上無法做到這一點。 因此,當您開始分析數據時,整個過程都是反復進行的,並且您將在整個過程中找出潛在的問題。 |
| 關鍵是要記下在查看數據時遇到的問題。 其中一些可以是 |
| 在進行過程中進行了更正,因此可以隱藏和排除值,可以進行調整形狀,可以在進行過程中重新清理數據,但是您可能會決定需要收集新數據。 您可能需要執行DOE,以便對數據本身更有信心。 |
| 如果您知道要重複此分析,或者其他人想重複此分析, |
| 那麼您將需要確保捕獲要執行的步驟,以確保可重複性。 其他人可以復制您的結果,或者您以後可以重複分析。 所以這是我要把它交給喬丹的地方,喬丹將 |
| 談論可重現的數據管理。 |
| 喬丹·希勒(Jordan Hiller) | 好的,謝謝你,米婭。 |
| 您好,我是喬丹·希勒。 我是JMP的系統工程師。 讓我們深入研究一下有關可重複性的更多信息 |
| 為您的數據管理。 |
| Mia很好地介紹了這個想法,但讓我們提供更多細節。 這裡的想法是我們希望能夠輕鬆地重新執行 |
| 我們用於準備數據進行分析的所有策展步驟,我發現這樣做有三個主要好處。 首先是效率。 如果您必須...如果您的數據發生變化,並且將來需要在新數據上重播這些管理步驟, |
| 與一遍遍所有點擊活動相比,使用一鍵腳本運行一次效率更高。 準確性是第二個好處。 指向和點擊可能容易出錯,並且通過將其製成腳本來確保正確的再現。 |
| 最後是文檔,這可能沒有得到足夠的重視。 如果您有腳本,它將記錄您執行的步驟 |
| 拿。當您不可避免地需要重新訪問該項目並記住,準備數據時我做了什麼,您可以稍後重新訪問它,這是一條痕跡。 |
| 擁有該腳本是一個很大的幫助。 因此,今天我們將進行案例研究。 我將向您展示如何生成這些可重現的數據管理腳本之一 |
| 僅使用點擊即可。 而且,啟用技術是JMP 16中的新功能。 在增強日誌中可以找到增強日誌和操作記錄。 |
| 因此,這就是我們要做的事情,我們將像往常一樣通過點擊來執行數據管理活動。 當我們這樣做時, |
| 我們需要的腳本,計算機代碼(稱為JSL代碼,用於JMP腳本語言的JSL)將自動為我們捕獲 |
| 在新的增強型日誌中。 然後,當我們完成點擊式策展之後,我們要做的就是獲取該代碼並將其保存下來。 我們可能要進行一些調整,一些修改,只是使其變得更堅固一點,但這部分是可選的。 |
| 好的,這是您可以使用的備忘單。 這是一些最常見的數據清理活動 |
| 以及如何在JMP 16中執行這些操作,以使自己像麵包屑一樣,以使JSL腳本保留在增強型日誌中。 因此涵蓋了諸如對行進行操作,對列進行操作, |
| 修改數據表的方式,我們所有的數據清理操作以及如何通過單擊來完成。 |
| 因此,這也不是您需要進行數據清理的所有操作的詳盡列表,也不是在增強日誌中捕獲的所有操作的完整列表,但是,這是您觸手可及的最重要的內容。 |
| 好了,讓我們使用Mia引入的Components文件進入案例研究,並使用增強的日誌在JMP 16中創建數據管理腳本。 |
| 這裡是JMP 16。 我將注意到這是JMP 16的早期採用者程序的最新版本,因此這是預發行版本。 但是,我確定這將與JMP 16的實際發行版本非常非常相似。 |
| 因此,要查看日誌, |
| 我會在這裡給你看。 如果您習慣了以前版本的JMP的日誌,這看起來會有所不同。 它分為兩個面板, |
| 好吧,頂部是一個消息面板,底部是一個代碼面板。 我們將在這里花費一些時間。 我將向您展示這是什麼樣子,但是,如果我要進行一些快速的活動(例如導入文件並可能刪除此列),那麼讓我們快速預覽一下。 |
| 您可以看到我執行的那兩個步驟(數據導入和刪除列),它們已在此消息面板中列出。 |
| 此代碼位於底部面板的下方,該代碼是可重現的數據管理腳本所需的JSL代碼。 可以,然後呢 |
| 這確實非常令人興奮,僅通過指向和單擊即可擁有此代碼並在需要時隨時獲取它的功能是JMP 16的巨大優勢。 |
| 因此,在JMP 16中,默認情況下會啟用此新的增強日誌視圖。 如果要返回舊版本的日誌(即簡單的文本日誌),可以在“ JMP首選項”部分中執行此操作。 有一個新的 |
| 日誌部分,如果願意,可以切換回日誌的舊文本視圖。 安裝JMP 16時的默認設置是增強日誌,稍後我們將在案例研究中進一步討論其中一些其他功能。 |
| 好了,我要清理一下 |
| 現在從紅色三角形記錄日誌。 清除日誌,讓我們從案例研究開始。 讓我們導入Mia與您共享的Components數據。 我們將從這個csv文件開始。 |
| 所以 |
| 我將通過將其拖入來執行最簡單的導入。 哦,我有一個...我已經打開了一個版本。 對不起,讓我,讓我從關閉舊版本開始 |
| 並再次清除日誌。 |
| 好的,簡單導入 |
| 通過將其拖動到JMP窗口中。 現在,我們有了369個批次的文件A組件,現在讓我們繼續進行數據清理活動。 我打開 |
| 標題圖。 我們首先看到的是,設施欄只有一個條目,其中一個值是FabTech,因此這裡沒有變化,也沒有有趣的地方。 我將通過右鍵單擊將其刪除,然後刪除該列。 |
| 再一次,當我們進入增強日誌時,這將被捕獲。 |
| 好吧,還有什麼? 讓我們想像一下,表末尾的這個報廢率列對我們來說確實很重要,我想在表的前面看到一個。 我要把它移到第四位置 |
| 通過在列面板中抓住它並將其拖動到客戶編號之後的右邊。 好了 |
| Mia提到此濕度欄在進口中的顯示不正確,主要是由於這些N / A |
| 使它作為字符變量進入的字母字符。 因此,讓我們對其進行修復。 我們將右鍵單擊此處進入列信息 |
| 並將數據類型從字符更改為數字,將建模類型從標稱更改為連續。 單擊確定。 讓我們單擊此處的日誌,您可以看到,現在已經捕獲了四個步驟,我們將繼續進行。 |
| 好吧,接下來是什麼? 我們有幾個變量需要從連續更改為名義。 這些是批號,零件號和過程。 因此,在選擇了三個選項後,我將右鍵單擊並從連續更改為名義。 |
| 這些都已得到糾正。 |
| 再一次,我們可以看到這三個步驟記錄在日誌中。 |
| 好吧,還有什麼? 此專欄的其他內容 我的工程師喜歡將該列名稱視為PSI,因此我們只需選擇該列並鍵入PSI即可對其進行更改。 跳到那裡去其他地方。 這也將在日誌中捕獲。 |
| 供應商。 Mia向我們展示了一些不一致的拼寫。 這裡可能有太多值。 我們需要更正字符值。 當列中的字符值不正確且不一致時,請考慮使用重新編碼工具。 |
| 重新編碼工具是解決此問題的一種非常有效的方法。 因此,右鍵單擊供應商,我們將重新編碼。 |
| 然後將它們適當地分組。 我將從一些紅色三角形選項開始。 讓我們將所有值轉換為標題大小寫, |
| 讓我們也修剪該空白,以便糾正不一致的間距。 這已經解決了一些問題。 讓我們手動更正所有其他問題。 我將把安德森一家歸為一類。 我將把考克斯歸為一類。 |
| 對Hershes進行分組。 特魯特納(Trutna)和沃利(Worley)在單個類別上已經是正確的。 我要做的最後一個更正是那些被列為空白或缺失的東西,我會給他們一個明確的 |
| 此處缺少標籤。 |
| 好的,當我們單擊“重新編碼”時, |
| 我們已將這些修復程序添加到名為供應商2的新列中。 |
| 僅有1、2、3、4、5、6個類別已更正並崩潰。 |
| 好的。 |
| 好吧,讓我們做一個計算。 我們將在此處使用批次大小和報廢數量來計算產量。 |
| 正確的。 是的,我知道這有點多餘。 我們已經有了廢品率,而產量只是廢品率的一分之一,但為了便於討論,我們將執行 |
| 計算。 因此,我希望在廢棄數字後立即插入該yield列,因此我將突出顯示已廢棄的數字,然後轉到“列”菜單,選擇“新列”。 |
| 我們將其稱為產量。 |
| 然後,我們將在廢棄數字之後在所選列之後插入新列,然後為它提供一個公式來計算收益。 |
| 我們需要好的單位數量。 這將是批次大小減去報廢的數量。 |
| 這就是好的單位數,我們將把整個數除以 |
| 批量大小。 |
| 合格單位數除以批量大小,這就是我們的產量計算。 |
| 然後單擊“確定”。 |
| 有我們的新 |
| 產量欄。 我們可以看到這是一個減去廢品率。 那是...很好,現在我們忽略一些事實,即我們的收益率大於100%。 |
| 好的,我們快完成了。 只是一些其他更改。 我注意到我們有兩個流程,目前,它們僅被標記為流程1和流程2。 |
| 這不是很描述性,也不是很有幫助。 讓我們給他們更多的描述性標籤。 流程1,我們稱為生產流程;和過程2,我們將其稱為實驗性。 因此,我們將使用值標籤來執行此操作,而不是重新編碼。 我將進入專欄信息 |
| 我們將為一個和兩個分配值標籤。 |
| 此列中的一個代表生產。 |
| 加上那個。 |
| 其中兩個代表實驗性。 |
| 加上那個。 |
| 單擊確定。 好的。 它在標題圖中顯示了一個和兩個,但在數據表中此處顯示了生產和實驗。 |
| 好吧,我們保存腳本之前的最後一步。 假設出於爭論,我只對數據感興趣……我只想在真空關閉時進行分析。 |
| 是的,所以我將對數據進行子集並創建一個僅包含禁用真空的行的新數據表。 我將通過右鍵單擊已關閉真空的這些單元之一來做到這一點 |
| 並選擇匹配的單元格。 |
| 這將選擇313個真空關閉的行。 現在,我們將轉到表子集, |
| 創建一個新的數據表,我們將其命名為vac_off。 |
| 單擊確定。 |
| 好的,這就是我們的新數據表,其中有313行,僅顯示關閉真空的數據。 |
| 到此為止。 我們已經完成了所有數據整理工作,現在讓我們返回並重新訪問日誌,以了解更多有關我們擁有的內容。 |
| 好的,所有這些步驟,以及我不打算做的其他一些步驟,都已記錄在日誌中。 |
| 看看這裡,我們有...每一行都是我們執行的步驟之一。 |
| 還有一些無關緊要的東西,比如我曾經清除了行選擇。 我真的不需要...我真的不需要將其作為腳本的一部分。 |
| 清除選定的行,因此將其刪除。 我只需要右鍵單擊它,然後清除該項目即可將其刪除。 那挺好的。 |
| 好的,所以消息在這裡,JSL代碼在這裡。 我想請您注意來源和結果。 這真是太漂亮了。 |
| 每當我們執行某個步驟時,無論何時我們通過點擊操作來執行操作,您都會知道,有一些事情我們會執行該操作,並且會產生一些結果。 這就是起源和結果。 因此,例如,當我們刪除設施列時... |
| 好吧,也許這是一個不好的例子……讓我們選擇改變濕度的列信息。 起源,我們做的事情 |
| 是“ Components A”表,我們在這裡看到它是數據表。 當我將鼠標懸停在它上面時,它說將組件A移到最前面,是的,是的,將其帶到組件A表。 很不錯。 |
| 結果是我們對濕度色譜柱所做的事情。 我們改變了濕度。 我們將其更改為數值數據類型和連續建模類型。 看到這裡。 |
| 所以我可以單擊此處,轉到“濕度”列,它...突出顯示,它為我們選擇。 JMP為我們選擇濕度列。 |
| 到處都是綠色,除了最後一個導致藍色。 那樣可以幫助我們跟踪不同數據表上的活動。 我們在“組件A”數據表上完成了所有這些活動 |
| 最後一個活動是在“組件A”數據表上執行一個子集,結果是一個名為vac_off的新數據表。 因此vac_off為藍色。 正確,因此我們可以使用這些顏色來幫助您跟踪事物。 |
| 好吧,我想在日誌中向您顯示的最後一個功能是... |
| 有用的是,如果您要執行的步驟很長,並且只需要查找一個步驟,則可以使用此過濾器框進行查找。 假設我要查找子集。 在那裡。 我們找到了子集數據表,我可以直接找到所需的代碼。 |
| 好的,這就是我們需要的一切。 我們的數據管理步驟已被捕獲。 製作可複制的數據管理腳本所需要做的就是轉到紅色三角形,然後將腳本保存到新的腳本窗口中。 |
| 導入步驟,刪除列步驟,移動廢品率步驟。 所有這些步驟都在腳本中。 |
| 我們使用語法著色來幫助我們閱讀腳本。 我們有所有這些有用的評論,可以準確地告訴我們在每個步驟中我們正在做什麼。 |
| 是的,這就是一切。 這就是我們所需要的,我將保存它。 我將其保存為導入和清理到桌面...讓我們將其稱為導入和管理組件。 |
| 是的,那是我們可複制的數據管理腳本。 因此,如果我要返回JMP主窗口並關閉除我們的新腳本之外的所有內容, |
| 如果需要重播這些數據管理步驟,請執行以下操作。 我剛剛打開了腳本文件,我們可以單擊“運行腳本”按鈕來運行它。 打開數據,進行所有清理,執行子設置並創建具有313行的新數據文件。 |
| 現在讓我們想像一下,我們需要在新數據上重播此內容。 |
| 我有另一個版本的Components文件。 它稱為組件B。 它有50多行,因此它有369行,而不是369行。 想像一下,您知道,我們已經對該流程進行了另外50批處理,並且我們有更多數據。 |
| 所以它稱為組件B,我想在組件B上運行此腳本。 但是您會注意到,在整個腳本中,它多次調用了ComponentsA。 因此,我們只需要搜索和替換組件A,然後將其更改為組件B。 編輯。 |
| 搜索。 |
| 我們將找到組件A,將其替換為組件B。全部替換。 15次出現已被替換。 |
| 您可以在這里和這裡看到它。 |
| 現在我們只需要重新運行腳本,就可以在新版本的數據上找到該腳本。 您可以看到它有更多的行,實際上它已關閉。 以前是313,現在是358。 |
| 好的,這樣一個可重現的數據管理腳本可以針對新數據運行。 |
| 好的,這是備忘單了。 這將是我們在演講中保存的資料,因此您可以找到並找到它。 這就告訴您如何指向並單擊數據管理的方式,並為自己留下一個很好的可重播,可再現的數據管理腳本。 |
| 我們編寫的腳本根本不需要我們進行任何編碼,但是我將向您提供一些技巧,您可以使用四個技巧 |
| 對腳本進行一些增強。 第一個技巧是在腳本的開頭插入這一行。 對您的所有腳本來說這都是一件好事。 只需將行名插入默認值即可。 |
| 這是為了防止您的腳本與其他腳本進行交互。 這稱為名稱空間衝突,您實際上不必了解它的作用,只需執行它即可。 這是一件好事。 這是很好的編程習慣。 |
| 第二個技巧是確保JSL表達式之間包含分號。 |
| 增強型日誌會自動為您執行此操作。 它將所需的分號放在每個步驟之間。 但是,如果您自己進行任何修改,則需要確保正確放置了這些分號。 因此,明智的話。 |
| 添加評論。 |
| 註釋是一種將註釋留在程序中並以某種方式保留它們的方式,這樣您就不會弄亂程序了。 這是一種方法 |
| 在程序中留下一些JSL解釋器無法解釋的內容。 並註意到增強日誌已為您保留...增強日誌中的動作記錄已為您保留,但是您可以根據需要進行修改和添加。 因此,這裡是有關評論的要點。 |
| 典型的格式是兩個斜杠,斜杠後面的所有內容均為註釋。 因此,您可以在一行的開頭或行的結尾處執行此操作。 因此,解釋器將運行此X = 9 JSL表達式,但隨後它將忽略斜杠後的所有內容。 |
| 如果註釋較長,也可以使用此格式,該格式在開頭是/ *,在結尾是* /。 附上評論。 因此,註釋對於自己留下筆記很有用,但對於調試JSL腳本也很有用。 |
| 如果要刪除一行代碼並使其不運行,則可以在前面加上這兩個斜杠,如果要在更大的代碼段中使用它,則可以使用此格式。 很高興知道如何使用註釋。 |
| 我要向您介紹的最後一個技巧是概括數據表引用。 您還記得我們必須進行搜索和替換以使該腳本在新文件名Components B上運行的方式嗎? |
| 我們必須在腳本的數據表中更改15個實例。 如果只需要一次而不是15次更改就不好了嗎? 這樣您就可以使腳本更加健壯 |
| 通過概括數據表的引用。 除了使用名稱之外,我們將使用JSL變量來保存這些表名稱。 這就是我在說的。 我給你看一個例子。 |
| 左側是增強日誌中的動作記錄所生成的一些代碼。 |
| 我們正在打開Big Class數據表。 我們正在對年齡列進行操作,將其更改為連續的建模類型,然後創建一個新的計算列, |
| 打開時,我們使用它在“年齡”列上進行更改,然後在此處使用它。 |
| 非常簡單,您需要做些什麼來使其更強大和更通用。 |
| 您需要進行三個更改。 |
| 這是這裡的第一個更改,我們正在分配一個名稱。 我選擇了卑詩省;您可以選擇任何您想要的。 您會經常看到DT。 |
| 因此,BC是在腳本的其餘部分中我們將引用該Big Class數據表的名稱。 所以當我們想改變年齡時 |
| age表示BC數據表和該數據表中的age列。 |
| 在這裡,我們正在向Big Class數據表發送一條消息,這就是雙箭頭語法的含義。 因此,我們只是將其概括化,因此將其推廣化,以便我們使用新名稱發送該消息 |
| 到數據表。 現在,如果我們需要在一個名為Big Class以外的名稱的新數據表上運行此腳本,這是我們唯一需要做的更改。 我們只需要在腳本中更改一個位置。 我們不必搜索和替換。 |
| 好的,因此,在介紹了這四個技巧之後,如果您準備將策展腳本提高到一個新的水平,請執行以下一些步驟。 您可以添加文件選擇器。 不需要太多的編碼 |
| 進行更改,以便當有人運行此腳本時,他們可以導航到要運行該文件的文件,而不必手動編輯該腳本。 |
| 所以這是一個好主意。 如果要將腳本分發給組織中的其他用戶,則可以將其包裝在JMP加載項中,這樣用戶就可以通過從JMP的菜單中選擇腳本來運行該腳本。 |
| 真的很方便。 最後,如果您需要按計劃運行此策劃腳本以更新保留在網絡中某個地方的主JMP數據表,則可以使用Windows中的任務計劃程序或Mac OS中的自動程序來執行按計劃進行。 |
| 因此,總而言之,Mia討論瞭如何通過瀏覽數據並進行迭代以發現問題來進行數據管理。 |
| 如果使這些步驟自動化,您將獲得可重複性的好處,這些就是效率,準確性和記錄您的工作。 |
| 要在JMP 16中執行此操作,您只需照常指向並單擊,您的數據管理步驟就會被增強日誌中的操作記錄捕獲。 |
| 最後,您可以從增強型日誌中導出和修改該JSL代碼,以創建可重現的數據管理腳本。 我們的談話到此結束。 非常感謝您的時間和關注。 |