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

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

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

You are not logged in.

Announcement

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


#1 2016-03-01 00:20:22

タクヤ
Guest

繰り返しフィールドの任意の位置から任意の位置までの集計

過去ログも検索したのですが、見つからず何卒お助けください。Ver.6です。
繰り返しフィールドから任意の集計をしたいのです。

31の繰り返しフィールドがあり、すでにその中に数字が入ってます。(空白もあり)
たとえばその繰り返しフィールドの1~10までの数字が入ってる箇所の合計、もしくは15~から31までのフィールドの中で数字の入っている箇所のフィールドの合計を求めたいのです。
1  2  3  4  5  6  7  8  9  10  11  12  13 ...
----------------------------------------------
   3      4          3          4          3        ...

1~10までの合計の場合、14を返したいのです。

どういう式を用いれば良いでしょうか?初心者ゆえお手数かけますがなにとぞよろしくお願いいたします。

#2 2016-03-01 01:31:17

Hiro
Member

Re: 繰り返しフィールドの任意の位置から任意の位置までの集計

繰り返しフィールド内のカスタム集計計算を行うには、バージョンが古すぎて有効な関数がありません。
集計計算が前提なら、繰り返しは止めて、1レコード1データの構造への組み替えをお勧めします。

Offline

#3 2016-03-01 08:52:57

Shin
Member

Re: 繰り返しフィールドの任意の位置から任意の位置までの集計

繰り返しフィールドを使わない事をお薦めしますが。

どうしても今のままで計算したいのでしたら、そのフィルターをかけるための繰り返しフィールドと、集計計算用の繰り返しフィールドを作ります。フィルター用には、対象となる所には1をそれ以外には0かnullを設定します。集計計算用は、元フィールド×フィルター用、という計算式を設定します。このフィールドを合計等すれば良いでしょう。
または、その繰り返し位置を指定する文字列から、合計する式を生成し、Evaluate() で評価する、という方法もあるでしょう。

Offline

#4 2016-03-01 11:48:18

calcer
Guest

Re: 繰り返しフィールドの任意の位置から任意の位置までの集計

Evaluate()はFM6にはありません。

有効な関数は無いので、地道に1個ずつ足す。
GetRepetition ( 繰り返し ; 1 ) + ...
合計なら、入っているかどうかは気にする必要ありません。

#5 2016-03-01 12:08:57

Shin
Member

Re: 繰り返しフィールドの任意の位置から任意の位置までの集計

ああ、FM6か。
動的に取りたい様なので、計算式を固定できないと思うんだけど。

Offline

#6 2016-03-01 14:21:11

タクヤ
Guest

Re: 繰り返しフィールドの任意の位置から任意の位置までの集計

みなさま、ありがとうございます!FM6では難しそうですね、、、
動的ではありますが、必ず始め(1)から○○までとか、逆に○○から最後(31)までとかになるんですが、たとえば、”10”という数字を元に1~10までの数字をなくして空白にする、10~31までを空白にする事は難しくはないでしょうか?いらない部分を0にできれば任意の部分の集計ができると思うのですが、、、いかかでしょうか?

#7 2016-03-01 15:47:45

Hiro
Member

Re: 繰り返しフィールドの任意の位置から任意の位置までの集計

データベースソフトに、ベータベース処理の不向きな繰り返しフィールドをあえて使う理由は?
今回だけ追っ付けで対処したとしても、直ぐまた破綻することになるのではないかしら?
他にこのデータをデータベースらしく有意義に使う予定が全く無ければ別ですけど!

不向きな繰り返しフィールドはあえて使う、バージョンアップもしないがその出来る等価のことはしたい、ではネ...?

Last edited by Hiro (2016-03-01 16:33:40)

Offline

#8 2016-03-01 16:55:23

タクヤ
Guest

Re: 繰り返しフィールドの任意の位置から任意の位置までの集計

Hiroさん、お返事ありがとうございます!
実は私ではなく別の者(会社の長)がすでに顧客管理のファイルを完成させており、FM6でもう十年以上そのシステムで動いております。1万軒以上の顧客の管理をそのファイルで行っており、FM6が動かせない事態が起きなければバージョンアップも含めて特に大幅にいじる事はなくそのままで行くといっております。今回の問い合わせの内容はすでにシステムとして出来上がっているファイルの中の一部の繰り返しフィールドから私が任意の合計を求められるものができるのなら変更しても良いと言われている社内の給与システムがあり、他の者からも期待されてしまっている状況でした。それでなんとかそれができないかと、ここにご質問させていただきまいた。
そこから数字が導き出せれば、それがコピーのファイルで他の必要のない部分を書き換えてしまっても、月に1回その作業ができれば良かったので、上記の繰り返しフィールドの前半、または後半のいらない部分を0にできたらという考えを書かせていただきました。経緯を説明せずに端的な質問になってしまっていてすいませんでした。

#9 2016-03-01 17:48:12

チポ
Member

Re: 繰り返しフィールドの任意の位置から任意の位置までの集計

今のバージョンだと、
まったくのノータッチで計算フィールドで、
は無理でしょう。

スクリプトで合計を求めるとか、
別ファイルを作り、そちらで繰り返しをばらしてインポートするのはいかがでしょう。

Offline

#10 2016-03-01 21:43:09

タクヤ
Guest

Re: 繰り返しフィールドの任意の位置から任意の位置までの集計

チポさん、ありがとうございます!
別ファイルに繰り返しをバラしてインポートですか!?繰り返しをバラすというのは初めて聞いたのですが、ぜひ調べてみます!
教えて頂いてありがとうございました!

#11 2016-03-01 22:16:07

Hiro
Member

Re: 繰り返しフィールドの任意の位置から任意の位置までの集計

繰り返しフィールドをレコード分解して別ファイルへインポート」が、即ち、
一番最初の#2回答の「集計計算が前提なら、繰り返しは止めて、1レコード1データの構造への組み替へをお勧めします。」で申した事です。

Offline

#12 2016-03-02 09:28:22

タクヤ
Guest

Re: 繰り返しフィールドの任意の位置から任意の位置までの集計

Hiroさん、
ありがとうございます!そうでしたか、、、なにぶんまだファイルメーカーの知識が薄いため、せっかくのご助言の意味も理解できずすいませんでした。
本当にありがとうございました。今回の皆様のご意見を参考になんとか頑張ってみたいと思います。感謝いたします。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 525.63 KiB (Peak: 546.16 KiB) ]