Reflex - Powerful Data Analysis Made Easy

Reflex

Borland International

4113 Scotts Valley Drive

Scotts Valley, CA 95066

Reviewed by Bob Weeks.

Requires IBM PC or compatible, 384K RAM, two diskette drives or hard drive, IBM Color Graphics Adapter, IBM Enhanced Graphics Adapter, or Hercules Graphics Card. Optional mouse. $99.95

You've spotted a problem in last quarter's sales results for the fifteen stores you manage. You see an orderly growth in sales which is in keeping with your business plan. Your new ad campaign looks like a success. But, smack in the middle of your sales graph is a troubling dip. Total sales dropped noticeably for a two-week period, and you want to know why. Was it one product line in all fifteen stores? Was it a big drop in just one store? Was it a small, across the board drop in all product lines in all stores?

Being a believer in efficiency, you've introduced PCs into your office. You've loaded the sales information into a Lotus 1-2-3 spreadsheet model, and used 1-2-3 to create your graph. Unfortunately, trying to work from the graph backwards through the spreadsheet to the answer to your question is maddeningly slow.

Reflex can help you solve your problem. It's neither a spreadsheet program or a full-fledged data manager, but a useful hybrid. Spreadsheet programs are suitable for "what-if" analysis, and data management programs are well-suited for sorting and searching through data. Reflex marries these two aptitudes, and the marriage is a happy one.

What distinguishes Reflex is that it can present data in five separate ways or views. Many database programs present data in only one or perhaps two views, but Reflex provides five flexible views that you can switch between quickly. The five views are called Form, List, Graph, Crosstab, and Report.

The Form view presents the data on the screen just like a paper form or index card. This is the method that pfs:File, Nutshell, Symphony's form window, and other file managers use. Within the Reflex Form view, you can define the fields of information you want to keep track of, and you can use simple commands to move the fields to different parts of the screen to create a custom form that mimics the paper forms you may use now. Then, you can enter formulas for fields that you want Reflex to calculate.

For example, if you're tracking sales data, you can easily calculate commissions. In this case, the line marked commissions would contain the formula ".02*sales". After you define the fields and formulas, you're ready to enter data to the forms.

The List view presents data in a spreadsheet-like format, where each data record occupies one line of the screen, with each field in its own column. The List view is handy for viewing a screenful of data at once, similar to spreading the index cards in your card box over the top of a table.

The Graph view can display line, scatter, bar, cumulative bar, and pie graphs of your data. When you switch to the Graph view, Reflex displays a blank box at the bottom of the screen. If you type "Sales" in the box, you get a graph of sales and another empty box. Type "Cost" in that box, and a graph of sales and costs appears.

The Crosstab view is the single most impressive feature of Reflex. Crosstabs create summaries, breakdowns, and comparisons of data. To go back to our example, you're tacking sales data for those fifteen stores you manage. You could design a form that contains fields such as store name, date, product, sales, and cost of sales. Then you enter last quarter's data for each store. Now, to calculate total sales for all the stores, switch to Crosstab view. Designate "sales" as the field to summarize, and enter "sum" as the mathematical operation. Reflex will calculate total sales for all the stores.

To see the total sales broken down by store, use the Crosstab For Each command from the menu and enter store for the field names. Reflex will display a table with a row for each store name and the total sales for that store. Then, to carry the analysis a step farther, use the Crosstab For Each command again and type "product" for the field name. Reflex will display the same table, but with columns for each product, so that you can see sales for each product for each store, sales for all products for each store, sales for each product for all stores, and total sales, all at once.

Crosstabs are extremely useful for analysis of data that is difficult to achieve with other programs. For example, I keep track of my checking account with Lotus 1-2-3. I used Reflex's import utility to quickly transfer the data into Reflex. Then, I easily created a crosstab that showed the total amount of all the checks I wrote to each payee. With one additional command, I created a different crosstab that showed the total amount to each payee for each month of the year.

Besides totals, crosstabs and graphs will work on other summary functions such as average, count, minimum, maximum, standard deviation, and variance. For my checking account, I changed the summary field to "count", and the crosstab displayed the number of checks I wrote to each payee for each month. Also, within the crosstab you can tell Reflex to display not the numbers in the database, but to represent each number as a percent of the total, row total, column total, or as an index number.

This feature let me see what percentage of my expenditures for each month went to rent and other categories. Finally, you can have Reflex make ranges for data in a crosstab, which let me create a table showing what percent of the time my telephone bill was between $50.00 and $60.00. Apply that procedure to your company's payables, and you've got an impressive analysis.

Like other features in Reflex, crosstabs are easy to create, and the information you obtain is absolutely amazing. Crosstabs are either impossible or difficult to create with most other spreadsheet or database programs.

The Report view of Reflex creates printed reports. Reflex includes a rich selection of features for reports, such as subtotal groupings with different summary measures, calculated columns, headers, footers, introductions, conclusions, selective printing of report rows, and flexible formatting. You can create many report definitions for each database, so it's easy to print different reports for different purposes. A very nice feature is the ability to preview the report on your screen, so it's easy to make a change to the report, preview the result, and make other changes without waiting for a printed copy.

The Report view of Reflex is reason enough for many to justify the purchase of Reflex. Since Reflex can easily import data from Lotus 1-2-3, you can print your 1-2-3 databases with Reflex. It's also cheaper than the Lotus 1-2-3 Report Writer, offers similar report writing capability, and as an added bonus, you get all the rest of Reflex's abilities, something that 1-2-3's database commands don't measure up to.

All these views are integrated in the sense that if you enter new data or make changes to the database, then Reflex updates all the views. This means that if you define a crosstab or graph and later enter new data in the Form or List view, the next time you view the graph or crosstab, it will reflect the new data.

If all Reflex did was allow you too see your data in five different views it would be very useful, but one of the outstanding features of Reflex is that you can see data in the Form, List, and Graph views on the screen at the same time. Let's go back to the troubling dip you noticed in your graph of total sales. How can you see the data that caused the dip? Using simple commands, you can split the screen horizontally or vertically. you can then see both the graph and the data forms in their own windows. As you move from point to point on the graph, Reflex will update the Form window to show the data responsible for each point on the graph. This way, you can quickly identify the store responsible for the dip.

Reflex provides a great deal of flexibility in working with your data. You can format numbers to appear as currency and many other formats. Reflex recognizes dates and can present dates in a variety of formats. You can rearrange the fields in the Form view and add or delete fields at any time. In the List view, you can rearrange the order in which the columns appear. You can input, edit, and delete data through both the Form and List views.

For calculated fields, Reflex provides an impressive assortment of operators and functions. All the usual mathematical functions are here, such as absolute value, logarithms, and others. For financial applications, Reflex includes present value, future value, and compound growth rate functions. To handle dates, Reflex includes functions which can look at a date and determine the day, day of week, month, year, and quarter. You can add or subtract a number of days, months, or years to a date, and you can compute the number of days, months, and years between two dates. You can also display the first day of the month or quarter that a date falls in, allowing easy creation of monthly or quarterly summaries.

For statistical summaries, Reflex includes the functions for sum, average, count, minimum, maximum, standard deviation, and variance. For logical functions, Reflex includes if-then-else, case, choose, and, or, not, and the usual relational operators such as equals, less than, and so forth. Reflex also includes several operators - thru, upto, downto, and between - which let you select a range of data for analysis, such as sales between $10,000 and $25,000. All of the logical functions work with dates as well as regular numbers.

Reflex also performs traditional database functions such as sorting and searching. To sort data with Reflex, you fill in a table of sort fields, marking the fields in the order you want to sort them. Then you fill in "a" for an ascending sort, or "d" for descending. You can sort on five fields at once. To search and select data, you can either fill in a form or type an expression. The easiest way is to fill in the form, in which case you type what you'd like to find next to each field name. You can then either find the next record in the database that meets your conditions, or you can apply a filter, which makes the database appear to contain only those records which meet your conditions. This makes it easy to work with the data for a certain month, store, or product. After you're through, remove the filter to make all the database active again.

Reflex can accept data from a variety of sources, including Lotus 1-2-3, Symphony, dBASE II and III, PFS, DIF, and ASCII text files. This means that if you currently use one of these programs, or a program that can output data in one of these formats, you can send your data to Reflex without rekeying. The file import utility is one of the best; it's robust and easy to use. For example, when importing a Lotus 1-2-3 file, Reflex lets you "look" inside the spreadsheet to let you see the data and tell Reflex what rows and columns to import. The utility is quite sophisticated and can recognize dates and other special data formats. In addition, Reflex can export its data in ASCII text format, so many programs can accept data from Reflex.

One potential drawback of Reflex is its appetite for RAM. Like Lotus 1-2-3, Reflex stores all its working data in memory, so the amount of memory you have determines the size of the database you can work with. You'll want at least 512K memory for Reflex; 640K is even better. Also, leaving all your data in RAM can leave you vulnerable to a power outage. Reflex is not copy protected.

Summary

Reflex is a new type of product that combines some of the features of both spreadsheets and databases. Reflex includes traditional views of data - Forms view like pfs:File and List view like Lotus 1-2-3 - but also includes a slick Graph view and a very useful Crosstab view. The report writer is quite sophisticated. Although there is no interactive tutorial, the manual is clear and the on-line help facility is excellent. Reflex is easy to learn and operate, particularly for those who have already used a spreadsheet or database program.

Recommendation

If you want powerful analytical capabilities, you should look at Reflex. You must be sure, however, that your data can fit in the traditional database structure of fields and records. You wouldn't, for example, use Reflex to construct an income statement or financial model of a company, like you might use 1-2-3. Neither would you use Reflex for transactional applications like accounting. If you need an analytical tool, however, that's powerful, versatile, easy to use, and with the right price, Reflex is for you.