Tracing Calculated Columns Formulas
Summary
- AdapTable provides 2 UI components to allow run-time users to follow (and edit) a Calculated Column's formula
- Formula Trace shows - Excel-style - how a Calculated Column value is derived
- The Compact Expression Editor lets the Expression be edited inline
Calculated Columns are typically defined at design-time by developers.
But AdapTable also provides a rich run-time UI so that users can create, manage and - crucially - understand Calculated Columns.
Formula Trace
AdapTable includes an Excel-style Formula Trace which lets run-time users see - and inline edit - how a Calculated Column value is derived.
There are 2 ways to open Formula Trace for a Calculated Column cell:
- Double-click the cell
- Select the Show Formula item in the cell's Context Menu
Note
Both triggers are enabled by default, but each can be turned off - see Formula Trace Options below
When opened, Formula Trace displays a popup - anchored to the cell - containing the Column's Expression with every referenced Column shown in its own colour.
At the same time, AdapTable highlights the referenced data in the Grid using the same colours (in the manner of Excel):
- for
StandardCalculated Columns the referenced cells in the row are outlined and tinted - for
Aggregated(and other multi-row) Calculated Columns the referenced Column headers are highlighted
Hint
For Standard Calculated Columns the popup also shows each referenced Column's name above its actual cell value for that row, followed by the computed result (e.g. = 42) - so you can see the calculation "worked through" for the current row
Editing a Formula
The Formula Trace popup contains an Edit button which opens the Compact Expression Editor.
This is a small, moveable and resizable version of the full Expression Editor, giving quick access to the Expression without opening the full Wizard.
It provides the same power as the full Editor, including:
- the Functions dropdown listing all available Expression Functions
- live validation
- colour-coded Column references (matching the Formula Trace highlights)
Edits are applied live as you type - the Calculated Column re-evaluates immediately.
Note
An invalid Expression will show #INVALID in the cells until it is corrected
The Compact Editor also provides 2 buttons:
- Revert - restores the Expression to how it was when the Editor was opened
- Open Full Editor - closes the Compact Editor and opens the full Calculated Column Wizard
Hint
The Compact Expression Editor is available for all 6 Calculated Column types: Standard, Aggregated, Cumulative, Quantile, Window and Observable
Showing Formula Trace via the API
Formula Trace can also be opened programmatically using the Calculated Column API:
showFormulaTrace(columnId, primaryKeyValue)- opens the Formula Trace popup for the given Calculated Column cellhideFormulaTrace()- closes the popup (and clears the Grid highlights)
- This demo contains 3 Calculated Columns:
Total PRs(Standard) - sums theOpen PRsandClosed PRsColumnsIssues Open/Total Ratio(Standard) - dividesOpen Issuesby total IssuesSum Pop by Lang(Aggregated) - sumsGithub Watchersgrouped byLanguage
- After 5 seconds the demo calls
showFormulaTraceto open the Formula Trace popup for the firstTotal PRscell (seeonAdaptableReady.ts)
- Wait for the Formula Trace popup to appear, or double-click any
Total PRscell yourself - Note how the two referenced cells (
Open PRs,Closed PRs) are highlighted in matching colours - Click the Edit button in the popup and change the Expression in the Compact Editor - the Column updates live
- Double-click a
Sum Pop by Langcell and note the referenced Column header is highlighted instead
Cell Tooltip
A Calculated Column can also show its formula as a tooltip when the user hovers over a cell.
For per-row Calculated Columns (e.g. Standard) the tooltip shows the formula and, underneath, the same formula with this row's values filled in, followed by the result.
For multi-row Calculated Columns (e.g. Aggregated) the tooltip shows the formula.
Turn it on by setting ShowToolTip in the Calculated Column's CalculatedColumnSettings (or checking Show Expression as Cell Tooltip in the Calculated Column Wizard):
calculatedColumn: {
CalculatedColumns: [
{
ColumnId: 'TotalPRs',
Expression: '[open_pr_count] + [closed_pr_count]',
CalculatedColumnSettings: {
DataType: 'number',
ShowToolTip: true,
},
},
],
},Note
ShowToolTip is false by default
Configuring Formula Trace
Formula Trace is configured via the formulaTrace property in Calculated Column Options.
There are 2 properties available to set the formula trace behaviour:
enableDoubleClick
Default: trueBooleanshowContextMenuItem
Default: trueBoolean