Release notes – OrgVue version 2.16

Identify and analyse trends with new linear regressions in charts

Chart regression

Regression expression 1


Calculate linear regressions in your dataset by using the expression; nodes().regression(x,y). For example, nodes().regression(‘age’,'currentsalary’).

To get the breakdown statistics of your linear regression use the expression; nodes().regression(x,y).linear.transpose. For example, nodes().regression(‘age’,'currentsalary’).linear.transpose.


Love your stats? View property statistics in your dataset

View property statistic types using the expression; nodes().stats(‘age’). To view the values for these statistics use the expression; nodes().stats(‘age’).transpose


Stats image

Slice and dice your data using quantiles for creating bins for measures.


Retrieve the quantiles for a measure in your dataset by using the expression; nodes().quantiles(‘age’). Note that any quantile can be created by passing the number desired as the second parameter. For example, to create deciles use the expression; nodes().quantiles(‘age’,10)

Don’t like leaving gaps in your data? Create new property defaults

You can now set default values as follows:

  • Default value; use this value/expression when the node’s value is Blank. This is a new state, which can be used to ensure a value is never Blank, and does not follow the inheritance rules as outlined below.
  • Inherited value; search parents for a value when the node’s value is Blank, and use this value/expression if all parents are also Blank.
  • Fixed value; always use this value/expression regardless. This is a new state which allows setting a value regardless of the value entered in the cell. This could be used for scenario planning, or for transforming the underlying value in some other way.
  • Initial value; use this value/expression to set the value of a node when it is created. You can use a double splash command (!!) to persist the value of an expression.

Play around with data in our new interactive charts

Grab any block of data from a chart and see what lies behind it. For example, a bar can be dragged to the parking lot to retrieve all the nodes for that bar.

Interactive charts

Getting data out of OrgVue has never been easier with the new clipboard icon. Drop any data on the icon to copy nodes to the clipboard. To copy data from a chart, drag the chart title to the clipboard icon.

Clipboard Icon

These same interactions can be used on charts drawn within Dashboards as well as in the Chart view. With the addition of interactions in charts, tab order navigation also now operates for tiled charts.

Note: To support this feature, all views now have access to the Property Pane

Escape the nightmare of non-matching data with fuzzymatcherFuzzymatcher

Say for example you have a dataset where the manager is recorded by name, and not ID. Because the name has been typed in, it may well not be an exact match on employee name. In order to try to build a hierarchy from these data, one could use the fuzzymatcher to lookup names that closely match. Since names may very well not be unique, a secondary field can be added to further refine the match – in the example on the right by the employees sharing the same department.

Fuzzy string matching via Jaro-Winkler distance Algorithm:

var fm = nodes().fuzzymatcher(source=>[, source.department], target=>[target.manager,target.department], { limit: 10 });

fm.match(node) //node is the target


Custom calculated dimensions

You would like to have an org chart for every manager showing their parent and 2 levels below them – but that’s tricky…

  • Hierarchies are ‘ragged’
  • Every manager would like to see their own org chart
  • No standard definition exists of who should be included
  • No single property (Show on: OrgChart 1, OrgChart 2 etc.) will give the coverage needed
  • Any one employee can be expected to appear on multiple org charts – as a manager, as a direct report, as 2 levels down etc.
A custom calculated dimension allows the creation of a dimension which can be paginated or filtered by, in which a node may belong to multiple buckets. In this way, complex rules can be defined, potentially placing employees into multiple groups. This will allow, for example, to create Org Charts in which an employee appears in many pages of a paginated output.

** {“name”:”Org Chart Dimension”} */


type: “dimension”,

name: “Org”,

start: function(event) {

return event.nodes // get the nodes

.filter(n=>n.isleaf==false) // filter out the leaves, ie keep managers only

.map(n=>({name: n._label, entries:,2)})) // and include parent and 2 levels down





Have more questions? Submit a request