Star Schema Table Descriptions
By Jeffrey McDaniel on Jun 20, 2014
In the P6 Reporting Database STAR schema there are several acronyms on the tables. In this blog we will give a high level description of some of these tables and what the acronyms represents. In each description there will be key words you can use to search and find more information about the specific data warehousing terminology.
_DS, STG, _%S
These tables are used during the ETL process and is the first stop from some data being pulled from the P6 Extended schema. These are overwritten during each ETL run.
These are the foundation Dimensional tables that are used with P6 Analytics. During the ETL process these are repopulated each time. For more information search on Dimensions and Facts, high level a dimension contains information about a specific object. For example, Project (w_project_d), this table will contain information about Project - Project Name, Description, Dates, etc.
These _F tables are the foundation Fact tables that are used with P6 Analytics. These are also repopulated during each ETL run. For information search on Data warehouse Facts. An example is (w_activity_spread_f), and this fact table with activity spread data contains fields like costs and units. An exception are the Fact tables which contain History in the name. These are NOT repopulated each ETL run. These capture the historical records in the pre-defined intervals. History can be captured on the Project, WBS, or Activity level.
Historical dimensions represent our Slowly Changing Dimensions tables. SCD's capture changes over time. These are NOT repopulated during each ETL run. The historical values are saved and stored to represent when this row was valid. For example, w_project_hd, say you changed the project name. There will be a row representing what the project name was originally, and the period start and finish range of when that was the project name. On the next ETL run a new row will be inserted with the new project name and a period start date so you can determine as of which date this was the most recent record.
Historical fact tables were added as part of the Slowly Changing Dimension implementation and represent in a similar nature the storing of historical fact data. Similar to the _HD tables these rows are NOT repopulated during each ETL. They do however act like the _HD tables in that a row will represent each change captured for this fact row. For example, changing of a cost on an activity. These differences can be captured during ETL runs and will have the similar period start and end dates so you can determine when this value was the current record. _HF and _HD will not be automatically populated for all project data. These need to be opted in, by setting the project to Activity level history. Please plan accordingly before doing so, check the P6 Reporting Database Planning and Sizing guide as this will have a long term effect on the size of your Star Schema.
Tables with ETL_ are used for processing events such as expanding out and populating dynamic codes or capturing process related information. Generally these are not used for reporting as most serve an internal purpose. An example is the ETL_PROCESSMASTER table which captures a row and result for every ETL run, or ETL_PARAMETERS which captures the settings supplied from the configuration setup. Other tables contain metadata and mappings.