テーブル関数
テーブル関数は、現在読み込まれているデータ テーブルに関する情報を返します。テーブル名の指定がなく、関数が 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 |