SPLITVALUES コマンド

コンセプト情報

テーブルの分割

キーフィールドの一意の値に基づいてテーブルを 2 つ以上のテーブルに分割します。出力テーブルはテーブル名を一意の値として使用します。これにはテキストプレフィックスが伴う場合があります(省略可能)。

メモ

テーブルを分割する際にサポートされる一意のキーフィールド値の最大数は 450 です。

構文

SPLITVALUES ON キーフィールド <PREFIX プレフィックステキスト> {FIELDS フィールド名 <AS 新しいフィールド名> <...n>|FIELDS ALL} <関連テーブル名.ALL <...n>> <IF テスト> <TO フォルダー名> <WHILE テスト> <FIRST 範囲|NEXT 範囲>

パラメーター

名前 説明

ON キーフィールド

テーブルを分割するために使用するキーフィールド。

キーフィールドは、文字、数値、日付時刻、または論理型を使用できます。

複数のキーフィールドを使用するには、キーフィールドを連結する演算フィールドを作成し、その演算フィールドをキーフィールドとして使用します。

メモ

キーフィールドは自動的に出力テーブルに組み込まれるため、FIELDS を使用して指定する必要はありません。

PREFIX プレフィックステキスト

省略可能

すべての出力テーブル名のプレフィックスとして使用される英数字文字列。

PREFIX を省略した場合、出力テーブルは一意のキーフィールド値のみをテーブル名として使用します。

テーブル名のプレフィックスは、英数字 32 文字までに制限されています。テーブル名全体は、英数字 64 文字までに制限されています。テーブル名のプレフィックスとキーフィールド値の組み合わせが 64 文字を超える場合、テーブル名は右から切り捨てられます。

テーブル名のプレフィックスにはアンダースコア文字( _ )を使用できますが、他の特殊文字やスペースは使用できません。プレフィックスの先頭を数字にすることはできません。

ヒント

日付時刻または数値キーフィールドを使用する場合は、D_ または N_ などのプレフィックスを使用して、キー値の先頭の数字が出力テーブル名に保持されるようにします。

FIELDS フィールド名 | FIELDS ALL

出力に含めるフィールド:

  • RECORD ソース データ ファイル内のレコード全体、つまり、テーブル内のすべてのフィールド、およびレコード内の未定義部分すべてが使用されます。

    フィールドは、テーブル レイアウトに現れる順序と同じ並びで使用されます。

    演算フィールドを保持します。

  • FIELDS フィールド名 指定されたフィールドを使用します

    フィールドは一覧の順序で使用されます。

    関連テーブルのフィールドを使用する場合は、related_table_name.field_name(関連テーブル名.フィールド名)を指定します。

    演算フィールドを出力先テーブル内の適切なデータ型(ASCII 型または Unicode 型(Analytics のエディションによる)、ACL 型(ネイティブの数値データ型)、日付時刻型、あるいは論理型)の物理フィールドに変換します。演算された実際の値を物理フィールドに設定します。

  • FIELDS ALL テーブルのすべてのフィールドを使用します。

    フィールドは、テーブル レイアウトに現れる順序と同じ並びで使用されます。

    演算フィールドを出力先テーブル内の適切なデータ型(ASCII 型または Unicode 型(Analytics のエディションによる)、ACL 型(ネイティブの数値データ型)、日付時刻型、あるいは論理型)の物理フィールドに変換します。演算された実際の値を物理フィールドに設定します。

AS 新しいフィールド名

省略可能

FIELDS フィールド名を使って抽出を行う場合にのみ有効です。

出力テーブルのフィールドの新しい物理名と表示名(代替の列タイトル)。

指定した特殊文字やスペースは表示名に保持され、テーブル レイアウトの物理フィールド名では自動的にアンダースコア (_) に変換されます。

新しいフィールド名 を引用符で囲んだ文字列として指定します。表示名に改行を入れたい場合は、語句の間にセミコロン (;) を入れます。

関連テーブル名.ALL

省略可能

指定された関連テーブルのすべてのフィールドを使用します。

IF テスト

省略可能

各レコードを処理するために真である必要がある条件式。コマンドは、その条件を満たすレコードに対してのみ実行されます。

メモ

IF パラメーターは、任意の範囲パラメーター(WHILE、FIRST、NEXT)が適用された後に、テーブルに残るレコードに対してのみ評価されます。

TO フォルダー名

省略可能

出力テーブルの宛先フォルダー。

TO を省略すると、テーブルは Analytics プロジェクトを含むフォルダーに保存されます。

WHILE テスト

省略可能

各レコードを処理するために真である必要がある条件式。条件が false と評価するか、テーブルの最後に達したら、コマンドは実行を中止します。

メモ

WHILE を FIRST または NEXT とともに使用する場合は、1 つの制限に達するとすぐに、レコードの処理が停止します。

FIRST 範囲 | NEXT 範囲

省略可能

処理するレコード数:

  • FIRST 指定されたレコード数に達するまで、最初のレコードから処理を開始します
  • NEXT 指定されたレコード数に達するまで、現在選択されているレコードから処理を開始します

範囲は処理するレコード数を指定します。

FIRST と NEXT を省略すると、すべてのレコードがデフォルトで処理されます。

単一のキーフィールドに基づいてテーブルを分割する

Ap_Trans テーブルの Vendor_Name フィールドの一意の値に基づいて、複数の出力テーブルを生成します。

OPEN AP_Trans
SPLITVALUES ON Vendor_Name PREFIX Vendor_ FIELDS Vendor_No Vendor_City Invoice_No Invoice_Date Invoice_Amount Prodno Quantity Unit_Cost TO "Vendor_tables"

各出力テーブルには、一意のキー値を共有するすべてのレコードが含まれます。テーブルは Vendor_vendor_name と名前が付けられます。たとえば、Vendor_Koro_International という名前のテーブルには、Koro InternationalVendor_Name 値であるすべてのレコードが含まれます。

テーブルは、Analytics 作業ディレクトリの Vendor_tables フォルダーに保存されます。

複数のキーフィールドに基づいてテーブルを分割する

Ap_Trans テーブルの Vendor_Name フィールドと Invoice_Date フィールドの一意の値の組み合わせに基づいて、複数の出力テーブルを生成します。

ALLTRIM( ) 関数は、ベンダー名の値から不要な先頭と末尾のスペースを削除します。スペースは削除しないと複数のアンダースコア文字( _ )に変換され、出力テーブル名の限られたスペースの無駄遣いになります。

DATE( ) 関数は Invoice_Date フィールドを連結に必要な文字データ型に変換します。

OPEN AP_Trans
SPLITVALUES ON ALLTRIM(Vendor_Name)+"_"+DATE(Invoice_Date, "MM/DD/YY") FIELDS Vendor_No Vendor_Name Invoice_No Invoice_Date Invoice_Amount Prodno Quantity Unit_Cost TO "Vendor_Date_tables"

各出力テーブルには、一意のキー値の組み合わせを共有するすべてのレコードが含まれます。テーブルは vendor_name_invoice_date と名前が付けられます。たとえば、Koro_International_06_15_23 という名前のテーブルには、Koro InternationalVendor_Name 値であり 06_15_23Invoice_Date 値であるすべてのレコードが含まれます。

テーブルは、Analytics 作業ディレクトリの Vendor_Date_tables フォルダーに保存されます。