テーブル レイアウトにおけるフィールドのシフト

コンセプト情報

FIELDSHIFT コマンド

フィールドのシフトを使用すれば、固定のバイト数で表示されているフィールド定義を簡単に修正することができます。これが必要となるのは、テーブル レイアウトが不正に定義された場合、あるいはデータ ソースが変更されたが Analytics テーブルを再定義したくない場合です。

データ ソースの 1 つのフィールドの長さが 1 増えたなど、わずかな変更があり、そのフィールドがテーブル レイアウトで定義されていた場合は、後続フィールドの位置をずらすことで、そのテーブル レイアウトを使用し続けることができます。テーブル レイアウトで 1 つのフィールドの開始位置をシフトすると、そのフィールドの右側に定義されているすべてのフィールドの開始位置が自動的にシフトします。フィールドのシフトが作用するのは物理データ フィールドのみです。

レコード長の調整

テーブル レイアウトのフィールドをシフトする場合、以下の状況が当てはまるときは[テーブル レイアウト オプション]タブの[レコード長]の値も調整する必要があります。

  • 変更されたフィールド長データ ソースにあるフィールドの長さが変更された場合は、フィールドをシフトする前に、まずテーブル レイアウトでそれに該当するフィールドの長さを手動で調整する必要があります。また、テーブル レイアウトでレコード長の調整が必要になる場合もあります。
  • 追加されたフィールドデータ ソースに新しいフィールドが追加された場合は、まず、その新しいフィールドが収まるように、テーブル レイアウト ダイアログ ボックスでレコード長を増やす必要があります。シフトされるフィールドの 1 つが現在のレコード長を超える場合には、フィールドのシフトは実行できません。フィールドがシフトされたら、新しいフィールド定義を追加できます。
  • 削除されたフィールドデータ ソースからフィールドが削除された場合は、テーブル レイアウト内の対応するフィールドを削除します。フィールドをシフトした後、レコード長を手動で減らす必要が生じるかもしれません。

シフトされたフィールド定義は、レコード長内にある必要があります。

1 つ以上のフィールド定義を左右にシフトするときには、フィールドがいずれの方向でもレコード長を超えることができません。

フィールドのシフトは、指定されたフィールド定義と、任意のフィールド定義の両方を、指定された定義の右に移動します。定義のシフトされたブロックがいずれかの方向でレコード長を超える場合、エラー メッセージが表示され、シフト処理は実行されません。

ヒント

レコードの最後を超過しているためにエラー メッセージが表示される場合は、最終フィールド定義を削除し、シフト対象のフィールド定義の場所を作ってください。

テーブル レイアウトでフィールドをシフトする

  1. 編集 > テーブル レイアウト]の順にクリックします。
  2. フィールド/式の編集]タブをクリックします。
  3. 省略可能。テーブル レイアウトにデータ フィルターが定義されている場合は、特定のデータ フィルターのみを対象にフィールドをシフトすることができます。リストの上にあるドロップダウンリストから、該当するデータフィルターを選択します。選択したデータ フィルターに関連付けられるフィールドのみが表示され、シフトされます。
  4. 省略可能。特定のフィールドからフィールドのシフトを開始する場合は、フィールドのリストでフィールドを選択します。

    選択するフィールドの開始バイト位置は、[フィールドのシフト]ダイアログボックスにあらかじめ入力されます。

  5. フィールドのシフト]をクリックします。
  6. 位置からフィールドの位置を開始]テキストボックスで、あらかじめ入力された値を保持するか、シフトする最初のフィールド定義の開始バイト位置を指定します。

    すべてのフィールド定義が、指定されたフィールド定義の右にシフトされます。

    非開始バイト位置を指定する場合は、次の開始バイト位置が使用されます。

    メモ

    非 Unicode Analytics1 バイト = 1 文字
    Unicode Analytics、拡張 ASCII (ANSI) データ1 バイト = 1 文字
    Unicode Analytics、Unicode データ2 バイト = 1 文字

    Unicode データの場合、一般的に、奇数の開始バイト位置を指定します。偶数の開始位置を指定すると、文字が正しく表示されない可能性があります。

  7. 次のバイト数でフィールドをシフト]テキストボックスで、フィールド定義をシフトするバイト数を指定します。

    フィールド定義を右にシフトする正の数値を入力します。フィールド定義を左にシフトする負の数値を入力します。

    メモ

    非 Unicode Analytics1 バイト = 1 文字
    Unicode Analytics、拡張 ASCII (ANSI) データ1 バイト = 1 文字
    Unicode Analytics、Unicode データ2 バイト = 1 文字

    Unicode データの場合、偶数バイトのみを指定します。奇数バイトを指定すると、文字が正しく表示されない可能性があります。

  8. OK]をクリックしてから、確認ダイアログ ボックスで、[はい]をクリックします。