June 16, 200421 yr The attached file demonstrates simple integration of unix shell scripting with FileMaker. It takes a list of values, sorts them, finds the unique values, and counts the occurrences of each unique value, and presents the top 5 to you. By itself this is a minor trick but it has interesting implications for reporting and other applications. It requires a Mac running OSX. When you try it, try using PartNumber as the selected field for your query. Note that the file will also summarize values from a second file if you have any other database open. The applescript looks like this: choose from list (get name of every field) set whichfield to item 1 of result set theData to field whichfield of document 1 set AppleScript's text item delimiters to ASCII character 10 Set shellStuff to " | sort | uniq -c | sort -rn | head -5" do shell script "echo " & quoted form of (theData as text) & shellstuff display dialog result SaleData.zip
June 20, 200421 yr Author This is a very powerful, fast, versatile technique that can substantially simplify report generation. Get summary data almost instantly from ANY open database without writing scripts or layouts in the target database.
August 22, 200421 yr VERY slick! I learned some neat Applescript tricks here. Know any other Filemaker > BSD > Filemaker tricks? :-)
August 22, 200421 yr Author Yup. How about exporting your data to a specified file name? Go To Layout [someLayout] Copy All records Perform applescript copy cell "gFileName" to fileName -- assumes you have pre-populated it -- with your desired flle name -- don't put this field on the layout -- you are copying records from Do shell script "pbpaste > ~/desktop/" & fileName & ".txt"
August 23, 200421 yr Sweet! I notice that it makes use of certain special ASCII characters in some cases - translating LF/CR to VT (x0b) and using GS (x1d) for some purpose I haven't figured out yet (repeating field separator?) As long as those things aren't lost completely in the process, though, I'm happy. :-) Very nice. Thanks!
Create an account or sign in to comment