Today we’re going to dig a little deeper into the new-in-18 While function, and to avoid repetition, will assume readers are familiar with last month’s article on SetRecursion and While. We’ll look at some new examples ranging from basic to advanced, investigate the circumstances under which While can use variables previously declared via Let, and check out some benchmark results comparing While vs. CustomList.
Last year I posted a couple articles on the topic of virtual list reporting (part 1 and part 2), a.k.a. VLR. Today we’re going to look at some additional things you can do with VLR, and to avoid a lot of repetition, this article will assume the reader is familiar with the material covered in part 1, wherein benefits are extolled and fundamentals explained.
Demo file: VLR-part-3.zip (3.4 Mb compressed)
Did you notice in parts 1 and 2 that we were limited to producing a single report at a time? Yes, we could sequentially output them and concatenate them into a PDF, but we couldn’t display multiple reports on-screen simultaneously, nor could we interact with them in browse mode.
This time around we’re going to look at a method to produce multiple independent reports concurrently, each in its own window, based on a single virtual list table. This will entail generating a large number of dynamically instantiated $$vars[withReps], so we will also explore a way to automatically clear them out (without the overhead of having to keep track of them during instantiation).
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.
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.
Well today I’m going to attempt to make good on that assertion. In case you aren’t already familiar with CustomList, it allows you to iteratively generate and/or parse lists using the full power of the FileMaker calculation engine. CustomList can process up to 500,000 rows — it is non-recursive and very fast — and today we’re going to use it to solve a variety of problems, both real world and theoretical. [Actually, the row limit can be adjusted, and it varies by platform — for full details see the CF definition.]
Today’s article features four demos…
- Demo 1: Lists Based on Found Set
- Demo 2: Sum Matching Values
- Demo 3: Date Filtration
- Demo 4: Prime Number Generator
…as well as a number of examples that don’t require a demo to illustrate their point. Continue reading
Welcome back for the second installment in our exploration of Virtual List Reporting (a.k.a. VLR). Demo file: VLR-part-2.zip
To avoid repetition, this article will assume the reader is familiar with concepts and techniques introduced in part 1 (some of what follows may appear to be gibberish if the reader is not)… but to briefly recap, here are some benefits of VLR:
- Flexible framework accommodates complex reporting challenges
- Fast performance (we use the Multifind technique in this demo)
- No need to tamper with schema in your data tables or on the relationships graph
- Unlike traditional FM reports, you can easily combine data from unrelated tables (we saw this in report 6 in part 1)
- Under certain circumstances, VLRs can be much faster to develop than traditional FM reports (as per discussion of report 3 in part 1)
Welcome to the first installment of a multi-part series on producing reports using the virtual list technique, or more properly, collection of techniques. Demo file: VLR-part-1.zip