Chapter 3 Retail Sales Four-step process for designing dimensional models Fact table granularity Transaction fact tables Additive, non-additive, and derived facts Dimension attributes, including indicators, numeric descriptors, and multiple hierarchies Calendar date dimensions, plus time-of-day Causal dimensions, such as promotion Degenerate dimensions, such as the transaction receipt number Nulls in a dimensional model Extensibility of dimension models Factless fact tables Surrogate, natural, and durable keys Snowfl aked dimension attributes Centipede fact tables with “too many dimensions” Four-step process for designing dimensional models Step 1: Select the Business Process Business process is a low-level activity performed by an organization Such as, taking orders, invoicing, receiving payments, handling service calls, registering students, performing a medical procedure, or processing claims To identify business process, need to understand following characteristics o Expressed as action verbs because they represent the activities that business performs. o Typically supported by the operating system, such as billing or purchasing system. o Generate or capture key performance metrics: metrics are a direct result of the business process; the measurements are derivations at other times o Usually triggered by an input and result in output metrics: In many organizations, there’s a series of processes in which the outputs from one process become the inputs to the next. In the parlance of a dimensional modeler, this series of processes results in a series of fact tables. Sometimes, business users talk about the initiatives (broad enterprise plans) rather than business process=> to deliver competitive advantage. To tie a business initiative to business process, need to decompose the business initiative. Meaning digging deeper to understand the data and operational systems to support the analytics business initiative. Organizational business departments or functions do not equate to business processes. The best to ensure the consistency is to publish the data at once. Step 2: Declare the Grain Grain = what does 1 row in the fact table represent? Grain-=> details level of fact table. How do you describe a single row in the fact table? Grain declarations are expressed in business terms. Examples of grain declaration: One row per scan of an individual product on a customer’s sales transaction One row per line item on a bill from a doctor One row per individual boarding pass scanned at an airport gate One row per daily snapshot of the inventory levels for each item in a warehouse One row per bank account each month Can bypass the grain declaration but for best practices, DON’T. Declaring the grain is the critical step. In debugging thousands of dimensional designs over the years, the most frequent error is not declaring the grain of the fact table at the beginning of the design process. Important for the design to make an agreement on the fact table’s granularity. Granularity=> what level of data details should be made available in the dimensional model. Step 3: Identify the Dimensions How do business people describe the data resulting from the business process measurement events? Identified as they represent the “who, what, where, when, why, and how” associated with the event. Examples of common dimensions include date, product, customer, employee, and facility. Step 4: Identify the Facts What is the process measuring? Facts that clearly belong to a different grain must be in a separate fact table. Typical facts are numeric additive figures, such as quantity ordered or dollar cost amount.