第7話 インポートでレコード作成

お疲れ様です。エヌ・ケイ・カスタマイズの福山です。以前、エクセルやCSVのファイルをインポート(取り込み)することができるというお話したことがあったかと思いますが、今回はインポートでレコードを作成する方法についてお話したいと思います。

以下の記事は、FileMaker Master Book 初級編(バージョン 19 対応)より、
「5.5 インポートでレコード作成(103ページ)~」を元に掲載しています。

この文献から、データの取り込み方法について学びました。文献の執筆者、関係者の方々に深謝いたします。

なお、このブログ記事の趣旨は、弊社所属スタッフの FileMaker 学習の成果を公開することを目的とし、同時に、参考文献の内容の紹介に資するものであることを Claris International Inc. が確認しています。

Claris FileMaker 公式トレーニング教材

インポートでレコード作成とは、データを取り込むことです。原則として1 回に1 テーブルに対して1 ファイル(テーブル)のデータをインポート可能です。ですから、
・ どのテーブルに
・ どのフィールドに

を、指定する必要があります。インポートは大きくわけて2 種類です。インポートの度に指定します。
・ テーブルにレコードを作成(「追加」)する(テーブルも作成可能)
・ すでにテーブルにあるレコード(フィールド)を書き換え(「更新」または「置換」)

ソース、ソースファイル
 → インポートするデータ(ファイル)のことです。
ターゲット、ターゲットテーブル、ターゲットファイル
 → インポート先のClaris FileMaker のファイルやテーブルのことです。

例えば、Claris FileMaker ではないシステムの売上情報を、毎日カスタムApp に入力して作業に使用したい場合、手入力では大変な時間がかかります。インポートを活用することで一括のレコード作成(追加)が容易になります。

レコードの更新
レコードの内容を上書きすることです。どのフィールドにインポートするか、により上書きされた/されなかったフィールドが1 レコード中に混在することになります。

インポートの方法は下のいずれかの方法となります。

方法1:メニュー1
[ファイル]-[レコードのインポート]で、なにをインポートするか選択します。

方法2:メニュー2
[ファイル]-[開く…]メニューを選択します。これは、データをインポートするだけでなく新しくテーブルも作成する場合です。

方法3:スクリプト
[レコードのインポート]スクリプトステップを使います。

インポートは全てのフィールドタイプが可能ではなく、フィールドタイプによってインポートできるかどうか違いがあります。

テキスト、数字、日付、時刻、タイプスタンプフィールド
原則としてインポート可能です。フィールドオプションの設定内容によってはインポートできない場合があります。

計算と集計タイプのフィールド
インポートはできません。

オブジェクトタイプのフィールド
インポート可能です。

インポートする時は以下の注意が必要です。
1.インポートではレコードが作成されたり書き換えられたりします。元に戻すことはできないため、必ずバックアップファイルを作成してからインポートをおこないます。

2.すでに作成されているテーブルにデータをインポートする場合、インポートする順番を指定する必要があります。ソースファイルの内容を、どのターゲットテーブルの、どのフィールドにインポートするのかを毎回指定します。

3.インポートされるデータに不備があったりレコードの状態やフィールドに設定されているオプションによっては取り込まれないデータが発生します。ですから、取り込まれるはずの件数と、取り込まれた件数を必ず比較します。

Claris FileMaker では、取り込まれなかったデータは『スキップされた』と呼ばれます。
2 種類のスキップがあります。

・ レコードが追加あるいは更新できなかった
・ レコードは追加あるいは更新できたが、特定のフィールドだけできなかった

スキップが起きたら原因を探って解決します。そしてもう一度インポートをやり直す必要があるかもしれません。そのとき、バックアップファイルはとても役に立ちます。

また、インポート後に対象レコードがどうなるかは重要です。インポート前後で対象レコードが異なっているかどうか意識します。原則としてインポート直後は、追加されたレコード、更新されたレコードだけが対象レコードとなります。インポート直後に作業をおこなう場合は、その対象レコードで良いかどうかを確認します。

実際にインポートしてみます。下の図を見て頂いて、まずインポートする前にレコードの数を確認してみます。左側にある数字が主キーを表していて、この数がレコードの数を反映していますので、レコードの数は32です。

主キーのフィールドは32です。

インポートを開始します。

1.[ファイル]-[レコードのインポート]-[ファイル…]メニューを選択します。
2.インポートするファイル(タスクインポート.CSV)を指定します。
「表示:」を「コンマ区切り値」に切り替えて指定します。

3.[開く]ボタンをクリックします。
4.[インポート順の指定]ダイアログが表示されますので『追加』を押して設定を行います。

5. 左側に「ソース」のデータが読み込まれて1 行目とその内容が表示されています。
6.「データ」をクリックして「フィールド名として使用」を選択します。
7. 右の「最後に使用した順序」を「照合名順」に変更します。
  用意したファイルは、項目名をフィールド名と合わせていますので、「ソースフィールド」と「ターゲットフィールド」が一致していることを確認します。
8. 他の設定はそのままにします。

インポートする前にフィールドデータのインポート順をダイアログについて確認してみます。
a.「ターゲットフィールド」の「タスク」をクリックすると、吹き出しが表示され他のフィールドを指定できます。

b.「インポート中にフィールドに対して入力値の自動化オプションを実行」の右の歯車アイコンをクリックすると、吹き出しが表示されます。入力値の自動化オプションを実行するかどうかをフィールドごとに設定できます。

9. インポートをおこないます。[インポート]ボタンをクリックします。
10. [インポートの概要]ダイアログを確認します。スキップされずに取り込まれるはずです。内容を確認して[OK]をクリックします。

11. スキップされたレコードがなく、インポートが終了しました。主キーは62となり、レコードの数がインポートした30件分増えました。

今回はインポートでレコードを作成できることについてご説明させて頂きました。
また次回もよろしくお願いいたします。


参考文献:Claris FileMaker 公式トレーニング教材 から、「FileMaker Master Book 初級編」 等を参考にしています
https://content.claris.com/fmb19_reg-ja