大家好。歡迎收看本次關於如何使用點擊操作和基本程式碼破解技巧匯入複雜資料的示範。今天和我一起的是我的同事Wendy Tseng。我們都是JMP的系統工程師。我是Monique Roerdink Lander。
我們將討論如何匯入複雜的數據,這源自於我在研發部門工作時遇到的一些挑戰。今天我們將討論三個例子,它們都與匯入多個資料有關,例如從網站匯入多個圖像、多個資料表或多個PDF頁面。
這些都是比較複雜的資料來源,它們可能用於增強現有資料或其他類型的數據,例如實驗數據。當我遇到這些挑戰時,我最初並不精通腳本編寫。為了應對這些挑戰,我後來學習了腳本編寫,但並非每個人都有時間和興趣學習JSL。
這意味著高效導入此類數據可能比較困難,您甚至可能因為無法投入時間而放棄。但其實不必如此,尤其是在 JMP 17 中引入了工作流程建構器,並在 JMP 18 中添加了更多重要擴充功能之後。
今天,我們將示範如何自動匯入這類資料。我們將使用 Workflow Builder,並且不會使用程式碼,而是直接使用 JSL。我們會進行一些 JSL 解碼,或者我們稱之為代碼破解。我們假設您對 Workflow Builder 有一定的了解,如果您不了解,我們將直接深入講解。今天我們有三個範例。在第一個範例中,我的同事 Wendy 將講解如何自動將圖片匯入資料表。
這是我必須做的事。而且要做很多。我之前從事洗滌劑配方研發工作,經常需要對眼鏡進行磨損和洗滌測試,最終會拍下數百張眼鏡的照片。我想把這些照片匯入我的資料表,以便與影像分析資料關聯起來。
對我來說,當時這確實很棘手。 Wendy 將向我們展示如何有效率地完成這項工作。在第一個例子之後,在第二個例子中,我將講解如何更有效率地從 PDF 文件匯入資料以及進行必要的清理步驟。最後,Wendy 將講解如何從網站匯入資料。那麼,現在就交給 Wendy 吧。
謝謝,莫妮克。在第一個例子中,我將向您展示如何引入圖像來增強您對數據的理解和溝通。我們來看看我們要討論的內容。這次我們不看眼鏡,而是看狗狗的圖片。
您眼前看到的這個資料集包含狗狗的照片,照片列在其中。這裡有28行,對應28張狗狗的照片。這些照片已與美國養犬俱樂部公開的數據集整合在一起,該數據集包含關於狗狗的不同信息,例如梳理頻率和掉毛情況。
接下來我們要看的是它們的性情。這裡有一張圖表,展示了狗狗的受歡迎程度與性情之間的關係。如果我把滑鼠懸停在某個點上,就會顯示那隻狗的照片。這是猴面犬。這是一個很有趣的例子,它能更生動地展現我們從數據中看到的內容。我是如何收集這些數據的呢?正如我所提到的,美國養犬俱樂部(American Kennel Club)有一個公開的資料集,我把這些照片放在一個資料夾裡,然後把它們合併在一起。
我們將一起來看看,首先讓我帶您概覽一下,讓您預覽第一個範例中的內容。我將首先介紹如何匯入多個文件,以便輕鬆地從資料夾中匯入圖片。然後,您將看到工作流程建構器如何將這些圖片與 AKC 資料集合併,並產生一張影像。我們將看到這個範例從簡單到複雜的演變過程。
在最後一個迭代中,您將看到如何使用一些自訂 JSL 程式碼在工作流程建構器中建立使用者提示。我們首先來看看如何使用匯入多個檔案來匯入圖片。我這裡有一個名為 AKC 的資料夾,裡麵包含狗狗的圖片。它還包含其他文件,但大部分是狗狗的圖片,您可以看到這些狗狗圖片都以犬種名稱命名。這一點很重要,因為我們將使用這些資訊與 AKC 資料集進行關聯,該資料集也包含犬種名稱。在開始之前,我將建立一個新的工作流程並點擊錄製。
現在我們來匯入多個文件,並導航到這些文件所在的資料夾。這裡是AKC資料夾,我們要選擇僅包含圖片的檔案。然後我們新增一個檔案名列,因為我們希望將犬種名稱新增到資料表中。現在可以看到,一步就導入了28張圖片。接下來,我可以編輯文件名列。我需要去掉.JPG後綴,以便將其與AKC資料夾中的犬種名稱關聯起來。
我將停止工作流程。我想展示的是,JMP 正在以 JSL 格式擷取此工作流程中的這些步驟。我們打開已完成的工作流程。您可以在這裡看到已完成的工作流程,我將為您示範。這是我之前錄製的,其中導入了數據並創建了這些步驟。但我想說明一點,當您匯入多個檔案時,JMP 會將匯入的資料表命名為第一個檔案名,並在最後一個檔案名稱後加下劃線。
在我的AKC文件夾裡,我的第一隻狗登記的是猴面犬,最後一隻狗登記的是水獺獵犬。我繼續演示這個工作流程,這是結果。圖表和你之前看到的一樣,只是我把點替換成了狗狗的照片。
現在,我們來看看這些行為類別。我將行為分為四大類,分別是警覺、反應靈敏、主動和外向。在完整的AKC資料集中,共有277行資料。由於我只使用了28張圖片,所以實際的類別比圖表中顯示的還要多。我特意省略了冷漠和警惕的犬隻,這樣可以向您展示這個工作流程的可重複使用性。
我們將向AKC資料夾中新增四隻性格孤僻的犬隻,然後重新執行此工作流程,以便您了解其適應性。再次強調,此工作流程最初是針對28隻犬隻建構的。我打開這個資料夾。最後一隻犬是那隻水獺獵犬。我們將從右側匯入這四隻性格孤僻的犬隻,並將它們放入AKC資料夾,而不是AKC2資料夾。
這是我們的AKC資料夾。我把新加入的狗狗照片貼進去。現在我們已經把這些冷漠的狗狗加到AKC資料夾裡了,接下來我們重播一下工作流程。現在你可以看到,圖表裡已經加入了這些冷漠的狗狗。這就是工作流程建構器的靈活性。我們錄製了一個工作流程,它可以匯入圖片,將其與AKC資料集連接起來,進行一些資料清理,並產生圖表。然後,當我們向該資料夾添加更多檔案時,只需點擊運行,所有內容都會自動更新。
讓我們深入探討一下工作流程中的一個步驟。接下來會稍微複雜一些,需要稍微破解一下程式碼,但不會太複雜。我們可以看一下匯入多個檔案的步驟,並查看捕獲到的 JSL 程式碼。 JMP 正在存取一個特定的資料夾路徑,我的狗狗照片就存放在那裡。
如果我想引用另一個資料夾,只需修改這個檔案路徑即可。我剛好還有一個名為 AKC2 的資料夾,裡面有更多狗狗的照片。我在這裡做的只是做這個小小的改動,然後我們就可以重新運行流程了。這次,你會看到 53 隻狗而不是 32 隻,生成的圖表也會更加豐富。
追蹤程式碼的簡單方法是查看步驟設定並對 JSL 程式碼進行一些小的調整。現在,在最後一次迭代中,我們將再做一項更改。如果我想把這個工作流程分享給其他人運行,那麼修改第一步,讓使用者從自己的目錄中設定檔案資料夾就很有意義了。
我們稍後會再次回到這一步,然後向下滾動到最底部。我們可以用「建立視窗」取代「導入資料」步驟。我建議在這裡做的另一個改動是,將資料夾路徑替換成更通用的路徑,例如“桌面”,或像我這裡寫的“文件”。現在我們來執行第一步。
現在您可以看到資料夾已預設為「文件」。我的所有選擇都已保留,例如「新增檔案名稱」列,系統會提示使用者導航到圖片所在的位置。為了總結這個範例,我們了解如何使用「匯入多個檔案」將影像匯入到單一表格中,然後我們了解如何使用工作流程建構器建立可適應的工作流程。接下來,我將把第二個範例交給 Monique。
當然。謝謝你,溫迪。讓我分享一下螢幕。好了。我要隱藏會議控制項。好了。很好。我們都同意,它們比眼鏡的照片可愛多了。這真是一個很棒的例子。第二個例子,我們要看PDF中的數據。
為什麼呢?我以前做研究的時候,有時會深入研究某個主題,然後在一些PDF文件裡發現非常有用的信息。這些資訊可能是化學參考表格、成分數據,也可能是供應商提供的界面活性劑資訊、原料信息,或分析報告。
通常情況下,資料量很大,我不想手動將這些資料複製到資料表中。那麼,我們該如何將這些資料導入JMP呢?今天我將首先示範的是,我們將從點擊式PDF匯入精靈開始,它與Excel匯入精靈和其他匯入精靈非常相似。
這是一個很好的起點。我們將結合工作流程建構器使用它,然後像溫迪一樣,對原始程式碼進行一些修改,以幫助我們實現導入自動化,並簡化流程中的某些部分。
在 JMP 18 中,工作流程建構器新增了一個很棒的功能,可以有效解決清理工作中的一個問題。匯入大量 PDF 頁面後,我們需要清理這些頁面,其中可能包含許多表格。現在,工作流程建構器允許我們查看這些表格。我稍後會示範這個功能。好了,就到這裡。首先,我來介紹一下我們要處理的 PDF 檔案。我打開它。就是這個。
我們將來看一個例子,這是一個兩頁的PDF文件,其中列出了常見脂肪的脂肪酸組成。第一頁列出了動物性脂肪的組成,第二頁列出了植物性脂肪和油脂的組成。
它看起來只是一個格式非常整齊的表格,但當我們仔細查看第一頁時,會發現雖然對於 PDF 來說看起來不錯,但對於 JMP 資料表來說卻存在一些問題。這表明,在導入資料後,我們需要做很多工作才能將其轉換為可用的格式。
例如,我們實際上沒有列標題。第一列是類別。然後是百分比列。這裡還有一列百分比列。這裡有兩列列出了脂肪酸。一列列出飽和脂肪酸,另一列列出不飽和脂肪酸。
這裡還有另一列。另一個問題是這裡有子標題。例如,「牛油」就是一個子標題,它有小計。我們可能需要刪除小計,但顯然,我們還需要將這個子標題的內容填入空白處。
這是另一個問題。正如我所說,有些子標題跨越了兩行,這顯然也會在 JMP 中造成問題,因為 JMP 無法識別它們應該放在一起。
此外,我們還會遇到像這樣跨越多列的資料。導入這些資料後,我們需要清理很多問題。讓我們回到日誌,先看一下最終結果。我們真正想要的是使用 JMP 匯入這兩個頁面,最好只處理其中一個頁面,然後再進行所有清理步驟。
再次提醒,我們最好只在一個頁面上操作,然後讓 JMP 套用到兩個頁面,最後將資料合併起來以便使用。我已經把這個過程錄製到工作流程中了。這是最終結果,之後我們會重新創建它。我先示範一下這個工作流程。
這裡打開了兩個頁面,工作流程建構器正在執行一系列清理步驟。這些步驟很多。它首先處理第一個資料表,然後重設並處理第二個資料表。完成後,它會將這兩個數據表合併,並根據合併後的數據輸出結果。
好了。這次我們比較的是飽和脂肪和純飽和脂肪。好的,我來關閉這些輸出,方法是回滾或重置我的工作流程。實際上,我要完全關閉這個工作流程,然後開啟一個空的工作流程。我會把它停靠在我今天正在處理的項目的右側。
好的,我們從頭開始,開啟PDF檔案。我本來想展示一個PDF導入完美運行的例子,但我想還是算了,你們只需要相信我,有時候你用JMP打開一個PDF文件,JMP就能完美識別你想要的數據表,只需點擊兩下滑鼠,就能把它導入到數據表中。這就是一個完美的例子。
我舉個不太完美的例子。讓我開啟這個PDF檔案。我可以雙擊這裡的鏈接,打開PDF導入精靈。你可以立刻在左側的預覽中看到,JMP無法像以前那樣辨識這個表格。我們能辨識出其中的一部分,但這部分內容無法使用。
首先,我們需要選取“忽略所有表格”,這樣就能重置所有設定。重置完成後,我就可以用滑鼠選取這個表格了。
這樣做的時候,JMP 會猜測列的位置。我這裡稍微放大一下。這樣你就能看到它並沒有辨識出所有的列。這是因為有些標題跨越了多個列。
這沒問題,因為我可以右鍵手動新增。例如,我可以來到體重百分比的右側,右鍵點擊,然後新增列分隔符號。接下來,我需要在第二個體重百分比列的位置做同樣的操作,在這裡新增列分隔符,在那裡也加入列分隔符。
就這張表格而言,目前已經是最佳狀態了。要注意的是,紅色三角形下方還有一些選項。例如,您可以設定用作表頭的行數,這也是一個非常有用的工具。
在這種情況下,我只會匯入第一個表格。當然,我也可以在第二頁做同樣的選擇,這不會太麻煩,因為這只是一個兩頁的PDF檔案。但如果表格有10頁或20頁呢?那就需要點擊很多次,加入各種列分隔符,可能會比較繁瑣。
我先導入第一頁,看看接下來能做什麼。我點選確定。我忘了啟動工作流程錄製器,所以約翰提醒我。我說,好的,請錄製。這裡表格已經導入,這一步也已經錄好了。我停止錄製。我雙擊錄製步驟,把它稍微移開一點,這樣我們就可以查看JSL(工作流程日誌)了。
這是導入第一步的程式碼。我們可以看到它是如何運作的。這是文件所在的位置。然後是一個 PDF 表格函數,接著是另一個表格函數,然後是一個名為「表名」的參數。實際上,這就是我的數據表的名稱。我看到了一些關於行、異質性的內容,然後是第 1 頁。接著我看到一個矩形。那應該是我之前繪製的矩形,我還看到了列邊框。這些應該是我想放置所有分隔線的座標。
看到這個,我就很想試試看能不能加入第二個頁面。我們來試試吧。我們想要新增第二個頁面。就把這個頁面放到「2」的位置。表格名稱也是一樣,我們要把「1」改成「2」。
現在我想運行這段程式碼,我可以右鍵點擊並選擇“運行腳本”直接運行。我們來試試。現在第二個表格打開了。我把它縮小一點,再看一下打開的第二個表格。
我立刻就能看出成功了,因為在這個資料表中,我包含了植物油和脂肪。這是我的第一個頁面表格,裡面是動物脂肪。我只需修改工作流程建構器為我捕獲的腳本,就能輕鬆匯入第二個頁面。複製貼上,或者我再說一遍,複製貼上或修改這裡的程式碼可能比我手動點擊並添加所有列分隔符號要快得多。這或許能節省一些時間。
接下來我想做的是為第二部分——清理工作——做準備。我先示範一下,然後再解釋我為什麼要這麼做。我希望透過一個步驟就能開啟這兩個資料表。我需要知道的是,當我使用 PDF 匯入精靈匯入兩個表格時,JMP 會如何記錄這個過程。如果我不知道,最簡單的辦法就是重新開始錄音。首先,我要重置這裡的輸出,關閉這個窗口,只是為了保留這個窗口。
現在我重新開始錄製,然後點擊一個PDF檔案。接下來我要忽略所有表格。我不太在乎這些表格的具體樣式,我只想看看如果每頁放兩個表格會發生什麼事。點選“確定”。我要查看相關的步驟代碼。
這是該步驟的程式碼。對於第一個步驟,我認為它從這裡進入了這一步。當我導入兩個表時,JMP 似乎重複使用了表函數。這裡我有一個表,然後是一個逗號,接著是另一個表。這似乎是導入兩個表的結構。
既然我知道了,我可以刪除這一步。我不需要它。我可以稍後再回到這一步。現在我想做的是,我把這個框再放大一點,然後把遊標放在第一個表格的括號左邊,這樣就能選取右括號。找到了。現在我知道需要複製所有這些內容,我只需按 Ctrl + C 即可。然後,把前面的內容向下移動,按 Ctrl + Pace 貼上進去,再添加逗號,就像我們剛才發現的那樣。
現在我可以先改一下,我要把它改回1。我要把標題改回1,頁碼也改回1,然後第二頁會顯示第2頁,第2頁。好了,我們把這些都關掉,看看這樣行不行。
當我執行這一步時,確實得到了這兩個數據表。這就是我現在一步完成所有操作的原因。我為什麼要這樣做呢?我這就解釋。我要關閉輸出。我要關閉這個工作流程,然後開啟另一個工作流程。我還要把它再次停靠到右側。
這個工作流程包含這一步驟。我雙擊這裡導入兩個表格。這是我的表格 1,這是我的表格 2(位於第 2 頁)。然後我錄製了一些清理步驟,這些步驟都是針對表格 1 進行。當我選取第一個步驟時,可以看到它位於第 1 頁。我把所有清理步驟都分組了,可以看到很多。本次示範中我們不會詳細介紹,但之後會提供相關資源供您查閱。
現在重要的是,我們已經對其中一個資料表完成了所有清理步驟,那麼如何對第二個資料表執行相同的操作呢?在 JMP 18 中,這變得非常簡單。我們只需要右鍵單擊並選擇“分組寬度”。讓我先說明一下。我已經選中了所有需要重複執行的清理步驟,然後我將右鍵單擊並選擇“分組寬度”。
現在 JMP 已經為每個項目對這些步驟進行了分組或分類。但是它提示沒有選擇任何來源。我得處理一下。我需要告訴 JMP 循環執行哪些步驟。為此,我需要在“步驟設定”下查看來源。這很簡單。我只需要告訴 JMP 指向產生多個輸出的工作流程步驟。
在這種情況下,我將選擇「匯入到 PDF 頁面」步驟。在這個步驟中,我建立了兩個表格。現在 JMP 就知道需要對產生的兩個輸出執行所有這些步驟。讓我們來看看是否有效。
我要運行一下。我們打開了兩個輸出。它在運行。不,它還沒運作。它正在執行第一個表格的步驟。然後,當它完成某個步驟後,它應該會切換到第二個表格。好了,它開始運行第二個表格了。我覺得這真是個很棒的功能,尤其是有兩個以上表格的情況下。
我最近導入了一個13頁的PDF檔。導入之後,我清理了其中一個表格,然後查看了所有13頁文件的操作步驟。效果非常好。好了,這就是我想展示的內容。
接下來我們來看最後一個例子。這個例子是關於從網站匯入資料的。這完全是我在研發部門工作時所做的。當時我需要取得水硬度的數據。水硬度是配方設計中的重要考量。我在一個網站上找到了一些非常有用的信息,並非常仔細地整理出了配方。接下來,Wendy會為我們解釋如何更優雅地完成這項工作。我就不再贅述了,接下來交給Wendy吧。
好的,聽起來不錯。好的,我們來看例3,我們會仔細研究「For Each」循環,或者簡單來說,「For Each」就是循環。讓我們來看看Monique找到水硬度數據的網站。我現在在HydroFlow USA網站,如果我們進入這個互動式地圖區域,我可以導航到美國地圖。
HydroFlow USA 提供城市層級的水硬度數據。我將導航到我們都居住的明尼蘇達州,然後點擊此連結向您展示包含明尼蘇達州資訊的頁面。該頁麵包含一個表格,列出了各個城市、對應的郵遞區號以及兩種不同單位的水硬度。
查看這個網址,其他州的網址結構也相同,都是州名加上水硬度。莫妮克的問題在於如何從網路上取得這些數據,以便完善她的分析。
使用 JMP,我將所有州的飲用水硬度資料匯入到這樣一個資料表中。可以看到,表中有 855 行,因為每個州包含多行數據,分別對應多個城市。有了這些數據,Monique 就能擴展她的分析。如果我播放這段視頻,可以看到,它能非常簡潔地模擬州級飲用水硬度。
在範例 3 中,我將向您展示一些工具。其中一個工具是使用 JMP 的 Internet Open 函數從網頁存取資料。然後,我們將對這個 Internet Open 函數進行循環處理。我們將它封裝在一個循環中,以便將所有州的資料匯總到一個表格中。
我們先來看看「Internet Open」功能。我先來獲取一下網頁的URL。我直接用Ctrl+C複製這個包含「明尼蘇達州水硬度」的網頁,然後建立一個工作流程。點選錄製,現在我們依序點選「檔案」、「Internet Open網頁」。貼上URL,然後點選確定。
JMP偵測到該頁面上有一個表格。我點擊“確定”繼續。這應該能讓你初步了解從單一頁面匯入資料的功能。
我進入工作流程並停止錄製。查看錄製內容,發現 JMP 正在運行或錄製這段 JSL 程式碼。它其實就是一個包含 URL 名稱的 open 語句,以及一些關於它是一個 HTML 表格的詳細資訊。考慮到這一點,我們肯定不希望每次都要單獨訪問這 51 個頁面。
理想情況下,我們應該有一個導入步驟,可以循環遍歷所有州。現在我們再來討論水硬度,但首先我們要看一下 JMP 文件中的一個範例,該範例描述了 for each 語句的工作原理。
如果你點擊資料中的這個鏈接,就能直接跳到範例。我會在投影片中講解這個範例,然後我們一起動手搭建。哦,好的。讓我打開幻燈片。
我會確保在上傳的版本中修復這個問題。好的,JMP 文件範例中的目標是建立一組圖表,具體來說,就是為每種性別分別建立三個分佈圖。範例中使用的資料集是糖尿病資料集,其中包含兩種性別。建構方法是從糖尿病資料集中建立一個包含性別 1 和性別 2 的子集,然後僅針對性別 1 建立分佈圖,最後將步驟 2 封裝在一個 for each 循環中,這樣工作流程就可以同時適用於性別 1 和性別 2,而無需實際記錄性別 2 的步驟。
讓我們從頭開始建立這個流程。我將建立一個新的工作流程,然後點擊「錄製」。我們來找到糖尿病資料集。這就是糖尿病資料集,這裡可以看到性別 1 和性別 2。我們先按性別進行子集化。我們再來一次,因為我們想要取消選擇某些行。按性別子集化。在預覽中,您可以看到性別 1 和性別 2。我應該得到兩個表,沒錯。這是性別 1 和性別 2 的表。
我先從性別1開始,創建視覺化圖表。為了簡單起見,我將建立一個包含三個變數的分佈圖。現在我進入我的工作流程。我們進入正確的工作流程。在這裡你可以看到,我實際上錄製了好幾個步驟,因為我需要重複幾次。
接下來你會看到一些製作過程。因為我已經重新提交了,所以我們會刪除不需要的步驟。讓我們先運行一下,確保我們需要的內容都已準備就緒。開啟資料表,將資料表子集化為性別 1 和性別 2,然後我應該就能得到性別 1 的分佈情況了。好了。性別 1、性別 2,然後這裡就是性別 1 的數據。
現在,對於每個循環,我將選擇這個報告步驟,右鍵單擊並選擇“分組”>“循環”。這就是我想要循環執行的內容。現在,如果我運行到這個循環,已經選取的工作流程步驟是我之前進行子集分割的步驟,所以這裡不需要做任何變更。現在,當我重新運行工作流程時,你會看到運行了兩個分佈,分別對應兩性。好了。這是性別 1,這是性別 2。
我們如何使用這種框架從 HydroFlow 取得所需的水硬度數據?這裡需要做一些清理工作。我們將回到幻燈片,並針對水硬度進行調整。考慮到我需要遍歷各州,我的想法是,建立一個類似於糖尿病範例的表格,然後將該表格細分為包含 URL 的每個州的單獨表格。我將記錄其中一個州的網路開放情況,然後將該網路開放情況封裝在一個 for each 循環中,以便它能夠記錄所有州的網路開放情況。
讓我們來示範一下我完成的工作流程。你會注意到,演示過程中只會用到少數幾個狀態,因為如果包含所有狀態,演示時間會太長。我只會執行資料清理步驟之前的部分,這樣我們就可以先討論一下,然後再示範剩餘部分。
「州」表被打開,然後被細分為包含 URL 的各州。現在您可以看到每個州的網路存取過程。如果您查看工作區,我已經完成了這五個州的互聯網訪問。
如果我回到工作流程並啟用其餘步驟,您將看到所有這些資料合併到一個狀態表中,同樣,在這種情況下只有五個狀態,然後是一個顯示水硬度的圖表。
我們來看看工作流程,以下是每個步驟的說明。接下來,我要介紹這個範例中存在的額外複雜性。在「匯入 HTML」步驟中,為了開啟 Internet,需要新增一些自訂 JSL 程式碼。展開來看,我修改了從工作流程建構器錄製的這個匯入步驟。現在,我將回到幻燈片中,以便我們討論這些具體的變更。
這段語句是工作流程建構器在我開啟阿拉巴馬州網頁時所記錄的內容。由於我需要引用所有州的數據,我將用一個通用變數來替換它,這個變數就叫做「網址」。然後,如果我們只考慮阿拉巴馬州的資料表,我需要能夠透過這個網址引用資料表中的特定儲存格,而該儲存格包含的是URL。
透過學習 JMP 腳本語言,可以與資料表進行交互,只需說“資料表”,然後就能得到資料表的名稱。
當我們引用資料表中的某一列時,我們需要先寫出資料表名稱,然後再加一個冒號,最後寫上列名。例如,資料表名為 `state`,列名為 `Alabama`,URL` 就是列名。最後,因為我們需要指定包含 URL 的儲存格,所以要加上括號。對於所有州,列名都是數字 1,因為每個表都只有一行,而這一行就是包含 URL 的儲存格。
總結這個例子,你看到如何使用 Internet Open 來從網頁取得資料。然後我們深入探討了 JMP 文件範例中的 for each 迴圈。接下來,你看到了我是如何透過一些自訂 JSL 程式碼來修改它,從而存取 Internet Open 中的資料的。最後,我會把總結部分交給 Monique。
是的,謝謝 Wendy。今天我們向您展示如何匯入各種數據,包括圖像、PDF 數據、網頁數據,以及如何在不編寫腳本的情況下自動化。 Workflow Builder 是一款非常棒的工具。您也可以透過查看它為您記錄的 JSL 程式碼並進行一些小的修改來進一步擴展其功能。不要害怕查看 JSL 程式碼,大膽嘗試吧!感謝您今天的參與,希望這對您有所幫助。