Tutorial with example
In this video we will go through how to work with hierarchies using the following DAX functions: PATH, PATHLENGTH, PATHITEM, PATHITEMREVERSE, PATHCONTAINS
The example used will be a simplified bill of materials (BOM) but in the microsoft documentation, there is an excellent example for employees and Managers.
Download example file:
Link to demo file here.
- The delimiter used to separate the ascendants is the vertical bar, ‘|’.
- The values in ID_columnName and parent_columnName must have the same data type, text or integer.
- Values in parent_columnName must be present in ID_columnName. That is, you cannot look up a parent if there is no value at the child level.
- If parent_columnName is BLANK then PATH() returns ID_columnName value. In other words, if you look for the manager of an employee but the parent_columnName column has no data, the PATH function returns just the employee ID.
- If ID_columnName has duplicates and parent_columnName is the same for those duplicates then PATH() returns the common parent_columnName value; however, if parent_columnName value is different for those duplicates then PATH() returns an error. In other words, if you have two listings for the same employee ID and they have the same manager ID, the PATH function returns the ID for that manager. However, if there are two identical employee IDs that have different manager IDs, the PATH function returns an error.
- If ID_columnName is BLANK then PATH() returns BLANK.
- If ID_columnName contains a vertical bar ‘|’ then PATH() returns an error.
This DAX function is not supported for use in DirectQuery mode.