新・ファイルメーカーの使い方を覚えたいあなたの為のブログ【データをインポートする機能】

2019年03月08日 02:54 PM

FileMaker 17


こちらは大人気記事「ファイルメーカーの使い方を覚えたいあなたの為のブログ」のリニューアル版(Ver.17)です!

最新バージョン FileMaker 19 対応版はこちら

FileMaker Pro Advanced(ファイルメーカー)の使い方5回目。

今回は、「データをインポートする機能」ということで、

・FileMaker Pro 17 Advanced でインポートできるファイルの拡張子

・インポートの方法:ファイル

・インポートの方法:フォルダ

・エクセルからインポートする際の注意点

・ファイルメーカーファイルからインポートする際の注意点

の5つをご紹介したいと思います。

これはシリーズで連載しています。

①データを入力する器を作成する機能 V15V17V18V192024

②データを登録する機能 V15V17V18V19

③データを消去する機能 V15V17V18V19

④データを変更する機能 V15V17V18V19(入力を補助する機能をプラス)

⑤データをインポートする機能 V15V17V18V19 ←今回はここです

⑥データをエクスポートする機能 V16V17,18V19

⑦データを表示する機能 V16V17,18V19

⑧データを表示する画面を作成する機能 V16V17,18続編(V19)

⑨画面を印刷する機能 V17,18続編(V19)

⑩データを共有する機能 V17,18V19

⑪処理を自動化する機能 V17,18スクリプトトリガ編(V19)

⑫セキュリティに関する機能 V17,18FileMakerファイルの暗号化/通信の暗号化(V19)

◇FileMaker Pro 17 Advanced でインポートできるファイルの拡張子

FileMaker Pro 17 Advanced  でインポートできるファイルの拡張子は以下の通りです。

.csv

.txt

.dbf

.fmp12

.mer

.xlsx

.tab

.xml

■FileMaker ヘルプ【サポートされているインポートおよびエクスポートファイルフォーマット】

https://fmhelp.filemaker.com/help/17/fmp/ja/#page/FMP_Help%2Fimport-export-formats.html%23ww1046089

インポートとエクスポートの形式は基本的に共通ですが、「.htm」のみ、エクスポートしかできない点に注意してください。

また、フォルダ単位で一括インポートする際の対応拡張子については後述します。

◇インポートの方法:ファイル

インポートは、メニューバーの「ファイル」→「レコードのインポート」で実施することができます。

インポートの種類は全部で4つありますが、まずはファイルからのインポートを見ていきたいと思います。

ファイルからのインポートの際にインポートできる形式は、先ほどご紹介した

「.csv/.txt/.dbf/.fmp12/.mer/.xlsx/.tab/.txt/.xml」

の9種類です。

メニューバーの「ファイル」→「レコードのインポート」→「ファイル」を選択すると、「ファイルを開く」のウインドウが表示されます。

ここで、インポートしたいファイルを選択し、「開く」を押すことでインポートすることができます。

インポートするファイルを指定したら、フィールドデータのインポート順を設定します。

まず、インポート先のテーブルに注目してください。

この指定を間違えてしまうと、全然関係のないテーブルにデータが作成されてしまった…ということになってしまいます。

上の図のように、インポートすることによって新しいテーブルを作成することも可能です。

次に、インポート方法を指定します。

それぞれ、次のような動作をします。

  • 新規レコードとして追加

インポートされたレコードを、全て新規レコードとして登録します。

  • 対象レコード内の既存のレコードを更新

インポートするデータで、既存のデータを上書きします。その際、ファイル内のデータの確認や比較は行われず、元データの1行目がインポート先のファイルの1レコード目を、2行目が、2レコード目を…というイメージで更新されます。※1

「一致しないデータを新規レコードとして追加する」オプションを指定すると、インポート元のデータがインポート先のデータより行数が多かった場合、溢れたデータが新規レコードとして登録されます。

  • 対象レコード内で一致するレコードを更新

インポート元のデータとインポート先のデータを照合し、データを上書きします。※1

このインポート方法で確定する為には、1つ以上の「照合フィールド」を指定する必要があります。照合フィールドは、インポート元のフィールドとインポート先のフィールドの間にある記号をクリックし、【=】の記号にすることで、指定することができます。(先にインポート方法「対象レコード内で一致するレコードを更新」を選んでいないと指定ができない点に注意します)

下の図のようにインポート元とインポート先があっていない場合は、

(windows)インポート先のフィールド名の左にある上下矢印の位置でドラッグすると、動かすことができます(移動できるのは1フィールドずつです)。

(macOS) インポート先フィールドをそのままドラッグすることで動かすことができます。

記号のそれぞれの意味は、フィールドデータのインポート順の画面の下部に「記号」として説明のある通りです。

この「対象レコードで一致するレコードを更新」は、設定した照合フィールドがすべて一致した場合、そのレコードを上書きします。

「一致しないデータを新規レコードとして追加する」オプションを指定すると、インポート元のデータがインポート先のデータと一致しなかった場合、新規レコードとして登録されます。

※1 インポート先にレコードがない場合、この設定を選ぶことができませんので、設定前にレコードを1つ以上作成しておく必要があります。

また、フィールドデータのインポート順オプションでは【<<】【>>】でインポート元データをプレビュー表示できますので、参考にしてください。

各オプションの詳細については、FileMaker Pro Advanced 17のヘルプを参照してください。

■FileMaker ヘルプ【FileMaker Pro Advanced へのデータのインポート】

https://fmhelp.filemaker.com/help/17/fmp/ja/#page/FMP_Help%2Fimporting-data.html%23

 

■FileMaker ヘルプ【インポート時のインポート方法と割り当てるフィールドの設定】

 

https://fmhelp.filemaker.com/help/17/fmp/ja/#page/FMP_Help%2Fimport-action-field-mapping.html%23

◇インポートの方法:フォルダ

FileMaker Pro Advanced 17 では、フォルダ単位でデータを一括インポートすることも可能です。

一括インポートに対応した拡張子は次の通りです。

ピクチャ Encapsulated Postscript (.eps)

GIF (.gif)

JPEG/JFIF (.jpg)

PDF (.pdf) (OS X)

PNG (.png)

TIFF (.tif)

Windows ビットマップ (.bmp)

Windows メタファイル/拡張メタファイル (.wmf/.emf) (Windows)

オーディオ/ビデオ AIFF オーディオファイル (aif、.aiff)

AVI ムービー (.avi)

MP3 オーディオファイル (mp3)

MPEG-4 オーディオファイル (.m4a)

MPEG-4 ムービー (.mp4)

MPEG ムービー (.mpg、.mpeg)

MPEG-4 ビデオファイル (.m4v)

QuickTime ムービー (.mov、.qt) ( 下記のメモを参照)

Sun オーディオファイル (.au)

WAVE オーディオファイル (wav)

Windows Media Audio (.wma)

Windows Media Video (.wmv)

テキスト .txt (またはファイルタイプがテキスト)

メモ

  • オーディオまたはビデオとして挿入された QuickTime ムービー (.mov、.qt) では、QuickTime VR などの形式はサポートされていません。

指定したフォルダに、対応していないファイルタイプのファイルが存在した場合、次のようなエラーメッセージが表示されます。

ファイルのフォルダの一括インポートでは、指定したフォルダの下位フォルダをインポート対象に指定するかどうかを選択することができます。

一括インポートの際にインポートできるデータは次の通りです。

■ファイルタイプが【ピクチャ】の場合

・イメージ

・ファイル名

・ファイルパス

・イメージのサムネール

■ファイルタイプが【テキストファイル】の場合

・テキストの内容

・ファイル名

・ファイルパス

その為、「対象レコード内で一致するレコードを更新」がしたい、というような場合、ファイル名を照合フィールドにするか、ファイルパスを照合フィールドにするか…というように選択肢があまりありません(オブジェクトフィールドを照合フィールドに設定することはできません)。

例えば「顧客IDで照合したい」というような場合は、ファイル名やフォルダ名の一部を顧客にしておき、インポートするファイルに、照合する為のフィールドを用意しておくなど、色々な工夫が必要になってきます。

◇エクセルからインポートする際の注意点

過去のイエスウィキャンのブログ【ExcelからのFileMakerにインポート、しかし空白レコードが出来てしまう。】(https://ywc.com/filemaker/?p=1942)にも詳しく載っているのですが、エクセルなどからインポートする場合、意図せず大量の空レコードが作成されてしまう…という事があり得ます。

これは、エクセルファイルが内部で保存している作成行数と、データが入力されている行数の違いによって起こります。

インポート後に、必ず値が入力されているフィールドで検索して、空欄のレコードを一括削除するなどの処理をすることで、このような望ましくない事態を回避することができますので、エクセルからインポートをする際はご注意ください。

■FileMaker ヘルプ【ファイルのフォルダの一括インポート】

https://fmhelp.filemaker.com/help/17/fmp/ja/#page/FMP_Help%2Fimporting-folder.html%23

◇FileMakerファイルからFileMakerファイルへインポートする際の注意点

ファイルメーカーのインポート機能では、テーブルからテーブルへ、データをインポートすることなども可能です。

その際に、注意点がいくつかありますのでお伝えします。

  • インポートされるレコードは、インポート元ファイルの「対象レコードのみ」
  • サーバーサイドスクリプトで実行させる場合、.fmp12から.fmp12への直接のインポートはできない(一度CSVなどにエクスポートしてインポートさせる等をしなければならない)

いかがでしたでしょうか。インポート機能には「XML」「ODBC」といった方法でのインポートも存在しますが、こちらは応用編のため、今回は割愛させて頂きたいと思います。