View Categories

General data model guidelines

Introduction #

There are a lot of data entities that you can use in Power BI. To understand them better, we’ve compiled these guidelines and best practices.

 

Navigation #

The navigation pane in Power BI contains 10 sections, from Admin to Tasks & Events. All entities are logically categorized within these sections. For example, KPI definitions and KPI data entities can be found in the section KPI. Users and Groups can be found in the section Admin. There is 1 special section: Relationships. This section contains all many-to-many relationships from entities to other entities. For example, if you want to create a report which relates incident events to controls you can add the following entities:

  1. Standards\Control
  2. Tasks & Events\Event
  3. Relationships\Control <-> Task & Event

 

For some entities, there is a mandatory filter before you can load the data. This is true for KPI data and KPI data context. This is done to limit the size of these data sets.

 

Fields #

  1. All tables have 1 column that contains a unique identifier. The name ends with ‘Id’. Examples are: taskId, assetId, riskId, standardId.
  2. We designed the data model in such a way that you (in most cases) do not need to combine columns to create unique Id’s or change the data types.
  3. Some entities have a parent->child relationship with themselves. In this case, the entity contains a field that starts with ‘parent’.
    1. For example, the Process entity has a parentProcessId field and the Task entity has a parentId field that can be used in a relationship to Event\eventId to display subtasks. You can use these to create hierarchies
  4. Some fields are grouped and have a dot (.) in the name the indicate where the group name ends and where the field name starts.
    1. This is used for Owner, User, Group, Creator, Checklist and more.
    2. You will see field names like group.email and group.name. This means that these fields contain the email and name of the same group.
  5. Some entities have a url field. This field contains a deeplink to the entity in ISOPlanner. You can use this to format a column as Web url.
  6. Some fields contain HTML code. You can add a visual from the Power BI Visuals Store to view contents in your reports.
  7. The code fields of entities like Risk, Control and Requirement are not sorted as in ISOPlanner. The logic to do so is complex and cannot be easily replicated to Power BI.
  8. All data/time fields are default loaded into your report in the UTC timezone. This is because Power BI Service is not aware of your time zone. You can change the timezone for your user in ISOPlanner by editing your user in the Administration section and selecting the Power BI Time zone.

Relationships #

Many relationships are created automatically by Power BI when you load the entities for your report. However, relationships can be used in many ways and Power BI cannot know upfront how you want to use your entities. That’s why you need to check and manage the relationships yourself (we also cannot ‘deliver’ these to Power BI). In most cased, you can only relate a field in one entity to a field in another entity when it has the same name. There are however some exceptions like the parent->child relationships and some special ones we describe here. You can use the parent->child relationship to create hierarchies and/or use PATH functions.

1. Task\parentId to Event\eventId

This relationship gets subtasks of Events

2. Process\parentProcessId to Process\processId

Parent->Child relationship of the process hierarchy.

3. Objective\parentObjectiveId to Objective\objectiveId

Parent->Child relationship of the objective hierarchy.

4. OrgUnit\parentId to OrgUnit\orgUnitId

Parent->Child relationship of the organizational unit hierarchy (premium subscriptions only).

5. Requirement\parentRequirementId to Requirement\requirementId

Parent->Child relationship of the requirement hierarchy.

6. Control\parentControlId to Control\controlId

Parent->Child relationship of the control hierarchy.

 

Resources #

  1. Publishing a report to Power BI Service and ISOPlanner dashboards
  2. Automatically refreshing the data of a report
  3. Data model tables and fields