Software Venture Consulting

FileMaker Pro downloads & Resources
FileMaker Custom Functions
FileMaker Web Viewer Examples
FileMaker Pro & Lasso Consulting
FileMaker Books
FileMaker Articles
FileMaker Error Reference

Free Web Tools
Free FileMaker Tools

Personal Pages

Shopping Cart
Shopping Cart


Free Newsletter


Privacy Policy

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


 FileMaker Pro Custom Functions

List  |  Show Random  |  Upload  |  Add This to Your Site

fnGoogleLineChart ( chtitle ; xtitle ; ytitle ; xfield ; yfield ; color )

Rate this function:  

  Average rating: 4.3  (38 votes)
  Discuss this Custom Function

Jeremy Upton, DME Supply Group

Extremely simple line chart solution using a web viewer and Google API

Sample Input:
fnGoogleLineChart ( "Sales Chart"; "Date" ; "Sales" ; DataBase:Date ; DataBase:Sales ; "0000FF" )
Sample Output: Chart&chxt=x,x,y,y&chxl=0:|3/10/2010|3/11/2010|3/12/2010|3/13/2010|1:|Date|2:||66.7|133.4|200.1|266.8|333.5|400.2|466.9|533.6|600.3|667|3:|Sales&chxp=1,50|3,50&chd=t:511,446,230,667&chds=0,667&chg=0,10&chco=0000FF

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


Use this function to define a custom web viewer within Filemaker Pro. The function utilizes Google API to create a simple X,Y axis line graph. The chart is limited to a single line. Basic knowledge of Google API will be needed if you intend to modify the function.

In the example above, a database with 4 records in the found set containing the following data:

[Date: 3/10, 3/11, 3/12, 3/13] & [Sales: 511, 446, 230, 667]

Would produce the following URL (copy/paste into your web browser to view the resulting chart): Chart&chxt=x,x,y,y&chxl=0:|3/10/2010|3/11/2010|3/12/2010|3/13/2010|1:|Date|2:||66.7|133.4|200.1|266.8|333.5|400.2|466.9|533.6|600.3|667|3:|Sales&chxp=1,50|3,50&chd=t:511,446,230,667&chds=0,667&chg=0,10&chco=0000FF

How to use it:

1) The web viewer object must be named “linechart.” (View -> Object Info)

2) The chart will auto-scale to the dimensions of the web viewer, however Google does not allow charts larger than 300,000 pixels. So a chart sized 500x600 pixels is fine, but 550x600 will not work.

3) You are able to provide a main title for the chart as well as titles for both the X and Y axis. If you do not want anything in those positions simply input “” for these variables.

4) The X Axis. The values for this axis are passed in the order that they are created. So if the 4 records in the example were created in reverse order starting with 3/13, the graph would read 3/13 -> 3/12 -> 3/11 -> 3/10 (left to right). Keep this in mind if you need these values to show up in a particular order.

5) The Y Axis. These values must be numerical. The graph will auto-scale using the highest value passed as the top value on the chart. The numbers that actually appear along the Y axis will be the regular intervals between 0 and the highest number passed.

6) The last variable “color” will accept the hexadecimal value for the desired color of the line.

7) In order for the chart to show multiple records it must grab the data from a related table. Otherwise it will only show data from the current record.

NOTICE: Because of chart size limitation it is possible to overcrowd the values along the X axis. It is best to try to limit the number of characters used for those values.

This is my first attempt at making an easy-to-use chart solution. I am eager for feedback on how it can be improved or simplified.

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

This is my Custom Function and I want to edit it


Appears to not be working now. Get the following errors from google:

400. That’s an error.

Your client has issued a malformed or illegal request.
•The parameter 'chd=t:?' does not match the expected format.
•The parameter 'chds=0,?' does not match the expected format.
•The parameter 'chs=-100x-50' does not match the expected format.
•The parameter 'chs' must have a width of at least 1 pixel.

That’s all we know.

Mike B., Columbus Ohio
October 29, 2012 8:41am

Make a comment about this Custom Function (please try to keep it brief & to the point). Anyone can post:

Your Name:
characters left. If you paste in more than 1500 characters, it will be truncated. Discuss the function - advertisements and other useless posts will be deleted.
Answer 5 + 1 =
Search for Custom Functions:

Custom Functions Widget
Download the Custom Function Dashboard Widget for OS X
Keep all the latest Custom Functions right at your fingertips!

Newest Custom Functions:

1. HexUUIDToNum_cf (_uuid)
  (Sat, Jun 16, 1:55pm)
2. httpResponseCode ( responseHeaders )
  (Tue, Jun 12, 10:40pm)
3. FindDuplicateCharacters ( string )
  (Fri, Jun 08, 5:01pm)
4. FieldRepetitionLast ( field ; maxRepetition )
  (Wed, Jun 06, 6:05pm)
5. CountModifiedRecords ( NameTimestampField ; StartTimestamp ; EndTimestamp )
  (Mon, May 28, 8:23am)
6. JSONArrayLength ( JSONArrayStr )
  (Fri, May 25, 7:46am)
7. interpolation (y1; y2; y3; x1; x2; x3; x1y1; x2y1; x1y2; x2y2; rnd)
  (Sat, May 19, 3:55am)
8. @JSONFormatElements ( json )
  (Tue, May 15, 3:31am)

RSS Feed of Custom Functions