Data Table タブ

Data Table タブは、データセットを行と列の表として表示するタブです1。このタブでは、行の絞り込みと並べ替え、行と列の選択、列の設定、行の除外、値の編集、データセットのエクスポートとリロードができます。

Data Table タブは、Project Overview のデータセット一覧、メニューバーの View > Dataset、ペイン内の + ボタンから開けます。

同じデータセットに対して複数の Data Table タブを開けます。フィルタ式・並べ替えの条件・列幅はタブごとの設定で、同じデータセットの別のタブには影響しません。プロジェクトを保存して開き直すと、各タブは保存したときの設定で開きます。

画面の構成

Data Table タブの画面は、次の図の 1 から 7 の部分からなります。

画面の各部に番号を振った Data Table タブ

  1. データセット名
  2. Dataset Metadata ダイアログ を開く情報ボタン
  3. フィルタ 入力欄
  4. テーブルメニュー を開くボタン
  5. 行番号 の列
  6. 列ヘッダ
  7. 並べ替え のボタン

Dataset Metadata ダイアログ

Dataset Metadata ダイアログは、表示中のデータセットの基本情報と、読み込み元または作成に使った操作を表示します。データセット名の右端の情報ボタンで開きます。

Primary Dataset の Dataset Metadata ダイアログ

表示する項目は次の表のとおりです。

区分項目項目が出るデータセット
Basic InformationName、Type、Rows、Columnsすべてのデータセット
Source InformationSource File または Source URL、Imported、File SizePrimary Dataset
Derivation InformationCreated、Operation派生データセット
Descriptionデータセットの説明すべてのデータセット

Description はこのダイアログで編集できます。説明を書いて Save を押すと、説明がデータセットに保存されます。

表の見方

列ヘッダ

列ヘッダは列名・データ型・測定尺度 を表示します。測定尺度にホバーすると、MIDAS が自動で推論した尺度には "(inferred)"、手動で設定した尺度には "(user-defined)" とツールチップに表示します。

列に対する操作には列ヘッダを使います。列ヘッダをクリックすると 列を選択 でき、右クリックすると 列の設定 のメニューを開けます。右端のボタンは 並べ替え に使います。列幅は列ヘッダの右の境界をドラッグして変えます。

行番号

行番号は行を識別する番号です。フィルタ・並べ替え・行の除外 をしても、表に残った行の行番号は変わりません。行番号のセルの右クリックメニューは 行の操作 を参照してください。

セル

セルの見た目は値によって変わります。数値は右寄せで表示し、欠損値のセルは空欄にして背景の色を変えます。列幅に収まらない値は末尾を省略して表示し、セルにホバーするとツールチップに全体を表示します。

フィルタ

フィルタ入力欄に式を入力すると、条件に合う行だけが表に残ります。絞り込みで行数が減ると、MIDAS は表の上に "Showing N of M rows (filtered)" と行数を表示します。入力欄右端の X ボタンはフィルタを解除します。

入力欄の式が不正な間、MIDAS はその式で絞り込まず、直前の有効な式で絞り込んだ状態を保ちます。入力欄は赤くなります。入力欄にホバーすると、式が不正である理由を表示します。

フィルタを適用した Data Table タブ

フィルタは Statistics タブ と Selected Columns タブ が使う行も絞り込みます。両タブは、対象にしている Data Table タブのフィルタの条件に合う行だけを使います。同じデータセットを複数の Data Table タブで開いていても、対象でないタブのフィルタは使いません。

フィルタが有効な間、入力欄の右に Save Filtered Data ボタンが出ます。このボタンは、絞り込んだ行を 派生データセット として保存し、そのデータセットの Data Table タブを開きます。保存した派生データセットは行そのものではなく、絞り込み元のデータセットへの参照とフィルタ式を持ちます。絞り込み元を更新すると、MIDAS は更新後の値で条件を評価し直します。

フィルタ式の書き方

フィルタ式は、year >= 2008 のような列に対する条件を AND・OR・NOT と括弧で組み合わせて書きます。AND や LIKE などの演算子は、大文字でも小文字でも書けます。

列名は原則としてクォートなしで書きます。半角の英数字・アンダースコア・ひらがな・カタカナ・漢字以外の文字を含む列名、数字で始まる列名、and・like・null などフィルタ式の予約語と同じ列名は、"body mass" のようにダブルクォートで囲みます。データセットにない列名を書いた式は、不正な式です。

値はデータ型ごとに次の形で書きます。string と enum の値は 'Adelie' のようにシングルクォートで囲みます。値にシングルクォートを含めるには、'O''Brien' のようにシングルクォートを 2 つ重ねます。int64 と float64 の値は 2008・-1.5・1e3 のようにクォートなしで書きます。boolean の値は、クォートなしで true または false と書きます。date と datetime の値は '2024-01-31' または '2024/01/31' の形で書きます。時刻を付けるときは '2024-01-31T09:00:00' の形で書きます。タイムゾーンは '2024-01-31T09:00:00+09:00' のように末尾に付けます。

書ける条件は次の表のとおりです。

条件例意味
= != > < >= <=year >= 2008値の比較
LIKE / ILIKE / NOT LIKE / NOT ILIKEspecies LIKE 'Ade%'パターン照合
IS NULL / IS NOT NULLsex IS NULL欠損値の判定
IN / NOT INisland IN ('Biscoe', 'Dream')候補のいずれかに一致
BETWEEN / NOT BETWEENyear BETWEEN 2007 AND 2008両端を含む範囲の判定
NOT (条件)NOT (sex = 'male' AND year = 2007)条件の否定

LIKE のパターンでは、% が 0 文字以上の任意の文字列に、_ が任意の 1 文字に一致します。% と _ をその文字として照合するには、バックスラッシュを前に置きます。ILIKE は大文字小文字を区別せずに照合します。LIKE と ILIKE は string と enum の列だけに使えます。パターンは 'Ade%' のように文字列で書きます。species LIKE 5 のように文字列でないパターンを書いた式は、不正な式です。

MIDAS は、式に書いた値を列のデータ型に変換してから列の値と比較します。たとえば int64 の列 year に対する year = '2007' は数値の 2007 との比較になり、year = 2007 と同じ結果です。year > 'recent' のように列のデータ型に変換できない値を書いた式は、不正な式です。string の列を数値として比較するには、Convert Column Types タブ で先にデータ型を変換します。

型の合わない式を入力した Data Table タブ

MIDAS は date と datetime の値を UTC で比較します。タイムゾーンを省略した時刻は UTC の時刻として扱います。date 列の値を時刻付きの値と比較するときは、date の値を UTC のその日の 0 時として扱います。

string と enum の値の大小は、UTF-16 の符号単位の順で比較します。そのため大文字は小文字より前になります。enum の値も、並べ替えとは異なり enum 定義の順序ではなく、値の文字列で比較します。boolean の値は false を true より小さい値として比較します。

欠損値は、どの値とも等しくなく、大小の順序を持たず、どのパターンにも一致しません。そのため、比較する列の値が欠損の行は、=・>・<・>=・<=・LIKE・ILIKE・IN・BETWEEN のどの条件にも一致しません。

否定の条件は、否定する前の条件に一致しない行すべてに一致します2。!=・NOT IN・NOT BETWEEN・NOT LIKE・NOT ILIKE は、否定する前の条件が欠損の行に一致しないため、どれも欠損の行に一致します。NOT (条件) は、括弧の中の条件に一致しない行すべてに一致します。たとえば species != 'Adelie' は、species が欠損の行にも一致します。否定の条件から欠損の行を外すには、AND species IS NOT NULL を加えます。

欠損かどうかを判定する条件は IS NULL と IS NOT NULL だけです。NULL は値として書けません。sex = NULL や sex IN ('male', NULL) のように NULL を値として書いた式は、不正な式です。

表示中のデータセットの列のデータ型が後から変わった場合や、列が消えた場合も、MIDAS はタブに適用中のフィルタ式を、変化した後のデータセットに対して評価し続けます。列のデータ型や列の有無は、派生データセットを作った操作の設定を変えた場合などに変わります。この変化で式が不正になった場合も、入力中の不正な式とは異なり、MIDAS は適用中の式を解除しません。参照する列が消えた場合、式に書いた値を新しいデータ型に変換できなくなった場合、LIKE を書いた列が string と enum 以外のデータ型になった場合が、これにあたります。このとき入力欄はエラーを表示し、MIDAS は不正になった条件を、どの行にも一致しない条件として評価します。否定の条件の規則はそのまま当てはまるので、不正になった条件の否定はすべての行に一致します。

並べ替え

列ヘッダ右端のボタンをクリックすると、行がその列の昇順に並びます。もう一度クリックすると降順に並び、3 回目のクリックで元の順に戻ります。

Ctrl/Cmd を押しながらクリックすると、MIDAS はその列を並べ替えの条件に追加し、ボタンに優先順位の番号を表示します。

2 列で並べ替えた Data Table タブ

値の大小による並び順には 2 つの例外があります。欠損値は昇順・降順によらず末尾に並びます。enum 列は測定尺度によらず、値ではなく enum 定義の順序 で並びます。

並べ替えは表示順だけを変えます。行番号と行の選択は変わりません。

行と列の選択

行をクリックすると、それまでの選択を解除し、その行だけを選択します。Ctrl/Cmd を押しながらクリックすると、それまでの選択を残したまま、その行を選択に追加します。Ctrl/Cmd を押しながら選択済みの行をクリックすると、その行だけ選択を解除します。Shift を押しながらクリックすると、直前に Shift を押さずにクリックした行からその行までの範囲を選択に追加します。選択中の行が 1 行だけのときにその行をクリックすると、選択を解除します。行の選択は Statistics タブや Graph Builder と連動します。連動の仕組みは 行選択の連動 を参照してください。

列ヘッダをクリックすると、それまでの列の選択を解除し、その列だけを選択します。Ctrl/Cmd を押しながらクリックすると、それまでの選択を残したまま、その列を選択に追加します。選択中の列が 1 列だけのときにその列ヘッダをクリックすると、選択を解除します。Selected Columns タブ は選択した列を表示します。

行と列を選択した Data Table タブ

列の設定

列ヘッダを右クリックすると、その列に対する操作のメニューが開きます。

列ヘッダの右クリックメニュー

Edit Column Name は列名を編集できる状態にします。列名のダブルクリックでも同じ状態になります。新しい列名には、__midas_ で始まる名前と Row # を使えません。__midas_ で始まる名前は MIDAS が内部で作る列の名前で、Row # は行番号の列の名前です。派生データセットの列名は、そのデータセットを作った SQL や変換の設定で決まるため、変更できません。派生データセットでは Edit Column Name が無効になります。項目にホバーすると、無効である理由を表示します。

Edit Scale of Measurement は、列の測定尺度を選ぶダイアログを開きます。測定尺度は nominal・ordinal・interval・ratio から選びます。string と enum の列では、nominal と ordinal だけを選べます。各尺度の意味は データ型と測定尺度 を参照してください。

Convert Column Types... は、列のデータ型を変換する Convert Column Types タブ を開きます。

Normalize Variants... は Normalize Variants タブを開きます。このタブでは、表記の揺れた値を 1 つの表記に統一します。この項目は string と enum の列のメニューにだけ出ます。

メニューの残りの 2 項目は、数値の書式とリンク表示を設定します。数値の書式とリンク表示をまとめて表示形式と呼びます。数値の書式とリンク表示は互いに独立した設定で、1 つの列に両方を設定できます。両方を設定した列では、書式を当てた値がリンクとして表示されます。表示形式はデータセットまたは Data Table タブに設定できます。データセットに設定した表示形式はそのデータセットを表示するすべての場所で有効になり、タブに設定した表示形式はそのタブのみで有効になります。データセットとタブのどちらの設定が有効になるかは、数値の書式とリンク表示のそれぞれについて決まります。同じ列の同じ種類の設定がデータセットとタブの両方にある場合、そのタブではタブの設定が有効になります。データセットにリンク表示、タブに数値の書式を設定した列では、そのタブで両方が有効になります。

Number Format... は、数値の書式のプリセットを並べたサブメニューを開きます。この項目は int64 と float64 の列のメニューにだけ出ます。プリセットと、それぞれの表示は次の表のとおりです。

プリセット表示
DefaultSettings の Number Format で設定した既定の書式
Fixed 6 decimals (.6f)小数点以下 6 桁
Fixed 4 decimals (.4f)小数点以下 4 桁
Fixed 2 decimals (.2f)小数点以下 2 桁
Comma + 2 decimals (,.2f)3 桁ごとの桁区切りと小数点以下 2 桁
4 significant digits (.4g)有効数字 4 桁
Percent (.2%)値を 100 倍して小数点以下 2 桁にし、% を付けた表示

Default を選ぶと数値の書式が解除され、リンク表示はそのまま残ります。サブメニューの This view only を有効にしてからプリセットを選ぶと、書式はデータセットではなく、メニューを開いた Data Table タブに設定されます。このとき Default が解除するのはタブの数値の書式で、データセットの数値の書式は残ります。

Display as Link... は、セルの値をリンクとして表示する設定のダイアログを開きます。リンク先の URL は URL template に書きます。URL の中に {列名} と書いた部分は、行ごとに、同じ行にあるその列の値に置き換わります。Apply to で、リンク表示をデータセットと Data Table タブのどちらに設定するかを選びます。リンク表示を設定済みの列では、項目名が Edit Link Display... に変わります。リンク表示は、ダイアログの Remove で解除できます。Remove は数値の書式を解除しません。

プロジェクトの 来歴 に信頼済みでない署名者がいる場合、MIDAS はセルの値をリンクとして表示しません。このとき、リンク表示の列がある Data Table タブは、表の上にリンクを無効にしている理由を警告として表示します。署名者を信頼済みとして登録する方法は 署名鍵の管理 を参照してください。

行の操作

行番号のセルとデータのセルには、それぞれ別の右クリックメニューがあります。行番号のセルのメニューは、右クリックした行を対象にします。ただし、右クリックした行が選択中であれば、選択中のすべての行が対象になります。

行番号の右クリックメニュー

Exclude this row は Primary Dataset の行を除外します。除外と復元の手順は 行の除外と復元 を参照してください。

Add comment は Primary Dataset の行にコメントを付けます。コメントの付いた行には、行番号の隣に印が付きます。印にホバーすると、コメントを表示します。コメントは Edit comment で書き換えられます。

Contributing rows は、対象の行を作るのに使った派生元のデータセットの行を Contributing rows タブで開きます。派生元がさらに別のデータセットから作られている場合は、サブメニューでさかのぼる先のデータセットを選べます。Primary Dataset と、もとの行をたどれない操作で作った派生データセットでは、この項目が無効になります。項目にホバーすると、無効である理由を表示します。Contributing rows タブの詳細は Filtered Data タブ を参照してください。

データのセルのメニューには Copy Cell Value と Contributing rows があります。Copy Cell Value はセルに表示している文字列をクリップボードにコピーします。Contributing rows の動作は、行番号のセルのメニューの同名の項目と同じです。

行の除外と復元

行の除外は、Primary Dataset から行を取り除き、後から復元できるように保管する操作です。除外した行は、そのデータセットから作った派生データセットにも含まれません。残った行の行番号は変わりません。

Exclude this row を選ぶと確認ダイアログが開き、除外する行の内容を表示します。ダイアログでは除外の理由を記入できます。除外する行が 1 行のときは Exclude Row、複数行のときは Exclude Rows を押すと、MIDAS は対象の行をデータセットから取り除きます。

除外した行がある Primary Dataset の Data Table タブは、表の上に "3 rows are excluded from this dataset." のように除外した行の数を表示します。その横の View excluded rows ボタンは Excluded Rows ダイアログを開きます。ダイアログは除外した行を一覧にし、行ごとに行番号・先頭の 3 列の値・除外の理由・除外した日時を表示します。

除外した行の一覧を開いた Data Table タブ

除外した行は Excluded Rows ダイアログで復元します。各行の Restore はその行を、Restore Selected はチェックを付けた行を、Restore All は除外したすべての行を復元します。復元した行は除外前と同じ行番号のまま、行番号の順に並ぶ位置へ戻ります。MIDAS は復元した行の除外の理由と日時を破棄します。Restore All を押すと、復元の前に、理由と日時が消えることを確認するダイアログが開きます。

データの編集(Edit Mode)

Edit Mode は、Primary Dataset のセルを直接書き換えるモードです。テーブルメニューの Edit Data を選ぶと Edit Mode に入ります。Edit Mode の間は、行の除外と復元、コメントの追加と編集ができません。

Edit Mode の Data Table タブ

Edit Mode に入ると、表は編集用の表示に切り替わります。セルは入力欄になります。boolean の列のセルでは、値を true と false から選びます。欠損を許す列では (null) も選べます。MIDAS は空欄・null・(null) の入力を欠損値として保存します。

列のデータ型に変換できない値を入力して別のセルへ移ると、その入力欄が赤枠になります。Edit Mode のツールバーは "3 cells cannot be interpreted" のように、変換できない値が入ったセルの数をボタンに表示します。このボタンを押すと、該当するセルのうち先頭のものへ移動します。該当するセルが残る間は Done を押せません。

表の末尾の + Add Row で行を追加します。行番号を右クリックして Delete Row を選ぶと行を削除します。

Done を押すまでデータセットは変わりません。Cancel は編集をすべて破棄します。Done を押すと MIDAS は編集を保存し、そのデータセットから作った派生データセットとモデルを再計算します。再計算の仕組みは データセット を参照してください。

テーブルメニュー

フィルタ入力欄の右の ⋮ ボタンは、データセット全体に対する操作のメニューを開きます。項目はデータセットの種類によって変わります。

項目表示される条件
Edit DataPrimary Dataset
Add to Reportすべてのデータセット
Exportすべてのデータセット
View SQL QuerySQL で作った派生データセット
Save data with project派生データセット
Reload Dataset...Primary Dataset
Reload Source Dataset...Primary Dataset から作った派生データセット

テーブルメニューを開いた Data Table タブ

View SQL Query は、派生データセットを作った SQL クエリを別のタブに表示します。クエリの編集は SQL Query Editor タブ を参照してください。

Save data with project は派生データセットの計算結果をプロジェクトファイルに含めます。効果とファイルサイズへの影響は データセット を参照してください。

レポートへの追加

Add to Report は、表示中のデータセットの表を レポート の要素として追加します。ダイアログで既存のレポートを選ぶか新しいレポートを作り、表示する列と最大行数を指定します。表示する列の既定は先頭の 5 列です。行番号の列は自動で先頭に付きます。最大行数の既定は 100 行、上限は 1000 行です。

要素は、追加元の Data Table タブのフィルタと、そのタブに設定した表示形式を引き継ぎます。フィルタが有効なときは、その式を要素に保存します。レポートの要素も、その式で絞り込んだ行だけを表示します。追加した後の列と行数の変更は レポート を参照してください。

データのエクスポート

Export は表示中のデータを CSV・TSV・JSON のファイルに書き出します。ダイアログでファイル名・形式・エンコーディング・BOM(byte order mark)の有無・ヘッダ行の有無を指定します。エンコーディングは UTF-8・Shift-JIS・EUC-JP から選びます。ファイル名の初期値と他のエクスポート手段は エクスポート を参照してください。

MIDAS は、フィルタの条件に合う行だけを、並べ替えた後の順で書き出します。行を選択しているときは、ダイアログの Export selected rows only を有効にすると、選択した行だけを書き出せます。このとき、フィルタと並べ替えは適用せず、データセットの行の順で書き出します。Edit Mode で編集中の、まだ Done で保存していない値は書き出しません。

データセットのリロード

Reload Dataset... は、Primary Dataset の行と値を、新しく読み込む CSV・TSV ファイルの内容に入れ替えます。この操作をリロードと呼びます。リロードはデータセットの名前と列名を変えません。そのため、元のファイルが更新されたときに、派生データセット・モデル・レポートを作り直さずに新しいデータで計算し直せます。

リロードは取り消せません。リロードすると、MIDAS の中でそのデータセットに加えた次の変更が消えます。

  • 行の除外と、除外の理由
  • 行に付けたコメント
  • Edit Mode で書き換えた値と、追加・削除した行
  • データセットに設定した 表示形式

リロードのダイアログは、消える除外とコメントの件数を警告として表示します。Edit Mode での編集と表示形式は警告の対象ではありません。

リロードの後も次のものは変わりません。

  • データセットの名前
  • Edit Column Name で変えた列名
  • 手動で設定した測定尺度
  • 列のデータ型
  • Data Table タブに設定した表示形式

データセットの名前は、新しいファイルのファイル名が違っても変わりません。

MIDAS は、リロードしたデータセットから作った派生データセットとモデルを新しいデータで再計算します。再計算の仕組みは データセット を参照してください。

リロードできるのは、新しいファイルが次の条件をすべて満たすときです。条件を満たさないファイルを選ぶと、MIDAS はリロードを中止してダイアログに理由を表示します。このときデータセットは変わりません。

  • 現在の列がすべて新しいファイルにある
  • string 以外のデータ型の列では、新しいファイルの値がすべてそのデータ型に変換できる
  • リロードの後に、同じ列名の列が 2 つできない
  • どの行も、列数がヘッダ(ヘッダ行がないときは 1 行目)と一致する
  • 引用符で囲んだ値が正しく閉じている
  • 64 MB を超える行がない
  • 改行コード(CR、LF、CRLF)が混在していない
  • 自動判定したエンコーディングでファイル全体をデコードできる

MIDAS は現在の列と新しいファイルの列を列名で照合します。新しいファイルのヘッダ行の有無は、最初にインポートしたときの設定と同じものとして扱います。Edit Column Name で列名を変えた列は、変える前の、インポートしたときのヘッダの列名で照合します。そのため、MIDAS で列名を変えていても、新しいファイルのヘッダは元のファイルと同じ列名のままにします。列が足りないときは、MIDAS は "Missing column" に続けて足りない列名をエラーとして表示します。

データ型の条件は、Primary Dataset に string 以外の列があるときだけ確かめます。変換できない値があると、MIDAS は列名と変換できない値の件数をエラーとして表示します。CSV・TSV から読み込んだ Primary Dataset は、全列が string です。列のデータ型は、派生データセットで変換します。派生データセットで変換する列に変換できない値があるときは、Convert Column Types タブ の設定に従って処理します。

新しいファイルで列が増えていても、列の順序が変わっていても、行数が増減していても、リロードできます。増えた列は新しい列としてデータセットに加わります。ただし、増えた列の名前が Edit Column Name で変えた後の列名と同じになるファイルは、同じ列名の列が 2 つできるためリロードできません。

読み込み元は、ダイアログの次のボタンで選びます。

ボタン読み込み元表示される条件
Reload from URLインポートしたときの URLURL から読み込んだデータセット
Reload from file前回のリロードで選んだファイル前回選んだファイルを MIDAS が記憶しているとき
Select file to reloadその場で選ぶファイル常に表示

ダイアログの Delimiter で、新しいファイルを読む区切り文字を選びます。既定は、データセットに記録された区切り文字です3。リロードに成功すると、MIDAS は選んだ区切り文字を記録し、次のリロードの既定にします。記録された区切り文字が新しいファイルと違うときは、ここで選び直します。

Reload from file は、ファイルを選び直さずに最新の内容を読み込みます。ブラウザがファイルの読み取りの許可を求めることがあります。ファイルが移動または削除されていると、MIDAS はエラーを表示します。この場合は Select file to reload で選び直します。

URL から読み込んだデータセットを Select file to reload でリロードすると、読み込み元はそのファイルに変わります。以後、ダイアログは Reload from URL を表示しません。

派生データセットのタブでは、Reload Source Dataset... で派生元の Primary Dataset をリロードします。派生元の Primary Dataset が複数あるときは、選択ダイアログでリロードするものを選びます。

メニューバーの Data > Reload All Datasets は、プロジェクト内の Primary Dataset をまとめてリロードします。対象は、URL から読み込んだデータセットと、前回選んだファイルを MIDAS が記憶しているデータセットです。確認ダイアログは対象の一覧と、消える除外とコメントの件数を表示します。

See also

脚注

  1. 表は画面に見える行だけを描画し、スクロールに応じて描画する行を入れ替えます。描画する行数はデータセットの行数によらず一定です。 ↩

  2. SQL Query Editor タブ の WHERE 句はこの規則に従いません。WHERE species != 'Adelie' は、species が欠損の行に一致しません。 ↩

  3. 通常は前回読んだときの区切り文字です。区切り文字を記録する前の版の MIDAS で取り込んだデータセットには、元のファイル名の拡張子から決めた区切り文字(.tsv と .txt はタブ、それ以外はカンマ)が記録されています。 ↩