価格改定の落とし穴!マスタを変えても『過去の売上額』を守るデータ作成術

2026.08.24

データコピー リレーション 価格改定 参照フィールド

「商品価格を改定したら、過去の売上データまで書き換わってしまった…」
そんなトラブルを避けるためには、マスタデータと販売実績データの関係を正しく設計することが重要です。
今回は「参照フィールド」と「参照データコピー」の違いを理解しながら、価格改定後も過去の売上額を正しく守るためのデータ設計の方法を解説します。

同じフィールドでも、設定により以下のような使い分けができます。

参照フィールドマスタが変わったら関連データも変更が適用される

参照データコピーマスタが変わっても登録時のデータが残る

ショートケーキの売上データを例に見てみましょう。テーブルは、以下のような構成をしています。

「商品マスタテーブル」は、値段など商品一覧を管理。「販売実績テーブル」は、商品マスタデータからどの商品が売れたか、情報を管理されています。、2つのテーブルは、リレーションで紐づけられている図があります。

マスタの販売価格を550円から770円に変更すると・・・

商品マスタテーブルで価格を550円から770円に変更した後、販売実績テーブルを確認しています。参照フィールドは、過去の販売価格にも関わらず770円に変わってしまいました。一方参照データコピーフィールドは、変更前のマスタ価格の550円のまま表示されていました。過去の売上をそのまま保存するには、参照データコピーが適していると、図では説明しています。

ポイント

結論:販売実績など、変えたくない情報には、参照データコピーを使用しましょう

参照型を利用するには、先にリレーションで関連付けるテーブルを指定する必要があります。
これから説明する手順では、「商品名」フィールドを、リレーション型にして、商品マスタと紐づけています。

販売実績テーブル側のフィールドに「商品名」というフィールドがあり、そこのデータ型を「リレーション」、関連付けるテーブルに「商品マスタ」テーブルを指定している 設定画面についての図になります。

その瞬間を記録する「参照データコピー」

過去の販売価格

当時の消費税率

見積作成時の単価

など

販売時点での価格を残したい」「マスタ変更に左右されない履歴を残したい」時には参照データコピーが最適です。

販売実績テーブルの右上から「管理」→「フィールドの設定」→「追加」を選択します。

任意のフィールド名を設定し、フィールドの設定[基本設定]でデータ型を「数値」にします。

[入力フォーム]タブをクリックし、「データコピー:関連づけられたテーブルの値」を選択します。

あらかじめ設定されているリレーションを上のプルダウンから選択し、初期値として取り込むフィールドを下のプルダウンから選択します。

「保存する」をクリックしたら設定は完了です!

常に最新の情報にする「参照フィールド」

取引先の会社名や住所、電話番号

商品名の表記変更

など

いつでも参照マスタ情報を表示したい」「一か所更新するだけで関連データも最新にしたい」時には、参照フィールドが最適です。

販売実績テーブルの右上から「管理」→「フィールドの設定」→「追加」を選択します

フィールドの設定[基本設定]でデータ型を「参照」にします。

参照先テーブルと表示するフィールドを選択する(プルダウン)

「保存する」をクリックしたら設定完了です!

設定したフィールドで正しく表示できるか確認してみましょう。

販売実績テーブルで、「追加」を選択します。

商品選択画面の虫眼鏡マークを選択。右側から商品を選択し、保存します。

商品マスタテーブルで、選択した商品の価格を変更し、販売実績テーブルを確認します。

以下の形になっていれば成功です!

参照データコピー値段が変わらない

参照フィールドマスタの変更に合わせて価格が変わっている

作成済みの販売実績レコードに対して、後から参照データコピーフィールドや、設定を追加すると、自動で反映されません。エクスポート、インポートを用いることで一気に変更を加えることができます。
操作手順については、次回の記事でご紹介する予定です。

急ぎ手順のご確認したい方は、お問い合わせフォームよりお問い合わせください。
お問い合わせフォーム

最後に改めて2つの機能について確認してみましょう。
これらを適切に使い分けることでミスを防ぎ、もっと便利に簡単にデータ管理をすることができます。

参照フィールド 参照データコピー
向いている用途 ・顧客情報
(住所、電話番号)
・担当者の部署移動
・商品名の表記変更
・過去の販売価格
・契約金額
・注文内容
・注文時の商品単価
設定方法 参照型フィールドを作成し、参照先を指定する フィールド設定の「入力フォーム」タブから「関連付けられたテーブルの値」にチェック
データの保持方法 マスタデータを参照する 登録時の値をコピーして保存する(設定した後に、コピーされた値を手動で変更できる)
常に最新の情報を表示したい
販売時点・登録時点の情報をそのまま残したい
マスタ変更時に過去データも更新したい ×
マスタ変更時に過去データを更新したくない ×

Q参照データコピーを設定した後に、コピーされた価格を手動で変更できますか?

はい、フィールド端の鉛筆マークから、手動で変更できます。
参照データコピーは初期値として値を取り込む仕組みです。
・特別値引きをした
・個別の契約価格になった
といった場合は、取り込んだ後に手動で価格を修正できます。

Q販売管理以外でも参照データコピーは活用できますか?

はい、さまざまな業務で活用できます。
例えば、
・見積作成時の単価保存
・契約締結時の契約条件保存
・従業員評価時の所属部署保存
・申請時の役職情報保存
・イベント申込時の参加費保存
など、「その時点の事実を残したい」場面で活躍します。

Q参照データコピーはテキスト型でも使えますか?

はい、使えます。
今回は、価格変更を例に挙げたので「数値」型を選びましたが、データ作成時の注文内容、条件保存、部署などを残しておきたい場合には、「数値」型ではなく「1行テキスト」型または「テキスト」型も使えます。

Qリレーション(テーブル連携)を設定する際、どちらのテーブルにフィールドを作ればいいのか分からなくなります。良い覚え方はありませんか?

「データを引っ張ってきたい側(履歴や案件など)」にリレーションフィールドを作る、と覚えてください。
FlexCRMをはじめとするCRMシステムは、1つの「親データ(マスタ)」に対して、たくさんの「子データ(履歴や業務)」が紐づく「1対多(いったいた)」の構造が基本です。

もし迷ってしまったときは、以下の「主役と脇役のルール」で、脇役側で作業すると覚えるのがおすすめです。
• 主役(マスタ): 顧客管理や商品マスタなど、1つにまとめたい基本情報
• 脇役(データが必要な側): 設置履歴、日報、案件管理、見積書など、何度も増える業務データ

一覧ページに戻る

TOP