データテーブルには様々なサイズがあります。画面に収まるほど小さなテーブルを扱うこともあります。スクロールする必要がなく、必要なものがすべて表示されます。しかし、ほとんどの場合、データテーブルは縦長で幅が広く、複雑で、多面的な要素を含んでいます。このようなテーブルでは、JMPの新しいデータテーブル整理ツールとフィルタリングツールが威力を発揮します。実際のデータを使って、その理由を見てみましょう。
私は長年、 オープンフードファクトのファンです。これは「みんなが作った、みんなのための食品データベース」です。この Web サイトを使えば、ほとんどすべての食品の詳細情報を見つけることができますが、私が気に入っているのは、 データベースを CSV などさまざまな形式できれいにエクスポートできることです (厳密にはタブ区切りの TSV ファイルですが、JMP でも問題なく開くことができます)。

しかし、このファイルは心臓の弱い方にはおすすめできません!非圧縮CSVは11.6GBで、行数は400万行強、列数は243です(2025年9月現在。データベースは継続的に更新されます)。このような表は操作が非常に難しいですが、JMPの新しいツールを使えば簡単に整理できます。まずは、この243列を整理してみましょう。
列の整理
列リストを最大化

まず最初に、データテーブルの列リストを最大化します。これはJMPの新機能です。シンプルな機能ですが、非常に便利です!実際、左側のツールはどれも最大化できるので、より多くのツールを見ることができます。列リストに加えて、領域を最大化できる機能は、テーブルスクリプトの数が多い場合に特に便利です。
階層的(ネストされた)列グループ
JMP はこれまでも列のグループ化をサポートしてきましたが、JMP 19 では、列を整理するためにさまざまなレベルのグループ化を行うことができます (特典: 列スクリプトでも同じことが当てはまります)。
この表では、まずグループ化したい列を選択して類似の列の初期グループ化を開始し、次に列リストを右クリックして「列のグループ化」を選択します。
このように大きなテーブルでは、グループ化のプロセスに少し時間と注意が必要ですが、最初のグループ化の後で、テーブルはすでに整理されたように見えます。

グループ化には複数のレベルがあるため、これらの列グループを取得して、それ自体をグループにまとめることで、さらに一歩進めることができます。
これを行うには、同様の列グループを選択し、再度右クリックして、これらのグループを、識別とメタデータ(レコードの内容と追跡方法を定義)、製品識別と分類(製品の「製造者と製品」を説明)、ソースと由来(製品の原産地と製造方法)、構成と原材料(製品に含まれるもの)、栄養と消費(消費者に提供するものとその量) のより大きなメタグループにグループ化します。
表をさらにグループ化すると、列リストがより整理され、特定の種類の列を簡単に見つけられるようになります。また、グループ化された列が表のヘッダーに表示されるので、各列がどのセクションに属しているかを把握しやすくなります。

グリッド内で特に注目したい列のグループがある場合は、表のヘッダーグループを右クリックして、グループの背景色を設定できます。ここでは、栄養成分の列グループにこの設定を適用します。


注: ネストが深い表の場合は、表のヘッダーにグループを表示しないように設定することもできます。表の左上にある赤い三角形をクリックし、「表示オプション」>「ヘッダーグループの表示」を選択すると、表のヘッダーに表示される内容を編集できます。

列タグ
JMP 19では、列タグの概念が導入されました。列リストの下部に新しい列タグ領域が表示されます。データテーブルに列タグがない限り、このセクションはデフォルトで閉じられています。

まず、タグとは何かについて説明しましょう。列グループと列タグは、データテーブルを整理する上で、それぞれ異なる目的を持ちますが、互いに補完し合います。グループは構造的なものであり、列が連続している必要があり、本の章のように、テーブルを物理的にどのように配置するかを決定します。一方、タグは柔軟なオーバーレイであり、列がテーブル内のどこに配置されているかに関係なく、概念的に列を整理できます。
タグは、異なるグループ(例えば、アレルゲンと基本栄養成分)にある栄養関連の列を統合したり、グループを横断して「最も重要な列」や「パーセンテージ列」などを強調表示したりすることで、一度にすべての列を収集、選択、表示できます。この柔軟性により、タグは整理に役立つだけでなく、強力な分析ツールにもなります。後でフィルタリングや分析のフォーカスを行う際に、グループ構造を辿るのではなく、タグ付きの列セットを直接操作できるからです。
これらのデータについては、いくつかの異なるタグが特に役立つことがわかりました。
- お気に入り: 最もよく使用する列の小さなセットのみをフィルターするために使用する全体的なタグです。
- 主要栄養素: 炭水化物、タンパク質、脂肪の列だけを取り出すためのタグ。
- ビタミン: すべての栄養詳細情報のうち、ビタミンの列のみのタグ。
タグの作成
列リストで列を選択し、右クリック > タグ > タグの追加… を実行することで、タグを即座に作成して割り当てることができます。
タグエリアの「+」ボタンをクリックすることで、適用前にタグを作成することもできます。これは、表で使用するタグが多数ある場合に便利です。また、事前にタグを作成しておけば、後で簡単に適用できます。また、以前に作成して設定に保存したタグをインポートする場合にも、この操作を行います(詳細は後述)。
まずは主要栄養素のタグから始めましょう。列リストで炭水化物、タンパク質、脂質の列を見つけて選択し、いずれかの列を右クリックして「タグ」>「タグを追加…」を選択します。
このダイアログで入力する必要がある項目はタグ名のみですが、タグの色と説明も設定することにしました。

タグの色を設定したので、データグリッドと列リストにタグアイコンが表示されます。これは、テーブルをスクロールするときにこれらの列を識別するのに役立ちます。

次に、タグ領域の + ボタンを使用してビタミン タグを作成します。

タグが作成され、表の「タグ」領域に表示されます。ただし、列を追加するまでは、このタグに関連付けられた列はありません。ビタミンの11個の列を選択し、列リストで1つを右クリックして、「タグ」>「ビタミン」を選択します。

最後に、お気に入りタグを作成します。列タグエリアで再び+を使用し、今回はこのタグに星の絵文字を設定します。この絵文字は、このタグが設定されているテーブルグリッドと列リストに表示されます。

このタグをいくつかの列に設定したいと思います。まず、マクロ栄養素の列すべてに設定したいので、タグエリアでそのタグをクリックします。これで、表内のすべての列が選択されます(とても便利な機能です!)。選択された状態で、列リストでいずれかの列を右クリックし、「タグ」>「お気に入り」を選択します。

列には多くのタグを適用できることに注意してください。これは、概念的なグループ化が重複することが多いという事実を反映しています。
商品名、総カロリー数 (この表では energy-kcal_100g という名前)、製品が属するカテゴリーなど、お気に入りとしてタグ付けしたい列があといくつかあります。これらのタグを設定するには、それらの列を見つけて、列リスト内で右クリックし、[タグ] > [お気に入り] を選択します。
タグの使用
タグの設定が完了したら、通常のワークフローで使い始めることができます。以下に、私が気に入っているタグの使い方をいくつかご紹介します。
列の選択:タグリスト内のタグ名をクリックすると、テーブル内の関連する列が選択されます。これは、興味のある列を選択するためのショートカットに似ています。
タグによる列のキャスト:プラットフォームを起動する際に、タグのリストをクリックしてロールにタグをキャストすることで、興味のある列を探す時間を節約できます。そのタグに指定された列が、指定されたロールに入力されます。

列リストとテーブルのフィルター処理:タグの私のお気に入りの使い方の 1 つは、最もシンプルなものです。タグを使用して、テーブル内の列のリストをフィルター処理します。これを行うには、列リストの右上にあるフィルター ボタンをクリックし、リストからタグを選択します。お気に入りのタグを選択すると、グリッドと列リストには、お気に入りのタグが付けられた列だけが表示されます。フィルター アイコンに戻ってフィルターをクリアするか、リストに他のタグを追加することができます。デフォルトでは、選択したいずれかのタグが付いた列がテーブルに表示されますが、[詳細設定...] を選択して、より複雑な条件を設定できます (例: テーブルに表示するには、列が選択したすべてのタグでタグ付けされている必要があるなど)。

JMP 19のネストされたグループとタグを使用することで、243個の列を整理し、操作しやすいビューにまとめ、表の様々な用途に適応できるようになりました。次に、この表の400万行を超える行の操作方法を見ていきましょう。
データのフィルタリング: 動的サブセット
JMPに、データテーブルの動的なサブセットとして機能するフィルタービューが追加されました。これにより、レポートで既におなじみのデータフィルターの機能をデータグリッドに直接組み込むことができます。グラフや分析に表示される内容だけをフィルターするのではなく、フィルタービューではテーブル自体に実際に表示される行を制御します。条件を指定すると、条件に一致する行だけが表示されるため、データの明確なスライスを操作できます。フィルタービューは保存できるため、テーブルと一緒に移動でき、同じデータセットに対して複数の視点を設定し、それらをすばやく切り替えることが容易になります。つまり、テーブルは一種のミニデータベースになります。つまり、関心のあるサブセットを切り出し、後でそれらに戻って、より深い探索と分析の出発点として使用することができます。
フィルタービューの作成
新しいフィルター ビューを作成するには、次の 2 つの方法があります。
- データ テーブルの [フィルター ビュー] タブ (左上) にある + をクリックします。

- 列のヘッダーにマウスオーバーしてフィルターのプラスアイコンをクリックすると、まだフィルタービューが表示されていない場合は新しいフィルタービューが表示されます。すでにフィルタービューが表示されている場合は、このアイコンをクリックすると、その列がテーブルのフィルター処理に使用されている列のリストに追加されます。

まず、カテゴリ列のフィルタープラスアイコンをクリックして、テーブルを特定の種類の食品だけに絞り込みます。

以前に JMP でデータ フィルターを使用したことがある場合は、この新しい一時的なフィルター ビューのテーブルの右側にフィルターが表示されます (ビューはまだ保存されていないため一時的なものです)。
カテゴリ列を非構造化テキストに設定し、検索ボックスとして使えるフリーテキスト入力フィールドを用意しました。「スナック」と入力し、スナックカテゴリに属する商品のみを表示するようにフィルターを設定しました。この場合、カテゴリの説明のどこかに「スナック」という単語が一致した行が約24万4千件あります。
このビューに別のフィルターを追加したい場合は、フィルターの「AND」ボタンをクリックするか、追加したい列にマウスを合わせるだけです。「カロリー(energy-kcal_100g)」列をフィルターに追加し、範囲を50~250に設定します。また、「タンパク質(proteins_100g)」列もフィルターに追加し、範囲を5~10に設定します。

残った行数は2,612行で、当初の400万行以上から減少しました。それでも行数は多いですが、元のテーブルよりもはるかに操作しやすくなり、今後さらに調査したいテーブルの重要なサブセットを表している可能性があります。
フィルタービューの操作
フィルターの設定に問題がなければ、テーブル上部のリボンにある「ビューを保存」ボタンをクリックします。このフィルタービューに名前を付けることができるので、後で簡単に参照できるように分かりやすい名前を付けます。

表の上部にあるリボンの「X」をクリックすると、このフィルタービューが閉じられ、表の元の行に戻ります。ビューを復元するには、フィルタービュータブで名前をクリックするだけです。

プラットフォームを操作する場合、フィルター ビューは、これまでのローカル データ フィルターやグローバル データ フィルターと同じように機能します。つまり、表示されるデータは、プラットフォームが分析するデータです。
ボーナスのヒント
タグにはスーパーパワーがある
タグ内の列プロパティ
タグは、表の整理やナビゲーションに役立つだけでなく、値の順序、値のラベル、単位といった列のプロパティも保持できます。タグを使用して、列に日常的に設定しているメタデータを保存しておくことで、それらの列に遭遇したときに、複数の異なる列プロパティを設定するのではなく、単一のタグを設定するだけで済みます。
タグのプロパティを設定するには、タグリストでタグを右クリックし、「編集」を選択します。次に、タグダイアログの「列のプロパティ」セクションを展開し、このタグを使用する列に設定するプロパティを追加します。
この例では、「ビタミン」タグに列プロパティを設定します。これらのビタミン列はすべて100グラム単位なので、このタグの単位プロパティに「100グラムあたり」という名前を付けます。

これで、すべてのビタミン列にタグからこの列プロパティが継承されました。これを確認するには、ビタミン列の1つを選択し、右クリックして「列情報」を選択します。
列情報の列プロパティ領域を見ると、列に Units プロパティがあり、その横に色付きのタグ アイコンが表示されています。これは、このプロパティが Vitamins タグから継承されたことを示しています。
高度な注意:必要に応じて、「ローカルにコピー」をクリックすることで、タグによって継承された列プロパティを上書きできます。こうすることで、タグによって定義された列プロパティに影響を与えることなく、この列のみに適用する列プロパティのバージョンを定義できます。これは場合によっては便利で必要ですが、データテーブル内の概念的な明確さを保つために、タグ付けした列全体に反映させたくないタグでは列プロパティを使用しないことをお勧めします。

タグ内の列プロパティを活用する強力な方法は数多くありますが、それについては今後のブログ投稿で詳しく説明します。
異なるテーブル間で使用するためにタグを保存する
初めてタグを作成すると、タグは使用したテーブルにのみ保存されます。しかし、タグは複数のテーブルにまたがって使用する場合、特に同じ種類のデータを繰り返し操作する場合に便利です。時間を節約するために、タグを好みの設定に保存しておけば、後で別のテーブルで使用できます。

タグを自分の設定に保存するには、タグを右クリックして「設定に保存」を選択します。ここでは「ビタミン」タグを自分の設定に保存します。
このタグを新しいテーブルで使用したい場合は、「タグ」領域を右クリックし、「環境設定からインポート…」オプションを使用してください。空のテーブルでは、以下のように表示されます。

このタグを新しいテーブルにインポートした後、右クリックして「タグを編集」を選択すると、設定したすべての設定と列プロパティが保持されていることを確認できます。

セルの複数行編集
セル内に大きなテキスト ブロックがある場合、列の幅を広げたり行の高さを広げたりすることが不便であったり、実用的でなかったりすることがあります。
JMPでは、データテーブルの下部に複数行セルエディタが追加されました。グリッドの左下隅にある灰色の三角形をクリックするだけで、複数行エディタが表示されます。エディタで行った変更はすぐに反映されます。エディタは使用後に閉じることも、テーブル内を移動する際に開いたままにすることもできます。

データテーブルはかつてないほど強力になりました
JMPの最新リリースでは、データテーブルが単なる行と列のコンテナから、発見のための生きたワークスペースへと進化しました。数百、数千もの列の広がりを抑えるネストされたグループ、テーブル全体に概念的な整理を施すタグ、そして重要な行を動的に切り出すフィルタービューなどにより、テーブルはより整理され、操作しやすく、柔軟性が飛躍的に向上します。さらに、保存されたタグ、継承された列プロパティ、新しい複数行エディターなどの便利な機能も追加され、最もシンプルなデータセットから数百万行に及ぶ巨大なデータセットまで、スムーズに移行できるツールセットが完成しました。
大規模で複雑、または乱雑な表に圧倒されたことがあるなら、JMP は秩序、明瞭性、スピードを実現し、データからこれまでよりも速く発見を得られるようお手伝いします。
動画をご希望ですか? こちらからご覧ください。