Using dataset rollup trees
Dataset rollup trees allow you to track hierarchical data. They’re great for companies and governments that have large organization structures, as well as for geographic data (Country > State/Territory > Postal Code).
In this example we have a military fitness test dataset with 333,000 records. We’ve added the Unit Identification Code (UIC) field to the Explore tab, and we can see that the W4K9AA organization has the most fitness test records in this dataset.
Militaries are very hierarchical organizations, so we’re going to edit the UIC field and turn it into a rollup tree.
We change the data type from Text to Rollup, and then choose which rollup tree we want. Rollup trees are build and managed in the Administration section, and we’ll cover how to do that next. In this example we’re choosing Chain of Command.
Now when you add the UIC field to the Explore tab, you see a tree instead of a list of UIC. That’s because Impact has matched the UICs to items in the Chain of Command rollup tree and is now able to show you aggregated totals. And, just like every other field type, you can click on an item in the tree to drill down.
At the top of the UIC panel it now shows the tree level that we’ve drilled down to, as well as a back button that will take us to where we were before. As you navigate up and down the tree, Impact automatically applies filters to restrict records to only that tree level. In this example you can see the Gender panel updating with new numbers as we go down the tree.
Here we’ve drilled down to a third tree level. Most rollup trees are fairly small, but Impact has been tested to perform well with trees as large as 50,000 items.
Managing dataset rollup trees
You can build and manage dataset rollup trees in the “Dataset Rollup Tree” page in Administration. On the left is the rollup tree that you choose in the dropdown above, and on the right, you can edit the keys for the selected tree item. In this example, any time a field’s value is “WDARFF”, it will match with the “Dept of the Army” item in the rollup tree.
It’s most common for every item in the rollup tree to have a single key. Sometimes, however, tree items will have no key at all and will instead be used only for showing aggregated data from its descendants. Other times a rollup tree item will have multiple keys.
Because rollup trees are used across multiple datasets, each dataset may have a different way to reference the tree items. To support this, Impact allows you to create multiple keysets. For example, one keyset may be “By Payroll ID” and another keyset may be “By Human Resources ID”. When a rollup tree has multiple keysets, you’ll also need to choose which keyset to use when setting up a rollup tree field in your dataset. Keysets are important because different datasets can use the same key to refer to different items.
Just like other places in Impact, you can put the rollup tree in edit mode.
This allows you to drag and drop items to reorder the tree, and the selected item has a tooltip menu on it for modifying tree items.
To change the rollup tree that you’re editing, select the tree you want in the dropdown in the upper left.
Next to that is the Manage Rollup Trees button.
This opens a dialog where you can create, rename, reorder, delete, update, and download rollup trees.
Dataset rollup permission templates
The other tab on the Admin > Dataset Rollup Trees page is Permissions. This is for creating Rollup Permission Templates, which can dramatically simplify the management of tree-based dataset permissions.
Each collapsible box on the Permissions tab is a rollup permission template. In this example we have created a rollup permission template for each of three different types of users: SARCs, Victim Advocates, and Project Managers. When you click on a rollup tree item on the left, you can assign users and groups to the different rollup permission templates on the right.
The most important thing to realize here is that a rollup permission template applies to an entire rollup tree. So, every rollup tree will have different rollup permission templates, but you’ll see the same rollup permission templates as you’re clicking on different items in a rollup tree. The only things that will change between items are the users and groups that are inside of each rollup permission template for the selected item.
In this example we’re going to click through the various items in the UIC rollup tree and assign users and groups to the SARCs, PMs, and VAs permission templates.
Once that’s done, we can use these permission templates to quickly assign permissions to datasets. All you need to do is turn on advanced permissions for a dataset and then add your permission template like you would a user or a group. In this example there are two fields that use the UIC rollup tree, so there are two versions of each rollup template that we can choose from.
By adding the “Victim UIC: SARCs” to the dataset, every member of the SARCs permission template can now see records where the Victim UIC is in that SARC’s UIC or below. You can edit this permission, just like you can with users or groups.
The only difference is that a permission template has a filter that can’t be removed. This permanent filter shows that SARCs can see their rollup tree item and descendants for the Victim UIC field.
You can always add additional filters, though. For example, we could add a new filter that also limits access to only fields with a “Restricted” value of “False”.