Category Archives: Level: Intermediate

User-Friendly Excel Exports, part 7

This is a follow up to last week’s part 6, with three refinements.

Continue reading

User-Friendly Excel Exports, part 6

29 Mar 2017: this file (Excel Exports, v6d) fixes a formatting bug when currency values < 1000 are not preceded by a “$”. Explanation forthcoming in next week’s “part 7” article.

Recently I was asked to implement user-friendly Excel exports on a WAN-based solution, utilizing some of the techniques explored earlier in this series (part 1, part 1.1, part 2, part 3, part 4 and part 5 — all from five years ago). There was just one problem: while performance was great locally, and okay on a LAN, it was decidedly less-than-satisfactory across a WAN.

Well today we’re going to look at three demos showcasing a brilliant, outside-the-box technique I picked up from Beverly Voth, which is not only significantly faster on a WAN (4x or 5x faster), but also remedies some other shortcomings associated with my earlier approaches.

Demo files:

Continue reading

PDF with Embedded Links

Author’s note: I’d like to offer a big thank you to Christian Schmitz of Monkeybread Software, not only for creating and continually improving a fantastic plug-in, but also for promptly and patiently answering my many questions.

A few weeks ago we looked at creating a table of contents for a PDF containing nine individual reports. The article ended by asking a somewhat rhetorical question…

Now that we have a table of contents for our master report, wouldn’t it be nice if we could hyperlink each TOC entry to its corresponding report within the PDF?

2017-02-10_180551

FileMaker doesn’t provide a built-in way to accomplish this, but it can be done using a combination of the MonkeyBread plug-in + DynaPDF Lite, and this will be explored in my next article.

…and today we’re going to dig into the nuts and bolts of what it takes to make this happen.

As usual, we have a demo file (Embedded PDF Links), but since it will only work for developers having licensed copies of the above-mentioned products, here is a PDF showing the end result: Report with Hyperlinked TOC.pdf

Continue reading

FM/SQL Portal Filter + Dynamic Sort

Editor’s note: Today I’m pleased to present a guest article and accompanying demo file written by Joel Englander on using ExecuteSQL + a global multi-line key as an alternative to FileMaker’s built-in portal filtering mechanism, with dynamic portal sorting included as an added bonus.

Demo file: fm-sqlportal-filter-and-dynsort.zip (75 Mb compressed, 230 Mb uncompressed)

browseaksortcitycomp Continue reading

Exploring Problem Spaces

Given its primary role as a database product, it’s easy sometimes to forget what a great teaching tool FileMaker Pro can be. One of my favorite educational uses for it is building models to explore problem spaces, for example…

  • viewing all possible outcomes for a problem with boundary conditions
  • conducting trials to confirm the likelihood of a predicted outcome
  • using “brute force” to find the solution to a complex problem

..and today we’re going to look at an example of each of these.

Dice Roll

2016-11-29_021650

Demo Files: Dice Roll, v1 and Dice Roll, v2

Continue reading

Modal Popovers + Magic Date Value Lists

Today we’re going to explore a couple ideas that were glossed over in last month’s article on the CustomList custom function…

  • implementing a “modal” popover
  • using a “magic” value list to display a properly sorted list of dates

…and you can download a copy of today’s demo file, Date Filtration, if you are so inclined.

Modal Popover

One of the most useful FileMaker features introduced in the last few years is the popover (if you aren’t familiar with them, Howard Schlossberg’s presentation provides an excellent introduction). In the standard implementation, you click once to display the popover, and then click anywhere outside the popover to dismiss it.

2016-10-23_112805

Continue reading

Transfer a Found Set to a UI File

If you work with the separation model, or any other multi-file configuration where a layout in file A is based on a table in file B, you may have encountered the following situation: while FileMaker makes it easy to transfer a found set from file A to file B…

2016-08-31_195116

…there is no obvious mechanism to go the other direction. Stated in other words, you can easily transfer a found set from an interface (a.k.a. UI) file to a data file, but not vice-versa. Nor for that matter, is there an obvious way to transfer a found set from one UI file to another UI file. Continue reading

Portal Threading in FM 15

Today’s release of FileMaker Pro 15 brings a welcome performance boost in the form of in-line portal progress indicators, a.k.a threaded portals. Ian Jempson (@ianjempson) was kind enough to provide me with a test file that he built, and today’s demo file is based on Ian’s work, and shared with his permission. The purpose of the file is, a) to demonstrate portal threading in FM 15, and b) to explore the behavior of variables instantiated via portal filter calcs and/or object visibility.

2016-05-09_144508

Demo file: fm15-portal-threading.zip (7.5 Mb)

Continue reading

Set Variable by Name

16 April 2017: custom function updated to facilitate auto-interpretation of dates (SetVarByName-v2.zip). See below for more info.

Recently, in the midst of various reporting and charting projects, I’ve found myself wishing for an easy way to “dynamically instantiate” one or more variables… in other words, set them by name, with the name determined programmatically, as opposed to being hard coded.

This issue has come up from time to time on this blog over the last five years or so, most notably in Dynamic Variable Instantiation, where I observed that…

2016-04-06_074440

…and then proposed an unwieldy mass of gobbledygook as a workaround, e.g.,

2016-04-06_083324

Actually, the preceding isn’t too bad for occasional use, especially if the value you’re passing to the variable is as simple as the GetSummary string shown above. Continue reading

Fast Summaries Revisited

If you do complex data analysis, then from time to time you probably need to group, summarize, and parse data into variables and/or fields. There are various ways to accomplish this, including the Fast Summary technique, which regular readers of this blog may be familiar with, as it has made a number of appearances here over the years.

Well today we’re going to look at a couple alternatives to Fast Summaries, with the help of some demo files, which you can use to do your own benchmarking.

2016-03-29_223920

Or, if you’d rather not do your own benchmarking, scroll down to see results from my tests. Bottom line: each of these three techniques can be fastest, depending on circumstances.

(Also, if you’ve been putting off exploring Perform Script On Server, a.k.a. PSOS, host the demo files on FileMaker Server 13 or later. The reporting routine optionally uses PSOS, so you can dive in painlessly and see what you’ve been missing.) Continue reading