データの保存、インポート、およびエクスポート > FileMaker Pro Advanced へのデータのインポート > インポート時のインポート方法と割り当てるフィールドの設定
 

インポート時のインポート方法と割り当てるフィールドの設定

データを既存の FileMaker Pro Advanced ファイルにインポートする場合、インポートするファイルまたはデータのソースを選択した後で、[フィールドデータのインポート順] ダイアログボックスが表示されます。このダイアログボックスを使用して、次のインポートオプションを指定することができます。

インポート方法: 既存のファイルにデータをインポートする方法を指定します。ファイルへの新しいレコードの追加、ファイル内の一致するレコードの更新、またはファイル内の既存のレコードを置換することができます。既存のファイルへのデータのインポート方法を参照してください。

インポート順: ターゲットファイル内のフィールドを、インポートするソースデータ内のフィールドにマップすることにより、データをインポートする場所を指定します。

任意のフィールドタイプのレコードを、計算フィールド集計フィールドを除く、互換性のある任意のフィールドタイプにインポートすることができます。オブジェクトフィールドには、別の FileMaker Pro Advanced ファイルからインポートする場合やイメージ、ビデオ、または PDF ファイルのフォルダをインポートする場合にインポートできます。グローバルフィールドにデータをインポートする場合、グローバルフィールドの値は、ソースファイルからグローバルフィールドに最後にインポートされた項目によって決まります。

インポート時にインポート方法と割り当てるフィールドを設定するには、次の操作を行います。

1. 既存の FileMaker Pro Advanced ファイルにインポートするファイルまたはデータのソースを選択します (まだ選択していない場合)。

既存のファイルへのデータのインポートファイルのフォルダの一括インポート、または XML データのインポートの手順に従います。[ フィールドデータのインポート順] ダイアログボックスが開きます。

2. 一致するターゲットフィールドアイコン をクリックして、実行するインポート操作を選択します。

 

目的

選択項目

ターゲットファイルの末尾に新しいレコードを追加する

[追加]

メモ  ターゲットテーブルにデータがない場合、選択できるのは [追加] のみです。更新する、または置換するデータがない場合は、次に説明するオプションは使用できません。

ターゲットファイルのデータを、ソースファイルの一致するレコードで更新する

[更新]

ターゲットファイル内の対象レコードを、各ファイル内の最初のレコードから順に、ソースからインポートするレコードに置き換える

[置換]

[更新] または [置換] では、[一致しないデータを新規レコードとして追加する] を選択して、ソース内の追加のレコードをターゲットファイル内の新しいレコードとして追加します。

重要  一致するレコードを更新、または既存のレコードを置換すると、ターゲットファイル内のデータが上書きされ、元に戻すことはできません。データを保護するには、[ファイル] メニュー > [名前を付けて保存...] を選択して、ターゲット FileMaker Pro Advanced ファイルのバックアップコピーを作成してください。この操作を行えるのはローカルファイル (ご使用のコンピュータ上) のみです。また、レコードの更新処理または置換処理の内容を十分に理解してください。FileMaker Pro Advanced へのデータのインポートを参照してください。

3. 複数のテーブルで構成される別の FileMaker Pro Advanced ファイルからデータをインポートする場合、[ソース] の一覧からインポートするテーブルを選択します。

4. インポートするソースデータ内のレコードにデータではなくフィールド名 (列タイトル) が含まれている場合は、フィールド名を含むレコードが出現するまで、入力値の自動化オプションアイコン または 前へ矢印 をクリックします。その後で、[フィールド名として使用] を選択します。

以降のレコードのみをインポートに使用できます。

5. ターゲットファイルに複数のテーブルが含まれている場合は、[ターゲット] 一覧からテーブルを選択します。

または、[新規テーブル] を選択します。インポートされたデータに対する新規テーブルの作成についてを参照してください。

6. [ターゲットフィールド] で、ターゲットフィールドを選択して、ソースデータをインポートするのか更新するのかを指定します。

ターゲットフィールドとソースフィールドをマップするには、次のいずれかの方法を使用します:

選択を変更するには、現在のターゲットフィールド名をクリックして、一覧から別のフィールドを選択します。一覧でフィールドを検索するには、検索ボックスにフィールド名を構成する文字のいくつかを入力します。一覧内のターゲットフィールド名の横にあるインジケータは、そのフィールドをマップに使用できるかどうかを示します。

 

フィールドマッピングインジケータ

説明

インポート時のレコードの追加を示す概念図

ソースフィールドに現在マップされていない

[データベースの管理] ボタン

ソースフィールドに現在マップされている

マップ解除されたターゲットフィールドアイコン

照合フィールドとして現在マップされている

次へ矢印

ターゲットフィールドが互換性のないフィールドタイプである、または、十分なアクセス権を持っていないために、ソースフィールドにマップできない

ターゲットファイルにある照合フィールドは、オブジェクト、集計、またはグローバル以外のフィールドである必要があります。照合フィールドのフィールドタイプは、対応するフィールドのデータのタイプと一致する必要があります。たとえば、数値フィールドは、テキストを含むフィールドとは一致しません。インポート操作が [更新] に設定されている場合は、照合フィールドとしてのみ使用できるターゲットフィールドが [照合のみ] の下の一覧に表示されます。これらのフィールドのいずれかを選択すると、照合フィールドにマッピングが設定されます。

ソースフィールドにマップできないターゲットフィールドは、[インポート不可] の下の一覧に表示されます。これらのフィールドにはソースデータをインポートできず、照合フィールドとして使用することもできません。

インポートするデータをプレビューするには、入力値の自動化オプションアイコン または 前へ矢印 をクリックします。

インポートするテーブル内のフィールドを作成または変更するには、ターゲットフィールド名をクリックしてから、前へ矢印 をクリックするか、[ターゲット] 一覧から [データベースの管理...] を選択します。[「ファイル名」のデータベースの管理] ダイアログボックスで変更を行い、[OK] をクリックします。(このボタンがグレー表示されている場合、十分なアクセス権がないか、またはデータベースがネットワーク上で共有されており、現在は変更が許可されていません。ファイルの共有とホストを参照してください)。

一度にすべてのソースフィールドを照合してターゲットフィールドを並べ替えるには、[ターゲットフィールド] 列のメニューから次のオプションのいずれかを選択します。

 

選択するオプション

フィールドの配置順

照合名順

ターゲットテーブルとソーステーブルの両方で一致するフィールド名順

このオプションを選択するたびに、FileMaker Pro Advanced では、フィールド名が動的に照合されます。(ソースのデータにフィールド名が含まれていない場合、このオプションは使用できません。)

最後に使用した順序

前回 FileMaker Pro Advanced でこのテーブルにデータをインポートした順序、またはデフォルトの順序 (作成順)

作成順

フィールドを作成した順序

フィールド名

名前順

フィールドタイプ

フィールドタイプ

カスタム順位

カスタム順位 (ターゲットフィールドを変更して作成)

7. 一覧内の各フィールドペア間の [マッピング] 列で、現在のマッピングをクリックして、実行するフィールドマッピングを選択します。

各フィールドをターゲットフィールドにインポートするかどうかの選択、またはフィールドの組を照合フィールドとして使用して一致するレコードを更新することができます。

メモ  次の場合、ソースフィールドのデータはインポートされません:

マッピングが [インポートしない] に設定されている場合。インポートするソースフィールドごとに、マッピングを [インポート] に設定し、ターゲットフィールドを選択します。必要があれば、新しいターゲットフィールドを作成します。

[無効なターゲット] がソースフィールドとターゲットフィールドの間に表示される場合。これはターゲットフィールドがソースフィールドデータをサポートしていないことを示しています。計算フィールドまたは集計フィールドにデータをインポートしたり、一致しないデータタイプをインポートする (たとえば、オブジェクトフィールドのデータをテキストフィールドにインポートする) ことはできません。(無効なターゲットは、特定のターゲットフィールドにデータをインポートする操作がアクセス権によって許可されていないことを示す場合もあります)。

8. 入力値の自動化 (自動入力) が定義されたターゲットフィールドでは、インポート中に入力値の自動化オプションを実行するかどうかを選択します ([修正日] フィールドに日付を入力する場合など)。

 

入力値の自動化オプションで定義されたフィールドへの新規データの入力を自動化する

操作

個別のターゲットフィールドの場合

[ターゲットフィールド] 列内のフィールドの横にある フィールドアイコンごとに入力値の自動化オプションを実行する (選択時) をクリックして、[入力値の自動化オプションを実行] を選択します。フィールドアイコンごとに入力値の自動化オプションを実行する は、オプションが選択されていることを示します。それ以外の場合は、このフィールドで値は自動入力されません。

現在マップされていないターゲットフィールドは、[ターゲットフィールド] 列に表示されません。入力値の自動化オプションを使用して任意のターゲットフィールドに対してこのオプションを設定するには、[インポートオプション] 領域で フィールドアイコンごとに入力値の自動化オプションを実行する をクリックしてフィールドを選択します。

すべてのターゲットフィールドの場合

[インポートオプション] 領域で、[インポート中にフィールドに対して入力値の自動化オプションを実行] を選択します。それ以外の場合は、すべてのターゲットフィールドで値は自動入力されません。

メモ  このオプションを選択してから、一部の個別のターゲットフィールドのオプションを選択解除した場合、このオプションは混合状態を示します。このオプションの状態に影響するすべてのターゲットフィールドを表示するには、[インポートオプション] 領域で、フィールドアイコンごとに入力値の自動化オプションを実行する をクリックします。

メモ  入力値の自動化が設定されたフィールドに値 (修正者、修正日や時刻、ルックアップのデータなど) をインポートする場合は、このオプションを選択すると、インポートするデータが入力値の自動化データで上書きされます。

入力値の自動化の定義を参照してください。

9. 必要に応じて、[インポートオプション] 領域で、追加のオプションを選択します。

 

目的

操作

ソースファイル内で使用する文字エンコードを選択する

[ソースファイルの文字セット:] で、文字エンコードを選択します。

文字セット一覧は、利用できる場合と利用できない (グレー表示されている) 場合があります。

一覧がグレー表示されている場合は、FileMaker Pro Advanced が自動的にファイルのエンコードを決定して選択しています。

一覧が利用できる場合は、FileMaker Pro Advanced がファイルのエンコードを決定できず、オペレーティングシステムとインポートするファイル形式に基づいて適切な文字エンコードが選択されています。別のエンコードを選択すると、FileMaker Pro Advanced がインポートデータをスキャンし、そのデータに不正な文字が含まれていた場合は警告メッセージを表示します。

メモ  16 ビット Unicode (UTF-16) のテキストファイルをインポートする場合、ファイルに Unicode 標準の BOM (Byte Order Mark) が含まれている必要があります。BOM がない場合、FileMaker Pro Advanced はファイルのエンコードを正しく認識できません。

カスタム区切り値形式のソースファイルで使用するフィールド区切り記号を指定する

[ソースファイルのフィールド区切り文字:] で、ソースファイル内のフィールド値を区切る文字を一覧から選択 (または [その他] を選択して文字を入力) します。

このオプションは、手順 1 で [ファイルの種類] (Windows) または [表示] (macOS) に対して [カスタム区切り値...] を選択した場合にのみ使用できます。

インポート中にオブジェクトフィールドの入力値の制限を中止して、ターゲットファイルで既存のオブジェクトフィールドの内容の使用を許可する

[オブジェクトの外部格納を維持] を選択します。

たとえばこのオプションを使用すると、オブジェクトデータをターゲットファイルに移動するために、ファイルを復号/再暗号化することなく、ファイルの複製されたコピーにデータを素早くインポートできます。

ソースフィールドとターゲットフィールドの基本ディレクトリは同じである必要があります。

ソースファイル内の繰り返しフィールドからデータをインポートする方法を指定する

[繰り返しフィールド:] では以下を選択します。

[元のレコードの値を維持する] を選択して、繰り返しフィールドとしてフィールドを維持します。

[値を複数のレコードに分割] を選択して、それぞれの繰り返し値を個別のレコードにインポートします。(このオプションは繰り返しフィールドの個々の値を処理するために使用します。たとえば、フィールドのソートや集計など。)

メモ  繰り返しフィールドのデータを個別のレコードに分けると、各レコードで、インポートした非繰り返しフィールドが重複することになります。たとえば、ソースファイルのレコードが 3 個の繰り返しフィールドを持つ場合、それらを個別のレコードに分けると、繰り返しフィールドの値を除いてはそれぞれが等しい 3 レコードがインポートされます。

10. [インポート] をクリックします。

メモ  大容量のデータをインポートしている場合、インポート処理の進捗状況を示す [インポート] ダイアログボックスが表示されることがあります。インポートを中止するには、[中止] をクリックします。すでにインポート済みのレコードはターゲットファイルに残ります。ファイルがインポートの前の状態に戻ることはありません。すでにインポートしたレコードを完全に削除するには、[レコード] メニュー > [対象レコード削除...] を選択します。

11. [インポートの概要] ダイアログボックスで、インポートされたレコード数とスキップされたデータを確認して、[OK] をクリックします。

[インポートの概要] ダイアログボックスには、インポートされたレコードとスキップされたデータに関する 3 つの統計情報が表示されます:

 

概要

説明

追加または更新されたレコード

インポート処理中に、ターゲットファイルで追加または更新されたレコードの総数。

メモ  一致するレコードを更新するように選択した場合に、ソースファイル内の複数のレコードがターゲットファイルの対象レコード内の 1 つのレコードと一致した場合、この数値には同じレコードが複数回更新された回数も含まれます。メモを参照してください。

エラーのためスキップされたレコード

次の理由によりスキップされたターゲットファイル内のレコードの数:

アクセス権のエラー: アクセス権限により 1 つまたは複数のレコードの変更が制限されています。

レコードのロック: 1 つまたは複数のレコードに、同じユーザが別のウインドウでアクセスしているか、またはファイルを共有している場合に他のクライアントがアクセスしているために変更できません。

入力値の制限エラー: レコードレベルでフィールドの入力値の制限条件が満たされていないためにレコードを確定できなかったため、1 つまたは複数のレコードを変更できません。インポート時の入力値の制限を参照してください。

エラーのためスキップされたフィールド

次の理由によりスキップされたターゲットファイル内のフィールドの数:

入力値の制限エラー: データがフィールドに定義された入力値の制限条件を満たさないため、1 つまたは複数のフィールドをインポートできません。インポート時の入力値の制限を参照してください。

アクセス権のエラー: アクセス権により 1 つまたは複数のフィールドの変更が制限されています。

フィールドがスキップされても、同じレコードの他のフィールドの更新に問題はありません。

メモ 

インポートするレコードは対象レコードになります。インポート後、対象レコードのデータをチェックしてください。[レコード] メニュー > [全レコードを表示] を選択します。

レコードを更新または置換する場合は、ファイルのバックアップコピーを破棄する前に、レコードが正しいことを確認してください。

レコード内の指定された照合フィールドがいずれも空の場合は、そのレコードは更新されません。

ソースファイルの 1 レコードが、ターゲットファイルの複数のレコードと一致する場合は、ターゲットファイルの対象レコード内の一致するレコードすべてが更新されます。

ソースファイルの複数のレコードが、ターゲットファイルの対象レコードの 1 レコードと一致する場合は、ターゲットファイルはソースファイルの最後に一致したレコードで更新されます。インポート処理によって、ターゲットファイルの一致するレコードは、何度も (つまり、ソースファイル内の一致するレコードそれぞれによって 1 回ずつ) 更新されます。そのため、ソースファイルの最後の一致するレコードがターゲットファイルでの最終的な内容となります。

更新後の対象レコードには、更新前の対象レコードに関係なく、更新されたレコード (つまり一致したレコード) と追加された新しいレコードが含まれます。

複数のフィールドのフィールドマッピングを設定するには、[ソースフィールド] 列の各行を Ctrl + クリック (Windows) または command + クリック (macOS) するか、行の範囲を Shift + クリックします。その後で、選択したフィールドのいずれかの現在のマッピングをクリックしてマッピングを選択します (スペースバーを押して、タブ、上矢印、または下矢印を使用してから、スペースキーまたは Return キーを押してフィールドマッピングを選択することもできます)。