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

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

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

You are not logged in.

Announcement

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


#1 2021-04-21 09:51:25

こまつ
Member

ある条件の中での最大値の表示

データベース「番号呼び出し」に、「番号」と「状態」フィールドがあります。
「番号」フィールドは自動で連番が入力されています。
「状態」フィールドにはラジオボタンで 未 1  2  3  4  5  6  済 キャンセル から選択された値が入力されています。
状態ごとに番号の最大値を取得したいのですが、どのようにすれば良いでしょうか。
それらを1つのレイアウトに表示させ、呼び出しのお知らせに使うのが目的です。

FileMaker pro19です。

Offline

#2 2021-04-21 10:46:37

チポ
Member

Re: ある条件の中での最大値の表示

> それらを1つのレイアウトに表示させ
同一のテーブルに、でしたらポータルがいいでしょう。

自己リレーション1
状態で照合し、番号の降順指定します。

計算フィールドの計算式
  番号 = 自己リレーション1::番号
とすると、
各状態の最大番号のレコードのみに1、他は0となります。

自己リレーション2
適当なフィールドを「X」でリレーションします。

このリレーションのポータルを配置して、
そのフィルタの条件式に
  自己リレーション2::計算フィールド =1
とすればいいですね。

Offline

#3 2021-04-21 13:46:15

Hiro
Member

Re: ある条件の中での最大値の表示

一種のクロス集計だから、「繰り返しフィールド」に展開するのが簡便かな!
>#1『それらを1つのレイアウトに表示させ、呼び出しのお知らせに使うのが目的です。』
だと、「繰り返しフィールド」をグローバルの計算フィールドにするのが良いかな?

  • g状態一覧[9回]計算フィールドを作り、その式は
       GetValue(ValueListItems(Get(ファイル名);"状態値一覧名"); Get(計算式繰り返し位置番号))

  • g番号一覧[9回]計算フィールドを作り、その式は
       ExecuteSQL(" SELECT MAX(""番号"") FROM ""番号呼び出し"" WHERE ""状態""=? "; ""; ""; g状態一覧 & Left(状態[1] & 番号[1]; 0))

【修正履歴】
非繰り返しフィールドに対するオマジナイ [1] を忘れていたので、補足修正しました。

Last edited by Hiro (2021-04-21 19:32:54)

Offline

#4 2021-04-21 15:02:31

Shin
Member

Re: ある条件の中での最大値の表示

繰り返しのグローバルフィールドg_status に、それぞれ選択肢を設定しておきます。
入力 status から、繰り返しの計算フィールド Case ( status[1] = g_status ; No[1] ) を作っておきます。
それを個別に集計(最大値)する集計フィールドを作るだけです。
https://www.dropbox.com/s/4lgl2r4vnmrky … 2.zip?dl=0

Offline

#5 2021-04-22 07:05:33

こまつ
Member

Re: ある条件の中での最大値の表示

皆様ありがとうございます。なんとかできました。FileMakerで作った仕組み第一号でした。
それぞれの方のやり方をもう少し自分なりに深めていきたいです!

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 7 queries executed - Memory usage: 555.28 KiB (Peak: 582.66 KiB) ]