テーブル関数
テーブル関数は、現在読み込まれているデータ テーブルに関する情報を返します。テーブル名の指定がなく、関数が LOAD ステートメント内で使用されている場合、現在のテーブルと判断されます。
すべての関数は、データ ロード スクリプトで使用できますが、NoOfRows は唯一チャート式でも使用できます。
各関数のドロップダウンを使用すると、その関数の簡単な説明や構文を確認できます。構文説明に表示された関数名をクリックすると、その関数の詳細が表示される場合もあります。
この例では、ロードされたテーブルと項目についての情報を持つテーブルを作成します。
まず、サンプル データをロードします。このセクションに記載されているテーブル関数の説明に使用される 2 つのテーブルが作成されます。
Characters:
Load Chr(RecNo()+Ord('A')-1) as Alpha, RecNo() as Num autogenerate 26;
ASCII:
Load
if(RecNo()>=65 and RecNo()<=90,RecNo()-64) as Num,
Chr(RecNo()) as AsciiAlpha,
RecNo() as AsciiNum
autogenerate 255
Where (RecNo()>=32 and RecNo()<=126) or RecNo()>=160 ;
次に、ロードしたテーブルを NoOfTables 関数を使って繰り返し処理してから、NoOfFields 関数を使って各テーブルの項目を繰り返し処理し、テーブル関数を使って情報をロードします。
//Iterate through the loaded tables
For t = 0 to NoOfTables() - 1
//Iterate through the fields of table
For f = 1 to NoOfFields(TableName($(t)))
Tables:
Load
TableName($(t)) as Table,
TableNumber(TableName($(t))) as TableNo,
NoOfRows(TableName($(t))) as TableRows,
FieldName($(f),TableName($(t))) as Field,
FieldNumber(FieldName($(f),TableName($(t))),TableName($(t))) as FieldNo
Autogenerate 1;
Next f
Next t;
この結果、Tables は次のようになります。
Table | TableNo | TableRows | Field | FieldNo |
---|---|---|---|---|
Characters | 0 | 26 | Alpha | 1 |
Characters | 0 | 26 | Num | 2 |
ASCII | 1 | 191 | Num | 1 |
ASCII | 1 | 191 | AsciiAlpha | 2 |
ASCII | 1 | 191 | AsciiNum | 3 |