みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
会員TBLと評価TBLがあるとします。
会員TBLのフィールドは、会員番号(数字)、氏名(テキスト)。
評価TBLのフィールドは、会員番号(数字)、日付(日付)、評価(テキスト)。
評価フィールドにはA、B、Cといった文字が入るとします。
ここでこの二つのテーブルを会員番号同士でリレーションします。
そして会員TBLに最大評価フィールド(計算、テキストを返す)を"Max(評価TBL::評価)"と定義したとします。
こちらの希望としては、会員毎の最大評価フィールドにAなりBなりCなりが表示されることを期待しているのですが、空欄になってしまいます。
代わりに評価フィールドに数字(1、2、3)をにゅうりょくすると、それらが表示されます。
また、試しに評価フィールドに数字と文字の混在(1A、2B、3C)をにゅうりょくすると、数字のみが表示されます。
また、試しにカスタムダイアログで Max ( "A" ; "B" ; "C" ) を試したところ、Cが表示されました。
Max関数は関連テーブルのフィールドを指定した場合、数字しか返さないのでしょうか?
環境を書くのを忘れていました。
FMA13,WIN7です。
評価TBL::評価のフィールドタイプは何になってますか?
Max関数にテキストって使えるんですね。知りませんでした。
やり方はちょっと変わりますが、
会員TBLのレイアウトに、評価TBL::評価のフィールドを置いて、
リレーションに対して評価で降順ソートをかけるというのはどうでしょうか。
評価TBL::評価のフィールドタイプは何になってますか?
テキストになっています。
なお最大評価フィールドも計算結果はテキストです。
会員TBLのレイアウトに、評価TBL::評価のフィールドを置いて、
リレーションに対して評価で降順ソートをかけるというのはどうでしょうか。
なるほどこういう方法もあるんですね。参考になります。
やはりMax関数については、わたしが当初希望していたような使い方はできないんですかね。
なんか書いてある内容が変だけど
http://filemaker-jp.custhelp.com/app/an … /a_id/8488
ソートできる値はMaxも計算できるんで、ただのバグでしょう。どっかのバージョンで直ったと思ってたけど。
ヘルプには
Min や Max などの統計関数は、最初の引数のデータタイプを使用して全ての比較を行います。たとえば、最初の引数のデータタイプがテキストの場合、その他のすべての引数はテキストに変換されてから比較されます。
って書いてあるけど、実際やってみるとテキストでも数値として返ってきちゃいますね。
MinやMaxが数値以外を評価しないのはずっと前、
知る限りFM4からのバージョンからで、
私はそれを仕様と思っています。
> Last(評価TBL::評価)
これは
リレーションのソートの条件により、
#4 holiさんのソート順の逆の指定が必要でしょう。
Offline
max関数が数字しか扱えない仕様ということで理解しました。
また、文字列を対象としたい場合、リレーションでソートを指定したり、必要に応じてLast関数を使うという方法が知れて良かったです。
皆様、アドバイスありがとうございました。
Pages: 1
[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 518.63 KiB (Peak: 523.53 KiB) ]