數據表的大小各有不同。有時,我會使用尺寸足夠小的表格,方便在螢幕上顯示:無需滾動,所有需要的內容都能一覽無餘。然而,大多數情況下,我的資料表又高又寬,內容複雜,而且面面俱到。對於這類表格,JMP 中全新的資料表組織和篩選工具顯得特別出色。讓我們透過一些實際數據來探究其中的原因。
我一直是openfoodfacts.org的忠實粉絲,它是一個「由每個人創建、服務每個人的食品產品資料庫」。你可以在其網站上找到幾乎所有食品的詳細信息,但我最喜歡的是它提供了多種不同格式的 數據庫導出功能,包括 CSV(從技術上講,它是 TSV,一種製表符分隔的文件,但 JMP 也可以毫無問題地打開它們)。

然而,這個文件可不是膽小鬼能搞定的!未壓縮的 CSV 檔案大小為 11.6GB,包含超過 400 萬行數據,共 243 列(截至 2025 年 9 月;資料庫持續更新)。這類表格通常難以瀏覽,但 JMP 中的一些新工具讓資料井然有序變得輕而易舉。讓我們先從整理這 243 列開始。
組織列
最大化列表

我要做的第一件事是最大化資料表中的列列表,這是 JMP 的新功能。這個功能雖然簡單,但非常實用!實際上,左側的任何工具都可以最大化,以便您可以看到更多工具。除了列列表之外,如果您有大量的表腳本,最大化某個區域的功能也尤其有用。
分層(嵌套)列組
JMP 長期以來一直支援對列進行分組,但在 JMP 19 中,我們可以進行多層分組以保持列的井然有序(獎勵:列腳本也是如此)。
對於此表,我將首先透過選擇要分組的列來對相似的列進行初始分組,然後在清單上按一下滑鼠右鍵,然後選擇「分組列」。
在這麼大的表格中,分組過程需要花費一些時間和精力,但經過第一輪分組後,我們的表格看起來已經更加井然有序了。

因為我們可以有多個層級的分組,所以我們可以更進一步,將這些列組放入群組中。
為此,我將選擇類似的列組,然後再次右鍵單擊將這些組分組為更大的元分組,包括標識和元數據(這些定義了記錄是什麼以及如何跟踪記錄)、產品標識和分類(這些描述了產品的“誰和什麼”)、來源和出處(產品來自哪里以及如何製造)、成分和配料(產品中包含什麼)以及營養和消費數量以及什麼(它為消費者提供多少)。
進一步分組後,我們的列清單變得更加整齊,查找特定類型的列也變得更加容易。您可能還會注意到,分組顯示在表頭中,這有助於我們追蹤每個列位於哪個部分。

如果您想在網格中特別注意一組列,可以右鍵單擊表格中的標題組來設定該組的背景顏色。這裡我將針對營養資訊列組進行此操作。


注意:對於深度嵌套的表格,您可能需要關閉表頭中各組的顯示。您可以點擊表格左上角的紅色三角形,然後點擊“顯示選項”>“顯示表頭組”,來編輯表頭中顯示的內容。

列標籤
在 JMP 19 中,我們引入了列標記的概念。您可以在列清單的底部找到新的「列標記」區域。除非您的資料表中包含列標記,否則此區域預設為關閉。

首先,我們來談談什麼是標籤。列組和列標籤在組織資料表時起著不同但互補的作用。列組是結構性的:它們要求列是連續的,並且實際上決定了表格的物理排列方式,就像書中的章節一樣。相較之下,標籤是一種靈活的疊加層,可讓您從概念上組織列,而無論它們位於表格中的哪個位置。
標籤可以將不同類別的營養相關列(例如,過敏原和基本營養區域)合併起來,也可以完全跨類別顯示,例如突出顯示“最重要的列”或“百分比列”,讓您可以一次性收集、選擇和查看所有列。這種靈活性使標籤不僅成為組織輔助工具,更是一種強大的分析工具。因為在後續篩選或聚焦分析時,您可以直接操作標籤的列集,而無需在群組結構中費力搜尋。
對於這些數據,我發現一些不同的標籤特別有用:
- 收藏夾:我使用的整體標籤,用來篩選我最常用的群組欄位。
- 常量營養素:用於僅挑選碳水化合物、蛋白質和脂肪列的標籤。
- 維生素:所有營養細節中僅針對維生素列的標示。
建立標籤
我們可以透過選擇清單中的一列或多列來動態建立和指派標籤,以滑鼠右鍵按一下>標籤>新增標籤...
我們也可以在套用標籤之前,點擊「標籤」區域中的「+」按鈕來建立標籤。我發現,當我要在表格中使用很多標籤時,這個功能非常有用;我還可以提前創建標籤,以便以後輕鬆應用。導入之前創建並儲存在“首選項”中的標籤時,我也會這樣做(稍後會詳細介紹)。
我先從「宏量營養素」標籤開始。我在列表中找到並選擇碳水化合物、蛋白質和脂肪列,然後右鍵單擊其中一列 >“標籤”>“添加標籤”…
此對話方塊中唯一必須完成的項目是標籤名稱,但我決定也設定標籤顏色和描述。

因為我設定了標籤顏色,所以我可以在資料網格和清單中看到標籤圖示。我發現這有助於在表格中滾動時識別這些列:

接下來我將製作維生素標籤,這次使用標籤區域中的 + 按鈕。

它會建立一個標籤,該標籤會列在表格的「標籤」區域中,但在我新增之前,不會有任何欄位與此標籤關聯。我將選擇 11 個“維生素”列,在列表中右鍵單擊其中一個,然後選擇“標籤”>“維生素”。

最後,我將建立我的收藏標籤。我將再次使用“列標籤”區域中的“+”,並為此標籤設定一個星號表情符號。此表情符號將顯示在表格網格和清單中設定此標籤的位置。

我需要將此標籤設定在幾個不同的列上。首先,我想將它設置在我所有的“宏量營養素”列上,因此我會在標籤區域中點擊該標籤,這將選中表格中的所有列(這真是個好技巧!)。選取這些列後,我會在清單中右鍵單擊其中一列,然後選擇「標籤」>「收藏夾」。

請注意,列可以套用許多標籤,這反映了概念分組經常重疊的事實。
我還想將另外幾列標記為收藏,包括產品名稱、總卡路里(在此表中名為 energy-kcal_100g)以及產品所屬的類別。要設定這些標籤,我只需找到這些列,在清單內按滑鼠右鍵,然後選擇「標籤」>「收藏夾」。
使用標籤
標籤設定完畢後,我們就可以開始在日常工作流程中使用它們了。以下是我最喜歡的幾種標籤使用方法:
選擇列:點選標籤清單中的標籤名稱,即可在表格中選擇關聯的欄位。這類似於選擇感興趣列的捷徑。
按標籤投放列:啟動平台時,您可以點擊標籤列表,將標籤投放到角色,而無需花時間尋找所需的列。該標籤中的列將填入給定的角色。

過濾清單和表格:我最喜歡的標籤用法之一也是最簡單的用法:使用標籤過濾表格中的列列表。為此,請點擊清單右上角的過濾按鈕,然後從清單中選擇一個標籤。我將選擇“收藏夾”標籤,這樣網格和清單現在只顯示那些已標記為“收藏夾”的欄位。我們可以返回過濾器圖示清除該過濾器或將其他標籤新增至清單。預設情況下,帶有任何選定標籤的列都會顯示在表格中,但您可以選擇「進階…」來設定更複雜的條件(例如,要求列必須帶有所有選定的標籤才能顯示在表格中)。

借助 JMP 19 中的嵌套群組和標籤功能,我們將這 243 列整合到一個井然有序、易於導航的視圖中,從而適應我們對錶格的不同用途。接下來,我們將重點介紹如何導覽和處理這張表格中超過 400 萬行的資料!
篩選資料:動態子集
JMP 現在包含篩選視圖,其作用類似於資料表的動態子集,讓您可以將已從報表中了解的資料篩選功能的強大功能直接帶入資料網格。篩選視圖不是僅篩選圖形或分析中顯示的內容,而是控製表格本身中實際可見的行。您指定條件,只有相符的行才會保留在視圖中,從而為您提供清晰、集中的資料片段以供處理。由於篩選視圖可以保存,因此它們會隨表格一起移動,從而可以輕鬆地在同一資料集上設置多個視角並在它們之間快速切換。實際上,它們將您的表格變成了一種迷你資料庫:您可以劃分出感興趣的子集,稍後返回它們,並將它們用作更深入探索和分析的起點。
建立過濾視圖
建立新的過濾視圖有兩種方法:
- 按一下資料表的「過濾視圖」標籤中的 +(位於左上角)。

- 將滑鼠懸停在列標題上時,點擊過濾器加號圖示。如果您尚未開啟篩選器視圖,則會開啟新的篩選器視圖。或者,如果您已開啟篩選器視圖,點擊此圖示會將此列新增至用於篩選表格的列清單。

首先,我將單擊類別列上的過濾器加號圖標,以便我可以將表格過濾為僅某些種類的食物。

如果您以前曾在 JMP 中使用過資料過濾器,您會在這個新的臨時過濾器視圖中的表格右側認出它(該視圖是臨時的,因為我們尚未儲存它)。
我將類別列設為非結構化文本,這樣我就有了一個自由文本輸入字段,可以用作搜尋框。我輸入了“零食”,並將篩選條件設定為僅顯示屬於零食類別的產品。在本例中,類別描述中約有 24.4 萬行與零食相符。
如果我想在此視圖中新增其他篩選器,可以點擊篩選器中的「與」按鈕,或將滑鼠懸停在要新增的其他列上。我將“卡路里(能量-千卡_100克)”列添加到篩選器中,並將範圍設置為 50-250。我還將“蛋白質(蛋白質_100克)”添加到篩選器中,並將範圍設為 5-10。

現在我們只剩下 2,612 行數據,比一開始的 400 多萬行有所減少。雖然行數仍然很大,但比原始表格的可導航性要好得多,而且可能代表了我們想要進一步探索的表格中的重要子集。
使用過濾視圖
對設定的篩選器滿意後,我們可以點擊表格頂部功能區中的「儲存視圖」按鈕。由於我們可以為這個過濾視圖命名,所以我會給它一個描述性的名稱,以便以後可以返回查看。

當我點擊表格頂部功能區中的「X」時,此篩選視圖會關閉,並返回表格中的原始行。要恢復此視圖,只需點擊過濾視圖標籤中的名稱即可。

使用平台時,過濾視圖的工作方式與過去的本機和全域資料篩選器的工作方式相同:您看到的資料就是平台將分析的資料。
額外提示
標籤具有超能力
標籤中的列屬性
除了幫助您組織和瀏覽表格之外,標籤還可以包含列屬性,例如「值順序」、「值標籤」或「單位」。您可以使用標籤來儲存您經常為列設定的元數據,這樣當您遇到這些列時,只需設定一個標籤,而不必設定許多不同的列屬性。
若要設定標籤的屬性,請在「標籤」清單中以滑鼠右鍵按一下該標籤,然後選擇「編輯」。然後,展開標籤對話方塊的「列屬性」部分,新增要為使用此標籤的任何欄位設定的屬性。
在本例中,我將為「維生素」標籤設定一個列屬性。由於所有這些「維生素」列的單位都是百克,因此我將為此標籤設定「單位」屬性,並將其命名為「每 100 克」。

現在,我所有的維生素列都從標籤中繼承了此列屬性。要查看此屬性,我選擇其中一個維生素列,右鍵單擊並選擇“列資訊”。
我們可以在列資訊的列屬性區域中看到,該列上現在有一個 Units 屬性,旁邊有一個彩色標籤圖標,表示該屬性是從 Vitamins 標籤繼承而來的。
進階說明:如果需要,我們可以透過點擊「複製本地」來覆寫此標籤繼承的列屬性。這樣,我們就可以定義一個僅用於此列的列屬性版本,而不會破壞標籤定義的列屬性。雖然有時這樣做很有用且必要,但我們建議您避免在不希望流經所有已標記列的標籤上使用列屬性,以確保資料表中所有內容在概念上清晰明了。

有很多強大的方法可以利用標籤中的列屬性,我們將在即將發布的部落格文章中詳細討論這些方法。
保存標籤以在不同的表中使用
首次建立標籤時,標籤只會儲存在您使用它的表中。但是,標籤通常在不同的表中很有用,尤其是在重複處理相同類型的資料時。為了節省時間,您可以將標籤儲存到您的首選項中,以便以後在不同的表中使用它們。

若要將標籤儲存到您的偏好設置,請右鍵單擊該標籤,然後選擇「儲存到偏好設定」。我現在將“維生素”標籤保存到我的偏好設定。
如果您想在新表中使用此標籤,請在「標籤」區域中右鍵單擊,然後使用「從首選項匯入…」選項。在空白表中,它如下所示:

將此標籤匯入新表後,我可以右鍵單擊>編輯標籤,看到我設定的所有設定和列屬性都已保留:

單元格的多行編輯
有時儲存格中會有大量文本,而增加列寬或行高則不方便或不切實際。
JMP 現在在資料表底部新增了一個多行單元格編輯器!只需點擊網格左下角的灰色三角形即可顯示多行編輯器。您在編輯器中所做的任何變更都會立即生效。您可以在使用後關閉編輯器,也可以在瀏覽表格時保持編輯器開啟。

數據表從未如此強大
JMP 的最新版本將資料表從僅僅是一個包含行和列的容器,變成了一個可供探索的動態工作區。嵌套組可以控制數百或數千列的雜亂數據,標籤可以在整個表格中分層組織概念,篩選視圖可以動態地篩選出重要的行,從而使您的表格變得更加簡潔、更易於導航,並且更加靈活。此外,JMP 還添加了已儲存標籤、繼承列屬性和全新多行編輯器等便利功能,最終打造出一套工具集,幫助您從最簡單的資料集輕鬆過渡到擁有數百萬行資料的龐大資料。
如果您曾經被龐大、複雜或混亂的表格所淹沒,JMP 將帶您體驗秩序、清晰度和速度,以便您可以比以往更快地利用資料進行探索。
喜歡影片?按此觀看。