FileMakerで1行目にフィールド名付CSVファイルを書き出す方法
- 標準のエクスポートだとフィールド名が無い
- 今まではわざわざExcelで書き出してからCSVにしていた。
- 今回のDBの仕様
- 1行目にフィールド名をつけれるスクリプトを作る
- スクリプトまとめ
- 完成ファイル
標準のエクスポートだとフィールド名が無い
FileMaker標準のエクスポートはファイル形式が幾つかあり、Excelやcsvが選択できるのだがcsvでエクスポートすると必要なフィールド名が1行目にない値だけのCSVファイルが書き出される。csvをエクスポートしたい人は何かしら別システムにデータをインポートしたいのだと思うがこの1行目が無いと紐付け作業等がかなり面倒である。今まで数年FileMakerを使ってきて無理だから諦めようと思っていたんだが、1行目にフィールド名付CSVファイルを書き出す方法がわかったので記事にしておく。
今まではわざわざExcelで書き出してからCSVにしていた。
今まではわざわざExcelで書き出してからCSVにしていた。面倒だが数分で終わるしいいか・・・。と思ってこの無駄な作業をずっと繰り返している人は多いのではないだろうか。それもこの記事を読めば解決する
今回のDBの仕様
CSV書き出しがメインなのでテーブル名やフィールド名は適当です。当然フィールドの値も適当。ダミーデータを作るのが面倒なので下記サイトで100行のCSVを作ってインポートしました。 www.mockaroo.com
インポート後はこんな状態
これをそのまま標準エクスポートしてmacの表計算ソフトnumbersで表示してみます。
フィールド名のABCDEがありません。
1行目にフィールド名をつけれるスクリプトを作る
CSV1行目にフィールド名をつけるには俺の知る限りスクリプトしか今のところありません。なので作っていきます。
4行目〜5行目解説
新規レコードを作りソートして空白のレコードを先頭、一番上に持ってきます。今回は昇順。 この空白レコードは後にCSVで書き出したときのフィールド名になります。ソートの理由は新規レコード作成は一番最後に作られるのでソートしています。
7行目〜11行目解説
先に作った空白レコードにフィールド名を設定していきます。注意:フィールド設定で入力制限がかかっているこれができない可能性があります。例えばフィールド名が電話番号で入力制限に数字になっていると、そこのフィールドには"電話番号"の文字列が入力できないのできませんので、このスクリプトの手法で行くならフィールド設計から変更しないといけない場合があり、そうすると今度は入力ミス、ヒューマンエラーが出る可能性もあります。
14行目解説
通常のエクポートです、CSV形式でエクスポートしてやります。 変数を使ってやれば書き出す場所の指定も可能!
17行目〜18行目解説
17行目はいるか微妙ですが、一応入れておきます。 18行目で4行目〜5行目で作ったレコードを消して終了。
スクリプトまとめ
かんたんに言うと1行目にフィールド名レコードを作り、エクスポートし終えたら、1行目のエクポートの時だけ必要だったフィールドは消す。やっているのはこれだけ。
完成ファイル
今回のスクリプトで書き出したCSVを開いてみると無事1行目にフィールド名がつきました。ただソートをかけているので2行目以降は当然ソートされていますが、CSVをインポートして紐付けするシステムで並び順が〜・・・と言うのは見たことがないのであまり気にしてません。よくCSVを取り込むシステムは1行目のフィールド名を紐付けの為に利用して2行目からをインポートとするので、と言うか家の環境がそうなのでこれでおしまいデス。気になる人は応用して作ってみてください。
FileMaker Pro 15 スーパーリファレンス for Windows&Mac OS
- 作者: 野沢直樹,胡正則
- 出版社/メーカー: ソーテック社
- 発売日: 2016/06/23
- メディア: 単行本
- この商品を含むブログを見る
小さな会社のFileMakerデータベース作成・運用ガイド Pro 15/14対応 (Small Business Support)
- 作者: 富田宏昭
- 出版社/メーカー: 翔泳社
- 発売日: 2016/09/09
- メディア: 大型本
- この商品を含むブログを見る
FileMaker データベース問題解決ガイド Pro/Advanced/Server/Go (アスキー書籍)
- 作者: 木下雄一朗
- 出版社/メーカー: KADOKAWA / アスキー・メディアワークス
- 発売日: 2014/10/14
- メディア: Kindle版
- この商品を含むブログを見る