views:

67

answers:

2

Many of our transactions are comprised of calculations that are comprised of other calculations. How did you represent the hierarchy / execution graph to users? Was there a specific control you found that worked well?

How would you project the result of a change to one of the formulas before committing that alteration? One suggestion was to show the altered formula in a different color. For a large set off formulas, how would you make alterations prominent?

+2  A: 

I haven't had to do this, but I'd do something like the following:

Use a tree view-type control. Have each inner calculation be separately collapsible. The control can start out with everything collapsed, then the user can click through to see the inner calculations. (If the inner calculations have names, then use these as labels. If they don't, you can use the first few characters from the calculation to represent it).

I'm not sure what you mean by your last question, but would this work? Every time the user changes an inner calculation, mark everything that is affected by it with red. This way it'll be immediately obvious what has changed, and whether there were any unintended side effects.

Claudiu
+1  A: 

Business users know what spreadsheets are and how they work. I would consider trying to model your expressions as a spreadsheet; some kind of canonical transformation into a spreadsheet-style view, and back again.

With a spreadsheet, you could use colour-coding of cells for diffs.

If you can populate the spreadsheet view with some data (preferably live), then it can act as a testing / sanity-checking workbench for modifying formulas.

Barry Kelly