My first Publication Agile-Data-Warehouse-Design-eBook | Page 130

Modeling Business Processes 109 If the answer is NO, logistics could be handled by a contractor and warehouse workers are not Pomegranate employees. However if the answer is YES then you have discovered two different roles for a conformed EMPLOYEE dimension. You record this by renaming the SALESPERSON dimension to EMPLOYEE and adding the dimension type code [RP] to denote that it is a role-playing dimension. This change needs to be made to the matrix as in Figure 4-9 and the dimension table as in Figure 4-10. However, you should leave the subject of the new shipping event on the matrix as “warehouse worker” to record the specific employee role that stakeholders used to describe the event. Use [RP] to identify Role names such as WAREHOUSE WORKER and SALESPERSON are used as detail column headers in event tables, so the SALESPERSON column in CUSTOMER ORDERS does not need to be renamed but you do need to associate it with the EMPLOYEE dimension. You document an event detail, such as SALESPERSON, as a role of an existing dimension by adding the role-playing dimension name to its column type using the [ ] type notation as in Figure 4-10. Roles are role-playing dimensions documented as event details with a [ ] type identifying their RP dimension Figure 4-10 A role-playing dimension and an event detail role [ ] type notation can be used to qualify the type of any event detail or dimensional attribute. Initially it can be useful to type every event detail with its W-type, such as [who], [what] or [where], to help everyone think dimensionally using the 7Ws. Details that are dimension roles use this notation instead to document their role- playing dimension name; for example, [employee] or [calendar]. As other details are named after their dimension, they don’t need this qualification. For quantities their type is their unit of measure, for example, [£], [$], or [miles] as described in Chapter 2, while Yes/No flags can be documented with a type of [Y/N] showing their permissible values. [ ] type notation is used to record W-type, unit of measure, flag values and RP dimension names