Data Table タブ

Data Table タブはデータセットの内容を表形式で表示し、フィルタやソートでデータを調べられます。

基本的な使い方 もご覧ください。

Data Table の基本画面

フィルタ機能

フィルタ式を入力して、条件に合う行だけを表示できます。フィルタは Statistics タブにも反映され、フィルタ後のデータのみで統計量を計算します。Graph Builder には独自のフィルタ設定があり、Data Table のフィルタは反映されません。その他の分析タブもフィルタ前の全データを使用します。

基本的な使い方

  1. Data Table タブ上部のフィルタ入力欄に式を入力する
  2. 入力内容が有効なフィルタ式であれば、入力と同時に自動的に適用される
  3. 条件に合う行だけが表示される。行が絞り込まれた場合は、フィルタ入力欄の下に該当行数(Showing N of M rows)が表示される

構文エラー、存在しない列名、列の型と噛み合わない値など式に誤りがある場合は、入力欄が赤く表示されます。エラー内容は入力欄にマウスカーソルを重ねると確認できます。誤った式は適用されず、直前の有効なフィルタが維持されます。

フィルタ式の書き方

フィルタ式は SQL ライクな構文で、比較演算子、LIKE、IN、BETWEEN などが使えます。SQL の知識がなくても、以下の説明と例を参考にそのまま入力できます。キーワード(AND、OR、LIKE、IN など)は大文字・小文字を区別しません。文字列はシングルクォートで囲みます。文字列中にシングルクォートを含める場合は name = 'O''Brien' のように 2 つ重ねて書きます。列名にスペースや特殊文字が含まれる場合はダブルクォートで囲みます。

比較演算子

演算子意味
=等しいspecies = 'Adelie'
!=等しくないspecies != 'Adelie'
>より大きいage > 30
>=以上age >= 30
<より小さいage < 30
<=以下age <= 30

数値リテラルには負の数、小数、指数表記が使えます(例: temperature > -5distance > 5e3)。小数は .5 のように整数部を省略できます。

比較する値は、相手の列の型として読まれます。数値の列に対しては age = '25' のようにシングルクォートで囲んで書いても数値の 25 として比較され、真偽値の列に対しては active = 'true' が true として比較されます。列の型として読めない値(数値の列に対する age = 'unknown' など)は入力欄のエラーになります。

日付列と日時列は、シングルクォートで囲んだ日付と比較します。日付だけの '2024-01-01' も、時刻を含む '2024-01-01T09:00:00Z' も、タイムゾーンを付けた '2024-01-01T18:00:00+09:00' も書けます。日付の部分は '2024/01/01' のようにスラッシュ区切りでも書けます。同じ時刻を指す書き方どうしは同じ結果になります。

パターンマッチ演算子

演算子意味
LIKEパターンに一致(大文字小文字区別)name LIKE '%田%'
ILIKEパターンに一致(大文字小文字無視)name ILIKE '%Smith%'
NOT LIKEパターンに一致しない(大文字小文字区別)name NOT LIKE '%test%'
NOT ILIKEパターンに一致しない(大文字小文字無視)name NOT ILIKE '%test%'

LIKE と ILIKE はテキストの列に対してだけ書けます。数値列や日付列にパターンを指定すると、入力欄がエラーになります。

大文字・小文字の区別は半角と全角の英字に適用されます。ひらがなとカタカナ、全角と半角の文字は、LIKE と ILIKE のどちらでも区別されます。

パターンの書き方:

  • % は任意の文字列(0文字以上)を表します
  • _ は任意の1文字を表します

%_ をそのままの文字として検索するには、直前にバックスラッシュを置きます。MIDAS はバックスラッシュの直後の 1 文字を、ワイルドカードではなくその文字自体として照合します。値に含まれるバックスラッシュを検索するときは、\\ と 2 つ重ねて書きます。

例:

  • name LIKE '%田%' - 「田」を含む
  • name LIKE '山%' - 「山」で始まる
  • name LIKE '%郎' - 「郎」で終わる
  • email LIKE '%@example.com' - @example.com で終わる
  • rate LIKE '100\%' - 「100%」に一致する
  • path LIKE 'C:\\Users%' - 「C:\Users」で始まる

論理演算子

演算子意味
andかつage > 30 and sex = 'male'
orまたはspecies = 'Adelie' or species = 'Gentoo'
()グループ化(age > 30 or salary > 50000) and active = true

集合・範囲演算子

演算子意味
IN (...)値のリストに含まれるspecies IN ('Adelie', 'Chinstrap')
NOT IN (...)値のリストに含まれないstatus NOT IN ('deleted', 'archived')
BETWEEN ... AND ...範囲内(両端含む)age BETWEEN 20 AND 30
NOT BETWEEN ... AND ...範囲外age NOT BETWEEN 20 AND 30

否定演算子

演算子意味
NOT (...)条件の否定NOT (status = 'deleted')

NULL 判定と真偽値

構文意味
IS NULL欠損値bill_length_mm IS NULL
IS NOT NULL欠損値でないbill_length_mm IS NOT NULL
true / false真偽値active = true

列名にスペースや特殊文字が含まれる場合

列名をダブルクォートで囲みます:

"Body Mass (g)" > 4000

数字で始まる列名も同じくダブルクォートで囲みます。囲まないと数値リテラルと区別できず、"5K Time" < 25 のように書きます。

フィルタの例

数値の条件:

body_mass_g > 4000

文字列の条件(シングルクォートで囲む):

species = 'Chinstrap'

複数条件の組み合わせ:

species = 'Adelie' and body_mass_g > 3500

欠損値を除外:

bill_length_mm IS NOT NULL

パターンマッチ(部分一致):

island LIKE '%Dream%'

複数の値に一致:

species IN ('Adelie', 'Gentoo')

範囲指定:

body_mass_g BETWEEN 3500 AND 4500

日付の条件(シングルクォートで囲む):

date_col >= '2024-01-01' and date_col < '2025-01-01'

たとえば species IN ('Adelie', 'Gentoo') でフィルタすると、該当する行だけが表示されます。

フィルタ適用後の表示

フィルタ結果をデータセットとして保存する

フィルタを適用すると、フィルタ入力欄の横に Save Filtered Data ボタンが表示されます。クリックするとダイアログが開き、名前を付けてフィルタ結果を 派生データセット として保存できます。保存したデータセットは新しいタブで開きます。

ソート機能

列ヘッダーのソートボタン(⬍)をクリックすると、その列でデータをソートできます。

単一列ソート

  • 1回クリック: 昇順(▲)
  • 2回クリック: 降順(▼)
  • 3回クリック: ソート解除

複数列ソート

Ctrl/Cmd を押しながらクリックすると、複数列でソートできます。

  • Ctrl/Cmd+クリックした順にソート条件を追加します(昇順)
  • 同じ列を再度 Ctrl/Cmd+クリックすると降順に変わります
  • さらに同じ列を Ctrl/Cmd+クリックするとソートを解除します

複数列ソート時は、ソートボタンに優先順位の番号が表示されます(▲1、▼2 など)。ソートを解除すると、残りの列の優先順位番号は詰め直されます。Ctrl/Cmd を押さずにいずれかの列ヘッダーをクリックすると、複数列ソートは解除され、その列の単一列ソートに切り替わります。

行の選択

Data Table で行を選択すると、他のタブ(Statistics、Graph Builder など)と選択状態が連動します。

選択方法

  • 単一行: 行をクリック
  • 範囲選択: Shift キーを押しながらクリック
  • 追加選択: Ctrl/Cmd を押しながらクリック
  • 行選択の解除: Selected Rows タブの Clear rows ボタンをクリック

選択した行は Statistics や Graph Builder のグラフ上でハイライト表示されます。行選択は統計量の計算には影響しません。統計量の計算対象を絞り込むには フィルタ を使います。タブ間の連動や選択行の保存については行選択の連動を参照してください。

データセットの操作

メタデータの確認

データセット名の横にある ⓘ ボタンをクリックすると、データセットの基本情報(データセット名、タイプ、行数、列数)を確認できます。

列のコンテキストメニュー

列ヘッダーを右クリックするとコンテキストメニューが開きます。

  • Edit Column Name: 列名を変更します。
  • Edit Scale of Measurement: 測定尺度を変更します。測定尺度は Statistics タブで表示される統計量や Graph Builder で選べるグラフの種類に影響します。
  • Convert Column Types...: 列のデータ型を変換するタブを開きます。詳しくは Convert Column Types タブ をご覧ください。
  • Normalize Variants...: 文字列または enum 列で表示されます。大文字小文字や空白の違いなどの表記揺れをまとめて修正するタブを開きます。
  • Number Format...: 数値列(float64 または int64)の表示形式を設定します。固定小数点、カンマ区切り、有効数字などのプリセットから選べます。Settings > Display で設定したデフォルトより優先されます。フォーマットは Data Table タブの表示と、そのテーブルを追加したレポートのデータテーブルに適用されます。エクスポートされる CSV/TSV/JSON は元の値のまま出力されます。
  • Display as Link...: 列の値を URL テンプレートに埋め込み、リンクとして表示します。テンプレートには {列名} の形式でプレースホルダを書きます。プレースホルダは同じ行のその列の値に置き換わり、値は URL エンコードされます。たとえば http://example.com/items/{id} は各行の id 列の値を URL に埋め込みます。リンクになるのはスキームが http または https の URL だけです。自分で作成したプロジェクトと、Official または Trusted の署名がついた MDS ファイル由来のプロジェクトでリンクが描画されます。未知の署名者の MDS ファイル由来のプロジェクトでは、悪意あるリンクを開かせる攻撃を防ぐため、リンクは描画されずプレーンテキストで表示されます。リンク表示を設定した列では、この項目は Edit Link Display... に変わり、現在の URL テンプレートを保持したままダイアログが開きます。ダイアログの Remove ボタンでリンク表示を解除します。

デフォルトの数値フォーマットは Settings > Display で設定でき、データテーブル、SQL Query Editor プレビュー、レポートのデータテーブルの表示に適用されます。プリセットから選択するか、Python 互換の format spec 構文(例: ,.2f でカンマ区切り + 小数点以下 2 桁、.4g で有効数字 4 桁)を直接入力できます。

テーブルメニュー

テーブル右上のメニューボタン(⋮)からデータセットを操作できます。

テーブルメニュー

  • Edit Data: セルの値の修正、行の追加・削除ができます(Primary データセットのみ)
  • Add to Report: テーブルをレポートに追加します
  • Export: データをエクスポートします。詳細はデータのエクスポートを参照
  • View SQL Query: 元の SQL クエリを確認します(派生データセットのみ)
  • Materialize: クエリ結果をプロジェクトファイル(MDS)に保存します(派生データセットのみ)。デフォルトではプロジェクトを開くたびにクエリが再実行されますが、Materialize を有効にすると結果を MDS ファイルに含めます。MDS ファイルのサイズが増えるため、行数の少ない集計結果などに向いています。
  • Reload Dataset...: 元のファイルまたは URL からデータを再読み込みします。ダイアログが開き、CSV、TSV、テキストファイルを選択して読み込みます。URL から読み込んだデータセットでは、ダイアログの Reload from URL ボタンで元の URL から再取得できます。行数の変更は問題ありません。列を追加したり列の順番を変えたりしてもかまいませんが、元のデータセットにあった列はすべて同じ名前で残っている必要があります。元の列が見つからない場合(削除や改名)は、どの列が欠けているかがエラーメッセージに表示され、データセットは更新されません。この場合は新しいデータセットとして インポート してください。文字列以外の型の列を持つデータセットでは、新しいファイルの値がその型に変換できることも必要です。変換できない値がある場合は、列名と件数がエラーメッセージに表示され、データセットは更新されません。raw データセットをリロードした場合、型に合わない新しい値は変換後のデータセットの Convert Column Types タブ の On Error 設定に従って処理されます。リロードすると除外行と行コメントはすべて消去されます。リロードに成功すると、依存する派生データセットも自動的に再計算されます。派生データセット ではこの項目は Reload Source Dataset... と表示され、元になっている Primary データセットをリロードします。ソースの Primary データセットが複数ある場合は、リロード対象を選択するダイアログが先に開きます

行番号列

左端の列は行番号を表示します。この行番号は元データの順序を示し、フィルタやソートを適用しても変わりません。

データのエクスポート

テーブルメニューの Export から、データセットを CSV、TSV、JSON 形式でエクスポートできます。フィルタ条件に合致する行のみが、現在のソート順でエクスポートされます。全データをエクスポートするには、フィルタを解除してください。行番号列はエクスポートに含まれません。

Export Data ダイアログ

File Name - 出力ファイル名を指定します。入力した名前に、選択した形式の拡張子を付けたファイルがダウンロードされます。拡張子は入力欄の右に表示されます。初期値が入っていますが、自由に書き換えられます。

File Format - 出力形式を選択します。

形式説明
CSVカンマ区切り。表計算ソフトや他のツールで広く使える形式です
TSVタブ区切り。データにカンマが含まれる場合に便利です
JSONオブジェクトの配列形式。プログラムから直接読み込めます

Encoding - 文字エンコーディングを選択します。CSV と TSV で有効です。JSON は常に UTF-8 です。

エンコーディング用途
UTF-8標準的なエンコーディング。多くのツールで対応しています
Shift-JIS (CP932)日本語環境の Excel で文字化けなく開けます
EUC-JP一部の Unix 系ツールで使用されるエンコーディングです

Shift-JIS や EUC-JP を選択してエクスポートするとき、データ中にそのエンコーディングで表現できない文字(絵文字、一部のアクセント付き文字など)が含まれていると、警告ダイアログが表示されます。Export anyway でそのまま続行するか、Cancel でエクスポートを中止できます。UTF-8 でエクスポートし直すには、中止してから Encoding を変更します。続行した場合、表現できない文字は HTML 文字参照(&#233; のような形式)に置き換わります。

Add BOM - UTF-8 選択時に BOM を付加します。Excel で UTF-8 の CSV を開くときに文字化けを防ぎます。

Include column headers - 先頭行に列名を出力します。CSV と TSV で有効です。

Export selected rows only - 行を選択 している場合に表示されます。チェックすると、選択した行のみをエクスポートします。選択した行は現在のソート順ではなく、元データの行番号順でエクスポートされます。

欠損値の扱い

欠損値は CSV と TSV では空フィールドとして出力されます。JSON では null リテラルとして出力されます。

プロジェクト保存時の状態

フィルタ式とソート順はプロジェクトファイル(MDS)に保存されます。プロジェクトを再度開くと、前回のフィルタとソートが復元されます。行の選択状態は保存されません。

Next steps

See also