みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になっております。
FM16Adを使用しております。
表題の通りポータルのフィルタ条件のご質問となります。
条件として
会社名
商品名
規定価格
納入価格
のフィールドがあり各社からだされた見積もりを入力して別テーブルへポータルで一覧表示させております。
この時、各社で同じ商品の納入価格を各社ごとに出しているものに対して上位2社のみ表示させるにはどのような計算式をフィルタに指定するのでしょう?
ご返答よろしくお願いいたします。
Offline
2行のポータルにして納入価格でソート設定すればいいのでは。
Offline
ご返信ありがとうございます。
ソート設定はさせて頂いており、上位から順番に表示できております。
例えば、A社・B社・C社・D社が『E』・『F』・『G』という商品に対してそれぞれ価格をだして貰っているとして各商品ごとの各社の価格を上位2社に絞りたい場合の設定のご質問です
私の条件設定が不適当だった場合は申し訳ございません。
Offline
> 各商品ごとの各社の価格を上位2社に絞りたい
これは、
一つのポータルで表示
ということでしょうか?
各テーブル構造、リレーション等説明が必要ですね。
Offline
了解しました。
一つのポータルで出来ないものかと思い質問させて頂きました。
他の良いやり方がありましたらご指導いただけたらと
テーブル数は2
見積もりの項目を入力するテーブル(見積もり入力のテーブルは一つの商品に1レコードとしています)
ポータルを表示しているテーブル
リレーションシップは二つを×で結んでポータルに見積もり入力のテーブルの中身を一覧で表示させています
他に説明した方がよろしいものはありますでしょうか?
Last edited by Haru (2018-06-12 17:02:11)
Offline
> 見積もり入力のテーブルは一つの商品に1レコードとしています
このテーブルで自己リレーション
商品 = 商品
and
納入価格 > 納入価格 (納入価格の低額順でいいんですよね?)
として、
計算フィールドを作り、その計算式
Count ( 自己リレーション::商品 )
計算式の指定のオプションで
「式内の全フィールドの値が空欄の時、計算しない」
のチェックを外します。
これでこのフィールドが順位を表示します(0,1,2・・となりますが)
このフィールドが1以下でフィルタをかければいいでしょう。
ただし、同順位があると3社以上表示もあり得ます。
しかし、
ご説明のリレーションでは複数の見積に対応できないのでは。
Offline
複数のものをポータルを表示させる時は、フィールドを×でリレーションすれば入力した全ての値がポータルにでていますがおかしなやり方だったでしょうか?
自己リレーションの部分ですが、入力テーブルとポータル表示テーブルをリレーションするという解釈でよろしいでしょうか?
又、計算フィールドは入力テーブル側に作成ですよね?
試していましたが計算結果が全て0か1になってしましまして…
Offline
2個のテーブルの中のフィールドの構成と、リレーションの設定を書き出してみてください。
> 見積もり入力のテーブルは一つの商品に1レコード
が気になりますし、商品ごとの価格を見るのですから、デカルト積でのリレーションはおかしいです。
Offline
ポータル表示は、
表示テーブルと入力テーブルを「X」でリレーションでいいんですよ。
絞り込み用の自己リレーションは入力テーブル同士をつなげます。
前にも書きましたが、
この構造では、複数の見積を保存できませんよ。
Offline
Shinさん
入力テーブルのフィールドは
社名・品名・定価・納入価をテキストで設定
Aという商品に対して複数の会社が納入価格を提示しており、他にもA・B・C…と複数の商品の会社ごとの価格を入力テーブルに入力しています。
表示テーブルはリレーション用のフィールドのみです。
リレーション設定はデカルト積で設定しているのみです。
ポータル設定はソートを品名に対して設定しており、現在入力した全ての品名が品名ごとの低額順に並んでいます
チポさん
ご提示いただいた通りに設定すると現状全て1を算出しております。
ご指摘の通り複数の場合だからでしょうか?
Last edited by Haru (2018-06-13 11:08:12)
Offline
商品混在での表示をさせるのですか。ならデカルト積でフィルターかけるしかないですね。ですが、運用上ものすごく使い辛く無いですか。上の4社3商品でも12行になってしまうので、各2行に制限しようとしているのだと思いますが、それでも商品数の2倍行になりますよね。
> 見積もり入力のテーブルは一つの商品に1レコード
このテーブルの中で、商品をキーにしたポータルを2行表示させるだけでいいのでは。
Offline
何をされたのか分かりませんのでお答えのしようが、、
私の方法に間違いないはずですから、
もう一度全てチェックを。。
Offline
Shinさん
他にスマートなやり方がありましたらご教授頂けないでしょうか?
Offline
チポさん
計算式のCount ( 自己リレーション::商品 )をそのまま入力すると存在しないと返されるので、Count ( 商品 )にしてみたり表示テーブルの商品フィールドにしてみたりしていました
Count ( 自己リレーション::商品 )の自己リレーションはどのテーブルを指すのでしょう?
Offline
1明細ごとに納入元を決めていけるようなレイアウトを作るといいのでは。
または、値一覧で、リストの様な表示で、納入価と社名を選択させるといいかもしれません。
https://www.dropbox.com/s/anlfwhtjr7r7r … 7.zip?dl=0
Last edited by Shin (2018-06-14 10:12:16)
Offline
リレーションシップグラフで
「入力テーブル」を複製し「入力テーブル 2」を作り、
この二つでリレーション。
入力テーブルで計算フィールドを作り、その計算式
Count ( 入力テーブル 2::商品 )
とします。
Offline
お二方ともありがとうございました。
何とかやってみます。
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 593.7 KiB (Peak: 610.61 KiB) ]