Fact entity
Fact entities group measures (facts) that share dimensions at the same level of granularity. The fact entity is the core entity of a dimensional data structure. All or a subset of the measures and dimensions that are held in a fact entity may be used by one or more downstream data marts. Fact entities holding facts resulting from the most granular measurement events are structured around business concept data areas. Aggregate fact entities are more contextual and are based on specific analytical requirements, which are functionally structured by focus areas.
About factless fact entities
A factless fact entity is a design technique when no formal measurement event is identified, but queries require the ability to analyze relationships between dimensions. This is particularly useful for producing a snapshot of a main dimension entity and its mini-dimensions without having to traverse a more contextual fact entity. In a factless fact entity, the only recommended measure is a dummy counter fact, such as Count or Number Of Data Concept Name, of which the value is always 1 in every row, and which allows the counting of relationship instances that exist in the business reality. Otherwise, a factless fact entity behaves like any other fact entity that holds atomic facts, and its properties are therefore also the same.
- e.g. factless fact entity Guarantee Arrangement Fact
- e.g. factless fact entity Involved Party Fact
About fact entity granularity
A fact entity that represents the happening of an actual business transaction or a resulting measurement is naturally linked to a business data area, such as arrangement, involved party, location, or product. Those fact entities are grouped in subpackages of the Data Concept Facts package. They are defined at the lowest meaningful level of granularity and with a number of dimensions that make their measures (facts) reusable in multiple aggregation contexts. The measurement events represented in those fact entities may express either transactions, periodic snapshots, or accumulating snapshots. Those atomic facts are populated from numeric basic attributes in the Atomic Warehouse Model in environments where the Atomic Warehouse is deployed.
A fact entity that is specific to an aggregation context cannot be formally linked to a business data area. However, the aggregation context is defined by the analytical requirement that the fact entity supports. Therefore, those aggregate fact entities are grouped in subpackages of the Aggregate Facts package, which is functionally structured according to focus areas. The measures (aggregate facts) can be aggregated from other aggregate facts or from reusable more granular facts in the data concept fact entities. The dimensions on the aggregate fact entities are defined at the more coarse grain and shrunken versions of the dimensions of data concept fact entities.Properties
- Name (mandatory)
- A textual name that identifies the fact entity in title case (all words start with a capital letter). In the Data
Concept Facts subpackages, the name of a fact entity is based on the name of the data
concept in question , suffixed
with Fact. The name of an aggregate fact
entity is based on the name of the analytical requirements it originates from, suffixed with
Fact.
- e.g. data concept fact entity Campaign Activity Fact
- e.g. data concept fact entity Financial Market Instrument Issue Fact
- e.g. aggregate fact entity Credit Risk Analysis Fact
- e.g. aggregate fact entity Structured Finance Analysis Fact
- Dimensional type (mandatory)
- The dimensional type is set to Fact for all fact entities.
- Owning package (mandatory)
- The owning package to which the fact entity belongs. Fact entities that hold atomic measures are grouped in subpackages of the
Data Concept Facts package. The owning package of an aggregate fact entity is the
package that originates from the focus area of the analytical requirement that the fact entity
originates from. All packages holding aggregate fact entities are
grouped under the Aggregate Facts package.
- e.g. package Event Facts owns fact entity Campaign Activity Fact
- e.g. package Event Facts owns fact entity Financial Market Instrument Issue Fact
- e.g. package Involved Party Facts owns fact entity Household Snapshot Fact
- e.g. package Risk Management owns fact entity Credit Risk Analysis Fact
- e.g. package Asset & Liability Management owns fact entity Structured Finance Analysis Fact
- Description (mandatory)
- A complete and unambiguous description of the fact entity.
- Persistent (mandatory)
- A flag that indicates whether the entity is persistent or not. All entities of the
delivered model are set to persistent. When the persistent flag is enabled, the entity is included
in the scope of the practitioner, project, or enterprise data model. Note: A persistent entity is physically implemented when you transform the logical data model into a physical data model. When you harvest the data model, take care when you use the persistent flag. For example, project A can decide to include an entity, but project B can decide not to include it. When you harvest project A at the enterprise level, the entity is set to persistent, indicating that the entity is part of the enterprise data model. Afterward, when you harvest project B at the enterprise level, keep the entity as persistent, although project B does not include it.
- Measure attributes (mandatory)
- The measure attributes that describe the fact entity. All measures of a fact entity must be meaningful for all
dimensions of the fact entity and at the same level of granularity.
- e.g. measure attribute Number Of Campaign Activities describes fact entity Campaign Activity Fact
- e.g. measure attribute Issue Face Value Amount describes fact entity Financial Market Instrument Issue Fact
- e.g. measure attribute Household Liabilities describes fact entity Household Snapshot Fact
- e.g. measure attribute Average Credit Score describes fact entity Credit Risk Analysis Fact
- Relationships (mandatory)
- One or more relationships to the dimension entities, on which the measures of the fact entity
can be analyzed. Each relationship indicates an axis of analysis for the measures in the fact
entity. Each fact is related to the appropriate version of a dimension entity instance. A fact entity is related to a dimension entity at the lowest level
of granularity that is provided by this dimension entity. If that lowest level of granularity is not
applicable to the measures, a new dimension entity should be created. When a fact entity is populated from another fact entity, the latter should
have at least the same dimensions at the same or at a lower level of granularity.
- e.g. dimension entity Individual Dimension is parent of relationship is dimension of / has for dimension with fact entity Individual Snapshot Fact
- e.g. dimension entity Geographic Area Dimension is parent of relationship is ORIG GEO dimension of / has for ORIG GEO dimension with fact entity Payment Volume Cost And Revenue Fact
- e.g. dimension entity Geographic Area Dimension is parent of relationship is DST GEO dimension of / has for DST GEO dimension with fact entity Payment Volume Cost And Revenue Fact
- e.g. mini-dimension entity Geographic Area Mini Dimension is parent of relationship is ORIG GEO dimension of / has for ORIG GEO dimension with fact entity Payment Volume Cost And Revenue Fact
- e.g. mini-dimension entity Geographic Area Mini Dimension is parent of relationship is DST GEO dimension of / has for DST GEO dimension with fact entity Payment Volume Cost And Revenue Fact
- e.g. mini-dimension entity Geographic Area Mini Dimension is parent of relationship is dimension of / has for dimension with fact entity Foreign Financial Account Analysis Fact
- Primary key (mandatory)
- The primary key uniquely identifies an instance of the fact
entity. The primary key consists of multiple attributes, each of which is a foreign key to a
dimension entity. Only those dimensions of a fact entity that ensure the uniqueness of the primary
key participate in the compound primary key. Typically, when there is a parent-child dependency
between two dimension entities, only the foreign key of the child dimension entity needs to be
included in the primary key of the fact entity, resulting in a shorter primary key. For example, if
a dimension and its mini-dimension are related to a fact entity, only the foreign key of the
dimension participates in the primary key.
By convention, the name of the primary key is the name of the fact entity suffixed with PK.
- e.g. primary key Credit Risk Analysis Fact PK is the primary key of fact entity Credit Risk Analysis Fact
- e.g. primary key Structured Finance Analysis Fact PK is the primary key of fact entity Structured Finance Analysis Fact
- e.g. primary key Geographic Area Snapshot Fact PK is the primary key of fact entity Geographic Area Snapshot Fact
Note: In some cases, an attribute that is not a foreign key to a dimension entity may be part of the primary key. This happens when facing a degenerate dimension key.- e.g. attribute Sequence Number in fact entity Event Thread Fact
- Population timestamp attribute (mandatory)
- Fact Population Info is an attribute group that holds the technical attribute Population Timestamp, which indicates the date and time of the population cycle of the fact entity. This information is important for auditing purpose. Fact Population Info is used in all fact entities.
- Assigned terms (optional)
- One or more analytical requirements that this fact entity originates from. The assigned terms
maintain traceability between the DWM elements and the vocabulary. A fact entity that holds
aggregate measures is mapped to only one analytical requirement. A fact entity that holds atomic
measures can be mapped to one or more analytical requirements, or no particular analytical
requirement at all.
- e.g. analytical requirement Credit Risk Analysis is assigned to fact entity Credit Risk Analysis Fact
- e.g. analytical requirement Structured Finance Analysis is assigned to fact entity Structured Finance Analysis Fact