初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2017-09-05 11:44:37

emi
Member

希望の数量

Win7Pro/FMPro14
いつもお世話になります。
台帳テーブルに品番、タイプ、数量(数字)のフィールドがあり、毎日他のデータベースからデータをインポートしています。
各品番には1~150レコードがあり、1~20タイプに分かれています。
各レコードの数量フィールドには0~46.9までの数値がランダムに入ります。

お客さんから品番・タイプ別に希望数量で注文が入ります。
品番AタイプB300
品番AタイプC200
品番BタイプC80
現在あるレコードからお客さんの希望する数量に数値の合計がもっとも近いレコードをチョイスする
簡単な方法はないでしょうか?
もし可能であればどうかご教示お願いいたします。

Offline

#2 2017-09-05 13:13:59

チポ
Member

Re: 希望の数量

同品番、同タイプを対象レコードとして、
差分の絶対値を全置換等で入力、
そのフィールドで昇順ソートすれば、
最初のレコードが差分最小ですね。

Offline

#3 2017-09-05 14:08:46

Hiro
Member

Re: 希望の数量

> 数値の 合計 がもっとも 近い レコード
合計とは? どういう意味ですか? 目的レコードまでの累計?
近いとは? 以下で、以上で、前後の絶対値で?

意図するのは、後入れ・先出しによる在庫管理?(古い在庫から先に出してゆく)
もしそうなら、レコードの時系列ID要素が必要ですよネ。

Last edited by Hiro (2017-09-05 14:11:52)

Offline

#4 2017-09-05 14:28:27

emi
Member

Re: 希望の数量

チポ様 Hiro様
ありがとうございます。

> 数値の 合計 がもっとも 近い レコード
目的レコードまでの累計
以下で
後入れ・先出しによる在庫管理はないです。
数量優先です。

Offline

#5 2017-09-05 15:32:18

Shin
Member

Re: 希望の数量

例えば、100の要求に対して、40, 50, 80 があったとき、ベストは 40+50 だと思うのですが、emiさんの書き方では80になるのでしょうか。
これを考えだすと、実は、非常に難しくなってしまいます。(ナップサック問題といいます)

それを考えなくていいのならば、単純に自分より小さなレコードを比較リレーションで選び出し、数量で降べきにソートすればいいです。

Offline

#6 2017-09-05 15:38:43

Hiro
Member

Re: 希望の数量

>「目的レコードまでの累計」
なら、結果はその時のレコードの並び順に基づく訳で、
意図する目的を1レコードだけで表現するのは危険なのでは?
その累計値に至るすべてのレコードのレコードIDリストとかが安心では。

補足ながら、
累計にソートの説明が無いと言うことは、
デフォルトのインポート順のまま、すなわち、
結果的には「後入れ先出し」に成ると言う事ですよネ。

Last edited by Hiro (2017-09-05 15:40:36)

Offline

#7 2017-09-05 15:43:45

チポ
Member

Re: 希望の数量

あああ!
読み違えていました。

私の前レスはまったく的外れのものです。

で、回答は、
できません。。

対象レコードの全ての組み合わせを作ってその合計と希望数量との差分を見る。
でしょうか。
としても、その組み合わせを作るのが大変ですよね。

Offline

#8 2017-09-05 16:13:26

emi
Member

Re: 希望の数量

チポ様Hiro様Shin様
ありがとうございます。
すみません。
いつもこの作業がメンドクサイので
ついつい投稿してしまいました。
一度 単純に自分より小さなレコードを比較リレーションで選び出し、数量で降べきにソートすればいいです。
を実際の業務で試してみます。
ありがとうございました。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 512.45 KiB (Peak: 516.98 KiB) ]