Classic Computer Magazine Archive COMPUTE! ISSUE 76 / SEPTEMBER 1986 / PAGE 45


Analyze! For Amiga

David Powell

Analyze!, unlike some other spreadsheets for the Amiga, is a true Amiga software product, making full use of windows, drop-down menus, icons, color, and the Amiga mouse. You insert the Analyze! disk when the Amiga asks for the Workbench. When you select the disk icon, a window appears containing icons for an Empty Drawer, a Trashcan, and the Analyze! program itself. By using the Empty Drawer and Trashcan, you can organize a spreadsheet into directories and subdirectories, and "clean house" easily when the disk gets too full.

When you select the spreadsheet icon, Analyze! opens a dialog window through which you can partition off memory for your spreadsheet. The default partition is 128K. If you enter a larger value (one that's reasonable for your configuration, of course), the computer reserves that amount of memory, then displays the spreadsheet screen itself. The memory partitioning scheme lets you use most, but not quite all, of the system's free memory. On my 512K system, there were 400K bytes of memory available after Analyze! was loaded. However, I couldn't partition off more than about 300K.

Compression Yields Extra Room

I was curious to see how big a spreadsheet I could cram into the 128K default partition. Theoretically, at one byte per cell, a square 128K spreadsheet would have about 362 cells per side (or one could just fit a one-column spreadsheet 128K cells long.) However, Analyze! employs the sparse-matrix technique to permit much bigger spreadsheets than would otherwise be possible. Only cells holding text, data, or formulae are actually stored in memory. Empty cells, such as spaces added to improve readability, are not.

So, 128K of memory holds 128K of actual data, text, and formulae—no matter how large the spreadsheet's geography grows. For example, a one-column, 128K spreadsheet could actually be 256K cells long if data cells alternated with empty cells. This permits you to arrange the spreadsheet in an attractive manner without worrying about wasted memory.

Intuitive Operation

From within the spreadsheet screen, you reveal Analyze!'s main menu bar by holding down the right mouse button. The menu bar contains five menus: Project, Range, Worksheet, Print, and Recalculate. While holding the right button down, move the mouse pointer to one of these options; a menu of its commands drops into view. You select a command by sliding the mouse cursor to it and releasing the mouse button. In short. Analyze! handles menus and other program options in the usual Amiga fashion, which will seem natural to Amiga owners. It's easy to take these intuitive, easy-to-use features for granted until you try operating an Amiga program that lacks them. (It's still possible to buy an Amiga program that doesn't look or act like Amiga software at all. Amiga programs that ignore the mouse and visual icons, operating chiefly through keyboard controls, are usually quick translations of software written for an older machine such as the IBM PC.)

Commands within the Project menu display a Worksheet's current formatting parameters and allow you to load, store, delete, and update spreadsheets stored on internal or external disk drives. (Spreadsheets can be stored on disks used by other programs, because Analyze! only looks for files with the extension .SHT.)

The Range menu offers commands that name, format, label, copy, move, erase, and write-protect individual cells or groups of cells. People building spreadsheets will use these functions frequently, and it's nice to have them all in one place.

Moving And Copying Cells

An example will show you how easy the Range command—and Amiga's mouse—make the task of moving or copying a block of cells to a new location. This requires only three steps:

  1. Select the Range option's Move (or Copy) command. A prompt appears on the screen asking for the range of cells you want to move.
  2. Position the mouse cursor at the upper-left cell of this range, press the left mouse button, and drag the cursor to the lower-right cell. Release the mouse button; a prompt appears on the screen asking for the move destination.
  3. Move the mouse pointer to the upper-left cell of this destination; then click the left button. Analyze! repositions the entire block of cells so that its upper-left corner coincides with the destination cell.

I like the fact that such operations can be done without touching the keyboard. However, you can't use the mouse to define ranges that go beyond the visible screen. So Analyze! also offers simple keyboard procedures for selecting ranges and jumping to different places in a spreadsheet.

When you copy cells to a new location, Analyze! can copy formulae in the cells in absolute form (with row and column references transferred verbatim), in relative form (with references adjusted for the new location), or in a combination of both. (However, all cell references are kept verbatim when you transfer formulae to a new location with a Move command.)

A Variety Of Formats

The main menu's Worksheet option includes commands that insert or delete blank rows and columns, erase a spreadsheet, enter titles, format all cells, set column widths, justify labels, and write-protect the entire spreadsheet. Of special interest is the Worksheet option's Format command, which differs from the Range option's Format command in scope. Worksheet formatting applies to every cell in the entire sheet, not to a specific block of cells.

Through Range-Format and Worksheet-Format, you can display data in the following formats:

  • fixed-point decimal
  • scientific (exponential) notation
  • dollars and cents
  • percentages
  • dates
  • with commas (for instance, 2,123 instead of 2123)

Negative numbers are automatically displayed in red to distinguish them from positive numbers, which appear black on the paper-white background of the spreadsheet.

Another Worksheet-Format option (labeled as +/—) can convert positive and negative integers into crude bar charts. This option is designed to work only with integers (whole numbers), so it doesn't work as well with noninteger values.

Following Worksheet in the main menu is the Print command, which enables you to format a spreadsheet and send it to a printer. (However, you must still use Preferences to select the correct settings for your particular printer.) The Print feature allows you to set top-of-form, define page lengths, transmit line-feeds, print part or all of a spreadsheet, set all four page margins, define page headers and footers, pick rows or columns to use as page borders, and print calculated formula results or the formulae themselves. If you don't want to print directly to a printer, you may send the same output to an ASCII disk file for further formatting by a word processing program.

The last option in the main menu (Recalculate) lets you set your spreadsheet's calculation order. You can make recalculations automatic (after each cell change) or manual (as requested). The calculation order can be top-to-bottom or right-to-left. Or, it can be natural, in which case the system performs multiple passes to pull together complex data relationships the way a person would.

This offers more calculation flexibility than many spreadsheets I've seen, but there's even more. Analyze! also lets you create a spreadsheet that runs through as many as 50 iterations, or recalculations, before displaying its results. As a former mathematician, I value this feature highly.

Special Functions

Advanced users will also welcome the program's library of special functions. These include, but are not limited to, the following:

  • comparisons and logical operators
  • trigonometric functions
  • statistical averages, standard deviations, and variances
  • table lookups within a spreadsheet
  • logarithms and exponentials
  • present/future values of cash flows
  • loan and annuity payments
  • maxima/minima of values in a block
  • modulus arithmetic
  • random numbers

Analyze! is an effective, efficient spreadsheet, with very few apparent bugs. However, I do have some small complaints. It does not, for instance, offer a macro capability for writing spreadsheet-template programs (power users, take note). It could also handle formula input better. Some spreadsheets use a parser that looks at what you type and decides on its own whether you have entered data, text, or a formula. Analyze!, on the other hand, makes you begin every formula with a plus sign (+). This is a bit awkward.

The Analyze! user manual, like others of its type, suffers from too much text and too few illustrations. You should follow along with the computer as you read the manual. However, it does include very useful summaries of all system menus and special functions. However, since Analyze! is so well integrated with the Amiga's Workbench metaphor, you can learn to use the program almost without opening the manual.

Micro Systems Software
4301-18 Oak Circle
Boca Raton, FL 33431