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

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

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

You are not logged in.

Announcement

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


#1 2017-06-28 21:35:43

salon_hiyake
Member

Count()で計算したものとグローバルフィールドのリレーション

1テーブルの、名簿のようなものがあります。

ID, 出席番号、氏名、などと、グループNoがあります。同じグループには、連続した出席番号の人しか入れません。

グループNo同士で自己リレーションが張ってあり,Count(自己リレーション::グループNo)として,同じグループに所属する人数をカウントしています.
これを「何人グループか」というフィールド名にしています.

一方、グローバルフィールド「定数」があり,そこには定数16が入っています.(この定数はたまに変わります)
ここで、「定数=何人グループか」、をリレーションすることで、16人グループが全部で何グループあるか、集計することはできるでしょうか?

Count()の部分が非保存の計算フィールドなので、できないかな、とも思ったのですが、片方がグローバルなので何とかなるような気もしています。

これまでスクリプトでやってきたのですが、リレーションを使ってもっとシンプルに、できるのならばやってみたいのですが、どなたかお知恵を拝借できますでしょうか?

よろしくお願いします.

Offline

#2 2017-06-29 01:55:14

Hiro
Member

Re: Count()で計算したものとグローバルフィールドのリレーション

結論的に言って、そのリレーションではできません。
リレーションの照合先のキーフィールドは、索引が必須だからです。


リレーションに替わる代案の一例として、
フィルター・ポータルにカウント集計フィールドで結果表示するのはどうでしょう。

・「何人グループか」フィールドの式は、(グループの先頭レコードだけに人数が入るよう、)
      Case(自己リレーション::ID=ID; Count(自己リレーション::グループNo))
・IDフィールドの数をカウントする集計フィールドを用意しておく
・デカルト積[X]のポータルに以下の条件式のポータルフィルターを掛け、その1行ポータル中に上の集計フィールドを設置する
      定数 = Xポータル::何人グループか

Offline

#3 2017-06-29 20:51:01

salon_hiyake
Member

Re: Count()で計算したものとグローバルフィールドのリレーション

Hiroさん、ありがとうございます。
やっぱりそうなのですね。

ご紹介いただいた代案の方法はちょっとトリッキーで、なかなか自分には使いこなせそうもないので、やはり地道にスクリプトで処理することにしました。
お世話になりました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.013 seconds, 7 queries executed - Memory usage: 505.28 KiB (Peak: 516.16 KiB) ]