One of the most common requests developers receive is to implement a solution for reporting specific company data or information. For instance, accounting may have all the sales data on hand, but it usually looks something like this…
Fortunately, FileMaker offers plenty of options to accomplish this style of reporting, but you'll want to make sure you pick the right tools for the job. For starters, here’s three options you should consider using to build your cross tab reports…
Populating records based on the type of report selected can be simple to set up and works just fine for infrequent use. However, if more than one user is trying to generate a report at the same time, the second user will receive unexpected results, even though both users are looking at the same set of records. This happens because only one user can run a report at a time. So, essentially, if one user runs a report on total sales by month and a second user then requests a report for average sales by sales person, the second user will only receive the results of the first user's criteria—the total sales by month.
In some cases, it may be simpler to create your report using the ExecuteSQL function rather than modifying the existing schema. This allows significant flexibility in terms of how information is grouped, sorted or spliced. Learning to use the ExecuteSQL function can be difficult to pick up at first, but FileMaker has supplied excellent SQL references for support.
Whether you retrieved your data through ExecuteSQL or by performing/scripting finds, your information is probably sitting in a variable waiting to be displayed. Web viewers offer a great deal of customization and features. With an ever-growing array of libraries, like Google Charts or D3, available to simply plug in your data for fantastic looking reports.
These are just a few of the techniques available for cross tab reports using the FileMaker platform. Remember—the more you know, the easier you can leverage the flexibility of FileMaker to turn your custom app into a crystal ball.