Referencing Calculated Columns
Summary
- Once created a Calculated Column can be used and managed like any other Column in AG Grid
- Calculated Columns can also be referenced in AG Grid Charts
Calculated Columns are treated like any other AdapTable (or AG Grid) Column.
Accordingly, a Calculated Column's Expression can reference other Calculated Columns in the Grid if required.
Caution
- There is no limitation on how many Calculated Columns are chained - AdapTableQL will evaluate each in turn
- However at some point performance might be impacted if you have a large chain with complicated calculations
- This demo contains 3 Calculated Columns, one of which is evaluated based on the other 2
Issues Open/Total Ratio- shows ratio between open and total number of issuesPR Open/Total Ratio- shows ratio between open and total number of pull-requestsScore- is calculated by computing the average value of the previous 2 ratio Calculated Columns (a higher score is better)
- Change a value in
Open IssuesorClosed Issuesand see how theScoreCalculated Column also updates - Change
Scoreto take the maximum value between 'Issues Open/Total Ratio' and 'PR Open/Total Ratio'
Flashing Calculated Columns
Since Version 23.0 Calculated Columns can flash their cells when their contents change.
Note
Calculated Columns are not directly editable but they will update if a referenced column's value changes
It is possible for one Calculated Column to reference another Calculated Column and still flash when changed.
- This example shows 2 Calculated Columns which flash when values in their referenced columns change:
Total Stars + Watchershas anANY_CHANGE()rule and flashes when one of its referenced Columns (Github StarsandGithub Watchers) tickStars Index (÷ 1000)references the first Calculated Column with a rule[stars-index] > 50, so the chained column flashes when its value changes (and the rule matches)
Calculated Columns and Alerts
Calculated Columns (also since Version 23.0) can trigger Alerts.
Note
This is most commonly a Data Change Alert with a Boolean Expression evaluated against the changed cell value
Similar to Flashing Cells its possible for one Calculated Column to reference another Calculated Column and still trigger the Alert.
- This example shows 2 Calculated Columns which trigger Data Change Alerts when values in their referenced columns change:
Total Stars + Watcherstriggers an Alert (with a Notification) using the rule[total-stars-watchers] > 200000Stars Index (÷ 1000)references the first Calculated Column and a second Alert uses the rule[stars-index] > 150on that chained column
- Watch notifications appear when
github_starsorgithub_watcherstick and their calculated values satisfy the Alert rules
Deep Dive
Recalculating Dependent Calculated Columns
Calculated Columns in Charts
As "normal" Columns, Calculated Columns can also be referenced in Charts.
If a Chart contains a Calculated Column, then any changes to a Column which is referenced in the Calculated Columns's Expression, will cause the chart to re-render.
- This example demonstrates how Calculated Columns can be used in Charts
- We create a Calculated Column called
Total PRswhich sums theOpen PRsandClosed PRscolumns - We then create a small Pie Chart which displays the names of the first 5 frameworks and the Total PRs
- Any change to the underlying value of one of the Calculated Column Expression's constituent columns will cause the Chart to redraw
- Set the
Open PRsColumn in the first row (for Vue) to be 22400 and see how the Chart changes