リレーションシップを設定してみました
皆さまこんにちは! よしです。
2回目の投稿になります!
1回目の記事を見てくださった方、ありがとうございます!
FileMaker は入社して初めて触り、日々勉強中です。
よろしくお願いします。
イントロダクション
今回は、リレーションシップをご紹介いたします。
リレーションシップは、FileMaker で初めてぶち当たる壁の一つではないでしょうか。
そのため、今回ご紹介したいなと考え記事にしました。
リレーションの説明を始める前に、「テーブル」というものをご紹介します。
コンビニで例えると、商品が陳列された棚です。
コンビニの店内にはものすごい数の商品が置かれていますが、どこにどの商品が置かれているか商品棚を見ればなんとなく分かります。
適切に分類されて、カテゴリごとに固まって陳列されているからですね。
電子情報を管理する際も同様に、適切に分類し管理します。
物理的な制約がない分、膨大な量になりやすいため、より厳密に分類することが求められます。
店鋪情報というテーブルには、店舗の名前、住所、電話番号、業績、と言った店鋪に関するデータ。
このように、テーブルとは情報をジャンルごとに分類して保存する器のことです。
ここで重要なのが、他の情報を混ぜこぜに保存させないのがポイントになります。
混ぜると管理するのが困難になるためです。
混ぜこぜに使いたいときに役立つのが、リレーションシップです。
一つのテーブルのデータと、そこに混ぜなかった別のテーブルのデータをそれぞれ二つのテーブルに共通する項目同士を繋げるということをさせます。
すると、メインのテーブルを中心に表示させながら、
- 別のテーブルの値を表示
- 別のテーブルの値を変更
- 別のテーブルの値をコピー
- 別のテーブルの値を使って検索
- 別のテーブルの値を使ってデータ並び替え
と言うことが可能になります。
では早速!
リレーションシップの必要な場面
まず初めに、どのような場面でリレーションシップが必要なのか想像してみます。
FileMaker を使ったことがある方は、お気づきかもしれませんが、
レイアウト(画面)は、一つのテーブルを中心に捉えて作成します。
そのため、別のテーブルの情報を表示させるためにはリレーションシップなどの設定が必要になります。
リレーションシップが必要な場面は、コンビニに例えるとレシートを作る画面に当てはまります。
FileMaker でレシート風画面を作ってみました。
この画面には、店鋪情報、販売日時、商品情報、販売個数、担当者などが必要になります。画面やレシートには表示されませんが、販売明細ごとに、商品コードや消費税率(軽減税率の区分)もあることでしょう。
レシート風画面のメインとなるのは、販売情報ですが、
一つの画面に、複数の別のジャンルが組み込まれていますね。
この画面の項目を分類してみます。
緑色の枠線が販売情報
赤色の枠線が販売明細情報
青枠が店舗情報
※商品情報は、商品コードで販売明細と紐づかせて使っています。
FileMaker では、この様な状況を実現させるためにリレーションシップを結びます。そうすることで様々なジャンルの情報を一つの画面で表示させます。
FileMaker で定義した例として、商品マスタのテーブルではこのような情報を管理しています。
リレーションシップの設定のやり方
①テーブルを二つ作成します。
②商品販売履歴明細のテーブルは下記の通りです。
計算タイプのフィールドは②と同様に入力していきます。
③データベース管理のリレーションシップタブを押します。
商品販売履歴の商品販売履歴番号をクリックしたまま、商品販売履歴明細の商品販売履歴番号に動かします。
等号記号のアイコンで繋がりました。
この繋げられたフィールドの値が一致したもの同士、双方向でデータを取り扱うことができます。
等号マークをクリックし、今回の例では赤枠線内のチェックをつけます。
⑤商品販売履歴テーブルのフィールドはこのようにします。
計算タイプを作成すると、計算式を入力するウインドウが開かれます。
そこに、下図の赤枠のイコールより右側と同様になるよう、計算式を入力します。
⑥商品販売履歴明細の品名、価格、税率区分にルックアップを設定します。
※ルックアップはリレーションシップを使って別テーブルから値をコピーできる機能です。
やり方は、設定したいフィールドをダブルクリックでオプションウインドウを開き、
赤枠のルックアップ値にチェックを入れます。
そうすると、ウインドウが開かれるので下図のように設定します。
価格、税率区分も同様に設定します。
※価格の場合は、商品マスタの価格をコピーするように設定します。
⑥データを入力
商品番号、販売数量、お預かりに数字を入力すると自動で計算されます。
※赤枠部分をポータルで作ります。
※ポータルは、別テーブルの値をリスト形式で表示することができます。
まとめ
いかがでしょうか。
リレーションシップ設定のやり方・有用性を理解していただけたでしょうか。
少しでも役に立ったと感じてくださっていれば幸いです。
本記事ではリレーションシップを結び、各テーブルごとに管理したまま双方向にデータを取り扱えるようになりました。
次回は、リレーションシップを結ぶと使うことができる機能を紹介したいと考えております。ご興味があれば、ご覧ください。
参考:
- FileMaker Pro ヘルプ
https://help.claris.com/ja/pro-help/content/index.html