THUMGY Data 機能説明書

並べ替え

更新日 2024/01/18

機能

《並べ替え》は、開いているテーブルのレコードを、キーにしたフィールドの値の順(昇順または降順)に並べ替えて、新しいテーブルを作成する機能です。キーは複数指定でき、1つ目のキーの値が同じレコードは2つ目のキーの順に並びます。元のテーブルは変更されません。

売上日商品No単価数量
2024/04/10B028003
2024/05/20A0112004
2024/06/15C0350010
2024/07/01A0112002
元のテーブル

→

商品No売上日単価数量
A012024/05/2012004
A012024/07/0112002
B022024/04/108003
C032024/06/1550010
並べ替えたテーブル(キー:商品No、その他:すべて)
  • 作成するテーブルのフィールドは、キーにしたフィールドがキーの順に先頭に並び、その後に「その他出力フィールド」で選択したフィールドが並びます。
  • 「その他出力フィールド」を選択しない場合は、キーにしたフィールドだけのテーブルになります。
  • すべてのキーの値が同じレコードは、元のテーブルの順のまま並びます(降順の場合も同じです)。
  • フィールド名・データ型・書式と値は、元のテーブルと同じです(前後の空白もそのままです)。

メニュー

《加工》-《並べ替え》

  • テーブルを開いている場合に使用できます。開いているテーブルが並べ替えの元のテーブルになります。
  • テーブルの画面で条件式を設定している場合は、その条件式が「条件式」に入力された状態で開きます。
  • 操作ログから並べ替えのコマンドを修正することもできます(「■ 操作ログからコマンドを修正する場合」参照)。

操作ログからコマンドを修正する場合

操作ログで並べ替えのコマンドを修正すると、コマンドの内容が設定された状態で画面が開きます。

  • キーのフィールドが、コマンドに記述された順に選択され、「D」が付いたキーは降順になります。
  • 「その他出力フィールド」も、コマンドのフィールドが選択されます。テーブルにないフィールドは選択されません。
  • 条件式と保存先は、コマンドの内容がそのまま入力されます。テーブルの画面で条件式を設定している場合は、その条件式が入力されます。

設定内容

並べ替え の画面
  • 1元のテーブル:並べ替える元のテーブルの、フォルダ名とテーブル名が表示されます。
  • 2《フィールド選択》ボタン:フィールドの一覧を開き、キーにするフィールドをまとめて選択・解除できます。
    • 選択したままのフィールドの降順はそのまま残り、新しく選択したフィールドは昇順になります。
  • 3並べ替え対象フィールド(必須):キーにするフィールドの行をクリックして選択します(もう一度クリックで解除)。
    • 左端の番号は選択した順番です。この順に1つ目のキー、2つ目のキー・・・になります。途中のキーを解除すると、番号が詰められます。
    • 見出しのチェックボックス(またはCtrl+A)で、すべてのフィールドを行の順に選択します。チェックを外すと、すべての選択と降順が解除されます。
  • 4降順:選択したキーの「降順」をオンにすると、そのキーは大きい順(日付は新しい順)になります。オフの場合は小さい順(昇順)です。
    • 選択していない行の「降順」をクリックすると、その行が選択されます(降順はオフのままです)。
    • キーの選択を解除すると、降順もオフになります。
  • 5《フィールド選択》ボタン:フィールドの一覧を開き、「その他出力フィールド」をまとめて選択・解除できます。
  • 6その他出力フィールド(任意):キー以外に出力するフィールドの行をクリックして選択します。
    • 選択した順に、キーのフィールドの後ろに並びます。キーと同じフィールドを選択しても、1回だけ出力されます。
    • 選択しない場合は、キーのフィールドだけが出力されます。
    • 見出しのチェックボックス(またはCtrl+A)で、すべてのフィールドを選択します。
  • 7《式ビルダー》ボタン:「式ビルダー」画面を開き、フィールドや関数を選んで条件式を作成できます。
  • 8条件式(任意):並べ替えるレコードの条件を入力します。条件に合うレコードだけが並べ替えられて出力されます。空欄の場合は、すべてのレコードが対象です。
    • 入力中に、関数やフィールドの候補が表示されます(Ctrl+Spaceで表示、Escで閉じます)。
    • 「×」で入力内容を消去します。正しい条件式であることを確認すると、緑の「✓」が表示されます。
  • 9《検証》ボタン:条件式が正しいかを確認します(Ctrl+Enter)。誤りがある場合は、メッセージが表示されます。
  • 10ファイル保存先(必須):作成するテーブルの名前を入力します。
    • テーブル名だけの場合は「04_table」フォルダに、「フォルダ名¥テーブル名」の場合はそのフォルダに作成されます。フォルダがない場合は作成されます。
    • 拡張子(.hdf5)は省略できます。「04_table」フォルダ以外の場所には保存できません。
    • テーブル名の長さは、64文字までです。
    • 記号(「-」「.」「#」など)や全角スペースは使用できません。名前の最後に「¥」「/」、途中に「..」は入力できません。
    • 元のテーブルと同じ名前は使用できません(大文字・小文字やフォルダが違っても同じ名前とみなされます)。
    • 同じ名前のテーブルがすでにある場合は、上書きしてよいかの確認メッセージが表示されます。「いいえ」を選択すると、実行せずに画面に戻ります。
  • 11《参照》ボタン:保存画面を開き、保存先を選択できます。
  • 12コマンド:現在の設定で実行されるコマンドが表示されます(「◇操作ログ」参照)。キーを選択すると表示されます。
  • 13《コピー》ボタン:コマンドをクリップボードにコピーします。
  • 14《キャンセル》ボタン:実行せずに画面を閉じます(Escキー)。確認メッセージで「はい」を選択すると閉じます。
  • 15《実行》ボタン:実行します(Enterキー)。テーブルが作成されると、画面が閉じ、作成したテーブルが開きます。

並べ替えの結果

キーと降順の設定によって、レコードは次のように並びます。例は「◇機能」と同じテーブルです。

降順にした場合

キー「数量」の「降順」をオンにすると、数量の大きい順に並びます。

売上日商品No単価数量
2024/04/10B028003
2024/05/20A0112004
2024/06/15C0350010
2024/07/01A0112002
元のテーブル

→

数量売上日商品No単価
102024/06/15C03500
42024/05/20A011200
32024/04/10B02800
22024/07/01A011200
並べ替えたテーブル(キー:数量[降順]、その他:すべて)

キーを複数指定した場合

1つ目のキー「商品No」(昇順)の値が同じレコードは、2つ目のキー「売上日」(降順)の順に並びます。

売上日商品No単価数量
2024/04/10B028003
2024/05/20A0112004
2024/06/15C0350010
2024/07/01A0112002
元のテーブル

→

商品No売上日単価数量
A012024/07/0112002
A012024/05/2012004
B022024/04/108003
C032024/06/1550010
並べ替えたテーブル(キー:商品No、売上日[降順])
  • キーごとに、昇順・降順を指定できます。2つ目のキーは、1つ目のキーの値が同じ場合だけ使われます。

条件式を入力した場合

条件に合うレコードだけが並べ替えられて出力されます。例は、キー「数量」(昇順)、「その他出力フィールド」は「売上日」「商品No」、条件式「[数量] >= 3」の場合です。

売上日商品No単価数量
2024/04/10B028003
2024/05/20A0112004
2024/06/15C0350010
2024/07/01A0112002
元のテーブル

→

数量売上日商品No
32024/04/10B02
42024/05/20A01
102024/06/15C03
並べ替えたテーブル
  • 条件に合うレコードがない場合も、フィールドだけの(レコードが0件の)テーブルが作成されます。

値の並び順

データ型によって、値は次の順に並びます(昇順の場合。降順はその逆です)。

  • 数値型(整数・10進数)は数値の大きさの順、日付型は日付の順です(マイナスの値は0より前です)。
  • 文字型は、1文字目から順に文字コードで比べます。読み方や辞書の順ではありません。
  • 文字型の数字は、文字として比べます(例:「10」は「9」より前になります)。
  • 大文字・小文字、全角・半角、前後の空白は区別されます。英字は大文字がすべて小文字より前に、全角の英数字は半角の英数字より後になります。
  • 文字型の空欄は最初に、先頭に空白がある値は英数字より前に並びます。
  • 日本語は、ひらがな、カタカナ、漢字、半角カナの順です。漢字は文字コードの順です。
商品No
B01
a01
10
A01
A01
9
元のテーブル(商品Noは文字型)

→

商品No
10
9
A01
B01
a01
A01
並べ替えたテーブル(キー:商品No)

入力内容に誤りがある場合

《実行》ボタンをクリックしたときに、キーが選択されていない(「その他出力フィールド」だけを選択した場合も含みます)、保存先が空欄などの誤りがあると、画面の左下にメッセージが表示され、該当する項目が赤枠で示されます。項目を修正するとメッセージは消え、《実行》ボタンが使用できるようになります。

並べ替え の画面
  • 条件式に誤りがある場合(フィールドがない、文字と数値を比較しているなど)は、実行時に誤りの内容を示す画面が表示されます。画面は閉じないので、条件式を修正してもう一度実行してください。

操作ログ

OPEN "元のテーブル"
SORT ON [キー1] D [キー2] D ・・・ FIELDS [フィールド1] ・・・ IF 条件式 TO "保存先" OPEN

各キーワードの意味は、次のとおりです。

キーワード内容設定内容
OPEN “元のテーブル”並べ替える元のテーブルを開きます1
SORT ON [キー1] ・・・キーのフィールド。選択した順に記述します3
Dキーの後に記述すると、そのキーは降順になります4
SORT ON ALLFIELDSすべてのフィールドを行の順にキーにします(昇順)3
FIELDS [フィールド1] ・・・キー以外に出力するフィールド(「FIELDS ALLFIELDS」はすべて)6
IF 条件式並べ替えるレコードの条件8
TO “保存先”作成するテーブルの名前(保存先)10
OPEN(最後)作成したテーブルを開きます―
  • すべてのフィールドを行の順にキーにし、降順のキーがない場合は、「SORT ON ALLFIELDS」と記述されます。
  • 下線部は、降順のキー、「その他出力フィールド」、条件式を設定した場合に記述されます。

コマンドを直接記述する場合(スクリプトなど)

  • フィールド名は「[ ]」で、テーブル名は「”」で囲んで記述します。
  • 降順は、キーの後に半角の大文字「D」を記述します。小文字の「d」はエラーになります。
  • キー(1つ以上)と「TO “保存先”」は省略できません。同じフィールドを2回キーにしたり、テーブルにないフィールドを記述したりするとエラーになります。
  • 最後の「OPEN」を省略すると、テーブルは作成されますが、開かれません。

オプションの例(「◇並べ替えの結果」と同じテーブル。「TO “保存先” OPEN」は省略)

コマンドの記述並べ替えの結果
SORT ON [商品No] FIELDS ALLFIELDS商品Noの昇順に並べます(「◇機能」の例)
SORT ON [数量] D FIELDS ALLFIELDS数量の大きい順に並べます
SORT ON [商品No] [売上日] D FIELDS ALLFIELDS商品No順、同じ商品Noは新しい日付から並べます
SORT ON [商品No]「商品No」だけのテーブルになります
SORT ON [数量] FIELDS [売上日] [商品No] IF [数量] >= 3数量が3以上のレコードを数量の順に並べます

例

OPEN "売上¥売上明細"
SORT ON [商品No] [売上日] D FIELDS ALLFIELDS TO "売上¥売上_商品順" OPEN