SORT コマンド
Analytics テーブルのレコードを、指定されたキーに基づいて昇順または降順に並べ替えます。結果は新しい物理的に並べ替えられた Analytics テーブルに出力されます。
構文
SORT ON {キー フィールド <D> <...n>|ALL} <FIELDS フィールド名 <AS 表示名> <...n>|FIELDS ALL> TO テーブル名 <IF テスト> <WHILE テスト> <FIRST 範囲|NEXT 範囲> <APPEND> <OPEN> <ISOLOCALE ロケール コード>
パラメーター
名前 | 説明 |
---|---|
ON キーフィールド D <...n> | ALL |
並べ替えで使用するキーフィールドまたはフィールド、または式。 演算フィールドや一時的に作成した式など、データ型に関係なく、あらゆる種類のフィールドを並べ替えることができます。
|
FIELDS フィールド名 <...n> | FIELDS ALL 省略可能 |
メモ キー フィールドは、自動的に出力テーブルに追加されるため、FIELDS に指定する必要はありません。 出力に含めるフィールド:
ヒント レコードに含まれるデータの一部のみが必要な場合は、並べ替え後の出力テーブルにすべてのフィールド、つまりレコード全体が含まれないようにしてください。必要なフィールドのみを選択します。多くの場合、これにより、並べ替え処理が高速化します。 |
AS 表示名 省略可能 |
FIELDS を指定した並べ替えを行う場合にのみ使用されます。 新しい Analytics テーブルのビューにおけるフィールドの表示名(代替列見出し)。表示名をフィールド名、またはソース テーブル内の既存の表示名と同じにしたい場合は、AS を使用しないでください。 表示名の値は引用符で囲まれた文字列。列見出しを改行したい場合は、語句の間にセミコロン(;)を入れます。 メモ AS は、新しいテーブルへの出力時にのみ使用します。既存のテーブルに追加している場合は、既存テーブルの代替列見出しが優先されます。 |
TO テーブル名 |
コマンドの結果を送信する場所:
|
IF テスト 省略可能 |
各レコードを処理するために真である必要がある条件式。コマンドは、その条件を満たすレコードに対してのみ実行されます。 メモ IF パラメーターは、任意の範囲パラメーター(WHILE、FIRST、NEXT)が適用された後に、テーブルに残るレコードに対してのみ評価されます。 |
WHILE テスト 省略可能 |
各レコードを処理するために真である必要がある条件式。条件が false と評価するか、テーブルの最後に達したら、コマンドは実行を中止します。 メモ WHILE を FIRST または NEXT とともに使用する場合は、1 つの制限に達するとすぐに、レコードの処理が停止します。 |
FIRST 範囲 | NEXT 範囲 省略可能 |
処理するレコード数:
範囲は処理するレコード数を指定します。 FIRST と NEXT を省略すると、すべてのレコードがデフォルトで処理されます。 |
APPEND 省略可能 |
コマンドの出力を既存ファイルに上書きしないで、そのファイルの末尾に追加します。 メモ コマンドの出力と既存のファイルの構造が同一であるようにする必要があります。
出力は、既存ファイルとの間でファイル構造が違っている場合でも、Analytics によって既存ファイルに追加されます。出力と既存のファイルの構造が一致しない場合は、データが混在、不足、不正確になります。 |
OPEN 省略可能 |
テーブルを開き、インデックスをテーブルに適用します。 |
ISOLOCALE ロケールコード 省略可能 |
メモ Analytics の Unicode 版にのみ適用されます。 システム ロケールは「言語-国」の形式で入力します。たとえば、カナダ フランス語はコード「fr_ca」を入力します。 次のコードを使用します。
ISOLOCALE を使用しない場合は、デフォルト システム ロケールが使用されます。 |
例
単一のフィー津おで並べ替え、レコード全体を出力する
サンプル Inventory テーブルのレコードを製品番号で並べ替えるとします。並べ替えられたレコードは、新しい Analytics テーブル Inventory_Product_Number に抽出されます。
レコード全体が出力テーブルに含まれます。
SORT ON ProdNo TO "Inventory_Product_Number"
デフォルトの昇順を降順に変更するには、キー フィールド名の後に D を追加します。
SORT ON ProdNo D TO "Inventory_Product_Number"
単一のフィールドで並べ替え、フィールドのサブセットを出力する
サンプル Inventory テーブルのレコードを製品番号で並べ替えるとします。キー フィールドと指定された非キー フィールドのみが新しい Analytics テーブル Inventory_Quantity_on_Hand に抽出されます。
3 番目の非キー フィールド QtyOH に対し、出力テーブルでの表示名として Qty on Hand(在庫数量)が付けられます。
SORT ON ProdNo FIELDS ProdDesc ProdStat QtyOH AS "Qty on Hand" TO "Inventory_Quantity_on_Hand"
単一のフィールドで並べ替え、すべてのフィールドを出力する
サンプル Inventory テーブルのレコードを製品番号で並べ替えるとします。すべてのフィールドは、新しい Analytics テーブル Inventory_Product_Number に抽出されます。
FIELDS ALL がレコード全体の出力と異なる点は、FIELDS ALL では、ソース テーブルのすべての演算フィールドが出力テーブルの物理フィールドに変換され、フィールドに実際の演算された値が入力されることです。
SORT ON ProdNo FIELDS ALL TO "Inventory_Product_Number"
複数のフィールドで並べ替える(ネストされた並べ替え)
サンプル Inventory テーブルのレコードをロケーション、製品クラス、製品番号の順で並べ替えるとします。並べ替えられたレコードを、新しい Analytics テーブル Inventory_Location_Class_Number に抽出します。以上を行うコマンドの例は次のようになります。
SORT ON Location ProdCls ProdNo TO "Inventory_Location_Class_Number"
関連するフィールドを使用して並べ替える
サンプル Ap_Trans テーブルのレコードを次のフィールドで並べ替えるとします。
- Vendor_State(業者が拠点とする州。関連:Vendor テーブル)
- Vendor_City(業者が拠点とする市区町村。関連:Vendor テーブル)
- Vendor_No(業者番号。Ap_Trans テーブル)
すべての 3 つのキー フィールド、および関連するフィールド Vendor.Vendor_Name を含む指定された非キー フィールドを、新しい Analytics テーブル Ap_Trans_State_City に抽出する例を次に示します。
SORT ON Vendor.Vendor_State Vendor.Vendor_City Vendor_No FIELDS Vendor.Vendor_Name Invoice_No Invoice_Date Invoice_Amount Prodno Quantity Unit_Cost TO "Ap_Trans_State_City"
備考
メモ
このコマンドの動作の詳細については、Analytics のヘルプを参照してください。
関連するフィールドで並べ替える
関連するフィールドで並べ替え、並べ替えられた出力テーブルに、非キー フィールドとして関連するフィールドを含めることができます。SORT コマンドで関連するフィールドを参照するには、子テーブル名.フィールド名を指定します。
固定長データ ファイルと可変長データ ファイルの比較
SORT コマンドは固定長、可変長いずれのデータ ファイルでも使用することができます。