Shopping Cart

Search:

Signup

Contact

FileMaker is a registered trademark of FileMaker, Inc. in the U.S. and other countries.

# FileMaker Pro Custom Functions

SumRepetition ( Field ; Repetition ; RecordCount

Rate this function:

Discuss this Custom Function

Rob Poelking, Excelisys
http://www.excelisys.com

Sums an individual repetition through a relationship.

Sample Input:
 SumRepetition ( "R::field_nr" ; get ( calculationrepetitionnumber) ; count ( R::id ) )
Sample Output:
 6

Then copy & paste into FileMaker Advanced's Edit Custom Function window.

## Description:

If you try to use SUM on a related repeating field, Filemaker will sum the entire contents of every repetition on a record and then for all related records when in fact you wanted the sum of repetition 2 for the related records.

Note: these functions are not guaranteed or supported by BrianDunning.com. Please contact the individual developer with any questions or problems.

This is my Custom Function and I want to edit it

## Discuss:

Absolutely brilliant! A real FileMaker breakthrough!

Larry Goldman, Silicon Valley
March 18, 2014 9:36am

I want example for sum with repetition field

helen, aaa
June 02, 2014 4:30am

RepetitionSum (
GetFieldName ( Extend ( R::field_nr ) )
; Get ( CalculationRepetitionNumber )
; Count ( Extend ( R::id ) )
)

Lon Cook, San Francisco
October 24, 2014 3:51pm

Great function. I found that when summing a repeating field in a related table and there are no related records, I get the beach ball (OS X, FMP 14.0.5). I found adding a Case() to the CF to trap for no related records fixed the problem.

---

Case(

GetAsNumber( recordCount ) + 0 > 0 ;

Let(
[
r = repetition;
f = field ;
fr = GetField ( f & "[" & r & "]" );
cnt = recordCount
];
If (cnt > 0 ; GetNthRecord ( fr ; cnt ) + SumRepetition ( f ; r ; cnt - 1 ) ; 0 )
) // end Let

) // end Case

Vaughan Bromfield, Sydney, Australia
March 18, 2016 3:49pm

Vaughan, its sounds like you have another issue going on there. That's exactly that the If(cnt>0... is supposed to take care of.

Rob, Cleveland, OH
March 19, 2016 8:46am