|
|
|
Here is what other users have to sayBelow are a few things our users had to say about the Troi Ranges Plug-in. You can send us your own comments to: "The Ranges plug-in brings new meaning to the phrase: 'Faster Than A Speeding Bullet'!!The Test DB was: 124 records, the date range was 11/18/1999 to 2/05/2001. In addition each record had one or more Packets (subtasks) that had to be obtained from another file. The "composition" of the ranges "multi-keys" was blindingly FAST. The 3.5 to 4.5 sec to find (relationally) Total Tickets, Open Tickets and Closed Tickets required 3 different multi-keys that were used during the Test Case 1 and 2. The end result was a SPEED increase of at least a factor of 10. Test case 1: FMP makes the multikeys for finds over a date range Test case 2: Ranges Plug-In makes the multikeys for finds over a date range The time difference is: Test case 1: 45 seconds and test case 2: 4.5 seconds!! A speed increase by a factor of 10 . . .", William R. Moseid, John Gillespie Consulting inc.
Troi's Ranges Plug-in: Using the Right Tool for the Jobby Matt Petrowsky <matt@filemakermagazine.com> The Challenge: Give FileMaker Pro Quicken-like powerYour database is full of financial information but you don't quite know how to filter it. A common solution is to perform a search for the data based on the criteria you're looking for. However, you're a database programmer! We know you know how to do this - and so do your users! This is why they come to you when they want the information. If you haven't trained your users in the intricacies of multiple find requests across multiple databases using relationships, most of your day will be absorbed by providing "Find" assistance. Few users will dig around to figure it out, and the rest will simply say your database doesn't work! Make your life easier by deploying a third-party plug-in to solve this dilemma. The Solution: A Great Feature for Financial DataWorking with Troi Automatisering, ISO has recently released a plug-in which adds significant value to working with financial data within FileMaker Pro. The plug-in is named Ranges and offers some powerful features you really can't duplicate with FileMaker Pro alone. We've designed a plug-in that works the magic that FileMaker, Inc. should have added to FileMaker Pro years ago! This new plug-in allows you to incorporate some very powerful financial features - and more. I am intimately familiar with this plug-in because I worked with Peter Baanen of Troi to have it developed. I laid out the specs and he cranked out the code. After a few weeks, one of my long-anticipated extensions to FileMaker Pro was added with this plug-in. Specifically, I wanted a portal to filter out information based on a range of data. You can preview the demo plug-in included as part of this month's issue. The feature I longed for was an easy-to-implement, transparent way to generate multi-keys created from a starting date and ending date. In other words, all of the dates between a starting date and ending date would be return-delimited within a calculated field. What this provides is the ability to offer functionality similar to those features found in Quicken and other financial software packages. You enter in a range of dates for sales and reports are quickly generated. Preview the information on screen, then print! While this is an incredible time-saving feature to have, this is not all you can do with this powerful plug-in. When Details MatterOther plug-ins (there are two that I know of) offer some of the features found in this new Ranges plug-in, but none add the features I felt were ever-so-critical when working with financial data. One of these features was a field size check which would warn the user if they input values that exceeded one of FileMaker Pro's limitations. For instance, the amount of text you can include within a text, global text or calculated text field. Only 64K of text is allowed in these types of fields. After 64K the values are cut off. How does that affect you? A user inputs a date range from January 1, 2000 through January 1, 2040 to obtain critical financial data. Without the Ranges plug-in, the user would not be warned that the records returned only reflect a date range of January 1, 2000 through January 1, 2025. Why? Because a multi-key containing a list of the dates between January 1, 2000 and January 1, 2040 exceeds 64K. The end result is a faulty report. I guess we knew that $5 million seemed a little low for 40 years of data! More of the DetailsHere's more about the solution the Ranges plug-in solves. It creates a dynamic key of return-delimited values between a starting and ending date. The values may be time, numbers, and dates. However, by far, the biggest advantage is date-based information. Most of the reporting we require from a database is based on time. A possible result of the output from the Ranges plug-in would look something like this: 1/1/2000 All of these values would be returned-delimited within a calculated field (or set into a field via a Set Field script). If you are unfamiliar with a multi-key relationship check it out now! It is one of the most powerful features in a relational database. Essentially, multiple keys are created within one field and are related to records in another database (or the same database) with values matching those keys. So, in the example above, all invoices created within a sales database would be a matched to the dates in the multi-key. A portal would display all of these sales and allow you to perform necessary mathematical operations on each record. The Way Things are UnderneathFileMaker date values are stored in a fashion differently than we are used to in our every day lives. For example, the date "12/12/2003" is stored as the number "731561". Why? Because computers use memory to store information, and memory used to be VERY limited and VERY expensive. The goal was to use as little memory to do as much as possible. As a result, the creative FileMaker developers discovered a more efficient way to store dates in FileMaker than in the format "12/12/2003". What does "731561" mean to you? It means that FileMaker starts counting incrementally on a specific date. FileMaker begins counting days on and adds one day for each 24 hour period. Once you understand how FileMaker uses dates, creating a relationship using the Ranges plug-in becomes a snap. But the plug-in doesn't stop with the native FileMaker method of handling dates, it provides options for formatting the date into US (MMDDYYYY) or European (DDMMYYYY) formats and provides the options of using a slash, dash or dot for the separator. This allows for a large number of possibilities when making your relationships. Luckily, the plug-in syntax is quite easy. There is one primary function - the CreateRange function: External("Rang-CreateRange", parameter) Example usage of this plug-in in a calculated field is as follows: External("Rang-CreateRange", Understanding Multiple Variables Within the ParameterWhat does "Rang" mean? In FileMaker Pro, each plug-in is assigned a 4-digit identifier. In the case of the Ranges plug-in, this is "Rang". Add to that the function and you specify a parameter. This parameter may be derived from fixed code inputted into a calculation, or reference fields found in a record (whether related or not). Below is an example range calculation that accounts for all of the possibilities offered by the plug-in. Fields are referenced for maximum flexibility. You will find this calculation in the examples of the Ranges plug-in archive. Typically, the way multiple values or variables are stored in one parameter is to use a delimiter that the developer can catch. Most plug-ins use the pipe "|" character. In the case of the above function, there are options (also called switches) which are prefaced with a dash. The resulting external function is as follows: External("Rang-CreateRange", "-option -option -option -option | Var1 | Var2 | Var3 | Var4 | Var5") To translate we have: External("Rang-CreateRange", "-Padding -Switches -Format -Separator | Prefix | Start | Increment | End | Postfix") Each option may have more than one possibility. See the technique files provided for useful examples of the Ranges plug-in. I am sure that you will find the Ranges plug-in a useful tool, provided by a powerful plug-in. Asking for MoreI encourage you to open the Ranges plug-in archive and see if the files provided would give your database files that extra boost that makes your users say "wow" and start asking for more features that make working with their data easier and more powerful. The Ranges plug-in is sold by ISO Productions and retails for $169.00. The purchase of a plug-in gives you the ISO One Price License. This is an unlimited distribution license that permits complete distribution with your network solutions and/or commercial software! To order a copy you can visit http://www.fmplugins.com/. If you find yourself saying, "I wish it did this and this", please send us an email and we'll see what we can do. Happy FileMaking! Matt Petrowsky is co-author of the popular Scriptology "FileMaker Pro Demystified" book and CD ROM and has recently released the Scriptology Developer's Toolkit, a large collection of video instruction files with supporting FileMaker solution files for use in the development process. Check it out at <http://www.scriptology.com>. As the founder of ISO Productions, Matt has contributed largely to the FileMaker Pro professional development market.
|
||
|
|
|