リレーションとルックアップで始めるFileMaker 販売管理

FileMakerを始めると、必ずマスターしなければならないのがリレーションとルックアップです。自分は自己流で始めたため、最初に作った販売管理は複雑なリレーションになっていました。レイアウトやテーブルを増やしていくと、だんだん対応が難しくなり、大幅に見直した経緯があります。
(ファイルメーカーによる販売管理は本稿内で紹介しています。現在使用中のものです。)

リレーショナルデータベースは、いわゆる行列構造です。ファイルメーカーは、昔の配列と違って、複数のテーブルをレイアウトで関連させて結合出来る特徴があります。
この関連させる仕組みがリレーションです。

テーブルのデータは利用を考えて何を格納するか、またテーブル間を何で結合させるかを考えて構成しなければなりません。

今回は、販売管理の開発の初期の部分を使って、リレーションとルックアップを紹介したいと思います。
参考になれば幸いです。ただし自己流です。ご承知おき下さい。

_mg_1978-1

<Photo Data>2016/09/02 パティシエ鎧塚さんのお店 一夜城の鎧塚ファーマーにて(小田原一夜城城址)
Canon EOS5DMARKⅡ EF24-105mm F/4.0L IS USM 1/2000 f4

 

1.テーブルの作成
販売管理の目的の一つは仕入れた商品を販売して、その結果を保存することです。
ここでは販売について説明します。

最初に売上を計上するテーブルを作ります。
このテーブルを「売上実績」とします。
商品を販売することは誰に何を売るかということですが、誰は顧客、何をは商品となります。
顧客と商品は登録しておく情報と考えます。
顧客は「顧客マスター」、商品は「商品マスター」という名前のテーブルに格納することにします。

テーブルは、ファイルメーカー上部のドロップダウンメニューから、ファイル→管理→データベースで作ります。スクリーンショットの例を下記に示します。スクリーンショット 2016-08-30 11.06.53

2.フィールドの作成
次は、テーブルの中の情報を格納するフィールドを作ります。
ファイルメーカーは、テーブルの中にフィールドがあります。
フィールドはデータベースの管理からフィールドタブをクリックして作成出来ます。

売上実績テーブルは、「いつ」、「誰に」、「何を」、「いくつ」売ったかを記録する考えで作ります。誰には「顧客名」、いつは「日付」、何をは「商品名」、何個は「売上数量」といった具合にフィールドを作ります。このフィールドにレコード番号1番から、、、とデータを格納するということになります。
この時、「顧客」、「商品名」は別物ですから、それぞれマスターまたは台帳などの名前を付けます。
テーブルに登録された顧客名フィールドに、顧客1、顧客2、、、を登録していくと、それぞれの顧客の情報をテーブルから利用できるようになります。
商品も同様に、商品台帳というような名前のテーブルを作り、その中に商品名というフィールドを作成します。

下のスクリーンショットは、売上実績を最終的に作りますので、売上をたてるときに必要なフィールドを作成しています。
いつ(日付)、何個(売上数量)、いくらで(販売価格)のフィールドを作ると、売上実績のフィールドに販売数量*販売価格というような計算式を立てます。
実際には、消費税や端数処理などが必要ですが、フィールドに計算式で計算させる場合はこの様にします。
下記の例では、不要なフィールドもありますが、最低上の様な式が必要です。
何を販売するかということですが、この例では商品IDというフィールドを作って、商品マスター(その一つ下のスクリーンショット)の商品IDと結んでいます(リレーション)。
販売実績は、商品IDで特定される商品名となり、同様に顧客名は顧客IDで顧客台帳で関係させれば、どこに何をが連絡できるようになります。
このXXIDというフィールドは関係ID間を結ぶ照合フィールドとなります。細部は下のリレーションで説明します。%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-09-15-22-27-58

スクリーンショット 2016-08-30 11.07.10

「顧客マスター」、「商品マスター」のフィールドはテスト用に為、不要のフィールドがありますが、説明した以外のフィールドは関係ありません。
もう一つ、顧客マスターを作ります。「顧客名」や顧客の「郵便番号」や「住所」などの顧客エータを登録します。

スクリーンショット 2016-08-30 11.07.27

商品マスターは、「商品名」のほか、いくらで仕入れたかの「仕入価格」、いくらで売るかという「販売価格」(最初の例は単価としています)などを設定します。

3.リレーション
売上を計上するために、顧客マスターの顧客名、商品マスターの商品名を参照します。
販売価格は商品マスターに登録して固定化しても、売上実績で毎々登録してもkまいません。

結局、リレーションとしては、下のスクリーンショットの様に関係するテーブルに顧客ID-顧客ID、商品ID-商品IDの様にリレーションシップで定義します。スクリーンショット 2016-08-30 11.08.54

スクリーンショット 2016-08-30 11.18.02

照合フィールドは左のスクリーンショットの様にコードか連番数字を使います。
照合フィールドのオプションで「入力値の自動化」を選択し、「シリアル番号」にチェックを入れます。
顧客データ(レコード)が作成される都度連番を生成します。初期値は「次の値」のところに0001などを入力します。「増分」は1となります。

4.レイアウト
スクリーンショット 2016-08-30 11.23.43データ入力はレイアウトにフィールドを貼り付けてレイアウトを構成します。 この例は0001番の商品データに関する情報が入力されています。顧客マスターの入力用レイアウト(顧客情報の入力)の例を下記のスクリーンショットに示します。

スクリーンショット 2016-09-07 10.40.46

5.入力の効率化
「値一覧」を使用して、顧客マスターに登録されている顧客IDと顧客名をリスト表示させ、所望の顧客名を選択出来るようにします。
ドロップダウンメニューのファイルから「値一覧」を選択します。さらに、値一覧の編集をクリックし、「フィールドの値を使用」をクリックします。

スクリーンショット 2016-08-30 11.31.25

左のスクリーンショットの様に「フィールドの指定、、、」をクリックします。さらに、二つのフィールドをリストに出現させるために「最初のフィールド」を顧客マスターの顧客IDを選びます。次いで「2番目のフィールドの値も表示」をチェックし、顧客マスターの顧客名を選択します。

 

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-09-08-11-12-50

 

左のスクリーンショットの様に、販売実績入力時顧客IDと顧客名がリストされ選択できるようになります。

商品名も同様に値一覧を利用して入力効率を上げることが出来ます。
データが多くなるとフィールドを検索索引する方法が良いと思います。

6.ルックアップ
スクリーンショット 2016-08-30 11.39.35同一テーブル内で、単価を都度入力すると、売上実績は単価x数量で求まります(左のスクリーンショット)。
商品マスターに販売単価を登録して利用する方が便利です(販売単価の商品毎の管理が出来ます)。
ところが、売上実績フィールドに販売単価x数量の式を入力しても売上実績が空白のまま計算されません(下記スクリーンショット参照方)。スクリーンショット 2016-08-30 11.38.25

スクリーンショット 2016-08-30 11.40.10別のテーブルのデータを計算に使用する時は、左記のスクリーンショットの様に、まず売上実績=売上数量x販売単価として別テーブルの販売単価のフィールドを指定し、オプションで上記式を設定します。

スクリーンショット 2016-08-30 12.30.15更に、販売価格のフィールドオプションの「ルックアップ」を選択します。
詳細は左記のスクリーンショットの様に設定します。
計算に寄与させるテーブルは「開始するテーブル」です。「売上実績」となります。
「関連テーブルからルックアップする」(データのコピー先)は「商品マスター」になります。
ルックアップコピーするターゲットフィールドは、「値のコピー先のフィールド」の「:販売価格」になります。

ルックアップを使用して、スクリーンショット 2016-08-30 12.31.55
左のスクリーンショットの如く、値がコピーされ売上実績が計算されます。

これは説明用の例です。実際は、商品マスター等に組み入れるフィールドはレコード生成で何を展開するか、仕入と販売という別の関係をどう結合させるかなど、十分な関係図を作ってからテーブル作りとリレーションを構築しないと収拾が付かないことにもなりかねません。
丁寧に設計すると、動作速度も速く、レイアウト設計も用意です。

「FKM販売管理」は、本ホームページの販売管理システムから利用できます。本稿トップのリンク先に記載のFileMaker 販売管理を参照下さい。

1st 2016/09/12
2nd 誤記訂正 2016/09/13
3rd 検索についての追記 2016/09/14
4th スクリーンショット入れ換えと説明追加 2016/09/15
5th 表現の見直し 2016/09/16
6th ファイルメーカーにカテゴリー変更 2017/06/25
追記 2019/02/07
追記 2019/09/19
リンク先修正 2019/10/17
K.Fukuma

 

My profile
Kazunori Fukuma

職歴前半は半導体デバイス開発技術者、後半は経営者としてやってきました。事業の立て直しや新規事業育成、競争戦略などを得意としています。
きっとお役に立てると思います。
投稿は主にAudio、写真、Programingです。Audio歴は50年(長いだけですが)です。学生時代のライブ活動、研究テーマがノイズ抑制だったことなどがきっかけで、音の追求は今も続いています。

Kazunori Fukumaをフォローする
FileMaker(ファイルメーカー)
シェアする
FKMコンサルティング(FKMConsulting)