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

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

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

You are not logged in.

Announcement

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


#1 2022-10-11 19:25:31

yubik
Member

全レコードのうち、ある条件に当てはまるレコードの複数のフィールドの合計を出したい

はじめまして。
Windows10でFileMaker Pro 17 Advancedを使用しています。
まだかなりの初心者で、使い方を学ぶためにいろいろ触っているところです。

今は、個人で管理するための有休や振休取得状況がわかるデータベース作成を試みております。
かなりシンプルなもので、自分に付与された有休日数に対して、何日分利用したか(時間休を日数換算したものを含む)、休日出勤を何日行って何日振休として取得したかを表示させようと思っています。

ひとつのレイアウトのなかに、フィールドを以下のように作成しました。
種類:ラジオボタンで、休日出勤/振休/有休/時間休 を選択できるようにした
取得日:出勤もしくは休みの取得日
取得日数:基本的に1と入力(1レコードに対して1件の休み等を記録する)
取得時間とその日数換算値:それぞれフィールドを作っています

またそのほかのフィールドは以下の通りです。
休日出勤合計
振休取得日数合計
振休残数
合計取得日数
有休残数

ここでお伺いしたいのは、取得できる振休が何日残っているか、有休が何日残っているかを出したいと思っています。
例えば、休日出勤合計から振休取得日数合計を引き算すればその数字がでると思い、そのフィールドを作成しましたが、休日出勤合計に、全レコードのなかから「種類:休日出勤」としているレコードを対象にした「取得日」の値を合計して表示させる方法がわかりませんでした。
集計タイプもやってみましたが、その場合、「種類:休日出勤」という条件づけができなかったので、単に全レコードの取得日の合計値になってしまいました。
また、合計取得日数には、「種類:有休または時間休」の条件で、有休と時間休(日数換算した値)という別々のフィールドの値をあわせた数字を出したいのですが、こちらもうまくできませんでした。

一方、フリーでダウンロードできた勤怠管理のデータベースも見てみましたが、複雑な仕組みで残念ながら理解できませんでした。

現在の方法が回りくどいものになっていることも考えられるので、シンプルにできる方法等ご存じの方はご教示いただけると大変助かります。
どうぞよろしくお願いいたします。

Offline

#2 2022-10-11 21:26:41

himadanee
Guest

Re: 全レコードのうち、ある条件に当てはまるレコードの複数のフィールドの合計を出したい

まず、通常の勤怠管理では管理する人間(あるいは年度も)が複数ですから、「全レコードの」という集計はしません。
あくまでも練習用として実装したいんでしょうか。

#3 2022-10-11 22:31:37

yubik
Member

Re: 全レコードのうち、ある条件に当てはまるレコードの複数のフィールドの合計を出したい

ご返信ありがとうございます。
はい、そうです。
使い方として、記録されているレコードのうち、ある条件(ここでは種類のフィールドに記載されている特定の言葉)に当てはまるレコードの、フィールドA(えここでは取得日)もしくは複数のフィールドの合算値を出したいと考えました。
説明下手ですみません。
この考え方自体が適してないのでしょうか。

Offline

#4 2022-10-11 23:20:29

Shin
Member

Re: 全レコードのうち、ある条件に当てはまるレコードの複数のフィールドの合計を出したい

グローバルの繰り返しフィールド「g_種類」を作り、各繰り返しに 休日出勤/振休/有休/時間休 を設定します。
計算フィールド「種別日数」:Case ( 種類[1] = g_種類 ; 日数[1] ) を作ります。これを個別に合計する集計フィールドを作れば、種類毎の合計がでますので、この結果を適当に処理すればいいでしょう。

Offline

#5 2022-10-12 13:54:50

yubik
Member

Re: 全レコードのうち、ある条件に当てはまるレコードの複数のフィールドの合計を出したい

Shinさん

ご返信ありがとうございます。
今朝から検索しつつ、データを触ってみているのですが
グローバル、繰り返しフィールドについてまだ理解が追いついておりません。
教えていただいたものがまだ作成できていません。
もう少し頑張ってみます。

Offline

#6 2022-10-12 14:55:57

yubik
Member

Re: 全レコードのうち、ある条件に当てはまるレコードの複数のフィールドの合計を出したい

Shinさん
ほかみなさん

なんとか、種類ごとに分けたフィールドで日数を表示させる(種別日数)ことに成功しました。
思ったように表示されたときは感激しました。

そこから、「各種別日数」フィールドの集計フィールドを作成し、全レコード合計値を表示しようと思いましたが、「種別日数」フィールドが選択できませんでした。
もう少しお知恵をお借りできたらと思います。

用意しているフィールド
・種別日数_休日出勤 →「種類」のフィールドで「休日出勤」を選択したとき、そのレコードに記載された「取得日数」を表示する
・種別日数_振休 →上記の振休バージョン
・種別日数_有休 →上記の有休バージョン
※上記はすべて、計算タイプのフィールドにしています。

・合計_有休 →集計タイプにして、「種別日数_有休」に記録された数値の合計を出そうとおもいましたが、「種別日数_有休」フィールド選択できませんでした。
・有休残数 →付与された日数から「合計_有休」値を引き算する:これはできます
・振休残数 →合計_有休のように、休日出勤と振休の日数を合計できたら、そこで引き算する

特定のフィールドが選択できない理由がわかれば解決できそうですが、見つけられませんでしたので、どなたかお手伝いいただけるとうれしいです。
よろしくお願いします。

Offline

#7 2022-10-12 15:20:58

yubik
Member

Re: 全レコードのうち、ある条件に当てはまるレコードの複数のフィールドの合計を出したい

上記の件は偶然にも解決しました。

数値タイプのフィールドでないと集計で選択できないのか、と思い、各合計のフィールドタイプを計算から数字に変えました。
その際、フィールドのオプションで計算値にチェックをいれ、様子を見てみました。
思ったとおり、集計フィールドのオプションでは、選択できるようになりましたが、レイアウトに戻ると数字は集計されていませんでした。
そこでもう一度、タイプを計算に戻したところ、今度は集計フィールドのオプションで選べるように変化していました。
計算値にチェックをいれたことがよかったのかわかりませんが、以上の流れで、わたしが表示させたいものを作成することができました。

その後の全体集計も問題なく、表示されました。
お手伝いいただき、ありがとうございました。

Offline

#8 2022-10-12 18:08:34

Shin
Member

Re: 全レコードのうち、ある条件に当てはまるレコードの複数のフィールドの合計を出したい

繰り返しフィールドの中だけで、ほぼ全ての計算が終らせることができます。
https://www.dropbox.com/s/zcsl28vp71xbd … 2.zip?dl=0

Offline

#9 2022-10-13 10:17:27

yubik
Member

Re: 全レコードのうち、ある条件に当てはまるレコードの複数のフィールドの合計を出したい

Shinさん

サンプルを作っていただいて、ありがとうございます!
中身をよく見て、勉強させていただきます。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.009 seconds, 9 queries executed - Memory usage: 574.82 KiB (Peak: 591.73 KiB) ]