Dimensional Data Modeling

I am going to do a quick dimensional modeling primer before using the conceptual model to create a logical model.  Dimensional modeling creates a star schema comprised of two basic types of tables:


  1. Fact Tables - these tables contain measures and keys.  The measures are the facts.  If I am counting students then the fact may be as simple as using the value 1 to indicate the existence of registration for a specific term.  The measures can be additive, semi-additive, or non-additive.  Additive measures can be easily summed.  Semi-Additive measures like account balances for example would mean nothing if summed.  Non-additive facts such as GPAs may need to be broken down into their parts (IE individual grades).  The fact table will be the center of the "star".
  2. Dimension Tables - these tables are filters or slicers you will use to aggregate or refine your data sets.  For example, there may be a student dimension table which includes information about a student which permits a report developer to get a count of currently enrolled students based on their demographics such as their age or their financial aid status.
That is a lot of words to let sink in.  However, I prefer pictures.  Below you will see the conceptual model from the previous blog post.  It is pretty clear Student Retention is the business process which will need a fact table.
The fact table will be at the center of the "star".

In the next diagram I have highlighted the potential dimension tables.  These are the way the facts will be filtered.  Notice, I removed the Student Financial Aid and Student Engagement bubbles.  They are actually fact table candidates and in dimensional modeling, fact tables do not directly link.

The next step will be creating a logical model.  This is when we start looking at what attributes and measures will actually be included in the final model.

Popular posts from this blog

Power BI Report Server: "An Error Has Occurred" or Power BI Report Server: "My Power BI Report is Coming up Blank" or Power BI Report Server: "401 and 403” Errors From Nowhere

SQL SERVER 2017: STRING_AGG

Dynamic Label Positions With SSRS