Brian Dunning's FileMaker Custom Functions

DayCounterHolidays ( Date_Start ; Date_End ; Days_of_Week ; Holidays )

Counts number of types of days between 2 dates excluding holidays

  Average rating: 4.5 (36 votes) Log in to vote

Josh Morton   Josh Morton
JEM CONSULTING

Share on Facebook Share on Twitter

  Sample input:
_DayCounter ( Date ( 1 ; 1 ; 2010 ) ; Date ( 1 ; 31 ; 2010 ) ; "2¶4" ; "1/1/2011¶1/17/2011)
  Sample output:
4

  Function definition: (Copy & paste into FileMaker's Edit Custom Function window)

Returns a number counting only those days in the specified range whose day-of-week is included in the weekDays parameter and whose date does NOT exist in a list called Holidays.

For example to calculate how many lesson a music student will have during a semester based on the day of the week they take lessons and a date range but taking into account holidays.

 

Comments

Bernard Cheang   Bernard Cheang, Singapore
Jan 11, 2011
Shouldn't the sample output be 8?
 
Jack Rodgers   Jack Rodgers, Hollywood, FL
Mar 2, 2011
Custom Functions have the problem of not being flexible and impossible to debug if the solution is locked.

Using a table to list holidays or days to exclude is more flexible and eliminates discrimination.

Suppose one person celebrates a religious holiday that another doesn't. Whose holiday is accepted and whose isn't? Or if your db is used in a different country. Would Britain celebrate the US's July 4th?

Using a filtered portal one can adapt to these issues.
 
Joshua Morton   Joshua Morton, NYC
Mar 2, 2011
You can set the Holiday to be a list(field) and then it could pull from data any end users could maintain in your solution. You could do something similar to decide which days to count.
 
Pablo D   Pablo D, Quito/Ecuador
Jun 18, 2013
Can you suggest a custom function for the calculation for an EndDate given a starting date, the number of days, days of week, and holidays?
EndDate ( Date_Start ; Days ; Days_of_Week ; Holidays )
Thanks in advance
 

Log in to post comments.

 

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

Under construction. Email me your wish list for improvements.