みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
いつもお世話になっています。掲題の通り質問させてください。
## やりたいこと
あるレコードのデータをエクスポートしたいです。
そのデータには、多対多の関係にある関連フィールドのデータを含めたく、
関連フィールドは紐づく全てをエクスポートするのではなく、特定の条件で一レコードを抽出してエクスポートするデータに含めたいです。
(この例が適当かは自信ないですが、)例えば本屋さんのシステムを作っていたとして、
あるお客さんとそのお客さんが最後に購入した本をエクスポートしたいというような場合です。
●顧客テーブル(メインのテーブル)
id
name
●書籍テーブル(関連テーブル)
id
book
date(顧客の購入した本の一覧を取得し、このフィールドで絞り込んでひとつのレコードを抽出したい)
## 考えたこと
「レコードのエクスポート」スクリプトを使って実装してみようとしています。
「レコードのエクスポート」スクリプトは実行前にエクスポート対象のデータを絞り込む必要があります。
関連フィールドをどう絞り込めば良いのかは分からず困っています。
検索でうまいこと絞り込めるのか、
それともリレーションシップグラフをうまく作れば実現できるのか、
「レコードのエクスポート」スクリプトにうまくやるオプションがあるのか、
ちょっと分からず困っています。
「レコードのエクスポート」スクリプトにはこだわっていませんが、
外部のシステムと連携させたいので、CSVなど使いやすいデータでエクスポートできると嬉しいです。
以上です。よろしくお願いします。。
例えば、その顧客の今月の購入、というリストをつくるのですね。
一番単純なのは、書籍テーブル側で、顧客名、日付で検索することでしょう。その結果を顧客テーブルの顧客名を含めてエクスポートすればいいです。
別の方法として、まず、顧客テーブルで顧客を選択します。関連レコードへ移動、で書籍テーブルへ移動します。その後で、日付で今月で絞り込み検索をします。この2ステップが常道でしょう。
チップスを使うのでしたら、顧客テーブルのレイアウトに書籍テーブルをポータルで表示します。ポータルフィルターでdateを今月に絞り込んでおきます。そのポータルの中にボタンをおいて、関連レコードへ移動、で書籍テーブルへ移動する、という方法もあります。
Offline
[レコードのエクスポート]は対象レコードをエクスポートするだけですから
必要な対象レコードの条件を見抜き、抽出する方法を見つけることがキーとなるでしょう。
あるお客さんとそのお客さんが最後に購入した本をエクスポートしたいというような場合です。
この場合は必要なのは顧客に関連する購入履歴の中で購入日が最新(最も大きい)のレコードの抽出です。
検索では難しいのでリレーションのソートオプションを購入日の降順に設定して
対象となる顧客から1つめの購入履歴の主キーを取得するというのがわりかし早いでしょう。
あとはどのように対象レコードとして展開するかですね。
・リレーションを作って関連レコード移動
・検索条件として展開して検索
などが簡単ではないでしょうか。シンプルさに欠けるかも知れませんが。
サンプル)最新の購入履歴だけをエクスポート
https://bit.ly/2VuHbsm
Offline
丁寧なご返信ありがとうございます。
別の方法として、まず、顧客テーブルで顧客を選択します。関連レコードへ移動、で書籍テーブルへ移動します。その後で、日付で今月で絞り込み検索をします。
なるほど、関連レコードへ移動というスクリプトがあるのですね! 知らなかったです。これなら絞り込めてエクスポートまでできそうな気がします。
検索では難しいのでリレーションのソートオプションを購入日の降順に設定して
対象となる顧客から1つめの購入履歴の主キーを取得するというのがわりかし早いでしょう。
関連レコードへ移動した後はその方法でなんとかやってみたいと思います。
まだ実際に試してはいないのですが、いろいろとデータを整備した上でこの方法を試してみたいと思います。
質問に答えていただきありがとうございました!
言い忘れていました。
Mozさん、サンプルのデータまで用意していただきありがとうございました!
[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 516.05 KiB (Peak: 520.96 KiB) ]