10 More Reasons to Like Arbutus (41-50)
- Import multiple tables from a single source in one step
- Drill-down into individual Cross Tabulated cells
- Cmon() function
- Export table structure to a table
- See table characteristics in the Overview
- Improved command dialog usability
- Replace() function supports multiple replacements
- Include(), Exclude(), and Remove() support character ranges
- Delete fields, even if referred to elsewhere
- Native zSeries (MVS/zOS) key field support
Note: The following 10 More Reasons to Like Arbutus are aimed at technical or advanced users. Questions or comments? Please contact us.
41. Import multiple tables from a single source in one step
When accessing ODBC sources, the Data Definition Wizard allows you to import any number of tables from that source in one operation. This can greatly simplify the process of accessing complex systems that require a number of tables for processing.
42. Drill-down into individual Cross Tabulated cells
Arbutus supports cross tabulation of data. Once prepared, you may drill-down into each cell individually, to see the data supporting that entry. In addition, cells that net to zero are shown distinctly (they include a drill-down link) from cells for which there is no data (no link), even though both would show a value of zero.
43. Cmon() function
The Cmon() function allows you to capture the month a particular date falls in, in a character format. This is analogous to the Cdow() which provides a similar capability for days of the week. For example Cmon(Christmas, 3)= “Dec”
44. Export table structure to a table
Advanced applications often need to adjust their operation based on the structure of the data being read. This is where the DISPLAY TO command comes in. The entire table layout, including record lengths, input file name, and all field definitions and characteristics are written to a named table. This table may then be queried, as required by the procedure.
45. See table characteristics in the Overview
Arbutus supports a wide range of input data types. As input sources of different types display characteristics that you may need to be aware of, several types of tables are distinctly identified in the Overview. Of particular note:
- Refreshable data sources (e.g., Excel) are identified with a blue bar, to remind you that the data may need to be refreshed
- Directly read sources (e.g., ODBC) are identified with a purple bar, to remind you that the data may change each time the table is opened
46. Improved command dialog usability
Significant effort has been put into ensuring the maximum usability of the command dialogs. Each dialog is presented using a standard theme, and every opportunity has been taken to simplify the basic dialog. Even so, full command functionality is available for advanced users when choosing “More”.
In addition, you can control the “look” of the command dialogs, by choosing either icons or words on the buttons, depending on your preference.
47. Replace() function supports multiple replacements
The Replace() function is a very powerful data manipulation function. It is used to modify character data to conform to expected requirements, by looking for specified sub-string(s) in the data and replacing them with more appropriate data, as required. This process is seldom limited to replacing a single sub-string, so the Replace() function allows you to specify any number of replacements, as pairs of values, greatly simplifying the specification of replacements.
Therefore, the following function: Replace(name, “;”,”-“, “~”,” “, “Hours”,”Hrs”, “*”,””) will replace every ; with a -, every ~ with a space, every Hours with Hrs, and every * in the Name field, and replace it with an empty string.
Replace(“Boston (+3 Hours)~Chicago(+2 Hours); Arr. 7:15** AM”, “;”,”-“, “~”,” “, “Hours”,”Hrs””, “*”,””) =
“Boston (+3 Hrs) Chicago(+2 Hrs)- Arr. 7:15 AM”
48. Include(), Exclude(), and Remove() support character ranges
In addition to replacing sub-strings, it is also common to process character data on a character-by-character basis. The Include(), Exclude(), and Remove() functions can substitute characters based on specific ranges.
For example, the function: Include(fieldname, “A~Z”) will only include upper case alphabetic characters in the result.
49. Delete fields, even if referred to elsewhere
Table definitions often involve the creation of “Virtual” or “Computed” fields that encode specific business rules or calculations. Of necessity, these fields refer to other fields in the definition. With Arbutus, fields participating in such references can be deleted or changed, even though this temporarily breaks the integrity of the definitions. As long as you replace the field before it is needed, there is no problem.
50. Native zSeries (MVS/zOS) key field support
On mainframes, key field information relevant to IMS, VSAM, DB2, and relational data is automatically recognized. This information is automatically utilized for indexes (Find) and Relations, and there is no need to first create a separate index. This ensures that dynamic mainframe data sources always remain current.