This article is part of a series. See also… • Thinking About JSON, part 1 • Thinking About JSON, part 3 • Thinking About JSON, part 2 Demo Files Make sure to download the correct version for your locale: json.getvaluetype – decimal dot, v1 (decimal separator is a dot; thousands separator is a comma)… Continue reading Thinking About JSON, part 4View the full article
This is a quick follow up to Tuesday’s article, and to avoid unnecessary repetition I will assume the user is familiar with that material. button bar segment fun, v3 (from part 1) button bar segment fun, v4 (WeTransfer link) There were some things in v3 I wasn’t completely happy about, and I realized this morning… Continue reading Button Bar Segment Fun, part 2View the full article
Demo Files button bar segment fun, v1 button bar segment fun, v2 button bar segment fun, v3 Today we’re going to look at some ways single-segment button bars (SSBBs) can help produce dynamic column headings for list views and/or reports, with a goal of concentrating logic into the segment calculation and reducing schema dependencies elsewhere. This… Continue reading Button Bar Segment FunView the full article
Recently we’ve discussed optimizing SQL queries in FileMaker, and had some fun with various SQL experiments. Today we’re going to explore some ways FileMaker can use ExecuteSQL and the While function to perform letter frequency and text pattern analysis on candidate words for the popular Wordle game. The list of words comes from https://github.com/tabatkins/wordle-list and… Continue reading Exploring Wordlespace with SQL and WhileView the full article
INTRO Today we’re going to pick up where we left off last month, and today’s article will assume the reader is familiar with the material we covered last time (in SQL Multi-Table Query Optimization). This time we’re going to dig a little deeper into multi-table SQL queries, conduct some SQL experiments, and look at a… Continue reading SQL Multi-Table & Miscellaneous ExperimentationView the full article
Demo file: sql-multi-table-query-optimization.zip Recently a colleague requested help w/ a SQL query that was performing slowly. I wrote back: Make sure there are no records open locally, i.e., on your machine, in the tables you are querying (for more information see this article by Wim Decorte: ExecuteSQL – The Good, The Bad & The Ugly)… Continue reading SQL Multi-Table Query OptimizationView the full article
JSONQuery @ FM-DiSC On Friday, January 14, Steve Senft-Herrera and I will be discussing and demoing JSONQuery at FM-DiSC (FileMaker Developers in Southern California). Useful Links Current version of JSONQuery: CF_JSONQuery_20211130_0120_PUBLIC.fmp12.zip Our recent two part in-depth interview series JSONQuery, part 1 JSONQuery, part 2 Coming soon: Steve Senft-Herrera’s demo file from the presentation Coming soon:… Continue reading JSONQuery at FM-DiSCView the full article
Have you ever wished you could connect a portal to a JSON array? Portals and JSON arrays seem like they should be a natural fit, but FileMaker doesn’t offer us an obvious way to connect one to the other. (An example of where this might come in handy would be selection criteria for a report,… Continue reading Connecting Portals to JSON ArraysView the full article
Continuation of interview with Steve Senft-Herrera [Editor’s note: the demo file and custom function have been significantly updated since part 1.] Demo file: CF_JSONQuery_20211130_0120_PUBLIC.fmp12.zip (WeTransfer link) KF: Welcome back Steve for part 2 of our JSONQuery conversation. SSH: Thank you, Kevin. KF: One thing we didn’t mention last time, because they were late-breaking additions, were the… Continue reading JSONQuery, part 2View the full article
Interview with Steve Senft-Herrera [Editor’s note: the demo file has evolved a bit since this interview took place, and, as a consequence, screen shots shown here may deviate slightly from what you will find in the demo.] Demo file: CF_JSONQuery_20211029_1200_PUBLIC.fmp12.zip KF: Good afternoon, Steve. You’ve been developing JSONQuery over the last few years, and today… Continue reading JSONQuery, part 1View the full article
Introduction Back in 2017 I wrote about a technique to enable users to a) produce multiple on-screen reports, and b) interact with those reports in browse mode. The article was called Virtual List Reporting, part 3, and while the approach it advocated works well enough under most circumstances, today I’d like to share some fresh… Continue reading Virtual List Reporting, part 4View the full article
Demo files: set-var-by-name-v4 and set-var-by-name-md5 Background This is a quick follow up to last December’s Set Variable By Name Revisited, and to avoid repetition will assume the reader is familiar with the material that was presented in that article. But to briefly recap: 1. FileMaker does not provide an obvious way to programatically name a… Continue reading Set Variable By Name Re-RevisitedView the full article
INTRODUCTION Today I want to take a look at a certain Perform Script On Server (PSOS) behavior, and for those who find this behavior to be inconvenient, propose a work around. Here’s the behavior, or misconception, actually: a server side script initiated via PSOS (apparently) cannot access files on the server unless the user already… Continue reading PSOS – Run Script in File not open LocallyView the full article
Introduction Recently I had the pleasure of speaking with Jeremy Brown on The Context Podcast about an open-source project called JSONata that enables you to query and transform JSON. The JSONata site is packed with useful information, including this short video… …as well as… Extensive documentation A link to the Stack Overflow forum, where you… Continue reading FileMaker 19 + JSONataView the full article
Earlier today I needed 1 billion to render in the calc engine as 1000000000, but FM helpfully converts numbers to scientific notation if they A) are >= 1 billion, and B) contain nothing but zeros following the initial digits. Example where “A” and “B” are both true: Example where “A” is true but “B” is… Continue reading Bypassing Scientific Notation View the full article
Editor’s note: today we have a guest article by long-time FileMaker developer, Peter Doern, who has come up with an elegant, outside-the-box methodology for managing imports. This is one of the coolest techniques I’ve seen in a long time. Enjoy. FileMaker includes a powerful and fast method for importing data from a source table to… Continue reading FRAP-Map: A Flexible, Robust, Accessible and Portable Data Mapping Technique View the full article
Today we’re going to take a quick look at a potential “gotcha” that can crop up when doing numeric comparisons. Jason DeLooze and I discussed the general behavior back in 2011 (Space Is The Place), but this time around I want to focus on one particular set of circumstances where the problem can arise. At… Continue reading When 2 is greater than 10 View the full article
Demo file: sql-join-fun-etc.zip requires FM 18 or later. Recently I was asked to create a mini-report combining data from a pair of related tables via ExecuteSQL. This provided an opportunity to think about SQL joins, and also to come up with a way to apply currency formatting to dollar amounts in the SQL query result,… Continue reading Fun with SQL Joins and Currency Formatting View the full article
Demo file: file ids, table ids and field-level schema.zip (requires FM 18 or later) INTRODUCTION Recently I was asked to help document a FileMaker solution by creating and populating a “schema” table as per the above screen shot. One of the requirements was to programmatically determine internal ID numbers for the file and for the… Continue reading File IDs, Table IDs and Field-Level Schema View the full article
Demo file: set-variable-by-name-v2.zip (requires FM 16 or later) INTRODUCTION You’ve probably heard the old joke that goes… Patient: Doc, it hurts when I do this. Doctor: Don’t do that. Perhaps you’re also familiar with the FileMaker equivalent? Developer: It hurts when I try to assign certain variable names. FileMaker: Don’t do that. Or how about… Continue reading Set Variable By Name Revisited View the full article
Demo file: a-value-list-experiment.zip Note 1: today’s demo is recycled from the one that accompanied Virtual Portal, part 2. All we care about today is how we assign the parent company; the remainder can be ignored. Note 2: if you’re unclear on value list basics, check out Thinking About Value Lists, part 1. “I want it… Continue reading A Value List Experiment View the full article
Demo file: backup-simplified.zip Like many developers I go back and forth between developing locally and in a hosted environment, and many years ago, I posted a couple articles featuring a simple backup script to create on-the-fly backups when working on local files. Recently a colleague pointed out that this backup routine, which I last wrote… Continue reading A Simpler Backup Script View the full article
Demo file: found-set-to-json-object.zip (40MB; requires FM 18 or later) [Author’s note: the demo file is a work in progress. Modify it as you see fit.] Today we’re going to compare various methods one might consider employing to render an arbitrary found set as a JSON object. The demo consists of a table of US customers… Continue reading Render Found Set as JSON Object
View the full article
Currency Exchange Rates Welcome back for another exciting round of JSON exploration. Last time we discussed a JSON-related bug fix in FM 19, as well as a free package tracking service that returns results in JSON format. Today we’re going to look at a free currency conversion service. Demo file: json-exchange-rates.zip I threw together this… Continue reading JSON Currency Exchange Rates
View the full article
Currency Exchange Rates Welcome back for another exciting round of JSON exploration. Last time we discussed a JSON-related bug fix in FM 19, as well as a free package tracking service that returns results in JSON format. Today we’re going to look at a free currency exchange rate service. Demo file: json-exchange-rates.zip I threw together… Continue reading JSON Currency Exchange Rates
View the full article