FileMakerで「1行目にフィールド名を入れてCSVエクスポート」する方法

FileMakerはCSVエクスポートすると1行目からいきなりデータレコードになります。

しかし1行目にはフィールド名を入れたいというケースはよくあります。例えば、データ受け手側プログラムの都合にあわせたい、可読性向上のため、といった目的でです。

FileMaker側でこのあたりの調整ができると便利なのでやり方をいくつか紹介します。

FileMakerでフィールド名含めてCSVエクスポートする方法

1.CSVではなくMarge形式で書き出す

Marge形式はフィールド名を1行名のデータとして書き出すエクスポート形式。

シンプルに「項目名付きのCSVデータを書き出したい」だけならこの方法でOKです。ただ、フィールド名がそのまま1行目の項目名になってしまう点がデメリットと言えます。受け手側プログラムが要求している項目名が、FileMakerで都合が悪い名称だったらこれでは対応できません。

 

2.別テーブルにインポートしてからエクスポートする

手間はかかるが柔軟なやり方です。

FileMakerにエクスポート専用のテーブルを作り、毎回そのテーブルに対して「全レコード削除→エクスポートするデータ登録」をしてからCSVエクスポートします。ただし1行目が項目名になるので「1行目を除いて」全削除したり、スクリプトで毎回1行目をレコード作成したりする必要があります。

前者のメリットは簡単なことでデメリットは間違ってそのレコードを消したときに再入力が面倒なこと。

後者のメリットは1行目のレコードを除いて全削除する必要が無いことでデメリットはスクリプト作成がめんどうなこと。

どちらを選ぶかは好みですが、私は後者の「スクリプトで毎回1行目をレコード作成」します。

 

「別テーブルにインポートしてからエクスポートする」この方法で良い点は主に下記3点。

  • 項目名が2行以上になっても対応できる
  • データ形式が違っていても問題ない
  • 項目名を自由に決めることができる

項目名が2行以上必要なケースはさほど多くはないですが、さりとて皆無というわけでもありません。たとえば通販の後払いサービス「NP後払い」の注文情報CSV。項目名が2行ありその後に実データを入力する仕様でした。銀行関係のシステムでも複数行の項目が必要だったものも存在しています。

データ形式が違っていても問題ない、のデータ形式とはテキストや数字といったフィールドタイプのことです。エクスポート用のテーブルはすべてテキスト形式のフィールドにしておけばよいので数字フィールドにテキストの項目名が入らなくて困る、ということはありません。

項目名も自由に決められる、というのはフィールド名に縛られる制限が無いということです。すでにシステムで使っているフィールド名であってもFileMakerのフィールド名としては使えない文字であっても問題なく対応できます。

 

というわけで、「1行目にフィールド名を入れてCSVエクスポート」するのは「別テーブルにインポートしてからエクスポートする」方法が手間はかかりますが汎用性が高く、お勧めです。

Previous Post
Next Post