Types of Fact Tables in a Data Warehouse

A fact table holds the measures, metrics and other quantifiable information. There are three types of facts

Types of Facts

  • Additive: Additive facts can be used with any aggregation function like Sum(), Avg() etc. Example is Quantity, sales amount etc
  • Semi-Additive: Semi-additive facts are facts that can be summed up for some of the dimensions in the fact table, but not the others. For example, Consider bank account details. You cannot apply the Sum() on the bank balance that does not give useful results but min() and max() function may return useful information
  • Non-Additive: Non-additive facts are facts that cannot be summed up for any of the dimensions present in the fact table. For example of non-additive fact is any kind of ratio or percentage. Non numeric facts can also be a non-additive facts

Types of Fact Tables

Fact-less Fact Tables

A fact table that does not contain any measure is a fact-less fact table. This table will only contain keys from different dimension tables. This is often used to resolve a many-to-many cardinality issue

Centipede Fact Table

Centipede fact table is a normalized fact table. Modeller may decide to normalize the fact instead of snow flaking dimensions tables

Conformed Fact Tables

They are measures re-used across multiple dimension models. For example, KPI such as profit, revenue etc

Snapshot Fact Tables

This type of fact table describes the state of things in a particular instance of time, and usually includes more semi-additive and non-additive facts. The second example presented here is a snapshot fact table

Cumulative Fact

This type of fact table describes what has happened over a period of time. For example, this fact table may describe the total sales by product by store by day. The facts for this type of fact tables are mostly additive facts. The first example presented here is a cumulative fact table






SQL.info