Easy to Switch to Arbutus

  1. Easy User Transition – Arbutus Analyzer is almost fully compatible with the ACL command language, and operates in a similar manner. The familiar interface, commands, and syntax virtually eliminates the risks and inefficiencies of switching to a different software vendor. Essentially all your investment in ACL infrastructure can be reused with Arbutus.
  2. The Cost – Special “Switch to Arbutus Pricing” that could require little or no new budget money
  3. Perpetual Use – Arbutus offers both perpetual use and subscription licensing, so you can choose what’s best for you. Many organizations prefer the benefits of owning, not subscribing to, their software licenses, whereas license ownership (perpetual use) is a better option for other companies.
  4. Concurrent Licensing – You can keep your concurrent (network version) licensing. Many audit groups find the flexibility of concurrent licensing to be the best fit for their usage needs.
  5. ACL Project Converter – Arbutus comes with a built-in ACL project converter. All your investment in ACL table definitions and scripts is preserved and carries forward into your use of Arbutus.
  6. Support that Understands You – Our world class support team ensures that your transition will be easy. All of our technical support staff are very familiar with both ACL and Arbutus.
  7. Centralized Analytics Done Right – If you like centralized analytics but struggle with the usability, maintenance, and cost challenges associated with ACL Audit/Analytics Exchange, then Arbutus Enterprise Edition will make your life simpler and your centralized analytics more effective.
  8. All About Analytics – Arbutus believes that audit analytics is a foundational subject matter expertise that is critical for the success of an organization’s audit plan. Arbutus focuses on what we do best and then believes in working well with other best-of-breed audit technology, such as audit management systems and data visualization.
  9. Proven Technology and Development Team – The greatest strength of Arbutus is our proven technology and the experienced, talented team that continues to respond to the needs of the audit community. Arbutus is committed to providing the very best in both desktop and server-based analytics.
  10. Growing, Progressive User Community – Arbutus is for organizations that want a analytics partner who will listen to them, support them, and innovate for them. Join Arbutus’ growing community of progressive audit departments, both small and large, who continue to embrace and pioneer the use of analytics.

Why Switch to Audit Analytics?

Superior Technology

Arbutus Audit Analytics represents the very best in data analysis technology for audit, risk, and compliance professionals. Switching to Arbutus will allow you to deploy new types of audit tests and extend and refine current analysis capabilities.

The benefits? Improved personal and team productivity, and greater confidence in your findings.

Compatible With Existing Audit Software Tools

The normal costs and inefficiencies associated with a software transition are greatly reduced with Arbutus. Projects from other audit applications can be automatically converted to Arbutus projects, meaning your investment in customized tests and data definitions are preserved.

Familiar Interface & Command Language

For many auditors who are already using audit analytics technology, the user interface and command language will be very familiar. Most users can immediately start using Arbutus auditor software. This means your existing investments in staff training and experience will help, not hinder, your transition to Arbutus.

Proven Technology

The core technology on which Arbutus is based has been used for over 20 years by hundreds of Fortune 1,000 companies and public sector agencies all over the world. Our development team has been a leader in data analysis software innovation for over 25 years.

Simplicity: One Tool For All Your Analytics Needs

Unlike our competitors, Arbutus audit software ships out of the box with everything you need. There is no requirement to upgrade to other expensive and complex offerings. For audit teams, all versions of Analyzer support collaborative project sharing. For continuous monitoring, the Enterprise Edition allows scheduled execution with a simple right-click, while also providing a seamless interface between your desktop and centralized analysis platform.


As benchmark results show, Arbutus software for auditors can be dramatically faster than the competition. While a typical command is 20% faster, some very common operations like importing, exporting, time and date, and fuzzy comparison range from two to hundreds of times faster. Faster performance gives you more time to produce more and better quality results. See the time benchmarks at www.arbutussoftware.com/performance-results

Experienced Support

Our technical support staff averages over 10 years of experience in the use of data analytics tools.

Active Development

All our core applications are actively developed and enhanced. This means you will benefit from timely fixes, upgrades, and full new releases. Arbutus’ core development philosophy is to listen to our users and continually improve their ability to meet the challenging and evolving demands of their clients in two ways:

  • A dashboard that provides the best interface between an analyst team’s objectives and the challenging data environment in which they operate
  • A development cycle that releases one or two new versions each year with useful, meaningful enhancements

See the Arbutus development history at www.arbutussoftware.com/whats-new


We understand that the size, scope, and budget of your department may vary over time. With both the Team Edition and the Enterprise Edition, Arbutus auditor software is priced and licensed to allow an audit or data analysis department to realize the maximum value from their investment, while offering the utmost flexibility as their needs evolve. When switching from other audit software, associated costs like training are minimized because of Arbutus’ built-in compatibility.

Flexible Licensing

Arbutus offers both perpetual use and subscription-based licensing to give organizations flexibility to accommodate various budgets, needs, and circumstances.

Unique Features of Arbutus Audit Software

Here is what we mean by Better Results with Better Technology:

Commands and Tables

  • Integrated Project sharing supports collaboration within an office or around the world
  • Compare two files directly, either keyed or unkeyed. This may be the same file at two points in time, or a before and after ETL comparison
  • Long meaningful names: table, procedure, and field names can be up to 127 characters long
  • Re-use print image table definitions with new data
  • “Hide” tables, procedures, and fields when the user shouldn’t select them

Procedure/Script Features

  • Integrated scheduling enables continuous monitoring (see screenshots at right)
  • Step Mode allows easy debugging
  • Breakpoints allow you to automatically enter step mode anywhere in the process
  • Callable sub-procedures allow more modular design
  • “Lock” procedures so they can’t be changed or viewed
  • User Dialogs support numeric, date, and filename data, with browse/selection buttons

View Features

  • “Smart Search” is like Google for your data, quickly identifying key records
  • “Triggers” allow you to colorize individual cells that meet exception or business rule criteria
  • Thin filter optimization ensures responsive performance with any filter

Fuzzy Matching

  • Unparalleled performance that is ten to hundreds of times faster
  • Damerau-Levenshtein comparison reduces false positives (treats data transposition as a single difference)
  • Duplicates Same-Same-Near allows you to match a mixture of same and near fields (e.g., same vendor, same date, same amount, similar invoice number)
  • Data Normalization makes values as different as “#200 – 1234 Main Street West” and “1234 W MAIN ST, Suite 200” match exactly, without even requiring fuzzy matching, with a simple function call


  • Read delimited data directly. No time wasted converting and no doubling up of the data file size
  • Read spreadsheets and ODBC tables directly, without flattening
  • Export to multiple tabs in Excel spreadsheets
  • Export directly to data marts/warehouses, via ODBC
  • Import as many ODBC tables as you like in a single operation
  • Combine multiple ODBC tables during import
  • Edit your ODBC Import syntax to any valid SQL select command

For a complete list of unique features, visit: www.arbutussoftware.com/10-reasons-to-like-arbutus

The Arbutus Advantage

Arbutus is committed to providing the very best in audit-specific analytics. We do this by creating and enhancing audit analysis capabilities to meet the needs of auditors and data analysts. If you are currently using another audit analytics technology, here are some new or enhanced capabilities you will only find in Arbutus auditor software.

Shared Folders

Arbutus allows any objects to be shared, whether they are tables, procedures, views, or any other object types. Shared folders also allow any number of projects or users to share the same object definition. This dramatically reduces administration costs associated with deployment across groups of users.

Smart Search

Arbutus Smart Search can best be described as “Google for your data”. It allows you to easily search for any term or terms in your data, automatically creating an appropriate filter for your query. You can search the entire record, or select specific fields that are of interest. Plus, any type of field can be searched, so you can look for patterns in dates and numbers as well.

Arbutus Smart Search: Google a field or full record using Smart Search. Search on one or multiple terms.

Arbutus Smart Search

Enhanced View Capabilities, Including Triggers

Arbutus Views include powerful new capabilities that allow you to get the most information from your data including:

  • View triggers that allow you to highlight individual cells in your data
  • Quick filter Near allows you to instantly identify all records that are similar to a selected item
  • Thin filter optimization dramatically improves the performance when viewing data using filters that exclude most records
  • Related and computed fields can now be distinctly identified in the View. The colors are customizable, and allow for easy identification of non-physical fields

Sophisticated Duplicate Testing

Arbutus allows you to identify the widest range of duplicates. In addition to “All the Same”, Arbutus offers “Same-Same-Different”, “Same-Same-Near” and “Same-Same-Similar”.

Compare Tables

With Arbutus auditor software, you can compare any two tables for differences. With just a few clicks, you can find out what has been added, deleted, or changed. Importantly, the Compare command does not require that the data be sorted, so it can be used to compare any data files, regardless of format.

Powerful Data Export Capabilities

Arbutus offers the widest range of data export capabilities. For example, you can:

  • Export directly to any database via ODBC
  • Export to multiple tabs in Excel spreadsheets

Fuzzy Matching

Arbutus features a wide range of fuzzy matching capabilities utilizing the powerful Damerau-Levenshtein algorithm. This can be used within the same file or file-to-file testing in areas such as audit tests (e.g., test for similar vendor and employee addresses), data harmonization or de-duplication, cost recovery, security matches between systems, and data quality testing.

Multiple Tables Open At The Same Time

Arbutus audit software allows any number of tables to be open at the same time. Each open table is shown in a separate tab, and you just click on any tab to switch tables. You have the option of:

  • Closing the currently open table when you open a new one, every time
  • Leaving the currently open table open and adding another table, every time
  • Selectively choosing between closing the current table or opening another table

Enhanced Procedure/Scripting Capabilities

  • Colorized Procedure Editor not only highlights syntax problems, but easily allows you to understand the commands
  • Procedure “step mode” allows you to execute your procedure one command at a time, inspecting or correcting the environment as you go
  • Procedure “Breakpoints” allow you to enter step mode at any time during the procedure, so you can skip over the portions that are operating correctly
  • “Save and Run” allows you to easily make changes, then see their effect
  • The ability to “lock” procedures so they can’t be viewed or edited, which ensures your procedures are safe
  • Enhanced Dialog boxes allow broad user input. Specialized controls allow file selection dialogs, as well as numeric-only and date-only fields
  • Identifying matching parentheses within colorized procedure editor ensures your formulas are built correctly

DateTime Fields

Arbutus DateTime fields may include date, time, or both. They are supported in any format, so you can compare and manipulate DateTimes in multiple and different formats.

Read Delimited Data Directly

Any delimited file, of any size, can be read directly without data conversion, meaning no waiting when reading larger delimited files. As well, delimited table definitions can be dynamically adjusted to support new data. If your data changes, it is easy to adjust the definition.

Integrate Excel With Your Automated Tests

Use Excel to launch Arbutus procedures using LegacyLink™. Just click on a spreadsheet to initiate an automated analysis, and the results easily load into your sheet.

Fastest Results

No data analysis software produces faster results than Arbutus. It has repeatedly been proven to be significantly faster than any other auditor software.

Long, Meaningful Names

The names of tables, fields, procedures, and more can be up to 127 characters in length. This not only allows users to utilize meaningful names throughout their interaction with Arbutus, but also ensures maximum compatibility with other products that support long names.

Re-use Printed Report Definitions

For multiple reports with the same structure, Arbutus allows the first report definition that was created to be easily re-used and modified, minimizing the effort needed when defining similar data.

Project Converter

Switching from other audit analysis software is quick and easy. Projects from your existing audit software are automatically converted into Arbutus projects with just a few mouse clicks.

This is just the start. There are hundreds of new or enhanced capabilities in Arbutus Audit Analytics. If you are interested in learning more about the advantages of Arbutus audit software, contact us to request a free software evaluation.

100+ Reasons to Like Arbutus – Sorted by Topic

Arbutus Audit Analytics offers a broad range of capabilities unmatched by the alternatives. The list below is an example of company president Grant Brodie’s focus on making Arbutus the leading innovator in audit analytics capabilities and usability. To make it even easier to try these unique and powerful capabilities, Arbutus Audit Analytics is fully compatible with your existing audit tools. As our tagline says: Better Results with Better Technology. To see these capabilities in action, contact Arbutus for a live web demo. Ready for a change? Read on to see why the switch should be to Arbutus.

  1. Continuous Monitoring
  2. Project item sharing
  3. Functions
  4. Fields and Variables
  5. Commands
  6. Wizard / Import
  7. Export
  8. Tables
  9. Procedures (Scripts)
  10. User Interface
  11. View
  12. SQL & ODBC
  13. Servers
  14. General

See: Benchmark Results: Arbutus vs. the Competition



Continuous monitoring is built right into Arbutus Audit Analytics Enterprise Edition, so there is no separate product to buy or learn. Continuous monitoring is supported by integrated procedure scheduling, offering the following features:

  • Procedures are written in the same language, so no customization is required
  • Full command language is supported, including user dialog boxes
  • Right-click to schedule
  • Result tables and logs integrated into the Overview
  • Result logs signal success, failure, or warning
  • Result logs display the date and time run, and can optionally indicate a result count
  • Schedule:
    • Controls monitoring
    • ETL
    • Analyses
  • Wide range of frequency, from once-a-minute to monthly
  • A Monitoring/Scheduling Admin tool, which, when used with the Arbutus Enterprise Edition, supports viewing and managing all scheduled procedures for individuals, teams, and departments

Learn more


Shared folders allow multiple users to share a common set of definitions. You can share tables, procedures (scripts), workspaces, or any other objects.

Shared folders:

  • Minimize the cost of deployment within an organization
  • Maximize the value from re-use of audit processes
  • Help ensure that the most current table definitions and procedures are used
  • Automatically display any procedures in the applications menu, eliminating the use of manual .MNU files

You can also define multiple shared folders, so that items with different access rights can be grouped appropriately. Three types of shared folders are supported:

  • Personal Shares contain items that would automatically appear in every project an individual uses
  • Team Shares contain items that can be shared within a work group at a single location
  • Enterprise Shares contain items that can be shared on a worldwide basis within an organization



Arbutus Analyzer includes many new or enhanced functions.


Fuzzy Matching

  • Normalize automatically removes most common differences when comparing names or addresses, so that: “#200, 1234 Main Street” and “200-1234 MAIN ST.” both become (“200 1234 MAIN ST”). This means that many address comparisons can be exact, not even relying on fuzzy matching.
  • SortNormalize takes Normalize one step further, arranging the words. So strings as different as “#200 – 1234 Main Street West” and “1234 W MAIN ST, Suite 200” match exactly.
  • Compact removes extra blanks in the middle of a field, improving the comparability of user-entered data. Compact(“the quick fox”) = “the quick fox”
  • Arrange eliminates differences due to transpositions, by sorting the characters in a field, so both “604 473-7872” and “604 437-7872″ become “8777644320- “. Arrange also supports whole word sorting, by specifying an optional word separator.
  • Difference calculates the Damerau-Levenshtein difference for string comparisons. This is significantly better than straight Levenshtein, as it treats character transpositions (i.e., 123456 vs. 124356) as just a single difference, not 2, significantly reducing false positives.
  • Near identifies ‘close’ items for any type of data. This uses Damerau-Levenshtein for character fields, but can also be used to identify close dates and amounts. For example, near(“Smith”, “Smithe”, 1) = T
  • Similar is a different kind of fuzzy test that still uses Damerau-Levenshtein. For character data, it will also look for similar looking characters, like 0 & O or I & 1. For numbers and dates, it compares the digits themselves, rather than the values, looking for closeness. For example, Similar(“O-12345”, “021345”, 1) = T


  • Format takes a character field (like a zip or postal code, phone number, or accounting code) and returns the alphanumeric format, using X’s and 9’s, in order to easily identify items with unusual formatting. This is particularly useful for data quality testing. You can Classify on format(fieldname) to get a summary of every variation present in the table.For example: Format(“R22-77P”) = “X99-99X” Learn more
  • Left and Right return the left-most or right-most characters from a string.
  • SmartSearch is like Google for your data. It will search the data in the current view and find any records that contain all of the searched-for words. Learn more


  • Cmon will return the month portion of a Date as a character month, like “Dec” Learn more
  • Ntod takes a year, month, and day as numbers and converts them into a date Learn more
  • Ntot takes an hour, minute, and second as numbers and converts them into a time Learn more
  • Eomonth returns the end of the specified month Learn more
  • Year returns the year portion of a DateTime as a number, like 2012
  • Month returns the month portion of a DateTime as a number, like 12
  • Day returns the day portion of a DateTime as a number, like 31
  • Hour returns the hour portion of a DateTime as a number, like 23
  • Minute returns the minute portion of a DateTime as a number, like 59
  • Second returns the second portion of a DateTime as a number, like 42
  • GoMonth() function calculates the date, in months, from the specified date
  • Today() function returns today’s date, which is particularly useful for real-time applications
  • Now() function returns the date and time right now; also useful for real-time applications


  • ListFind is a powerful function that searches using “or” logic. Particularly useful for FCPA and purchase card audits, it takes a list of words of any length and returns true if any of them are found in the record or field(s). The list is stored in a simple text file to simplify maintenance. Listfind(“Exception.txt”) will identify any records that contain any of the words in the file. Learn more
  • Find has been enhanced significantly, to support “and” type searches. See Enhanced Functions, below.
  • Average takes any number of parameters or arrays and returns the average value. For example, Average(1.5, 7, 14.666, 88) = 27.792 and Average(expenses) = 211.54
  • Total takes any number of parameters or arrays and returns the total value. For example, Total(1.5, 7, 14.666, 88) = 111.166 and Total(expenses) = 74, 250.16
  • Filedate returns the last changed date and time for the specified file. This is particularly useful for ensuring that refreshable data is current. Learn more


  • Recoffset has been optimized to be dramatically faster with large files. Recoffset is now roughly the same speed as other complex functions. This can result in speeds that are tens. Hundreds or even thousands of times faster.
  • Replace supports any number of replacements in a single call, by allowing additional pairs of values, as in: Replace(“12-34/56#78”, “-“, “ “, “/”, “ “, “@”, “*”) = “12 34 56*78” Learn more
  • Include, Exclude, and Remove support character ranges, with ~. For example, Include(“abc1/def !g”, a~z”) = “abcdefg” Learn more
  • Trim, Ltrim and Alltrim allow additional characters other than blanks to be trimmed.
    For example: Ltrim(” 00010200″, “0”) = “10200”
  • Split can reference segments from the left or right sides. If the segment is specified as a negative number, then it is the segment counting from the right, as in: Split(“John Robert Smith”, “ ”, -1) = “Smith ” Learn more
  • At and Substring may be applied to an entire record, without first creating a special field, by simply specifying RECORD for the source parameter, like: At(1, “tax”, Record), Substring(Record, 10,15) Learn more
  • String formats elapsed times as hh:mm:ss, as in: String(time2-time1, 8) = “07:14:22”
  • Value can optionally specify the decimal character used. This is very useful in international environments, like: Value(“123,45”, 2, “,”) = 123.45
  • Ftype can optionally limit types searched. If the name is found, but is a different type, it is ignored: Ftype(“Balance”, “CNLD”) = “N” and would ignore a table named “Balance”. Learn more
  • Find searches multiple values using “and” logic. Each of the terms is separated by a blank, and Find will only return true if ALL of the words are found, in any order, so that: Find(“Chicago lawyer criminal”) will only select records for Chicago criminal lawyers.
  • Find searches multiple fields. Any number of search fields may be specified. If no fields are specified, then the entire record is searched. For example, Find(“peachtree”, addr1, addr2, addr3, addr4) will return true if “peachtree” is found in any of the four address fields.
  • Find searches any type of field. If you specify a non-character field, then it is automatically converted to character before searching. Find(“123”, amount, net) will return true if the consecutive digits 123 are found either in the amount or net numeric fields.
  • Date supports an optional second parameter that specifies the output format, so that: Date(Christmas, “mmm dd, yyyy”) = “Dec 25, 2013” Learn more
  • Maximum will take any number of parameters, or any number of arrays. For example, Max(1,77.4,18.29, 93,-11.2) = 77.40 and Max(expenses) = 415.85
  • Minimum will take any number of parameters, or any number of arrays. For example, Min(1,77.4,18.29, 93,-11.2) = -11.20 and Min(expenses) = 1.15
  • Match supports variable arrays. Where you are matching to a long list, instead of specifying them individually in the function, you can use a variable array to simplify the logic. If ‘list’ is a list of 100 items to be matched, then Match(code, list) is the same as Match(code, 10112, 10744, 22445, …)



  • Fields and variables can have long, meaningful names. The maximum length of a name is 127 characters. Learn more
  • You may delete fields, even if referred to in computed fields. This gives you an opportunity to replace the field with a different definition, even though it is referenced. Learn more
  • When deleting fields, inactive Views and Indexes are also searched for references, ensuring that you are aware of the implications before proceeding.
  • Any field may be “Hidden”. Hidden fields are still available through Edit Table Layout, but do not appear in the remainder of the user interface. This is particularly useful for hiding intermediate calculation fields. Learn more
  • The decimal place character for PRINT/NUMERIC fields may be specified individually by field.
  • You may copy and paste fields between different tables. This eliminates the need to use workspaces as an intermediary. You may then edit the duplicated field to your requirements in Edit Table Layout. Learn more
  • Field arrays are supported for repeating data. Once you define the first instance of a field array, any members of the field array may be referenced using standard array syntax. For instance, the reference amount[13] refers to the 13th item in the array of amount fields. Arrays may be a repeating single field or repeating block of fields. Learn more
  • Workspace fields will auto-load, without requiring activation first. The syntax workspace.field is all that is necessary, and can be used anywhere an expression is allowed. For example, a computed field might be utility.tax_rate*amount. This will automatically activate the ‘utility’ workspace before using tax_rate. This will happen automatically, whenever referenced. Auto-loading workspace fields can be used in computed fields and View columns. Learn more
  • Workspace fields don’t save in the format, so there is no worry that field might be duplicated during subsequent processing.
  • Variable arrays allow you to store as many values as you want in a single variable. Tens, thousands, even millions of values can be stored in a single variable array. Array entries are accessed using the standard array syntax of square brackets, so list[7] is the 7th item in the list and amount[1000] is the 1000th amount. You may assign amounts to arrays, so list[14]=”taxable” would assign that value to the 14th array location. You can also assign an entire column of data from a table to a variable array using the Save Field command (see below). This can be used to initialize dialog boxes or eliminate the slow Recoffset function. Variable arrays are also useful in any situation where a large set of information needs to be accumulated, maintained or used. Variable arrays support advanced processing in so many more ways than can be described here. Learn more
  • In Edit Table Layout, you may apply conditional tests to multiple fields. This allows you to choose all the fields of a given record type and add or update the condition in one step. Learn more
  • Negative decimals are supported for fields. In the same way that a field containing 123 might be specified as having 2 decimals (implying 1.23), it can have negative decimals such as -3 (implying 123,000). This eliminates the need for a computed field to determine the value. Learn more
  • Unsigned binary data of even lengths is supported, so a 2-byte binary field can have values of 0 to 65535, rather than just -32768 to 32767. Learn more

5. Commands


  • Compare tables: Analyzer includes the ability to compare a primary and secondary table, and report all differences. The command reports records added and deleted, and the before and after for records changed. In addition, Compare supports both keyed and un-keyed comparison of any number of fields. Situations where this command is most applicable include:
    • Where the tables represent the same source at two different points in time, you can use Compare to identify changes between the two points in time.
    • Where the tables represent the source and target in an ETL process, you can use Compare to ensure correct ETL transformations were implemented. Arbutus’ compatibility with virtually any data source means that in most situations, both the source and target tables can be directly accessed (and compared). Learn more
  • Execute DOS commands: The Run command is essentially the same as the competition’s recently added Execute command, but Analyzer has had this capability for ten years now. You may execute any DOS command line, referring to a batch, executable command or internal command, and passing in any appropriate values. Learn more
  • Exit procedures: The Return command is similar to the competition’s Escape command, but has one important distinction: it can return a value. (See below, under Procedures)
  • Duplicates Same-Same-Near, Same-Same-Similar, and Same-Same-Different options: While technically not a new command, these options compare to the competition’s FUZZYDUP command. Not only does Analyzer’s Duplicates command consolidate all duplicates testing within a single command, it offers a dramatic enhancement in capabilities over FUZZYDUP, including:
    • Supports both same and near keys. Test for same vendor, same date, same amount, and similar invoice number, with just a few clicks.
    • Automatic Damerau-Levenshtein comparison dramatically reduces false positives. This is like Levenshtein, except transpositions count as a single difference, instead of two, allowing tighter specifications.
    • Astounding speed: You can easily process millions of records in just seconds, making it suitable for Duplicate payments testing. For example, identifying same vendor, same date, same amount, near invoice number on a million record file takes just six seconds! (See latest performance benchmark results)
    • Combined with the Normalize and SortNormalize functions, name and address comparisons are much more precise.
    • Side-by-side presentation of the results supports easy filtering of duplicates and also supports Same-Near-Near type analyses. Learn more
  • ALL LIKE and ALL EXCEPT: Commands that use the ALL parameter now include EXCEPT and LIKE to enable wildcard exceptions or matching. For example: Extract ALL LIKE “budget*” will extract just the fields beginning with the text starting with ‘budget’, while DELETE ALL LIKE “V_*” can be used to delete all temporary variables. Similarly, DELETE ALL EXCEPT “_*” can be used to delete all variables except permanent variables.
  • DISPLAY SOURCE displays the default database that was established if the user issued the SET SOURCE command


  • Extract allows integrated presorting on any field list. Extract also allows server-to-local, local-to-server, or server-to-server data movement, supporting any data movement/ETL requirements. Learn more
  • Extract View allows the contents of the current View to be directly selected.
  • Export allows integrated presorting on any field list. (See more Export enhancements below)
  • The Export command has been enhanced in three significant ways:
    • You can now use the Append option when exporting via ODBC to relational tables
    • When exporting columns containing UNICODE data (UTF 16 only) to Excel, Access, or via ODBC, the data will be exported as Unicode and not converted to ASCII
    • You can now export fields longer than 255 to Excel (the maximum field length is now set to 32,760 bytes)
  • Summarize allows presorting on any additional fields, allowing you to control the first record in each group. This ensures that “Other” fields take on the value you require, such as the earliest date or largest amount.
  • Sort and Index utilize proprietary enhancements to offer significant performance gains over the competition. Learn more
  • Join command dialog has a substantially improved user interface that removes much of the complexity.
  • Join command dialog includes “Venn Diagram” mode selection, for ease-of-use. Learn more
  • Join SQL allows you to perform a full SQL join, matching every record in the primary file with every record in the secondary file.
  • Verify produces proper tabular output, with drill-down to any errors. Learn more
  • Verify has the optional ability to ignore empty fields.
  • Verify tests delimited files for over-length data exceeding the table definition.
  • Stratify will “Auto-Profile” to determine Maximum and Minimum values, if required. Learn more
  • Stratify automatically implements “Range Rounding” when analyzing even intervals. Rather than merely dividing the minimum-to-maximum range evenly, Stratify automatically selects range boundaries that end on round values, and ensures that one end point is zero if there are positive and negative values. Learn more
  • Classify produces much faster results than competitive products. Learn more
  • Classify and Age allow you to pre-sort the data when the results are being grouped (Break field).
  • CrossTabulate tabular output allows drill-down into individual cells, rather than whole rows or columns. Learn more
  • Duplicates presents enhanced tabular results. When shown in the log, duplicates tabular output has a clean summarized look, one entry per duplicate set. You can still drill down to see the details. Learn more
  • Notify fail-over allows you to automatically address email server outages. If the primary email server fails to send your message then you can automatically fail-over to a second (or even third) backup server to send the message. This makes Notify much more robust in continuous monitoring environments, by being able to react to IT issues beyond your control, ensuring that your notifications are sent.
  • Save Field allows an entire column from a table to be loaded into a variable array. The elements of this array can be accessed individually or as a set. This is a great way to automatically load drop-downs in dialog commands. It also offers an almost instantaneous alternative to the relatively slow Recoffset function.
  • Set Temp “prefix”. You can specify a file prefix that will be automatically deleted when you close the project. This is normally set globally in Tools>Options. If your prefix is “temp”, then any tables, workspaces, procedures, or indexes that have names starting with “temp” will be automatically deleted. This removes the need to manually clean up temporary files. See screenshot
  • Delete Temp will delete all your temp files, at any time, as specified with Set Temp.
  • Noformat command keyword: All data file output commands include the optional Noformat output parameter, allowing you to create data without creating an associated table layout, particularly useful when refreshing data that has a complex format, but also useful in some ETL situations.
  • Display Primary To filename exports the table structure to a separate table, so you can control procedures based on the table definitions. Learn more
  • The Export command has been enhanced in three significant ways:
    • You can now use the Append option when exporting via ODBC to relational tables
    • When exporting columns containing UNICODE data (UTF 16 only) to Excel, Access, or via ODBC, the data will be exported as Unicode and not converted to ASCII
    • You can now export fields longer than 255 to Excel (the maximum field length is now set to 32,760 bytes)
  • Fastest results. Arbutus provides the fastest performance of any audit tool. On average, Analyzer is over twice as fast as the competition! Many commands have been optimized to provide enhanced performance. This is particularly acute with Import, Export, and Fuzzy testing, but almost any command will run faster than the competition. Learn more
  • Set Fatal (see below, under Procedures) allows you to control what happens if an error occurs while processing.
  • Set Escape Off (see below, under Procedures) prevents a user from being able to press ESC to cancel a procedure.
  • Pause and Dialog commands allow an optional maximum wait, in seconds. If the wait time is exceeded, then they proceed as if OK was pressed. This ensures that procedures don’t hang, waiting for a user reply. Learn more
  • Multiple tables open supported in Procedures. OPEN tablename TABLE n allows any number of primary tables to open at one time in a procedure. You can switch between them with the SET TABLE command. This allows complex multi-table processes to be implemented. Learn more



  • “Drag and Drop” Import allows you to drag a file from Windows Explorer and drop it onto Analyzer. The Wizard is automatically launched and the file analyzed. File importing is now a breeze.
  • Excel and Access:
    • All of the ODBC capabilities apply equally to Excel and Access as well (see above). For example, you can directly read spreadsheets and access tables, join multiple source tables, import multiple tables in a single step, edit SQL, etc. Learn more
    • Fast XLS and XLSX conversion. Analyzer is typically more than twice as fast as the competitor. Learn more
  • Analyzer reads delimited data directly – Any delimited data (whether delimited with comma, TAB, pipe, or otherwise) is read directly, without flattening the data first, eliminating not only the time converting the data, but also the duplication of disk space. Gigabyte files are available instantly. Learn more
  • You can re-use printed report import definitions, allowing you to define similar reports simply by selecting the existing definition. You can also update your existing report definition to add new fields later, allowing you to define only the data you need. Learn more
  • Re-link directly to new spreadsheets, XML, etc. For data imports that are flattened, if you re-link to a new data source, you point at a new source file (spreadsheet, etc.). Analyzer automatically re-imports the data from the newly selected file. Learn more
  • Super fast XML conversion – Arbutus is more than 50 times faster than the competition importing XML. Learn more
  • Simplified XML Import interface – Analyzer implements a simple check-box model, to dramatically simplify XML Imports. Learn more
  • Wizard-wide data – When defining data, the Wizard opens a separate window that is as wide as your screen. This ensures you can see the maximum amount of data as you define your import. Learn more
  • Wizard visual cues – As you manually define fields, it is sometimes difficult to see exactly how wide a field will be when you click the separator. Analyzer includes a ToolTip that constantly tells you how wide the field will be. Learn more
  • The Clear all button allows you to remove all automatically generated field breaks, useful when the file’s complexity overwhelms the automatic field detection and you want to start from scratch. It is also useful when you want to match a supplied data format.
  • Enhanced Integration with Windows Explorer: drag-and-drop any data file from Windows Explorer into Analyzer to automatically start the Wizard. Analyzer will access the file and launch the Wizard with the correct File Format selected
  • Enhanced definition capabilities: the Wizard can now better distinguish true numbers from number-coded data that should be treated as character data
  • SAP private file format is once again supported, offering yet another means of accessing SAP data



  • Export directly to any database, or data mart, via ODBC – Export ODBC allows you to select the target system and to name the output table name. Learn more
  • Export to multiple tabs in Excel spreadsheets – If the target spreadsheet already exists, then you can output to a separate tab in that same spreadsheet, without losing your other information. You can control the name of the tab and output to as many tabs as you like in the same spreadsheet. If the output tab name already exists, then the SET SAFETY rules will apply to either overwrite the tab or ask before overwriting. Learn more
  • Fast Export to XLS and XLSX – Analyzer is 2 to 4 times faster than the competition. Learn more
  • Export delimited, append – You can append new exported data to delimited files and Analyzer will automatically suppress the column headings that are normally generated automatically. There is no need to explicitly suppress the titles. Learn more
  • Arbutus LegacyLink integrates data seamlessly with any Windows tool. LegacyLink is an ODBC data source that supplies any Arbutus data as ODBC data to any Windows application. This includes any local and server data from any of our servers. This means that a user can sit in Excel and directly read mainframe VSAM data into the spreadsheet, for example. Learn more
  • Unicode Improvements: Unicode print, numeric, and date data is supported better than ever before, since exports to spreadsheets and other sources automatically use the Unicode source data



  • You can specify a temporary file prefix – Any table starting with this value will automatically be deleted when the project is closed. Learn more
  • Intelligent table deletion automatically deletes the associated data file when you delete a table that Analyzer created. You will likely never see leftover data files again, but there’s no risk of you deleting source data. Of course, you have the ability to override this default. Learn more
  • The Edit Table Layout tab allows you to scroll the entire file in Edit Table Layout, regardless of size; not just the first portion. Associated with this, you can press CTRL/G to go to a specific line number in the file. Learn more
  • You can hide tables (and other objects) in the Overview. If you have intermediate or work tables that the user is not expected to open, then you can easily hide them from view. They are still there and you can still open them from the command line; they just don’t display. Learn more
  • Tables can have long, meaningful names – The maximum length of a name is 127 characters. This is particularly valuable when importing data from other systems that support longer names.
  • Procedure support for multiple primary tables is supplied via OPEN … TABLE … and SET TABLE …
  • Unlimited relations are supported.
  • Variables DBWhere, DBCondition and DBOrder allow programmed control over the scope and sorting of dynamically opened relational data. You can dynamically define the records to be selected and the sort order independently of the original Wizard definition.
  • Record lengths longer than 32,767 are supported. 2GB is the maximum record length. Learn more
  • CRLF files do not generate an error if they are longer than the definition. The extra data is merely skipped over.
  • Adjust Delimited column widths dynamically: By directly reading delimited tables, Analyzer allows you to adjust each column’s virtual width to the maximum possible, or to better match with other data, regardless of the current data. Also, these files can have their definitions changed “after the fact” to reflect changes in the length of subsequently re-linked data. Any short data elements are automatically padded with blanks. Data is never lost, regardless of the width you choose. Use the Verify command to identify definitions that are too short. Learn more
  • You can define new physical or computed fields to augment the physical delimited data.
  • You can hide physical delimited fields that are not of interest.
  • Auto-executing procedures allow a specified procedure to be automatically run whenever the specified table is opened. This is normally used to refresh the data in the table, ensuring it is current. Auto-executing procedures are not limited to the Refresh command, so they can perform whatever steps are required. Learn more
  • PDF Converter now provides even better conversion accuracy and reliability


  • Procedures can be scheduled directly from within Analyzer, with a simple right-click when using the Enterprise Edition. Implementing Continuous Monitoring has never been easier. Learn more
  • Procedures can have long, meaningful names. The maximum length of a name is 127 characters. Learn more
  • You can hide Procedures in the Overview. If you have helper Procedures that the user is not expected to run directly, you can easily hide them from view. They are still there and you can still run them from other Procedures; they just don’t display. Learn more
  • Callable sub-procedures allow you to write truly modular scripts. Any number of sub-procedures can exist within a single procedure, so an entire complex application can be stored in a single procedure. You can, of course, still call procedures in the traditional way. Learn more
  • “Bullet-proof” your procedures:
    • Procedures can be “locked”, so they can’t be viewed or edited. This ensures they are safe from change and inspection. Learn more
    • You can disable the ESC key – The escape key will then not terminate the process. In addition, any user dialog boxes will also disable the “Cancel” button, so there is no way to break out.
    • Analyzer implements fatal error handling, via the SET FATAL command. When something goes wrong, the situation can be trapped and addressed. You have a range of options available, including taking corrective action, continuing with the next line, or continuing with the next procedure. Learn more
    • Procedures can be independent of a user’s preferences – Procedures can set whatever preferences are required for their correct operation. Any changes to preferences are automatically reset on completion, so the user’s preferences don’t change. Learn more
    • SET DEFAULT reverts all settings to “factory”, so your procedure has a known environment. You can then make adjustments from there (SET SAFETY, etc.). Of course, any such changes are automatically reversed on completion, so the user’s settings are not affected.
  • Enhanced procedure debugging
    • Step mode allows you to execute your procedure one command at a time, inspecting or correcting the environment as you go. Learn more
    • Breakpoints allow you to stop (and enter step mode) at any line or lines in the procedure. You can skip over the portions that are operating correctly. Learn more
    • Save and Run lets you make changes and directly re-run the new procedure. Learn more
    • When there is a procedure error, Analyzer automatically reports every procedure name, as well as the line number it was on at the time of the error. This greatly simplifies locating problems. Learn more
  • Procedure Editor Features
    • Colorize matching parentheses, to ensure that your formulas are built correctly.
    • Colorize syntax problems, such as ambiguous abbreviations.
    • Colorize commands, keywords, functions, numbers, strings, comments, and macros.
    • Command keywords are colorized on a command-by-command basis, so only valid keywords for this command are identified. This helps you easily understand the commands, and also identify syntax errors quickly. Learn more about Colorized features
    • Automatic line numbering. Learn more
    • Automatic line wrapping, with indent of wrapped lines. Learn more
    • All colors are user configurable, to your own preferences. Learn more
    • Selectable initial font size.
    • Selectable TAB size.
    • Selectable wrap indent. Learn more about Selectable features
  • Enhanced Dialog command allows broad user input. Specialized controls allow file selection dialogs (with integrated browse button), as well as numeric-only and date-only fields (with integrated date picker). In addition, dialogs can optionally “time-out”, allowing the procedure to continue with the defaults if you have stepped away. Learn more
  • Auto-executing procedures run automatically whenever the given table is opened. This is normally used to refresh the data in the table, ensuring it is current. Since auto-executing procedures are not limited to the Refresh command, you can perform whatever steps are required. Learn more
  • Use the RUN command to launch DOS commands and batches from procedures. Learn more
  • Arbutus Procedures are cross-platform compatible: no changes to run local Procedures on servers or for scheduled applications. Learn more
  • The optional Return command allows procedures or sub-procedures to return early, and also to return values to the calling procedure. Return ALL will cause the procedure execution to finish. Learn more
  • Enhanced Protect Program: no longer a separate application, the Protect program can now be used from within Analyzer to prevent unwanted viewing and/or edits of your procedures
  • New Protect dialog in the Tools menu enables individual procedures to be protected using a specified key so they can be run, but not viewed or edited. This is useful for those building applications for other users or clients to ensure that the work is protected and cannot be unintentionally or erroneously modified Learn more
  • Procedure Editing Options: The Procedure Editor now features unlimited undo options for easier corrections of typos or deletions. Use Edit/Undo from the main menu, or use CTRL-Z. Unlimited undo actions can be undertaken sequentially in reverse step mode from the last (most recent) edit to the first edit



  • Auto-convert competitor’s projects – Analyzer is so compatible with the competitor’s projects and command language that it will automatically convert the project if you open it. All your folders, tables, views, workspaces, indexes, even scripts, will be automatically converted. Scripts may require minor modifications, but these are highlighted during conversion. This doesn’t affect the existing project, so you can continue to use it after conversion.
  • All deletions automatically go to the Recycle Bin, so you will never accidentally – and irrevocably – delete an important file again. This also applies to any files deleted using the command language in Procedures. Learn more
  • Have you ever lost hours of work because your project file was corrupted or your computer crashed? This won’t happen with Analyzer, since every object is a separate disk file. Each table definition, Workspace, etc. is a distinct file. Your risk is never larger than the one thing you are working on at the moment.
  • Command dialogs have been completely redesigned to improve usability. No more hiding functionality under separate tabs. Learn more
  • As mentioned above, any objects or fields in your project can be hidden. They are still there, but they just don’t show in the user interface. This allows you to present a “clean” user interface, eliminating all the clutter that may be present as a result of:
    • Helper scripts
    • Temporary or helper tables
    • Automatically loaded workspaces
    • Intermediate work fields used to create computed fields
    • Fields that are part of the table definition, but not presently required
    • etc. Learn more
  • MoveUp and MoveDn buttons – In command dialogs, when selecting fields, you can rearrange the selected field order, without having to re-select all the fields, using MoveUp and MoveDn. Learn more
  • “Find” right-click option – For big projects with many folders, it can sometimes be a challenge to find the item you are looking for (Table, Workspace, etc.). This is why Analyzer includes the “Find” right-click option. Any item in the Overview may be found in this way.
  • With a right-click, you can duplicate tables and any objects in the Overview. This is simpler than copy and paste, but roughly the same outcome.
  • Choose alternate logs with a right-click. Learn more
  • On the log, if you drill-down into a table that was created earlier, Analyzer automatically opens the correct table before executing the drill-down. Learn more
  • When appropriate, Intelligent Table Deletion automatically deletes the associated physical data file when you delete a table. This eliminates orphaned .FIL files on disk. Data file deletion never happens with original source files; only with tables created by Analyzer. Even then, you have the option to override. Learn more
  • The expression builder includes a Matching Quotes button, to make it easier to enter quoted strings. Just click the button and the cursor is placed between two quotes, ready for typing. Learn more
  • A dedicated menu supports the creation and maintenance of the various types of Shared Folders. Learn more
  • The Applications menu automatically displays all shared procedures, eliminating the need to work with complex .MNU files. Learn more
  • Analyzer will automatically advise you of updates. You can, of course, check manually as an option. Learn more
  • Table characteristics are automatically shown in the Overview. You can instantly recognize if a table is refreshable (like XML), read directly from an external source (like ODBC), or is enterprise data on a server. Learn more
  • DateTime and Elapsed Time
    • Arbutus DateTime fields may include date, time, or both, in any format. There are no artificial restrictions, such as a blank between the date and time. Learn more
    • Arbutus uses an explicit elapsed time format when subtracting two DateTimes (e.g., end_time-start_time=07:18:22, rather than .30442129). This not only ensures that elapsed times are clearly identified, but also presents the result in a more usable format. Learn more
    • Explicit elapsed time constants (e.g., 8 hours and 15 minutes=`e08:15`) provide maximum flexibility when specifying date and time business rules or calculations (i.e., Extract IF hours>`e08:15` …) Learn more
  • The Overview now uniquely identifies shared folders of different types (Personal, Team, or Enterprise)
  • The new optional Variables Window will display the current values of all existing variables. In addition to showing the values, the window automatically highlights any values that have changed since the last command, so you can be sure to see the changes. The Variables window appears at the bottom of the Overview window and is re-sizable; it can be opened in two ways:
    • Automatically opens when using step-mode in procedures
    • Click “Show/Hide Variables window” option in the Windows menu
  • The Variables Window is particularly useful when running procedures in Step Mode to assess the changing values of all variables at each step in the procedure. The Variable Window also allows constant monitoring of variable values. Whenever a value changes, it is highlighted, for easy identification Learn more
  • Field picker speed search allows you to quickly locate the required field, which is very useful when your table has many fields. Simply type any portion of the desired field name into the new Search text box to locate a field in a long field list


11. VIEW

  • Smart Search allows Google-like searches of your data. You can search selected fields or the entire view. Smart Search identifies every record that includes all the terms being searched for. For example, just type in “Chicago criminal lawyer” (in any order) and you will immediately see a list including only records with all three words in the View, in any order and in any position. Also, you can similarly search for partial numbers and dates, so “Lawyer 312” would identify lawyers in the 312 area code. A more practical example might have you look for suspicious words, like “invalid”, “error”, or “exempt”. Learn more
  • Have you ever wanted to create a filter, but the column title isn’t the same as the field name? With the competition, you can do this with a few copy-and-paste steps, but in the Arbutus View, Drag and Drop column headings makes it simple. Just drag the column heading up to the filter line, and the field name is automatically copied to the filter. You just add the remainder of the test and you’re done. This can also be used to modify filters already in place, like adding another field to the test. Learn more
  • View triggers allow you to interact with your data in ways you might never have imagined. You can highlight individual cells in your data, based on your own criteria or business rules. Each trigger can have its own color (either text or background) and any number of triggers may be specified, including multiple triggers on a single column. You are then visually alerted whenever the condition is met, so the exception or identification jumps out clearly. Examples include identifying balances over the credit limit (or those near the limit), or perhaps foreign customers identified by region using color. The opportunities are endless for this feature. Learn more
  • Numeric fields can have negative values identified with red text. This is very powerful in situations where negatives are uncommon or unexpected. Learn more
  • Page-up Page-down – Have you ever specified a filter, but when you page down, the data doesn’t change, or the View only shifts a few records? With Arbutus, this is a thing of the past! Page-up Page-down always provides a whole new screen of data, regardless of how thin your filter is, allowing you to navigate your data in a natural way. Learn more
  • Thin filter optimization dramatically improves the performance when viewing data using filters (that exclude most records). This results in a much smoother View behaviour. No more 10-second timeouts and jerky refreshes. This allows you to quickly identify the valuable data nuggets without worrying about performance. Learn more
  • Thin filter stop – When specifying a very thin filter, it might take some time to fill the View. Rather than rely on a fixed timeout, Analyzer allows you to press ESC at any time to stop. Your filter might have been in error, or perhaps you can already see the record of interest. If so, why wait for the rest of the View to fill?
  • Quick Filter – New Quick Filter options include:
    • Near allows you to instantly identify all records that are near the selected item. This operates on character fields using the Damerau-Levenshtein distance. On numeric fields and date fields, Near will find values close to the selected item, say within $10 or 3 days. Learn more
    • Similar provides another powerful fuzzy alternative to support your queries. For character data, this is also based on the Damerau-Levenshtein distance, but it first “cleans” the data by removing all non-letters or numbers. It also looks for letters that look similar (like I/1 or O/0) and eliminates these differences. For numbers and dates, it specifically looks for transpositions of digits, regardless of how different this might have made the value. Just right-click/Similar on 127,416,854.22 and you will instantly find the entry for 127,146,854.22, even though they are almost 300,000 apart. Learn more
  • One often repeatedly refines a filter to identify a suspect item. Once there, you often want to create a new filter based on just this item. Quick Filter “Replace” allows you to do just that. Rather than further adding to the existing filter, it replaces the existing filter with a new one, based on the data. Learn more
  • Related and computed fields in the View are now distinctly identified, by changing the color of their title. The colors are customizable, and ensure you know what your data represents. Learn more
  • The View now supports horizontal scrolling via mouse, if your mouse supports this


12. SQL & ODBC

  • SQL Command: embed SQL Select queries directly into your Arbutus procedures or scripts, and run your SQL queries from Arbutus. If you receive SQL queries as part of your audit validation process, you can now avoid the time- consuming, error-prone challenge of translating the queries, and instead just run them from Arbutus. You can now confidently request and receive SQL from any part of your organization. Learn more
  • SET SOURCE allows the user to specify the default data source to use when issuing SQL commands. The following example sets the default local data sources as being the SQL Server DSN on the machine:


SQL SELECT Orders.CustomerID, Orders.OrderID, Customers.CustomerID, Customers.CompanyName FROM Orders LEFT JOIN Customers ON Customers.CustomerID=Orders.CustomerID ORDER BY Customers.CompanyName;

  • Edit your SQL query in the Wizard before submitting. Any valid SQL select statement may be used to supply imported data, including even the most complex sub-query SELECT logic. Learn more
  • Enter totally custom SELECT commands into the wizard. In addition to allowing you to edit the SELECT command automatically generated by Arbutus, you can also enter any valid SQL SELECT statement directly. This allows the flexibility supports literally any retrieval from your databases.
  • Validate your SQL query before finalizing the import. This ensures your SQL edits are valid before completing the definition.
  • ODBC Imports offer a wide variety of capabilities that push the envelope for this type of data access. Not only are the capabilities comprehensive, but they allow dramatically improved access speed, by maximizing the selectivity of your ODBC access. Capabilities include:
    • Define ODBC data either for local or Windows Server
    • Optionally save database credentials (i.e., username and password) for each database. Passwords are encrypted for security.
    • SpeedSearch allows you to quickly identify the table(s) of interest. For example, entering “cu” will provide a short list of only table names containing “cu” anywhere in the name (“customers”, “acute care”, etc.).
    • Multi-table ODBC queries are supported, joining any number of tables in a single query. Learn more
    • Import multiple tables from a single source in one step. Any number of tables can be imported in a single operation. You can even click, shift-click, and import the entire database. Learn more
    • Specify sort order of the imported data.
    • Directly read ODBC data. In addition to the traditional flattened file, in which the source data is static at a point in time, Analyzer allows you to read the ODBC source live, when the table is opened. Choose this option at the end of the Wizard. Learn more



  • Arbutus offers servers running on three platforms: Windows, iSeries (AS400), and zSeries (IBM mainframe). All three run in native mode on their respective platforms, with no emulation, so you can access the full performance of your server hardware. Not only that, data from any platform can be moved to any other (or to your local computer), with a single command. Similarly, local data can be moved to any of these platforms as well. Learn more
  • The Windows Server is our flagship server product. It fully supports data and data types encountered on the other server platforms, including EBCDIC, PACKED, ZONED, and IBM variable length data. In addition, it offers a number of valuable capabilities, including:
    • Hosting Enterprise shared data and procedures
    • Smart Link for SAP®
    • Direct web page access, integrated into Procedures
    • Multi-table relational data access
    • Data compression, typically reducing file sizes by 90%
    • Multi-threaded operation, maximizes performance on multi-core server processors
    • Cooperative Multi-Tasking ensures that multiple concurrent servers each run with maximum performance
  • The iSeries (AS/400) Server supports all data types and file types available on the iSeries platform, including:
  • The zSeries (z/OS , MVS, OS/390) Mainframe Server supports a full range of mainframe data, including:
    • VSAM
    • QSAM
    • IMS
    • DB2, including multi-table Joins
    • ADABAS
    • FB
    • VB
    • PDS
    • GDG
    • Tape
    • Fixed and variable length record formats
    • Multiple record type data files
    • All native data types


Performance Comparison: Arbutus vs. The Competition

Processing speed is a key factor for audit groups performing data analytics on large data sets. Whether you are dealing with ‘Big Data’ or just large data, there is no reason today to be hampered by your software.

Download: Benchmark Results: Arbutus vs. The Competition (PDF) adobe.gif

We performed benchmark tests of various types of analyses to compare Arbutus desktop products to our competitor’s latest version 10 desktop. As the graph below shows, Arbutus technology is equal or faster in every category; in some cases, dramatically so. The cumulative time of all the tests using Analyzer desktop is less than half of the competition’s version 10 (46 minutes vs. 97 minutes), making Arbutus more than twice as fast.

All tests below are measured in seconds. Shorter bars are better, obviously.


Performance Comparison - Us vs. Them
All tests above are measured in seconds.
It is interesting to note that the largest differences relate to the competitor’s recently implemented features, fuzzy duplicates, and DateTime support. While we have made every effort to provide a representative range of data, results can vary widely from command to command, as is obvious from the graph. This is why Arbutus makes all its technology available for evaluation and benchmark testing on your own data.

The comparisons were made using only functionality supported by both products. For example, we specifically omitted comparing two files with the Compare command, normalizing data for the fuzzy comparisons and SQL joins. While most commands were typically 20% or more faster than the competition’s “performance improved” version 10, some aspects of the performance differences bear special mention. If you require this functionality, then the differences are very pronounced:

XML: 74 times faster
Delimited/CSV: Instantaneous
XLS/XLSX: 2 times faster

XML: 4 times faster
XLS/XLSX: 3 times faster

Fuzzy matching: 11 to 500 times faster

Use of time fields: 2 to 3 times faster

1) In Arbutus, Import CSV takes zero time, regardless of file size, as delimited data is read directly.
2) Our Duplicates command is compared to their FUZZYDUP.
3) As their FUZZYDUP command does not support ‘same’ fields, we have concatenated the three keys.About the Tests:

  • Test computer specs: Dell I7-920, 2.67GHz, Windows 64 bit, 9GB RAM, 1TB disk
  • Most reads use a 125,000,000 record, 80 bytes long transaction file (10GB data size)
  • Fuzzy duplicates tests use a 50,000 record address file
  • Exports are 5,000,000 records, except Excel, which is 650,000
  • Imports are all 650,000 records
  • We chose 125 million records because most people interested in performance have big data. For comparison, Arbutus also ran the “big data” tests (Join through Summarize) on a 5 million record file as well. Analyzer took 50 seconds in total, while the competitor’s version 10 took 89 seconds (the graph lines were too small to show individually).

Click here to see the actual commands used in Arbutus V5.5 and the competitor’s V10 desktop.

Being the fastest audit software is only part of the Arbutus Advantage. Discover more reasons to like Arbutus.

10 Reasons to Like Arbutus

Arbutus offers Controls Monitoring built right into the base product. There is no need to learn a new tool, transfer data and scripts to a separate product, or purchase additional software. All your tests and results can be stored in Enterprise Shared Folders, allowing them to be easily deployed, scheduled and managed directly from Analyzer. In addition, your scripts can run unchanged in a scheduled environment. Tests can be scheduled for a specified date and time, or for a specified interval (daily, weekly, or monthly, at a specified time).


  • Result logs (at left) are shown in the Overview and are color-flagged to indicate whether a particular run was successful (green) or failed (red). You can also programmatically specify a warning condition (yellow) as an alert.
  • In addition to the date and time run, you can specify a result (such as number of exceptions), that will show in the Overview, next to the run.

Scheduling a procedure is as easy as updating your calendar:


Watch the ArbutusAudit tutorial video, Scheduling in Arbutus Analyzer Audit Software, on YouTube:
Click to watch the tutorial video on YouTube

2. Built-in project sharing

Arbutus allows any objects to be shared, from tables to scripts, views, or any of the other object types, using Shared Folders. Shared Folders can be implemented around the office or around the world, and allow any number of projects or users to share the same object definitions. This dramatically eases the administration costs associated with deployment across groups of users. Any tables, scripts or other objects can be shared:

  • Share common tables, ensuring that all users share the same definition, as well as minimizing the difficulty of editing or adding to the set
  • Share common procedures, ensuring that these can easily be accessed by all users. This shared storage location minimizes deployment issues related to add/change/delete of procedures
  • Shared procedures automatically appear on the menus, maximizing accessibility
  • The Share menu item provides everything required for Shared Folder management
Click to watch the tutorial video on YouTube

3. Easily compare names and addresses (data normalization)

When comparing names and addresses, the most important aspect is to remove the immaterial differences. This is a process called “Normalization”. For example, one address might use “Avenue”, while another uses “Ave.” With one simple function call, you can normalize most names and addresses.

Unique Arbutus normalization capabilities include:

  • Normalize function automatically eliminates most common differences when comparing names or addresses. This allows the strings “#200 – 1234 Main Street” and “200-1234 MAIN ST.” to match exactly (“200 1234 MAIN ST”) with no fuzzy required. Normalization automatically addresses capitalization, punctuation, and more. Also, integrated substitution tables allow the elimination of unnecessary words (like “Suite” or “Mr.”) as well as whole-word substitutions of any number of common abbreviations and misspellings (i.e., Avenue, Ave., Av,. …), standardizing on a single value.
  • SortNormalize function takes Normalize one step further, arranging the normalized words in order. So strings as different as “#200 – 1234 Main Street West” and “1234 W MAIN ST, Suite 200” can match exactly
  • Compact function removes extra blanks in the middle of a field, improving the comparability of user-entered data
  • Arrange function eliminates differences due to transpositions, by sorting the characters in a field, so “604 437 7872” becomes “8777644320”

4. High performance fuzzy matching

Arbutus features more powerful fuzzy matching capabilities than any other audit tool, and is, by far, the fastest tool available. The performance is so much faster than the competition that it is hard to compare. Arbutus can find fuzzy matches in a million record file in seconds, where other products take hours or even days to perform the same analysis.

Normalize Data Before Fuzzy Matching

When analyzing data such as names or addresses, it is usually more effective to cleanse the data prior to doing any fuzzy matching. Functions in Arbutus that are ideal for normalization include Normalize, SortNormalize, Compact, and Arrange:

  • Normalize: capitalizes letters and standardizes punctuation, allowing strings such as #200 – 1234 Main Street and 200-1234 MAIN ST. to both become: 200 1234 MAIN ST (see screenshot below)
  • SortNormalize: takes Normalize one step further, arranging the normalized words in order, so that strings as different as #200 – 1234 Main Street West and 1234 W MAIN ST, Suite 200 can match exactly, becoming 200 1234 MAIN ST W
  • Compact: removes extra blanks in the middle of a field, improving the comparability of user-entered data, so that Jane Smith becomes Jane Smith
  • Arrange: eliminates differences due to transpositions, by sorting the characters in a field, so 604 437 7872 and 604 437 7782 both become 8777644320


Other Arbutus fuzzy matching capabilities include:

  • Duplicates Near, Duplicates Similar and Duplicates Same-Same-Near allow simple duplicates testing at astounding speed. Test for same vendor, same date, same amount and similar invoice number with just a few clicks. Testing addresses, like same city and state with near address, is easy to set up and can be performed on large data files in seconds.
  • Difference function calculates the Damerau-Levenshtein difference for string comparisons. This is significantly better that straight Levenshtein, as it treats character transpositions (i.e., 123456 vs. 124356) as just a single difference, not 2, significantly reducing false positives
  • Near function identifies ‘close’ items for any type of data. This uses Damerau-Levenshtein for character fields, but can also be used to identify close dates and amounts
  • Similar function is a special variation on Levenshtein comparison, designed to identify items that “look” similar. For character fields, it removes all non-alphanumeric data before comparison and also accounts for similar looking characters (I and 1, for example). For numbers and dates, it is used to look for transpositions of digits or very similar looking numbers
  • Listfind function is an easy way to look for any of a set of values. The values to be searched are stored in a simple, easy to maintain list. There is no limit on the number of terms you can search for. This can be used for PCard audits as well as FCPA testing. It’s as simple as Listfind(“FCPA List.txt”) to find all instances of the indicated words.


Watch the ArbutusAudit tutorial video, Fuzzy Duplicates in Arbutus Analyzer Audit Software, on YouTube:
Click to watch the tutorial video on YouTube

5. Embedded SQL support

Arbutus allows you to embed any SQL Select command directly into your analytics. You can use this technology to analyze, combine or compare data from the same, or disparate, SQL environments. Leverage the power and ubiquity of the SQL language to retrieve your data, while at the same time having access to all of the analytic power of Arbutus to produce powerful results.

The SQL command can be placed anywhere in an Arbutus script, and supports any SQL Select statement that is valid for the target system.

Watch the ArbutusAudit tutorial video, The SQL Command in Arbutus Analyzer Audit Software, on YouTube:
Click to watch the tutorial video on YouTube

6. Fastest performance

Arbutus provides unmatched analytics performance by matching or exceeding the competition in every category. Depending on your task, Arbutus can be dramatically faster in numerous ways:

  • Import XML over 70 times faster
  • Import Delimited data instantly, since there is no need to convert
  • Fuzzy match large files in seconds
  • Import and Export spreadsheets 200-300% faster


Download the PDF for more information: Benchmark Results: Arbutus vs. The Competition adobe.gif

7. Read delimited data directly

Any delimited file, of any size, may be read directly without data conversion:

  • No waiting to convert files; data is instantly available
  • No duplication of data
  • All delimiters supported (TAB, comma, pipe, etc.)
  • Table definitions can be easily adjusted to support new data
  • Table definitions can be tested against new data with the Verify command


8. Seamless application integration

Arbutus offers the widest range of application integration capabilities, using Export. These allow seamless integration with virtually any application. In addition to all the standard Export data types, you can:

  • Export ODBC supports output directly to any database. This not only allows integration with any database enabled applications, such as visualization tools, dashboards or audit management tools, but also allows integration with data marts.
  • Export to multiple tabs in Excel spreadsheets. Unlike other products, you can overwrite and even append to existing spreadsheets, allowing automated integration with any spreadsheet.


Watch the ArbutusAudit tutorial video, Exporting Multiple Tables to Excel in Arbutus Analyzer Audit Software, on YouTube:
Click to watch the tutorial video on YouTube

9. Enhanced views, including Smart Search and Triggers

Arbutus Views include powerful new capabilities that allow you to get the most out of your data, including:

  • Arbutus Smart Search can best be described as “Google for your data”. It allows you to instantly search for any term(s) in your data, automatically creating an appropriate filter. You can search the entire record, or select exactly which fields to look in. You can even search in related tables. In addition, any type of field may be searched, so you can look for dates and numbers as well.


Click to watch the tutorial video on YouTube
  • View triggers allow you to highlight individual cells in your data, based on your own criteria/business rules. Each trigger has its own color (either text or background) and any number of criteria may be specified. With Triggers, you are automatically alerted when your data may need attention



Quick filter Near allows you to instantly identify all records that are near a selected item. This operates on character field using the Levenshtein distance, or on numeric fields or date fields by finding values close to the selected item


  • Thin filter optimization dramatically improves the performance when viewing data using filters that exclude most records, resulting in a much smoother behaviour. This allows you to quickly identify the valuable data nuggets without worrying about performance
  • When you specify a thin filter, what happens when you page down (or up)? With some products, the view barely changes. With Arbutus, you always get a full screen of new data. This allows you to navigate your data in a natural way, regardless of how restrictive your filter is


Watch the ArbutusAudit tutorial video, Enhanced View Capabilities in Arbutus Analyzer Audit Software, on YouTube:
Click to watch the tutorial video on YouTube

10. Powerful script capabilities

Arbutus includes a wide range of capabilities to support analytics automation, including:

  • Lock” scripts, so they can’t be viewed or edited: This ensures your scripts are safe and protected – watch the video below to learn more
  • Embed scripts inside scripts: This allows you to write truly modular scripts; any number of sub-scripts can exist within a single script – Learn more
  • Enhanced Dialog boxes allow broad user input: Specialized controls allow file selection dialogs, as well as numeric-only and date-only fields. In addition, dialogs can optionally “time-out”, allowing the scripts to continue with the defaults if you have stepped away
  • Scripts independent of preferences: Any settings changed while a script is running are automatically reset to their previous value on completion. You can now set the preferences in whatever way is appropriate for the script, without affecting the user’s environment. If you SET SAFETY OFF, for example, there is no need to reset it at the end, as this will be done automatically
  • The SET DEFAULT command can be used in a script to ensure that the settings are at the factory install values. This is an easy way to ensure that your script runs with known settings. These values will, of course, be automatically reset to their previous values at completion

Watch the ArbutusAudit tutorial video, The Protect Command in Analyzer Audit Software, on YouTube:
Click to watch the tutorial video on YouTube

Watch the ArbutusAudit tutorial video, Enhanced Procedure Capabilities in Arbutus Analyzer Audit Software, on YouTube:
Click to watch the tutorial video on YouTube


Visit: 10 More Reasons to Like Arbutus (11-20)