Hierarchies
Levelled classifications — an industry tree, a geography — and rolling figures up them.
Create a hierarchy
Defines a classification with named levels — an industry taxonomy, a territory tree, a product family. Records are classified at a node, and reporting rolls them up through the levels above it. Requires `rdm.hierarchy.create`.
List hierarchies
Returns the tenant's hierarchies with their level structure. Requires `rdm.hierarchy.read`.
Get a hierarchy
Returns one hierarchy and its levels. Requires `rdm.hierarchy.read`.
Update a hierarchy
Changes a hierarchy's own fields. Requires `rdm.hierarchy.update`.
Delete a hierarchy
Soft-deletes a hierarchy with its levels and nodes. Requires `rdm.hierarchy.delete`.
List where a hierarchy is used
Returns the attributes bound to this hierarchy. Read it before restructuring — this is what would be affected. Requires `rdm.hierarchy.read`.
Roll records up a hierarchy
Returns counts aggregated to a chosen level, so records classified at a leaf are counted under the branch above it. This is what makes a classification useful for reporting rather than only labelling. Requires `rdm.hierarchy.read`.
Restore a deleted hierarchy
Reinstates a soft-deleted hierarchy with its levels and nodes intact. Requires `rdm.hierarchy.update`.
List a hierarchy's levels
Returns the ordered levels — the depths a node can occupy, such as sector, industry, sub-industry. Requires `rdm.hierarchy.read`.
Add a level
Adds a depth to the hierarchy — country, then region, then city. Levels are ordered, and a node is placed at one of them. Requires `rdm.hierarchy.create`.
Update a level
Renames a level or changes its position. Requires `rdm.hierarchy.update`.
Delete a level
Removes a level. A level still holding nodes cannot be deleted; move or remove them first. Requires `rdm.hierarchy.delete`.
Add a node
Places a code into the hierarchy at a level, optionally under a parent node. Requires `rdm.hierarchy.create`.
Move or update a node
Changes a node's parent or its details. Moving a node moves everything beneath it, so the rollups of both the old and new branch change. Requires `rdm.hierarchy.update`.
Delete a node
Removes a node from the hierarchy. Anything rolled up through it stops being counted there. Requires `rdm.hierarchy.delete`.
Get the hierarchy tree
Returns the whole structure as a tree, for rendering a picker or a browser. Requires `rdm.hierarchy.read`.
List a node's ancestors
Returns the path from a node up to the root — the breadcrumb shown against a classified record. Requires `rdm.hierarchy.read`.
List a node's descendants
Returns everything beneath a node. Use it to select a branch and everything under it in one filter. Requires `rdm.hierarchy.read`.