【Ver.18】ファイルメーカーの使い方を覚えたいあなたのためのブログ【データをインポートする機能】
2020年03月25日 10:31 AM
FileMaker 18
こちらは人気記事「ファイルメーカーの使い方を覚えたいあなたの為のブログ」のFileMaker 18対応バージョンです。
最新バージョン FileMaker 19 対応版はこちら
FileMaker Pro 18 Advanced(ファイルメーカー18)の使い方5回目。
今回は、「データをインポートする機能」ということで、
・FileMaker Pro 18 Advancedでインポートできるファイルの拡張子
・インポートの方法:ファイル
・インポートの方法:フォルダ
・エクセルからインポートする際の注意点
・ファイルメーカーファイルからインポートする際の注意点
の5つをご紹介したいと思います。
こちらはシリーズで連載しています。
①データを入力する器を作成する機能 V15|V17|V18|V19|2024
④データを変更する機能 V15|V17|V18|V19(入力を補助する機能をプラス)
⑤データをインポートする機能 V15|V17|V18|V19 ←今回はここです
⑥データをエクスポートする機能 V16|V17,18|V19
⑧データを表示する画面を作成する機能 V16|V17,18|続編(V19)
⑪処理を自動化する機能 V17,18|スクリプトトリガ編(V19)
⑫セキュリティに関する機能 V17,18|FileMakerファイルの暗号化/通信の暗号化(V19)
◇FileMaker Pro 18 Advanced でインポートできるファイルの拡張子
FileMaker Pro 18 Advancedでインポートできるファイルの拡張子は以下の通りです。
.csv
.txt
.dbf
.fmp12
.mer
.xls ※エクスポートはできません
.xlsx
.tab
.xml
■FileMaker ヘルプ【サポートされているインポートおよびエクスポートファイルフォーマット】
https://fmhelp.filemaker.com/help/18/fmp/ja/#page/FMP_Help%2Fimport-export-formats.html%23ww1046089
Ver.18から「カスタム区切り値形式」のインポート/変換がサポートされ、フィールド値を区切る文字を指定できます。また、インポート時に、フィールド名として使用するレコードを指定できるようになりました。
詳しくはこちらの記事で紹介しております↓
FileMaker Pro 18 Advanced の新機能【データインポート】
インポートとエクスポートの形式は基本的に共通ですが、「.htm」はエクスポートしかできない点に注意してください。
また、フォルダ単位で一括インポートする際の対応拡張子については後述します。
◇インポートの方法:ファイル
インポートは、メニューバーの「ファイル」→「レコードのインポート」で実施することができます。
インポートの種類は全部で4つありますが、まずはファイルからのインポートを見ていきたいと思います。
ファイルからのインポートの際にインポートできる形式は、先ほどご紹介した
「.csv/.txt/.dbf/.fmp12/.mer/.xls/.xlsx/.tab/.xml」
の9種類です。
メニューバーの「ファイル」→「レコードのインポート」→「ファイル」を選びインポートしたいファイルを指定します。
ファイルを指定すると下記のような画面が表示されます。(ちなみにVer.18からインポート画面のUIが大きく刷新されました!)
まず、ターゲット(インポート先)のテーブルを指定します。
この指定を間違えてしまうと、全然関係のないテーブルにデータが作成されてしまった…ということになってしまいます。
上の図のように、新規テーブルを選択すればインポートすることによって新しいテーブルを作成することが可能です。
次に上部左側にあるこの◀▶ボタンを操作します。これは取り込むエクセルファイルのデータの確認や行を変更するボタンになります。押すたびに取り込むエクセルファイルの行が2行目、3行目、・・・と変化していくのがわかると思います。ちなみに2/14、3/14と画面に表示されていますが、これは「対象行/全行数」の表示となっています。
ソースデータのフィールド名にしたいレコードを「フィールド名として使用」に指定します。
次に、インポート方法を指定します。画面上部にあるソースとターゲットを結ぶ矢印(→)をクリックすると下図のようなポップオーバーが表示されます。
それぞれ、次のような動作をします。
○追加
選択されたフィールドのソースデータをターゲットテーブルの新規レコードとして追加します。
○更新
照合フィールドの値が同じ場合、ターゲットの対象レコードで選択されているフィールドをソースデータで更新します。※1
このインポート方法で確定する為には、1つ以上の「照合フィールド」を指定する必要があります。(下図のようにインポート方法「更新」の場合のみ選択肢に照合フィールドが出現します)
「一致しないデータを新規レコードとして追加する」オプションを指定すると、ソースデータがターゲットのデータと一致しなかった場合、新規レコードとして登録されます。
オプション選択はインポート方法選択画面の下部からできます。※このオプションはインポート方法「追加」では利用できません。
※1 インポート先にレコードがない場合、この設定を選ぶことができませんので、設定前にレコードを1つ以上作成しておく必要があります。
○置換
ターゲットの対象レコードで選択されているフィールド置き換えます。その際、ファイル内のデータの確認や比較は行われず、元データの1行目がインポート先のファイルの1レコード目を、2行目が、2レコード目を…というイメージで更新されます。
「一致しないデータを新規レコードとして追加する」オプションを指定すると、インポート元のデータがインポート先のデータより行数が多かった場合、溢れたデータが新規レコードとして登録されます。
続いてターゲットフィールドをソースフィールドの項目に合わせていく(マッピング)方法についてです。
ターゲットフィールドのフィールド名をクリックすると一覧が表示されます。もし取込み先のフィールドが一覧からすぐに見つからない場合は検索をすることができます。
各オプションの詳細については、FileMaker Pro 18 Advanced のヘルプを参照してください。
■FileMaker ヘルプ【FileMaker Pro Advanced へのデータのインポート】
https://fmhelp.filemaker.com/help/18/fmp/ja/#page/FMP_Help%2Fimporting-data.html%23
■FileMaker ヘルプ【インポート時のインポート方法と割り当てるフィールドの設定】
https://fmhelp.filemaker.com/help/18/fmp/ja/#page/FMP_Help%2Fimport-action-field-mapping.html%23
◇インポートの方法:フォルダ
FileMaker Pro 18 Advanced では、フォルダ単位でデータを一括インポートすることも可能です。
一括インポートに対応した拡張子は次の通りです。
○ピクチャ
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にインポート、しかし空白レコードが出来てしまう。】にも詳しく載っているのですが、エクセルなどからインポートする場合、意図せず大量の空レコードが作成されてしまう…という事があり得ます。
これは、エクセルファイルが内部で保存している作成行数と、データが入力されている行数の違いによって起こります。
インポート後に、必ず値が入力されているフィールドで空欄のレコードを検索し、一括削除するなどの処理をすることで、このような望ましくない事態を回避することができますので、エクセルからインポートをする際はご注意ください。
■FileMaker ヘルプ【ファイルのフォルダの一括インポート】
https://fmhelp.filemaker.com/help/18/fmp/ja/#page/FMP_Help%2Fimporting-folder.html%23
◇FileMakerファイルからFileMakerファイルへインポートする際の注意点
ファイルメーカーのインポート機能では、テーブルからテーブルへ、データをインポートすることなども可能です。
その際に、注意点がいくつかありますのでお伝えします。
・インポートされるレコードは、インポート元ファイルの「対象レコードのみ」
・サーバーサイドスクリプトで実行させる場合、.fmp12から.fmp12への直接のインポートはできない(一度CSVなどにエクスポートしてインポートさせる等をしなければならない)
いかがでしたでしょうか。インポート機能には「XML」「ODBC」といった方法でのインポートも存在しますが、こちらは応用編のため、今回は割愛させて頂きたいと思います。