SlideShare a Scribd company logo
SOFTWARE/WEB/MOBILE/DATABASE ARCHITECT, ENGINEER, AND DEVELOPER
TORONTO, CANADA
HTTP://SAYED.JUSTETC.NET
HTTP://WWW.JUSTETC.NET
Sayed Ahmed
Data Warehouse Fact Table Design
Logical Design of a Data Warehouse
 This is a video just for the sake of a video
 I will not explain anything
 Just will walk through on some presentation
slides on Data Warehouse
OUR SERVICES
 Free Training and Educational Services
 Training and Education in Bangla:
 Bangla.SaLearningSchool.com
 Training and Education in English:
 www.SaLearningSchool.com
 English.SaLearningSchool.com
 http://sitestree.com
 Ask a question and get answers:
 Ask.JustEtc.net
FACT TABLE DESIGN
 Fact Table Design Topics
 Define fact table column types
 Understand the additivity of a measure
 i.e. for measure column type
 Handle many-to-many relationships in a Star
schema
FACT TABLE COLUMN TYPES
 Fact Table Column Types
 Foreign keys
 Measures
 Lineage columns (optional)
 Business key columns
 from the primary source table (optional)
 Surrogate keys
FACT TABLE COLUMNS - MEASURE
 Measure Column Type
 Measure columns help with measurements
 useful for a specific business process
 Measures columns are usually numeric
 And can be aggregated
 Measure columns store values that are of
interest to businesses such as
 sales amount, order quantity, and discount amount
MEASURES
 Fact tables - Measures
 Collection of measurements on a specific
aspects of business
 Measure columns
 sales amount, order quantity, and discount
amount.
FACT TABLE COLUMNS – FOREIGN KEY
 Foreign Key – Column Type
 These are the columns as coming from
Dimension Tables
 Are the primary keys of Dimension Tables
FACT TABLE COLUMNS – SURROGATE KEYS
 Surrogate Key
 Usually will comes from the primary dimension
table (primary for the current fact table)
 Usually one or two columns in a fact table are
surrogate keys

SURROGATE KEYS FOR FACT TABLES
OrderId and LineItemId are the
surrogate keys as coming from the
primary Source Order details table
OrderId and LineItemId columns will help
For quick comparisons with source data
Surrogate keys are not a must in fact tables;
however, they help
Must read:
http://www.kimballgroup.com/2006/07/d
esign-tip-81-fact-table-surrogate-key/
LINEAGE COLUMNS IN FACT TABLES
 Lineage columns
 Just as with dimension tables, these are strictly
for auditing purposes
 References:
 https://upsearch.com/implementing-a-data-
warehouse-fact-tables/
ADDITIVITY OF MEASURES
 The primary purpose of Data warehouse is reporting,
and forecasting
 Many times reports are aggregations such as sum
 Example: sales by quarter, by region, by product type
 Many reports are usually aggregations
 Hence, fact tables will have some columns to assist
with that measures and aggregations for reporting
 These are the measures columns as we discussed
before
 The measures that you add will help in how you want
to do the measures and reporting
TYPES OF ADDITIVITY OF MEASURES
 Types of Additivity of Measures
 additive measures
 Semi-additive measures
 non-additive measures

ADDITIVE, SEMI-ADDITIVE MEASURES
 Additive
 If a measure can be summed across all dimensions
 Semi-additive
 Sometimes, we can sum a measure across all
dimensions except for time
 such as account balance
 We can’t sum the account balance across the time
dimension
 We would need to do something like take the average
instead
 or simply use the last value
 Measures like this are called semi-additive measures
NON-ADDITIVE MEASURES
 Some measures can’t ever be summed
 These are called non-additive measures
 Such as discount percentages and prices
 These are the non-additive measures
ADDITIVITY OF MEASURES IN SSAS
 SSAS has support for semi-additive and non-
additive measures
 The SSAS database model
 Business Intelligence Semantic Model (BISM).
 BISM includes way more additional metadata
than RDBMS
 SSAS has two types of storage
 dimensional and
 tabular
SSAS AND ADDITIVITY OF MEASURES
 Tabular storage works through tables like a
data warehouse does
 quicker to develop
 The dimensional model
 more properly represents a cube
 The dimensional model includes
 even more metadata than the tabular model
SSAS AND ADDITIVITY OF MEASURES
 In BISM dimensional processing
 SSAS offers semi-additive aggregate functions
out of the box
 For example,
 SSAS offers the LastNonEmpty aggregate
function
 which properly uses the SUM aggregate function
across all dimensions but time
 and defines the last known value as the aggregate
over time
SSAS AND ADDITIVITY OF MEASURES
 In the BISM tabular model
 you use the Data Analysis Expression (DAX)
language
 The DAX language includes functions that let
you build semi-additive expressions quite quickly
as well
MANY TO MANY RELATIONSHIPS IN DATA WAREHOUSE
 RDBMS Many to Many Relationship
MANY TO MANY IN RDBMS AND DW
 RDBMS Model as above image is ok, Because
 Every internet sales will have multiple reasons
 Every reasons will have multiple internet sales
 However, data warehouse has issues with such
modeling
 because when using tools to build reporting the fact
table is expected to be on the many side
 In the above picture, fact table is on the one side
 In SSAS reporting, many times, we use tools that
build MDX queries that expect the schema to be
perfectly in star or snow-flake schema
HOW CAN WE RESOLVE ...
 In SSAS with a BISM dimensional model
 you can solve the problem by creating an
intermediate dimension between both fact tables
 Picture as below
MANY TO MANY RELATIONSHIP
DW MANY TO MANY
 You create it from the primary key of
theFactInternetSales table
 DimFactInternetSales.
 put it on the “one” side of the relationships with both fact
tables
 Now, both fact tables are always on the “many”
side of any relationship
 However, the relationship between
theFactInternetSales and the
new DimFactInternetSales dimension
 is de facto one to one
THANK YOU
?
http://ask.justetc.net
OUR SERVICES
 Free Training and Educational Services
 Training and Education in Bangla:
 Bangla.SaLearningSchool.com
 Training and Education in English:
 www.SaLearningSchool.com
 English.SaLearningSchool.com
 http://sitestree.com
 Ask a question and get answers:
 Ask.JustEtc.net

More Related Content

What's hot

Introduction to DAX Language
Introduction to DAX LanguageIntroduction to DAX Language
Introduction to DAX Language
Antonios Chatzipavlis
 
SavvyData 'Ace of Charts' in FileMaker Pro 11
SavvyData 'Ace of Charts' in FileMaker Pro 11SavvyData 'Ace of Charts' in FileMaker Pro 11
SavvyData 'Ace of Charts' in FileMaker Pro 11
SavvyData
 
Intro to DAX Patterns
Intro to DAX PatternsIntro to DAX Patterns
Intro to DAX Patterns
Eric Bragas
 
DAX (Data Analysis eXpressions) from Zero to Hero
DAX (Data Analysis eXpressions) from Zero to HeroDAX (Data Analysis eXpressions) from Zero to Hero
DAX (Data Analysis eXpressions) from Zero to Hero
Microsoft TechNet - Belgium and Luxembourg
 
Data Analysis & Visualization using MS. Excel
Data Analysis & Visualization using MS. ExcelData Analysis & Visualization using MS. Excel
Data Analysis & Visualization using MS. Excel
Frehiwot Mulugeta
 
Graphing
GraphingGraphing
Graphing
Sr Edith Bogue
 
Data analysis and Data Visualization using Microsoft Excel
Data analysis and Data Visualization using Microsoft ExcelData analysis and Data Visualization using Microsoft Excel
Data analysis and Data Visualization using Microsoft Excel
Frehiwot Mulugeta
 
Charts in excel 2007
Charts in excel 2007Charts in excel 2007
Charts in excel 2007bloftinsaisd
 
Tableau online training
Tableau online trainingTableau online training
Tableau online training
suresh
 
Pivot table and Dashboard in microsoft excel
Pivot table  and Dashboard in microsoft excelPivot table  and Dashboard in microsoft excel
Pivot table and Dashboard in microsoft excel
Frehiwot Mulugeta
 
Introduction to Basic Spreadsheets
Introduction to Basic SpreadsheetsIntroduction to Basic Spreadsheets
Introduction to Basic Spreadsheets
Kingston Tagoe
 
Creating Chart
Creating ChartCreating Chart
Creating Chart
tieny8085
 
9 Amazingly Simple Data Presentation Tips
9 Amazingly Simple Data Presentation Tips9 Amazingly Simple Data Presentation Tips
9 Amazingly Simple Data Presentation Tips
SketchBubble
 
Dax en
Dax enDax en
Dax en
Marco Pozzan
 
Computer midterms
Computer midtermsComputer midterms
Computer midterms
Emjei Mendoza
 
SPSS
SPSSSPSS
Common Msisdn Resource Number Management
Common Msisdn Resource   Number ManagementCommon Msisdn Resource   Number Management
Common Msisdn Resource Number ManagementRoman Agaev
 

What's hot (17)

Introduction to DAX Language
Introduction to DAX LanguageIntroduction to DAX Language
Introduction to DAX Language
 
SavvyData 'Ace of Charts' in FileMaker Pro 11
SavvyData 'Ace of Charts' in FileMaker Pro 11SavvyData 'Ace of Charts' in FileMaker Pro 11
SavvyData 'Ace of Charts' in FileMaker Pro 11
 
Intro to DAX Patterns
Intro to DAX PatternsIntro to DAX Patterns
Intro to DAX Patterns
 
DAX (Data Analysis eXpressions) from Zero to Hero
DAX (Data Analysis eXpressions) from Zero to HeroDAX (Data Analysis eXpressions) from Zero to Hero
DAX (Data Analysis eXpressions) from Zero to Hero
 
Data Analysis & Visualization using MS. Excel
Data Analysis & Visualization using MS. ExcelData Analysis & Visualization using MS. Excel
Data Analysis & Visualization using MS. Excel
 
Graphing
GraphingGraphing
Graphing
 
Data analysis and Data Visualization using Microsoft Excel
Data analysis and Data Visualization using Microsoft ExcelData analysis and Data Visualization using Microsoft Excel
Data analysis and Data Visualization using Microsoft Excel
 
Charts in excel 2007
Charts in excel 2007Charts in excel 2007
Charts in excel 2007
 
Tableau online training
Tableau online trainingTableau online training
Tableau online training
 
Pivot table and Dashboard in microsoft excel
Pivot table  and Dashboard in microsoft excelPivot table  and Dashboard in microsoft excel
Pivot table and Dashboard in microsoft excel
 
Introduction to Basic Spreadsheets
Introduction to Basic SpreadsheetsIntroduction to Basic Spreadsheets
Introduction to Basic Spreadsheets
 
Creating Chart
Creating ChartCreating Chart
Creating Chart
 
9 Amazingly Simple Data Presentation Tips
9 Amazingly Simple Data Presentation Tips9 Amazingly Simple Data Presentation Tips
9 Amazingly Simple Data Presentation Tips
 
Dax en
Dax enDax en
Dax en
 
Computer midterms
Computer midtermsComputer midterms
Computer midterms
 
SPSS
SPSSSPSS
SPSS
 
Common Msisdn Resource Number Management
Common Msisdn Resource   Number ManagementCommon Msisdn Resource   Number Management
Common Msisdn Resource Number Management
 

Similar to Fact table design for data ware house

Data ware dimension design
Data ware   dimension designData ware   dimension design
Data ware dimension design
Sayed Ahmed
 
Data ware dimension design
Data ware   dimension designData ware   dimension design
Data ware dimension design
Sayed Ahmed
 
Dimensional Modeling
Dimensional ModelingDimensional Modeling
Dimensional Modeling
Sunita Sahu
 
Designing the business process dimensional model
Designing the business process dimensional modelDesigning the business process dimensional model
Designing the business process dimensional modelGersiton Pila Challco
 
Data ware house design
Data ware house designData ware house design
Data ware house design
Sayed Ahmed
 
Data ware house design
Data ware house designData ware house design
Data ware house design
Sayed Ahmed
 
Découverte d'Einstein Analytics (Tableau CRM)
Découverte d'Einstein Analytics (Tableau CRM)Découverte d'Einstein Analytics (Tableau CRM)
Découverte d'Einstein Analytics (Tableau CRM)
Doria Hamelryk
 
Case study: Implementation of dimension table and fact table
Case study: Implementation of dimension table and fact tableCase study: Implementation of dimension table and fact table
Case study: Implementation of dimension table and fact table
chirag patil
 
Building Bi Dashboards With SAS Gauges and SAS BI Portal
Building Bi Dashboards With SAS Gauges and SAS BI PortalBuilding Bi Dashboards With SAS Gauges and SAS BI Portal
Building Bi Dashboards With SAS Gauges and SAS BI Portal
simienc
 
Star schema
Star schemaStar schema
Tableau Desktop Material
Tableau Desktop MaterialTableau Desktop Material
Tableau Desktop Material
Kishore Chaganti
 
Data Warehouse Models and Operators.ppt
Data  Warehouse Models and Operators.pptData  Warehouse Models and Operators.ppt
Data Warehouse Models and Operators.ppt
gosavi609
 
CS636-olap.ppt
CS636-olap.pptCS636-olap.ppt
CS636-olap.ppt
Iftikharbaig7
 
Dimensional modelling-mod-3
Dimensional modelling-mod-3Dimensional modelling-mod-3
Dimensional modelling-mod-3Malik Alig
 
The Data Warehouse Lifecycle
The Data Warehouse LifecycleThe Data Warehouse Lifecycle
The Data Warehouse Lifecyclebartlowe
 
Dimensional Modeling Concepts_Nishant.ppt
Dimensional Modeling Concepts_Nishant.pptDimensional Modeling Concepts_Nishant.ppt
Dimensional Modeling Concepts_Nishant.ppt
nishant523869
 
Introduction to Dimesional Modelling
Introduction to Dimesional ModellingIntroduction to Dimesional Modelling
Introduction to Dimesional ModellingAshish Chandwani
 
Teradata Aggregate Join Indices And Dimensional Models
Teradata Aggregate Join Indices And Dimensional ModelsTeradata Aggregate Join Indices And Dimensional Models
Teradata Aggregate Join Indices And Dimensional Models
pepeborja
 
Rodney Matejek Portfolio
Rodney Matejek PortfolioRodney Matejek Portfolio
Rodney Matejek Portfolio
rmatejek
 

Similar to Fact table design for data ware house (20)

Data ware dimension design
Data ware   dimension designData ware   dimension design
Data ware dimension design
 
Data ware dimension design
Data ware   dimension designData ware   dimension design
Data ware dimension design
 
Getting power bi
Getting power biGetting power bi
Getting power bi
 
Dimensional Modeling
Dimensional ModelingDimensional Modeling
Dimensional Modeling
 
Designing the business process dimensional model
Designing the business process dimensional modelDesigning the business process dimensional model
Designing the business process dimensional model
 
Data ware house design
Data ware house designData ware house design
Data ware house design
 
Data ware house design
Data ware house designData ware house design
Data ware house design
 
Découverte d'Einstein Analytics (Tableau CRM)
Découverte d'Einstein Analytics (Tableau CRM)Découverte d'Einstein Analytics (Tableau CRM)
Découverte d'Einstein Analytics (Tableau CRM)
 
Case study: Implementation of dimension table and fact table
Case study: Implementation of dimension table and fact tableCase study: Implementation of dimension table and fact table
Case study: Implementation of dimension table and fact table
 
Building Bi Dashboards With SAS Gauges and SAS BI Portal
Building Bi Dashboards With SAS Gauges and SAS BI PortalBuilding Bi Dashboards With SAS Gauges and SAS BI Portal
Building Bi Dashboards With SAS Gauges and SAS BI Portal
 
Star schema
Star schemaStar schema
Star schema
 
Tableau Desktop Material
Tableau Desktop MaterialTableau Desktop Material
Tableau Desktop Material
 
Data Warehouse Models and Operators.ppt
Data  Warehouse Models and Operators.pptData  Warehouse Models and Operators.ppt
Data Warehouse Models and Operators.ppt
 
CS636-olap.ppt
CS636-olap.pptCS636-olap.ppt
CS636-olap.ppt
 
Dimensional modelling-mod-3
Dimensional modelling-mod-3Dimensional modelling-mod-3
Dimensional modelling-mod-3
 
The Data Warehouse Lifecycle
The Data Warehouse LifecycleThe Data Warehouse Lifecycle
The Data Warehouse Lifecycle
 
Dimensional Modeling Concepts_Nishant.ppt
Dimensional Modeling Concepts_Nishant.pptDimensional Modeling Concepts_Nishant.ppt
Dimensional Modeling Concepts_Nishant.ppt
 
Introduction to Dimesional Modelling
Introduction to Dimesional ModellingIntroduction to Dimesional Modelling
Introduction to Dimesional Modelling
 
Teradata Aggregate Join Indices And Dimensional Models
Teradata Aggregate Join Indices And Dimensional ModelsTeradata Aggregate Join Indices And Dimensional Models
Teradata Aggregate Join Indices And Dimensional Models
 
Rodney Matejek Portfolio
Rodney Matejek PortfolioRodney Matejek Portfolio
Rodney Matejek Portfolio
 

More from Sayed Ahmed

Workplace, Data Analytics, and Ethics
Workplace, Data Analytics, and EthicsWorkplace, Data Analytics, and Ethics
Workplace, Data Analytics, and Ethics
Sayed Ahmed
 
Python py charm anaconda jupyter installation and basic commands
Python py charm anaconda jupyter   installation and basic commandsPython py charm anaconda jupyter   installation and basic commands
Python py charm anaconda jupyter installation and basic commands
Sayed Ahmed
 
[not edited] Demo on mobile app development using ionic framework
[not edited] Demo on mobile app development using ionic framework[not edited] Demo on mobile app development using ionic framework
[not edited] Demo on mobile app development using ionic framework
Sayed Ahmed
 
Sap hana-ide-overview-nodev
Sap hana-ide-overview-nodevSap hana-ide-overview-nodev
Sap hana-ide-overview-nodev
Sayed Ahmed
 
Invest wisely
Invest wiselyInvest wisely
Invest wisely
Sayed Ahmed
 
Will be an introduction to
Will be an introduction toWill be an introduction to
Will be an introduction to
Sayed Ahmed
 
Whm and cpanel overview hosting control panel overview
Whm and cpanel overview   hosting control panel overviewWhm and cpanel overview   hosting control panel overview
Whm and cpanel overview hosting control panel overview
Sayed Ahmed
 
Web application development using zend framework
Web application development using zend frameworkWeb application development using zend framework
Web application development using zend framework
Sayed Ahmed
 
Web design and_html_part_3
Web design and_html_part_3Web design and_html_part_3
Web design and_html_part_3
Sayed Ahmed
 
Web design and_html_part_2
Web design and_html_part_2Web design and_html_part_2
Web design and_html_part_2
Sayed Ahmed
 
Web design and_html
Web design and_htmlWeb design and_html
Web design and_html
Sayed Ahmed
 
Visual studio ide shortcuts
Visual studio ide shortcutsVisual studio ide shortcuts
Visual studio ide shortcuts
Sayed Ahmed
 
Virtualization
VirtualizationVirtualization
Virtualization
Sayed Ahmed
 
User interfaces
User interfacesUser interfaces
User interfaces
Sayed Ahmed
 
Unreal
UnrealUnreal
Unreal
Sayed Ahmed
 
Unit tests in_symfony
Unit tests in_symfonyUnit tests in_symfony
Unit tests in_symfony
Sayed Ahmed
 
Telerik this is sayed
Telerik this is sayedTelerik this is sayed
Telerik this is sayed
Sayed Ahmed
 
System analysis and_design
System analysis and_designSystem analysis and_design
System analysis and_design
Sayed Ahmed
 
Symfony 2
Symfony 2Symfony 2
Symfony 2
Sayed Ahmed
 
Story telling and_narrative
Story telling and_narrativeStory telling and_narrative
Story telling and_narrative
Sayed Ahmed
 

More from Sayed Ahmed (20)

Workplace, Data Analytics, and Ethics
Workplace, Data Analytics, and EthicsWorkplace, Data Analytics, and Ethics
Workplace, Data Analytics, and Ethics
 
Python py charm anaconda jupyter installation and basic commands
Python py charm anaconda jupyter   installation and basic commandsPython py charm anaconda jupyter   installation and basic commands
Python py charm anaconda jupyter installation and basic commands
 
[not edited] Demo on mobile app development using ionic framework
[not edited] Demo on mobile app development using ionic framework[not edited] Demo on mobile app development using ionic framework
[not edited] Demo on mobile app development using ionic framework
 
Sap hana-ide-overview-nodev
Sap hana-ide-overview-nodevSap hana-ide-overview-nodev
Sap hana-ide-overview-nodev
 
Invest wisely
Invest wiselyInvest wisely
Invest wisely
 
Will be an introduction to
Will be an introduction toWill be an introduction to
Will be an introduction to
 
Whm and cpanel overview hosting control panel overview
Whm and cpanel overview   hosting control panel overviewWhm and cpanel overview   hosting control panel overview
Whm and cpanel overview hosting control panel overview
 
Web application development using zend framework
Web application development using zend frameworkWeb application development using zend framework
Web application development using zend framework
 
Web design and_html_part_3
Web design and_html_part_3Web design and_html_part_3
Web design and_html_part_3
 
Web design and_html_part_2
Web design and_html_part_2Web design and_html_part_2
Web design and_html_part_2
 
Web design and_html
Web design and_htmlWeb design and_html
Web design and_html
 
Visual studio ide shortcuts
Visual studio ide shortcutsVisual studio ide shortcuts
Visual studio ide shortcuts
 
Virtualization
VirtualizationVirtualization
Virtualization
 
User interfaces
User interfacesUser interfaces
User interfaces
 
Unreal
UnrealUnreal
Unreal
 
Unit tests in_symfony
Unit tests in_symfonyUnit tests in_symfony
Unit tests in_symfony
 
Telerik this is sayed
Telerik this is sayedTelerik this is sayed
Telerik this is sayed
 
System analysis and_design
System analysis and_designSystem analysis and_design
System analysis and_design
 
Symfony 2
Symfony 2Symfony 2
Symfony 2
 
Story telling and_narrative
Story telling and_narrativeStory telling and_narrative
Story telling and_narrative
 

Recently uploaded

Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 

Recently uploaded (20)

Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 

Fact table design for data ware house

  • 1. SOFTWARE/WEB/MOBILE/DATABASE ARCHITECT, ENGINEER, AND DEVELOPER TORONTO, CANADA HTTP://SAYED.JUSTETC.NET HTTP://WWW.JUSTETC.NET Sayed Ahmed Data Warehouse Fact Table Design Logical Design of a Data Warehouse
  • 2.  This is a video just for the sake of a video  I will not explain anything  Just will walk through on some presentation slides on Data Warehouse
  • 3. OUR SERVICES  Free Training and Educational Services  Training and Education in Bangla:  Bangla.SaLearningSchool.com  Training and Education in English:  www.SaLearningSchool.com  English.SaLearningSchool.com  http://sitestree.com  Ask a question and get answers:  Ask.JustEtc.net
  • 4. FACT TABLE DESIGN  Fact Table Design Topics  Define fact table column types  Understand the additivity of a measure  i.e. for measure column type  Handle many-to-many relationships in a Star schema
  • 5. FACT TABLE COLUMN TYPES  Fact Table Column Types  Foreign keys  Measures  Lineage columns (optional)  Business key columns  from the primary source table (optional)  Surrogate keys
  • 6. FACT TABLE COLUMNS - MEASURE  Measure Column Type  Measure columns help with measurements  useful for a specific business process  Measures columns are usually numeric  And can be aggregated  Measure columns store values that are of interest to businesses such as  sales amount, order quantity, and discount amount
  • 7. MEASURES  Fact tables - Measures  Collection of measurements on a specific aspects of business  Measure columns  sales amount, order quantity, and discount amount.
  • 8. FACT TABLE COLUMNS – FOREIGN KEY  Foreign Key – Column Type  These are the columns as coming from Dimension Tables  Are the primary keys of Dimension Tables
  • 9. FACT TABLE COLUMNS – SURROGATE KEYS  Surrogate Key  Usually will comes from the primary dimension table (primary for the current fact table)  Usually one or two columns in a fact table are surrogate keys 
  • 10. SURROGATE KEYS FOR FACT TABLES OrderId and LineItemId are the surrogate keys as coming from the primary Source Order details table OrderId and LineItemId columns will help For quick comparisons with source data Surrogate keys are not a must in fact tables; however, they help Must read: http://www.kimballgroup.com/2006/07/d esign-tip-81-fact-table-surrogate-key/
  • 11. LINEAGE COLUMNS IN FACT TABLES  Lineage columns  Just as with dimension tables, these are strictly for auditing purposes  References:  https://upsearch.com/implementing-a-data- warehouse-fact-tables/
  • 12. ADDITIVITY OF MEASURES  The primary purpose of Data warehouse is reporting, and forecasting  Many times reports are aggregations such as sum  Example: sales by quarter, by region, by product type  Many reports are usually aggregations  Hence, fact tables will have some columns to assist with that measures and aggregations for reporting  These are the measures columns as we discussed before  The measures that you add will help in how you want to do the measures and reporting
  • 13. TYPES OF ADDITIVITY OF MEASURES  Types of Additivity of Measures  additive measures  Semi-additive measures  non-additive measures 
  • 14. ADDITIVE, SEMI-ADDITIVE MEASURES  Additive  If a measure can be summed across all dimensions  Semi-additive  Sometimes, we can sum a measure across all dimensions except for time  such as account balance  We can’t sum the account balance across the time dimension  We would need to do something like take the average instead  or simply use the last value  Measures like this are called semi-additive measures
  • 15. NON-ADDITIVE MEASURES  Some measures can’t ever be summed  These are called non-additive measures  Such as discount percentages and prices  These are the non-additive measures
  • 16. ADDITIVITY OF MEASURES IN SSAS  SSAS has support for semi-additive and non- additive measures  The SSAS database model  Business Intelligence Semantic Model (BISM).  BISM includes way more additional metadata than RDBMS  SSAS has two types of storage  dimensional and  tabular
  • 17. SSAS AND ADDITIVITY OF MEASURES  Tabular storage works through tables like a data warehouse does  quicker to develop  The dimensional model  more properly represents a cube  The dimensional model includes  even more metadata than the tabular model
  • 18. SSAS AND ADDITIVITY OF MEASURES  In BISM dimensional processing  SSAS offers semi-additive aggregate functions out of the box  For example,  SSAS offers the LastNonEmpty aggregate function  which properly uses the SUM aggregate function across all dimensions but time  and defines the last known value as the aggregate over time
  • 19. SSAS AND ADDITIVITY OF MEASURES  In the BISM tabular model  you use the Data Analysis Expression (DAX) language  The DAX language includes functions that let you build semi-additive expressions quite quickly as well
  • 20. MANY TO MANY RELATIONSHIPS IN DATA WAREHOUSE  RDBMS Many to Many Relationship
  • 21. MANY TO MANY IN RDBMS AND DW  RDBMS Model as above image is ok, Because  Every internet sales will have multiple reasons  Every reasons will have multiple internet sales  However, data warehouse has issues with such modeling  because when using tools to build reporting the fact table is expected to be on the many side  In the above picture, fact table is on the one side  In SSAS reporting, many times, we use tools that build MDX queries that expect the schema to be perfectly in star or snow-flake schema
  • 22. HOW CAN WE RESOLVE ...  In SSAS with a BISM dimensional model  you can solve the problem by creating an intermediate dimension between both fact tables  Picture as below
  • 23. MANY TO MANY RELATIONSHIP
  • 24. DW MANY TO MANY  You create it from the primary key of theFactInternetSales table  DimFactInternetSales.  put it on the “one” side of the relationships with both fact tables  Now, both fact tables are always on the “many” side of any relationship  However, the relationship between theFactInternetSales and the new DimFactInternetSales dimension  is de facto one to one
  • 26. OUR SERVICES  Free Training and Educational Services  Training and Education in Bangla:  Bangla.SaLearningSchool.com  Training and Education in English:  www.SaLearningSchool.com  English.SaLearningSchool.com  http://sitestree.com  Ask a question and get answers:  Ask.JustEtc.net