SlideShare una empresa de Scribd logo
1 de 55
Descargar para leer sin conexión
When Facts and Dimensions
Alone Aren't the Answer:
Logically Reversing the Star Schema
Kathryn Watson
Solution Architect at Perficient
Economist & Financial Analyst by education,
BI Professional by passion
Email: kathryn.watson@perficient.com
LinkedIn: www.linkedin.com/pub/kathryn-watson/a/431/354/
Kathryn Watson
 What is a Reverse Star Schema?
 Why and when would I use a Reverse Star Schema?
 How would I implement a Reverse Star Schema?
 What about data integrity?
While addressing these questions, we’ll walk through a
real life implementation within the healthcare industry.
The Questions We’ll Answer Today:
The Star Schema has long been the foundation of
effective BI applications
● Optimized for the speedy return of business facts and their
corresponding descriptors
● Supports the manner in which businesses ask typical business
questions
Let’s Start With the Basics
Show me A, filtered by B and aggregated by C & D
Let’s Start With the Basics (cntd.)
A
B C
D
Show me Z, filtered and aggregated by W, X & Y
Let’s Start With the Basics (cntd.)
Z
W X
Y
 Data warehouses commonly include multiple facts
 These multiple facts often share dimensions, called
conformed dimensions
Let’s Start With the Basics (cntd.)
 Conformed dimensions facilitate answering multi-
faceted business questions.
 Show me A & Z, aggregated and/or filtered by N
Let’s Start With the Basics (cntd.)
A
B C
D
Z
W X
Y
N
 As BI implementations mature, the questions your
users are asking often do as well.
 Show me Z, filtered by B & C and aggregated by Y
And Continue Along the BI Maturity Model
A
B C
D
Z
W X
Y
N
In this scenario:
● B and C are not dimensions of Z
● B and C are not subsets of Y
● B and C are not directly related to the Fact (Z) they are required to
affect
And Continue Along the BI Maturity Model (cntd.)
A
B C
D
Z
W X
Y
N
We’ve now encountered a very practical use case for
the Reverse Star Schema.
And Continue Along the BI Maturity Model (cntd.)
A typical Reverse Star Schema flips the concept of
what information is being returned to the user. Rather
than factual information being the star of the show, the
dimensional information is the main event.
In all Reverse Star Schemas, the relationships between
facts and dimensions are flipped; rather than a one-to-
many dimension to fact relationship, the Reverse Star
Schema introduces a one-to-many or many-to-many
fact to dimension relationship.
So, What is a Reverse Star Schema?
 Sometimes, the return of the intersection of
dimensional data is truly all the user needs
 More often, the Reverse Star Schema is the avenue
to establish cause-and-effect relationships amongst
indirectly related data concepts
When and Why Would I Use This?
Let’s return to the scenario we showcased previously:
show me Z, filtered by B & C and aggregated by Y
When and Why Would I Use This? (cntd.)
A
B C
D
Z
W X
Y
N
B & C’s relationship to Z is established through fact A
and conformed dimension N
When and Why Would I Use This? (cntd.)
A
B C
D
Z
W X
Y
N
 The values of A & N aren’t of interest to the user
 A & N are simply avenues through which the needed
attributes are accessed
When and Why Would I Use This? (cntd.)
A
B C
D
Z
W X
Y
N
Let’s apply this concept to the real world:
When and Why Would I Use This? (cntd.)
One of the nation’s top cancer care centers was seeking an on-
demand means to identify patient cohorts.
Physicians should be able to refine cohorts by basic tumor
information and various disconnected factors of cancer care:
Tumors – initial presentation date and type
Histologies – cancer type and structure over time
Stagings – cancer severity
Statuses – active, in remission, etc.
Treatments – chemotherapy, radiation, other
A filter applied to any of these concepts should affect the results
of all concepts, even though the concepts are independent of
each other.
Let’s apply this concept to the real world (cntd.):
During the analysis phase, it was confirmed that everything was
directly related to the patient’s instance of cancer (Tumor).
All other concepts, though factual concepts in their own right, for
this purpose were informational.
It’s all about the Tumor. Everything else is informational.
When and Why Would I Use This? (cntd.)
Much like our use case scenario, a multi-fact Star Schema
emerged.
● 5 Facts with Independent Dimensions
● Tumors/Documents (F_CLNCL_DOC)
● Histologies (F_TMR_HISTOL)
● Stagings (F_TMR_STG)
● Statuses (F_TMR_STAT)
● Treatments (F_TMR_TRTMT)
● 1 Conformed Dimension shared by all facts
● Tumors (D_PT_TMR)
Let’s apply this concept to the real world (cntd.):
When and Why Would I Use This? (cntd.)
Let’s apply this concept to the real world (cntd.):
When and Why Would I Use This? (cntd.)
Implemented in OBIEE, the Dimensional Model = OBIEE Physical
Layer, except for:
● EIW Dimensions
● Date dimension aliased for each of its purposes (17 aliases)
● Provider dimension aliased for each of its purposes (3 aliases)
● 4 Additional Facts
● Users stated the requirement to analyze treatments as separate entities for some use-
cases, and as consolidated activities in other use-cases
● This is achieved by placing database views on top of F_TMR_TRTMT, with one view
for each treatment type
Let’s apply this concept to the real world (cntd.):
When and Why Would I Use This? (cntd.)
Let’s apply this concept to the real world (cntd.):
When and Why Would I Use This? (cntd.)
Let’s apply this concept to the real world (cntd.):
When and Why Would I Use This? (cntd.)
But the classic Star Schema did not support our main
requirement:
A filter applied to any of these concepts should affect the results of all
concepts, even though the concepts are independent of each other.
It’s all about the Tumor. Everything else is informational.
In the classic Star Schema design, each fact and its dimensions
are independent of the other facts.
Filters applied to the dimensions of one fact do not affect the
results returned in another fact.
Ok, How Would I implement This?
To fill our requirement that filters applied to the dimension of one
fact should affect the results returned in another fact:
● “Sub-Facts” (Statuses, Stagings, Histologies, Treatments) should be
treated as dimensions of the central fact (Tumors/Documents) through
the conformed dimension (Tumors).
● This would create a reverse snowflake schema
● One fact: F_CLNCL_DOC (Tumors/Documents)
● Central Dimension: D_PT_TMR (Tumors)
● All other tables are dimensions that flake off of D_PT_TMR and their “Sub-Facts”.
(One to many join between D_PT_TMR and other facts reversed, becoming many to
one)
Continuing with our real world example:
Ok, How Would I implement This? (cntd.)
So, should our Dimensional Model/RPD Physical Layer be re-
designed to support this?
No.
Continuing with our real world example:
Ok, How Would I implement This? (cntd.)
The Dimensional Model/RPD Physical Layer should remain As Is
(a classic Star Schema)
● The “Sub-Facts” truly are facts/transactions. They can be analyzed
independently
● Current requirements dictate that the “Sub-Facts” are simply avenues
to descriptive attributes
● However, future requirements may dictate the need to analyze these
“Sub-Facts” individually; we don’t want to lose this capability through a
redesign
Continuing with our real world example:
Ok, How Would I implement This? (cntd.)
The Reverse Star Schema is built logically in the RPD BMM layer:
● Individual Dimension Tables are brought over from the Physical Layer
● The Logical Table Source (LTS) for each Dimension Table is edited to
include its “Sub-Fact” table as well as D_PT_TMR
Continuing with our real world example:
Ok, How Would I implement This? (cntd.)
The Reverse Star Schema is built logically in the RPD BMM layer
(cntd.):
● The dimension table is then logically joined directly to the central fact
(FACT_ALS_F_CLNCL_DOC)
Continuing with our real world example:
Ok, How Would I implement This? (cntd.)
The Reverse Star Schema is built logically in the RPD BMM layer
(cntd.):
● The joins in the Physical Layer remain the same.
Continuing with our real world example:
Dimension DimensionFact Fact
Ok, How Would I implement This? (cntd.)
This process is completed until all dimension tables join directly
to the central fact (FACT_ALS_F_CLNCL_DOC) in the BMM
“Sub-Facts” were not brought in as logical tables in the BMM for
this implementation, as there were no requirements for them.
● These “Sub-Facts” can be brought in as independent facts later if
needed, creating a multi-facted Star Schema
● If a “Sub-Fact” is brought in at a later time, it need simply be joined to
its relevant Dimensions; OBIEE will recognize that only one table in the
LTS need be used for the Join
Continuing with our real world example:
Ok, How Would I implement This? (cntd.)
Continuing with our real world example:
What about data integrity?
Continuing with our real world example:
Aggregation is fine so long as your aggregations are all count
distinct.
But what about when your aggregation is something other than a
count distinct?
Ay, there’s the rub! Luckily, OBIEE has a quick and easy
solution: level based measures and/or measures based upon
dimensions
What about data integrity?
Continuing with our real world example:
We had to set our non-count distinct aggregations to be Based on
Dimensions in order to achieve correct aggregation of our
measures
● For the conformed dimension (DIM_ALS_D_PT_TMR or Tumors), take
the Distinct Average of the measure
● For all Other Dimensions, simply Average the Measure
What about data integrity?
Continuing with our real world example:
Why does this work?
● OBIEE will first average distinct the measure at the Tumor level.
Since the Tumor level is the lowest granularity, this will equate to the
original measure
● OBIEE will then average the population of these distinct averages by
whatever other dimensions are brought into the request
What about data integrity?
Continuing with our real world example:
Why is this necessary?
● In our data set, our “Sub-Facts” can have multiple instances per tumor.
● We have transitioned our “Sub-Facts” to act as avenues between their
own dimensions and the central fact (FACT_F_CLNCL_DOC) for the
formation of the Star Schema in the BMM
● As a result, we can (and do) experience “ballooning”
What about data integrity?
Continuing with our real world example:
Why is this necessary (cntd.)?
Two Tumors, each with one row of data:
vs.
Same two Tumors, with Staging Date added to the query. The 1st Tumor now has two rows
of data, one for each of its Staging Dates. The 2nd Tumor still has only one row of data, as it
has only one Staging Date.
What about data integrity?
Continuing with our real world example:
Why is this necessary? (cntd.)
● With the inflated data, we can’t simply average: tumors that have
ballooned out would be weighted more heavily in our average
calculation than those that have not
349.67
If the Aggregation Rule in our RPD was simply set to “Average,”
OBIEE would calculate the average of the above as 349.67
[ (493 + 493 + 63) / 3 ]
What about data integrity?
Continuing with our real world example:
Why is this necessary? (cntd.)
● To remove the “weight” given to a measure when its tumor appears in
the results more than once, we have to tell OBIEE to base the
aggregation on Dimensions
What about data integrity?
Continuing with our real world example:
Why is this necessary? (cntd.)
● OBIEE would first calculate the Average at the Tumor Level
AVG(DISTINCT "SCD-Tumor Management"."FACT_ALS_F_CLNCL_DOC"."Follow Up Time")
What about data integrity?
Continuing with our real world example:
Why is this necessary? (cntd.)
● OBIEE would then average this average
AVG("SCD-Tumor Management"."FACT_ALS_F_CLNCL_DOC"."Follow Up Time")
● Our average calculates correctly, at 278
[ (493 + 63) / 2 ]
Questions?
Additional Implementation Notes
Non Star Schema Structures:
● Non-Star Schema structures can work and do not necessarily
cause incorrect results
● However, they are not ideal and can greatly complicate
implementation, expansion, and maintenance
Additional Implementation Notes (cntd.)
Non Star Schema Structures (cntd.):
● To demonstrate, let’s start with a simple snowflake structure
Additional Implementation Notes (cntd.)
Non Star Schema Structures (cntd.):
● And then create a Dimensional Hierarchy on
DIM_PROVIDERS
Additional Implementation Notes (cntd.)
Non Star Schema Structures (cntd.):
● OBIEE names your hierarchy DIM_PATIENTSDim, but you
created it on DIM_PROVIDERS. Why?
● OBIEE considers the dimension that is joined directly to the fact to be
the “true”, as it’s the lowest level dimension
● DIM_PROVIDERS is connected to DIM_PATIENTS at a higher level,
and OBIEE has consolidating both tables into one dimensional
hierarchy, with DIM_PROVIDERS the parent level of DIM_PATIENTS
Additional Implementation Notes (cntd.)
Non Star Schema Structures (cntd.):
● What would have happened if DIM_PATIENTS had 2 flakes?
Dimension
Dimension Dimension
Dimension
Fact
Additional Implementation Notes (cntd.)
Non Star Schema Structures (cntd.):
● You’d end up with 1 dimensional hierarchy with 2 separate
trees
Additional Implementation Notes (cntd.)
Non Star Schema Structures (cntd.):
● So why does this complicate things?
● Level-based measures are based upon Dimensional Hierarchies
● In a Snowflake Schema, constructing many types of level-based
measures becomes impossible, or at the least very complex.
Additional Implementation Notes (cntd.)
Non Star Schema Structures (cntd.):
● Let’s calculate the average Follow-Up Days for a Provider by
Age Bucket
● Because Providers and Age Buckets are in the same
Dimensional Hierarchy, we can’t do this calculation.
● OBIEE limits you to only one level per Dimensional Hierarchy
Additional Implementation Notes (cntd.)
RPD Consistency Check Warnings:
● Because you have mapped multiple tables in the LTS’s of
your Dimensions, OBIEE expects you to use those tables in
the Column Mappings
● If you do not make use of a mapped table, the Consistency
Checker will give you a warning:
Additional Implementation Notes (cntd.)
RPD Consistency Check Warnings (cntd.):
● To resolve this warning, create a new Logical Column in your
table and map it to a column in the unused table
Additional Implementation Notes (cntd.)
Fabricated Data: Missing Data
● In our data set we were faced with the fact that a Tumor may not
be present in all of the major subject areas (Statuses, Stagings,
Histologies, Treatments)
● In the instances where a Tumor was not present in a subject
area, that Tumor would fall out of the data population if a
dimension from that subject area was brought in
Users did not want this fallout to occur and they emphasized
that it was just as important to see where a Tumor did not
have information in a given subject area as it was to see what
information a tumor did have in a given subject area
Additional Implementation Notes (cntd.)
Fabricated Data: Missing Data (cntd.)
● RPD Resolution Possibility
● This fallout could have been prevented through Outer Joins in the OBIEE
RPD
● The Logical Mappings of all dimension attributes could be changed to
include an IFNULL clause [It was required that a NULL/missing object state
its status (Missing)]
● With hundreds of attributes this is neither sustainable nor realistic
Additional Implementation Notes (cntd.)
Fabricated Data: Missing Data (cntd.)
● Data Creation in Database Tables Resolution Possibility
● Each and every Dimension Table in our Dimensional Model has an entry for
a key of -2 and attribute codes, names, descriptions, etc. of ‘!Record Does
Not Exist in Source’
● At the end of the ETL process, the central conformed dimension
(D_PT_TMR) was LEFT OUTER JOINed to each of the dimensional
database “Sub-Facts”
● F_TMR_STAT
● F_TMR_STG
● F_TMR_HISTOL
● F_TMR_TRTMT
Additional Implementation Notes (cntd.)
Fabricated Data: Missing Data (cntd.)
● Data Creation in Database Tables Resolution Possibility (cntd.)
● Where a match was not found in a Fact table, a row was inserted in that
Fact table for the missing Tumor ID. All Dimensional Keys were set to -2,
!Record Does Not Exist in Source
● Users then gained the ability to pull tumors with missing information.

Más contenido relacionado

La actualidad más candente

The Inclusive Quiz mqf 2016
The Inclusive Quiz mqf 2016The Inclusive Quiz mqf 2016
The Inclusive Quiz mqf 2016Vikram Joshi
 
U-25 General Quiz Finals
U-25 General Quiz FinalsU-25 General Quiz Finals
U-25 General Quiz FinalsSomnath Chanda
 
Magister 2019 - Questions & Answers
Magister 2019 - Questions & AnswersMagister 2019 - Questions & Answers
Magister 2019 - Questions & AnswersSJC Quizzers
 
2014 KQA Yell Iruve - annual quiz on plants, animals and insects
2014 KQA Yell Iruve - annual quiz on plants, animals and insects2014 KQA Yell Iruve - annual quiz on plants, animals and insects
2014 KQA Yell Iruve - annual quiz on plants, animals and insectsVenkatesh Srinivasan
 
Biz and finance quiz Xavier's Management Society Fest 2017
Biz and finance quiz Xavier's Management Society Fest 2017Biz and finance quiz Xavier's Management Society Fest 2017
Biz and finance quiz Xavier's Management Society Fest 2017Aakash Roy
 
India Sir Ye Quiz Dhurandhar | India Quiz | IIM Kozhikode
India Sir Ye Quiz Dhurandhar | India Quiz | IIM KozhikodeIndia Sir Ye Quiz Dhurandhar | India Quiz | IIM Kozhikode
India Sir Ye Quiz Dhurandhar | India Quiz | IIM KozhikodeAtharva
 
Typical Chennai Quiz | A Vishnu Quiz | TackOn
Typical Chennai Quiz | A Vishnu Quiz | TackOnTypical Chennai Quiz | A Vishnu Quiz | TackOn
Typical Chennai Quiz | A Vishnu Quiz | TackOnTackOn
 
Finals of Bizthom Business quiz Comarena 10.0
 Finals of Bizthom Business quiz Comarena 10.0 Finals of Bizthom Business quiz Comarena 10.0
Finals of Bizthom Business quiz Comarena 10.0alvinthomask
 
Lockdown Pe Quiz by CPQ | Discord Edition | Manu Sudhakar & Aravind Anil
Lockdown Pe Quiz by CPQ | Discord Edition | Manu Sudhakar & Aravind AnilLockdown Pe Quiz by CPQ | Discord Edition | Manu Sudhakar & Aravind Anil
Lockdown Pe Quiz by CPQ | Discord Edition | Manu Sudhakar & Aravind Anilaravindanil
 
Singularity '14 Science quiz
Singularity '14 Science quizSingularity '14 Science quiz
Singularity '14 Science quizNavin Sridhar
 
Kodak Independence Day - Prelude Quiz
Kodak Independence Day - Prelude QuizKodak Independence Day - Prelude Quiz
Kodak Independence Day - Prelude QuizTie Breakers Quiz
 
Indian heritage quiz
Indian heritage quiz Indian heritage quiz
Indian heritage quiz Pragyan Yadav
 
Keralaprashnothareeyam (Kerala Quiz)
Keralaprashnothareeyam (Kerala Quiz)Keralaprashnothareeyam (Kerala Quiz)
Keralaprashnothareeyam (Kerala Quiz)Sreejesh P S
 
Business Quiz By Vishnu
Business Quiz By VishnuBusiness Quiz By Vishnu
Business Quiz By VishnuTackOn
 
Sci Biz Tech Quiz 2018
Sci Biz Tech Quiz 2018Sci Biz Tech Quiz 2018
Sci Biz Tech Quiz 2018Adwitiya Pal
 
Ymca prelims quiz answers 2016
Ymca prelims quiz answers 2016Ymca prelims quiz answers 2016
Ymca prelims quiz answers 2016Nitin Suresh
 

La actualidad más candente (20)

The Inclusive Quiz mqf 2016
The Inclusive Quiz mqf 2016The Inclusive Quiz mqf 2016
The Inclusive Quiz mqf 2016
 
U-25 General Quiz Finals
U-25 General Quiz FinalsU-25 General Quiz Finals
U-25 General Quiz Finals
 
Magister 2019 - Questions & Answers
Magister 2019 - Questions & AnswersMagister 2019 - Questions & Answers
Magister 2019 - Questions & Answers
 
2014 KQA Yell Iruve - annual quiz on plants, animals and insects
2014 KQA Yell Iruve - annual quiz on plants, animals and insects2014 KQA Yell Iruve - annual quiz on plants, animals and insects
2014 KQA Yell Iruve - annual quiz on plants, animals and insects
 
Banking quiz
Banking quizBanking quiz
Banking quiz
 
Biz and finance quiz Xavier's Management Society Fest 2017
Biz and finance quiz Xavier's Management Society Fest 2017Biz and finance quiz Xavier's Management Society Fest 2017
Biz and finance quiz Xavier's Management Society Fest 2017
 
India Sir Ye Quiz Dhurandhar | India Quiz | IIM Kozhikode
India Sir Ye Quiz Dhurandhar | India Quiz | IIM KozhikodeIndia Sir Ye Quiz Dhurandhar | India Quiz | IIM Kozhikode
India Sir Ye Quiz Dhurandhar | India Quiz | IIM Kozhikode
 
Science & Entertainment Quiz - TechTatva 2016
Science & Entertainment Quiz - TechTatva 2016Science & Entertainment Quiz - TechTatva 2016
Science & Entertainment Quiz - TechTatva 2016
 
Typical Chennai Quiz | A Vishnu Quiz | TackOn
Typical Chennai Quiz | A Vishnu Quiz | TackOnTypical Chennai Quiz | A Vishnu Quiz | TackOn
Typical Chennai Quiz | A Vishnu Quiz | TackOn
 
Finals of Bizthom Business quiz Comarena 10.0
 Finals of Bizthom Business quiz Comarena 10.0 Finals of Bizthom Business quiz Comarena 10.0
Finals of Bizthom Business quiz Comarena 10.0
 
Lockdown Pe Quiz by CPQ | Discord Edition | Manu Sudhakar & Aravind Anil
Lockdown Pe Quiz by CPQ | Discord Edition | Manu Sudhakar & Aravind AnilLockdown Pe Quiz by CPQ | Discord Edition | Manu Sudhakar & Aravind Anil
Lockdown Pe Quiz by CPQ | Discord Edition | Manu Sudhakar & Aravind Anil
 
Singularity '14 Science quiz
Singularity '14 Science quizSingularity '14 Science quiz
Singularity '14 Science quiz
 
Kodak Independence Day - Prelude Quiz
Kodak Independence Day - Prelude QuizKodak Independence Day - Prelude Quiz
Kodak Independence Day - Prelude Quiz
 
Indian heritage quiz
Indian heritage quiz Indian heritage quiz
Indian heritage quiz
 
Keralaprashnothareeyam (Kerala Quiz)
Keralaprashnothareeyam (Kerala Quiz)Keralaprashnothareeyam (Kerala Quiz)
Keralaprashnothareeyam (Kerala Quiz)
 
Business Quiz By Vishnu
Business Quiz By VishnuBusiness Quiz By Vishnu
Business Quiz By Vishnu
 
Sci Biz Tech Quiz 2018
Sci Biz Tech Quiz 2018Sci Biz Tech Quiz 2018
Sci Biz Tech Quiz 2018
 
Finals
FinalsFinals
Finals
 
Ymca prelims quiz answers 2016
Ymca prelims quiz answers 2016Ymca prelims quiz answers 2016
Ymca prelims quiz answers 2016
 
Progyan Quiz by Nayan..
Progyan  Quiz by Nayan..Progyan  Quiz by Nayan..
Progyan Quiz by Nayan..
 

Destacado

Data modeling star schema
Data modeling star schemaData modeling star schema
Data modeling star schemaSayed Ahmed
 
E-R vs Starschema
E-R vs StarschemaE-R vs Starschema
E-R vs Starschemaguest862640
 
Rev_3 Components of a Data Warehouse
Rev_3 Components of a Data WarehouseRev_3 Components of a Data Warehouse
Rev_3 Components of a Data WarehouseRyan Andhavarapu
 
Dw design 2_conceptual_model
Dw design 2_conceptual_modelDw design 2_conceptual_model
Dw design 2_conceptual_modelClaudia Gomez
 
Warehousing dimension star-snowflake_schemas
Warehousing dimension star-snowflake_schemasWarehousing dimension star-snowflake_schemas
Warehousing dimension star-snowflake_schemasEric Matthews
 
Data mining 3 - Data Models and Data Warehouse Design (cheat sheet - printable)
Data mining  3 - Data Models and Data Warehouse Design (cheat sheet - printable)Data mining  3 - Data Models and Data Warehouse Design (cheat sheet - printable)
Data mining 3 - Data Models and Data Warehouse Design (cheat sheet - printable)yesheeka
 
Fact table design for data ware house
Fact table design for data ware houseFact table design for data ware house
Fact table design for data ware houseSayed Ahmed
 
Best Practices for Building a Warehouse Quickly
Best Practices for Building a Warehouse QuicklyBest Practices for Building a Warehouse Quickly
Best Practices for Building a Warehouse QuicklyWhereScape
 
Difference between star schema and snowflake schema
Difference between star schema and snowflake schemaDifference between star schema and snowflake schema
Difference between star schema and snowflake schemaUmar Ali
 
What Comes After The Star Schema? Dimensional Modeling For Enterprise Data Hubs
What Comes After The Star Schema? Dimensional Modeling For Enterprise Data HubsWhat Comes After The Star Schema? Dimensional Modeling For Enterprise Data Hubs
What Comes After The Star Schema? Dimensional Modeling For Enterprise Data HubsCloudera, Inc.
 
Multidimensional data models
Multidimensional data  modelsMultidimensional data  models
Multidimensional data models774474
 
Docker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCSDocker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCSFrank Munz
 

Destacado (14)

Data modeling star schema
Data modeling star schemaData modeling star schema
Data modeling star schema
 
E-R vs Starschema
E-R vs StarschemaE-R vs Starschema
E-R vs Starschema
 
Rev_3 Components of a Data Warehouse
Rev_3 Components of a Data WarehouseRev_3 Components of a Data Warehouse
Rev_3 Components of a Data Warehouse
 
Dw design 2_conceptual_model
Dw design 2_conceptual_modelDw design 2_conceptual_model
Dw design 2_conceptual_model
 
Warehousing dimension star-snowflake_schemas
Warehousing dimension star-snowflake_schemasWarehousing dimension star-snowflake_schemas
Warehousing dimension star-snowflake_schemas
 
Data Warehouse Designing: Dimensional Modelling and E-R Modelling
Data Warehouse Designing: Dimensional Modelling and E-R ModellingData Warehouse Designing: Dimensional Modelling and E-R Modelling
Data Warehouse Designing: Dimensional Modelling and E-R Modelling
 
Data mining 3 - Data Models and Data Warehouse Design (cheat sheet - printable)
Data mining  3 - Data Models and Data Warehouse Design (cheat sheet - printable)Data mining  3 - Data Models and Data Warehouse Design (cheat sheet - printable)
Data mining 3 - Data Models and Data Warehouse Design (cheat sheet - printable)
 
Fact table design for data ware house
Fact table design for data ware houseFact table design for data ware house
Fact table design for data ware house
 
Best Practices for Building a Warehouse Quickly
Best Practices for Building a Warehouse QuicklyBest Practices for Building a Warehouse Quickly
Best Practices for Building a Warehouse Quickly
 
Difference between star schema and snowflake schema
Difference between star schema and snowflake schemaDifference between star schema and snowflake schema
Difference between star schema and snowflake schema
 
Star schema
Star schemaStar schema
Star schema
 
What Comes After The Star Schema? Dimensional Modeling For Enterprise Data Hubs
What Comes After The Star Schema? Dimensional Modeling For Enterprise Data HubsWhat Comes After The Star Schema? Dimensional Modeling For Enterprise Data Hubs
What Comes After The Star Schema? Dimensional Modeling For Enterprise Data Hubs
 
Multidimensional data models
Multidimensional data  modelsMultidimensional data  models
Multidimensional data models
 
Docker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCSDocker from A to Z, including Swarm and OCCS
Docker from A to Z, including Swarm and OCCS
 

Similar a Reverse Star Schema Overcomes Healthcare Cohort Filtering Challenges

[CIKM 2014] Deviation-Based Contextual SLIM Recommenders
[CIKM 2014] Deviation-Based Contextual SLIM Recommenders[CIKM 2014] Deviation-Based Contextual SLIM Recommenders
[CIKM 2014] Deviation-Based Contextual SLIM RecommendersYONG ZHENG
 
Requirements analysis 2011
Requirements analysis 2011Requirements analysis 2011
Requirements analysis 2011bernddu
 
Data Analytics Using R - Report
Data Analytics Using R - ReportData Analytics Using R - Report
Data Analytics Using R - ReportAkanksha Gohil
 
Why start using uplift models for more efficient marketing campaigns
Why start using uplift models for more efficient marketing campaignsWhy start using uplift models for more efficient marketing campaigns
Why start using uplift models for more efficient marketing campaignsData Con LA
 
The system, the goal, the goal tree and validating the measuring system in th...
The system, the goal, the goal tree and validating the measuring system in th...The system, the goal, the goal tree and validating the measuring system in th...
The system, the goal, the goal tree and validating the measuring system in th...Ricardo Anselmo de Castro
 
Supervised learning
Supervised learningSupervised learning
Supervised learningJohnson Ubah
 
Neural Network Model
Neural Network ModelNeural Network Model
Neural Network ModelEric Esajian
 
Model Risk Management - Some thoughts on DNN
Model Risk Management - Some thoughts on DNNModel Risk Management - Some thoughts on DNN
Model Risk Management - Some thoughts on DNNQuantUniversity
 
A high level overview of all that is Analytics
A high level overview of all that is AnalyticsA high level overview of all that is Analytics
A high level overview of all that is AnalyticsRamkumar Ravichandran
 
Pentaho Meeting 2008 - Statistics & BI
Pentaho Meeting 2008 - Statistics & BIPentaho Meeting 2008 - Statistics & BI
Pentaho Meeting 2008 - Statistics & BIStudio Synthesis
 
End-to-End Machine Learning Project
End-to-End Machine Learning ProjectEnd-to-End Machine Learning Project
End-to-End Machine Learning ProjectEng Teong Cheah
 
ANALYSIS OF WTTE-RNN VARIANTS THAT IMPROVE PERFORMANCE
ANALYSIS OF WTTE-RNN VARIANTS THAT IMPROVE PERFORMANCEANALYSIS OF WTTE-RNN VARIANTS THAT IMPROVE PERFORMANCE
ANALYSIS OF WTTE-RNN VARIANTS THAT IMPROVE PERFORMANCEJaresJournal
 
Data Science for Business Managers - An intro to ROI for predictive analytics
Data Science for Business Managers - An intro to ROI for predictive analyticsData Science for Business Managers - An intro to ROI for predictive analytics
Data Science for Business Managers - An intro to ROI for predictive analyticsAkin Osman Kazakci
 
Descriptive And Narrative Essay.pdf
Descriptive And Narrative Essay.pdfDescriptive And Narrative Essay.pdf
Descriptive And Narrative Essay.pdfPamela Brown
 
Descriptive And Narrative Essay. Example Of Narrative Essay About Experience ...
Descriptive And Narrative Essay. Example Of Narrative Essay About Experience ...Descriptive And Narrative Essay. Example Of Narrative Essay About Experience ...
Descriptive And Narrative Essay. Example Of Narrative Essay About Experience ...Keisha Paulino
 
Dynamic Context Adaptation for Diagnosing the Heart Disease in Healthcare Env...
Dynamic Context Adaptation for Diagnosing the Heart Disease in Healthcare Env...Dynamic Context Adaptation for Diagnosing the Heart Disease in Healthcare Env...
Dynamic Context Adaptation for Diagnosing the Heart Disease in Healthcare Env...ijsc
 
DYNAMIC CONTEXT ADAPTATION FOR DIAGNOSING THE HEART DISEASE IN HEALTHCARE ENV...
DYNAMIC CONTEXT ADAPTATION FOR DIAGNOSING THE HEART DISEASE IN HEALTHCARE ENV...DYNAMIC CONTEXT ADAPTATION FOR DIAGNOSING THE HEART DISEASE IN HEALTHCARE ENV...
DYNAMIC CONTEXT ADAPTATION FOR DIAGNOSING THE HEART DISEASE IN HEALTHCARE ENV...ijsc
 
Milestone 2 Guidance For your final project… Most importa.docx
Milestone 2 Guidance  For your final project… Most importa.docxMilestone 2 Guidance  For your final project… Most importa.docx
Milestone 2 Guidance For your final project… Most importa.docxaltheaboyer
 

Similar a Reverse Star Schema Overcomes Healthcare Cohort Filtering Challenges (20)

[CIKM 2014] Deviation-Based Contextual SLIM Recommenders
[CIKM 2014] Deviation-Based Contextual SLIM Recommenders[CIKM 2014] Deviation-Based Contextual SLIM Recommenders
[CIKM 2014] Deviation-Based Contextual SLIM Recommenders
 
Requirements analysis 2011
Requirements analysis 2011Requirements analysis 2011
Requirements analysis 2011
 
Data Analytics Using R - Report
Data Analytics Using R - ReportData Analytics Using R - Report
Data Analytics Using R - Report
 
Digital twin
Digital twinDigital twin
Digital twin
 
Why start using uplift models for more efficient marketing campaigns
Why start using uplift models for more efficient marketing campaignsWhy start using uplift models for more efficient marketing campaigns
Why start using uplift models for more efficient marketing campaigns
 
The system, the goal, the goal tree and validating the measuring system in th...
The system, the goal, the goal tree and validating the measuring system in th...The system, the goal, the goal tree and validating the measuring system in th...
The system, the goal, the goal tree and validating the measuring system in th...
 
QQ Plot.pptx
QQ Plot.pptxQQ Plot.pptx
QQ Plot.pptx
 
Supervised learning
Supervised learningSupervised learning
Supervised learning
 
Neural Network Model
Neural Network ModelNeural Network Model
Neural Network Model
 
Model Risk Management - Some thoughts on DNN
Model Risk Management - Some thoughts on DNNModel Risk Management - Some thoughts on DNN
Model Risk Management - Some thoughts on DNN
 
A high level overview of all that is Analytics
A high level overview of all that is AnalyticsA high level overview of all that is Analytics
A high level overview of all that is Analytics
 
Pentaho Meeting 2008 - Statistics & BI
Pentaho Meeting 2008 - Statistics & BIPentaho Meeting 2008 - Statistics & BI
Pentaho Meeting 2008 - Statistics & BI
 
End-to-End Machine Learning Project
End-to-End Machine Learning ProjectEnd-to-End Machine Learning Project
End-to-End Machine Learning Project
 
ANALYSIS OF WTTE-RNN VARIANTS THAT IMPROVE PERFORMANCE
ANALYSIS OF WTTE-RNN VARIANTS THAT IMPROVE PERFORMANCEANALYSIS OF WTTE-RNN VARIANTS THAT IMPROVE PERFORMANCE
ANALYSIS OF WTTE-RNN VARIANTS THAT IMPROVE PERFORMANCE
 
Data Science for Business Managers - An intro to ROI for predictive analytics
Data Science for Business Managers - An intro to ROI for predictive analyticsData Science for Business Managers - An intro to ROI for predictive analytics
Data Science for Business Managers - An intro to ROI for predictive analytics
 
Descriptive And Narrative Essay.pdf
Descriptive And Narrative Essay.pdfDescriptive And Narrative Essay.pdf
Descriptive And Narrative Essay.pdf
 
Descriptive And Narrative Essay. Example Of Narrative Essay About Experience ...
Descriptive And Narrative Essay. Example Of Narrative Essay About Experience ...Descriptive And Narrative Essay. Example Of Narrative Essay About Experience ...
Descriptive And Narrative Essay. Example Of Narrative Essay About Experience ...
 
Dynamic Context Adaptation for Diagnosing the Heart Disease in Healthcare Env...
Dynamic Context Adaptation for Diagnosing the Heart Disease in Healthcare Env...Dynamic Context Adaptation for Diagnosing the Heart Disease in Healthcare Env...
Dynamic Context Adaptation for Diagnosing the Heart Disease in Healthcare Env...
 
DYNAMIC CONTEXT ADAPTATION FOR DIAGNOSING THE HEART DISEASE IN HEALTHCARE ENV...
DYNAMIC CONTEXT ADAPTATION FOR DIAGNOSING THE HEART DISEASE IN HEALTHCARE ENV...DYNAMIC CONTEXT ADAPTATION FOR DIAGNOSING THE HEART DISEASE IN HEALTHCARE ENV...
DYNAMIC CONTEXT ADAPTATION FOR DIAGNOSING THE HEART DISEASE IN HEALTHCARE ENV...
 
Milestone 2 Guidance For your final project… Most importa.docx
Milestone 2 Guidance  For your final project… Most importa.docxMilestone 2 Guidance  For your final project… Most importa.docx
Milestone 2 Guidance For your final project… Most importa.docx
 

Más de Perficient, Inc.

Driving Strong 2020 Holiday Season Results
Driving Strong 2020 Holiday Season ResultsDriving Strong 2020 Holiday Season Results
Driving Strong 2020 Holiday Season ResultsPerficient, Inc.
 
Transforming Pharmacovigilance Workflows with AI & Automation
Transforming Pharmacovigilance Workflows with AI & Automation Transforming Pharmacovigilance Workflows with AI & Automation
Transforming Pharmacovigilance Workflows with AI & Automation Perficient, Inc.
 
The Secret to Acquiring and Retaining Customers in Financial Services
The Secret to Acquiring and Retaining Customers in Financial ServicesThe Secret to Acquiring and Retaining Customers in Financial Services
The Secret to Acquiring and Retaining Customers in Financial ServicesPerficient, Inc.
 
Oracle Strategic Modeling Live: Defined. Discussed. Demonstrated.
Oracle Strategic Modeling Live: Defined. Discussed. Demonstrated.Oracle Strategic Modeling Live: Defined. Discussed. Demonstrated.
Oracle Strategic Modeling Live: Defined. Discussed. Demonstrated.Perficient, Inc.
 
Content, Commerce, and... COVID
Content, Commerce, and... COVIDContent, Commerce, and... COVID
Content, Commerce, and... COVIDPerficient, Inc.
 
Centene's Financial Transformation Journey: A OneStream Success Story
Centene's Financial Transformation Journey: A OneStream Success StoryCentene's Financial Transformation Journey: A OneStream Success Story
Centene's Financial Transformation Journey: A OneStream Success StoryPerficient, Inc.
 
Automate Medical Coding With WHODrug Koda
Automate Medical Coding With WHODrug KodaAutomate Medical Coding With WHODrug Koda
Automate Medical Coding With WHODrug KodaPerficient, Inc.
 
Preparing for Your Oracle, Medidata, and Veeva CTMS Migration Project
Preparing for Your Oracle, Medidata, and Veeva CTMS Migration ProjectPreparing for Your Oracle, Medidata, and Veeva CTMS Migration Project
Preparing for Your Oracle, Medidata, and Veeva CTMS Migration ProjectPerficient, Inc.
 
Accelerating Partner Management: How Manufacturers Can Navigate Covid-19
Accelerating Partner Management: How Manufacturers Can Navigate Covid-19Accelerating Partner Management: How Manufacturers Can Navigate Covid-19
Accelerating Partner Management: How Manufacturers Can Navigate Covid-19Perficient, Inc.
 
The Critical Role of Audience Intelligence with Eric Enge and Rand Fishkin
The Critical Role of Audience Intelligence with Eric Enge and Rand FishkinThe Critical Role of Audience Intelligence with Eric Enge and Rand Fishkin
The Critical Role of Audience Intelligence with Eric Enge and Rand FishkinPerficient, Inc.
 
Cardtronics Future Ready with Oracle EPM Cloud
Cardtronics Future Ready with Oracle EPM CloudCardtronics Future Ready with Oracle EPM Cloud
Cardtronics Future Ready with Oracle EPM CloudPerficient, Inc.
 
Teams Summit - What is New and Coming
Teams Summit -  What is New and ComingTeams Summit -  What is New and Coming
Teams Summit - What is New and ComingPerficient, Inc.
 
Empower Your Organization with Teams & Remote Work Crisis Management
Empower Your Organization with Teams & Remote Work Crisis ManagementEmpower Your Organization with Teams & Remote Work Crisis Management
Empower Your Organization with Teams & Remote Work Crisis ManagementPerficient, Inc.
 
Adoption & Change Management Overview
Adoption & Change Management OverviewAdoption & Change Management Overview
Adoption & Change Management OverviewPerficient, Inc.
 
Microsoft Teams: Measuring Activity of Employees Working from Home
Microsoft Teams: Measuring Activity of Employees Working from HomeMicrosoft Teams: Measuring Activity of Employees Working from Home
Microsoft Teams: Measuring Activity of Employees Working from HomePerficient, Inc.
 
Securing Teams with Microsoft 365 Security for Remote Work
Securing Teams with Microsoft 365 Security for Remote WorkSecuring Teams with Microsoft 365 Security for Remote Work
Securing Teams with Microsoft 365 Security for Remote WorkPerficient, Inc.
 
Infrastructure Best Practices for Teams Remote Workers
Infrastructure Best Practices for Teams Remote WorkersInfrastructure Best Practices for Teams Remote Workers
Infrastructure Best Practices for Teams Remote WorkersPerficient, Inc.
 
Accelerate Adoption for Microsoft Teams
Accelerate Adoption for Microsoft TeamsAccelerate Adoption for Microsoft Teams
Accelerate Adoption for Microsoft TeamsPerficient, Inc.
 
Preparing for Project Cortex and the Future of Knowledge Management
Preparing for Project Cortex and the Future of Knowledge ManagementPreparing for Project Cortex and the Future of Knowledge Management
Preparing for Project Cortex and the Future of Knowledge ManagementPerficient, Inc.
 
Utilizing Microsoft 365 Security for Remote Work
Utilizing Microsoft 365 Security for Remote Work Utilizing Microsoft 365 Security for Remote Work
Utilizing Microsoft 365 Security for Remote Work Perficient, Inc.
 

Más de Perficient, Inc. (20)

Driving Strong 2020 Holiday Season Results
Driving Strong 2020 Holiday Season ResultsDriving Strong 2020 Holiday Season Results
Driving Strong 2020 Holiday Season Results
 
Transforming Pharmacovigilance Workflows with AI & Automation
Transforming Pharmacovigilance Workflows with AI & Automation Transforming Pharmacovigilance Workflows with AI & Automation
Transforming Pharmacovigilance Workflows with AI & Automation
 
The Secret to Acquiring and Retaining Customers in Financial Services
The Secret to Acquiring and Retaining Customers in Financial ServicesThe Secret to Acquiring and Retaining Customers in Financial Services
The Secret to Acquiring and Retaining Customers in Financial Services
 
Oracle Strategic Modeling Live: Defined. Discussed. Demonstrated.
Oracle Strategic Modeling Live: Defined. Discussed. Demonstrated.Oracle Strategic Modeling Live: Defined. Discussed. Demonstrated.
Oracle Strategic Modeling Live: Defined. Discussed. Demonstrated.
 
Content, Commerce, and... COVID
Content, Commerce, and... COVIDContent, Commerce, and... COVID
Content, Commerce, and... COVID
 
Centene's Financial Transformation Journey: A OneStream Success Story
Centene's Financial Transformation Journey: A OneStream Success StoryCentene's Financial Transformation Journey: A OneStream Success Story
Centene's Financial Transformation Journey: A OneStream Success Story
 
Automate Medical Coding With WHODrug Koda
Automate Medical Coding With WHODrug KodaAutomate Medical Coding With WHODrug Koda
Automate Medical Coding With WHODrug Koda
 
Preparing for Your Oracle, Medidata, and Veeva CTMS Migration Project
Preparing for Your Oracle, Medidata, and Veeva CTMS Migration ProjectPreparing for Your Oracle, Medidata, and Veeva CTMS Migration Project
Preparing for Your Oracle, Medidata, and Veeva CTMS Migration Project
 
Accelerating Partner Management: How Manufacturers Can Navigate Covid-19
Accelerating Partner Management: How Manufacturers Can Navigate Covid-19Accelerating Partner Management: How Manufacturers Can Navigate Covid-19
Accelerating Partner Management: How Manufacturers Can Navigate Covid-19
 
The Critical Role of Audience Intelligence with Eric Enge and Rand Fishkin
The Critical Role of Audience Intelligence with Eric Enge and Rand FishkinThe Critical Role of Audience Intelligence with Eric Enge and Rand Fishkin
The Critical Role of Audience Intelligence with Eric Enge and Rand Fishkin
 
Cardtronics Future Ready with Oracle EPM Cloud
Cardtronics Future Ready with Oracle EPM CloudCardtronics Future Ready with Oracle EPM Cloud
Cardtronics Future Ready with Oracle EPM Cloud
 
Teams Summit - What is New and Coming
Teams Summit -  What is New and ComingTeams Summit -  What is New and Coming
Teams Summit - What is New and Coming
 
Empower Your Organization with Teams & Remote Work Crisis Management
Empower Your Organization with Teams & Remote Work Crisis ManagementEmpower Your Organization with Teams & Remote Work Crisis Management
Empower Your Organization with Teams & Remote Work Crisis Management
 
Adoption & Change Management Overview
Adoption & Change Management OverviewAdoption & Change Management Overview
Adoption & Change Management Overview
 
Microsoft Teams: Measuring Activity of Employees Working from Home
Microsoft Teams: Measuring Activity of Employees Working from HomeMicrosoft Teams: Measuring Activity of Employees Working from Home
Microsoft Teams: Measuring Activity of Employees Working from Home
 
Securing Teams with Microsoft 365 Security for Remote Work
Securing Teams with Microsoft 365 Security for Remote WorkSecuring Teams with Microsoft 365 Security for Remote Work
Securing Teams with Microsoft 365 Security for Remote Work
 
Infrastructure Best Practices for Teams Remote Workers
Infrastructure Best Practices for Teams Remote WorkersInfrastructure Best Practices for Teams Remote Workers
Infrastructure Best Practices for Teams Remote Workers
 
Accelerate Adoption for Microsoft Teams
Accelerate Adoption for Microsoft TeamsAccelerate Adoption for Microsoft Teams
Accelerate Adoption for Microsoft Teams
 
Preparing for Project Cortex and the Future of Knowledge Management
Preparing for Project Cortex and the Future of Knowledge ManagementPreparing for Project Cortex and the Future of Knowledge Management
Preparing for Project Cortex and the Future of Knowledge Management
 
Utilizing Microsoft 365 Security for Remote Work
Utilizing Microsoft 365 Security for Remote Work Utilizing Microsoft 365 Security for Remote Work
Utilizing Microsoft 365 Security for Remote Work
 

Último

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Último (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 

Reverse Star Schema Overcomes Healthcare Cohort Filtering Challenges

  • 1. When Facts and Dimensions Alone Aren't the Answer: Logically Reversing the Star Schema Kathryn Watson
  • 2. Solution Architect at Perficient Economist & Financial Analyst by education, BI Professional by passion Email: kathryn.watson@perficient.com LinkedIn: www.linkedin.com/pub/kathryn-watson/a/431/354/ Kathryn Watson
  • 3.  What is a Reverse Star Schema?  Why and when would I use a Reverse Star Schema?  How would I implement a Reverse Star Schema?  What about data integrity? While addressing these questions, we’ll walk through a real life implementation within the healthcare industry. The Questions We’ll Answer Today:
  • 4. The Star Schema has long been the foundation of effective BI applications ● Optimized for the speedy return of business facts and their corresponding descriptors ● Supports the manner in which businesses ask typical business questions Let’s Start With the Basics
  • 5. Show me A, filtered by B and aggregated by C & D Let’s Start With the Basics (cntd.) A B C D
  • 6. Show me Z, filtered and aggregated by W, X & Y Let’s Start With the Basics (cntd.) Z W X Y
  • 7.  Data warehouses commonly include multiple facts  These multiple facts often share dimensions, called conformed dimensions Let’s Start With the Basics (cntd.)
  • 8.  Conformed dimensions facilitate answering multi- faceted business questions.  Show me A & Z, aggregated and/or filtered by N Let’s Start With the Basics (cntd.) A B C D Z W X Y N
  • 9.  As BI implementations mature, the questions your users are asking often do as well.  Show me Z, filtered by B & C and aggregated by Y And Continue Along the BI Maturity Model A B C D Z W X Y N
  • 10. In this scenario: ● B and C are not dimensions of Z ● B and C are not subsets of Y ● B and C are not directly related to the Fact (Z) they are required to affect And Continue Along the BI Maturity Model (cntd.) A B C D Z W X Y N
  • 11. We’ve now encountered a very practical use case for the Reverse Star Schema. And Continue Along the BI Maturity Model (cntd.)
  • 12. A typical Reverse Star Schema flips the concept of what information is being returned to the user. Rather than factual information being the star of the show, the dimensional information is the main event. In all Reverse Star Schemas, the relationships between facts and dimensions are flipped; rather than a one-to- many dimension to fact relationship, the Reverse Star Schema introduces a one-to-many or many-to-many fact to dimension relationship. So, What is a Reverse Star Schema?
  • 13.  Sometimes, the return of the intersection of dimensional data is truly all the user needs  More often, the Reverse Star Schema is the avenue to establish cause-and-effect relationships amongst indirectly related data concepts When and Why Would I Use This?
  • 14. Let’s return to the scenario we showcased previously: show me Z, filtered by B & C and aggregated by Y When and Why Would I Use This? (cntd.) A B C D Z W X Y N
  • 15. B & C’s relationship to Z is established through fact A and conformed dimension N When and Why Would I Use This? (cntd.) A B C D Z W X Y N
  • 16.  The values of A & N aren’t of interest to the user  A & N are simply avenues through which the needed attributes are accessed When and Why Would I Use This? (cntd.) A B C D Z W X Y N
  • 17. Let’s apply this concept to the real world: When and Why Would I Use This? (cntd.) One of the nation’s top cancer care centers was seeking an on- demand means to identify patient cohorts. Physicians should be able to refine cohorts by basic tumor information and various disconnected factors of cancer care: Tumors – initial presentation date and type Histologies – cancer type and structure over time Stagings – cancer severity Statuses – active, in remission, etc. Treatments – chemotherapy, radiation, other A filter applied to any of these concepts should affect the results of all concepts, even though the concepts are independent of each other.
  • 18. Let’s apply this concept to the real world (cntd.): During the analysis phase, it was confirmed that everything was directly related to the patient’s instance of cancer (Tumor). All other concepts, though factual concepts in their own right, for this purpose were informational. It’s all about the Tumor. Everything else is informational. When and Why Would I Use This? (cntd.)
  • 19. Much like our use case scenario, a multi-fact Star Schema emerged. ● 5 Facts with Independent Dimensions ● Tumors/Documents (F_CLNCL_DOC) ● Histologies (F_TMR_HISTOL) ● Stagings (F_TMR_STG) ● Statuses (F_TMR_STAT) ● Treatments (F_TMR_TRTMT) ● 1 Conformed Dimension shared by all facts ● Tumors (D_PT_TMR) Let’s apply this concept to the real world (cntd.): When and Why Would I Use This? (cntd.)
  • 20. Let’s apply this concept to the real world (cntd.): When and Why Would I Use This? (cntd.)
  • 21. Implemented in OBIEE, the Dimensional Model = OBIEE Physical Layer, except for: ● EIW Dimensions ● Date dimension aliased for each of its purposes (17 aliases) ● Provider dimension aliased for each of its purposes (3 aliases) ● 4 Additional Facts ● Users stated the requirement to analyze treatments as separate entities for some use- cases, and as consolidated activities in other use-cases ● This is achieved by placing database views on top of F_TMR_TRTMT, with one view for each treatment type Let’s apply this concept to the real world (cntd.): When and Why Would I Use This? (cntd.)
  • 22. Let’s apply this concept to the real world (cntd.): When and Why Would I Use This? (cntd.)
  • 23. Let’s apply this concept to the real world (cntd.): When and Why Would I Use This? (cntd.) But the classic Star Schema did not support our main requirement: A filter applied to any of these concepts should affect the results of all concepts, even though the concepts are independent of each other. It’s all about the Tumor. Everything else is informational. In the classic Star Schema design, each fact and its dimensions are independent of the other facts. Filters applied to the dimensions of one fact do not affect the results returned in another fact.
  • 24. Ok, How Would I implement This? To fill our requirement that filters applied to the dimension of one fact should affect the results returned in another fact: ● “Sub-Facts” (Statuses, Stagings, Histologies, Treatments) should be treated as dimensions of the central fact (Tumors/Documents) through the conformed dimension (Tumors). ● This would create a reverse snowflake schema ● One fact: F_CLNCL_DOC (Tumors/Documents) ● Central Dimension: D_PT_TMR (Tumors) ● All other tables are dimensions that flake off of D_PT_TMR and their “Sub-Facts”. (One to many join between D_PT_TMR and other facts reversed, becoming many to one) Continuing with our real world example:
  • 25. Ok, How Would I implement This? (cntd.) So, should our Dimensional Model/RPD Physical Layer be re- designed to support this? No. Continuing with our real world example:
  • 26. Ok, How Would I implement This? (cntd.) The Dimensional Model/RPD Physical Layer should remain As Is (a classic Star Schema) ● The “Sub-Facts” truly are facts/transactions. They can be analyzed independently ● Current requirements dictate that the “Sub-Facts” are simply avenues to descriptive attributes ● However, future requirements may dictate the need to analyze these “Sub-Facts” individually; we don’t want to lose this capability through a redesign Continuing with our real world example:
  • 27. Ok, How Would I implement This? (cntd.) The Reverse Star Schema is built logically in the RPD BMM layer: ● Individual Dimension Tables are brought over from the Physical Layer ● The Logical Table Source (LTS) for each Dimension Table is edited to include its “Sub-Fact” table as well as D_PT_TMR Continuing with our real world example:
  • 28. Ok, How Would I implement This? (cntd.) The Reverse Star Schema is built logically in the RPD BMM layer (cntd.): ● The dimension table is then logically joined directly to the central fact (FACT_ALS_F_CLNCL_DOC) Continuing with our real world example:
  • 29. Ok, How Would I implement This? (cntd.) The Reverse Star Schema is built logically in the RPD BMM layer (cntd.): ● The joins in the Physical Layer remain the same. Continuing with our real world example: Dimension DimensionFact Fact
  • 30. Ok, How Would I implement This? (cntd.) This process is completed until all dimension tables join directly to the central fact (FACT_ALS_F_CLNCL_DOC) in the BMM “Sub-Facts” were not brought in as logical tables in the BMM for this implementation, as there were no requirements for them. ● These “Sub-Facts” can be brought in as independent facts later if needed, creating a multi-facted Star Schema ● If a “Sub-Fact” is brought in at a later time, it need simply be joined to its relevant Dimensions; OBIEE will recognize that only one table in the LTS need be used for the Join Continuing with our real world example:
  • 31. Ok, How Would I implement This? (cntd.) Continuing with our real world example:
  • 32. What about data integrity? Continuing with our real world example: Aggregation is fine so long as your aggregations are all count distinct. But what about when your aggregation is something other than a count distinct? Ay, there’s the rub! Luckily, OBIEE has a quick and easy solution: level based measures and/or measures based upon dimensions
  • 33. What about data integrity? Continuing with our real world example: We had to set our non-count distinct aggregations to be Based on Dimensions in order to achieve correct aggregation of our measures ● For the conformed dimension (DIM_ALS_D_PT_TMR or Tumors), take the Distinct Average of the measure ● For all Other Dimensions, simply Average the Measure
  • 34. What about data integrity? Continuing with our real world example: Why does this work? ● OBIEE will first average distinct the measure at the Tumor level. Since the Tumor level is the lowest granularity, this will equate to the original measure ● OBIEE will then average the population of these distinct averages by whatever other dimensions are brought into the request
  • 35. What about data integrity? Continuing with our real world example: Why is this necessary? ● In our data set, our “Sub-Facts” can have multiple instances per tumor. ● We have transitioned our “Sub-Facts” to act as avenues between their own dimensions and the central fact (FACT_F_CLNCL_DOC) for the formation of the Star Schema in the BMM ● As a result, we can (and do) experience “ballooning”
  • 36. What about data integrity? Continuing with our real world example: Why is this necessary (cntd.)? Two Tumors, each with one row of data: vs. Same two Tumors, with Staging Date added to the query. The 1st Tumor now has two rows of data, one for each of its Staging Dates. The 2nd Tumor still has only one row of data, as it has only one Staging Date.
  • 37. What about data integrity? Continuing with our real world example: Why is this necessary? (cntd.) ● With the inflated data, we can’t simply average: tumors that have ballooned out would be weighted more heavily in our average calculation than those that have not 349.67 If the Aggregation Rule in our RPD was simply set to “Average,” OBIEE would calculate the average of the above as 349.67 [ (493 + 493 + 63) / 3 ]
  • 38. What about data integrity? Continuing with our real world example: Why is this necessary? (cntd.) ● To remove the “weight” given to a measure when its tumor appears in the results more than once, we have to tell OBIEE to base the aggregation on Dimensions
  • 39. What about data integrity? Continuing with our real world example: Why is this necessary? (cntd.) ● OBIEE would first calculate the Average at the Tumor Level AVG(DISTINCT "SCD-Tumor Management"."FACT_ALS_F_CLNCL_DOC"."Follow Up Time")
  • 40. What about data integrity? Continuing with our real world example: Why is this necessary? (cntd.) ● OBIEE would then average this average AVG("SCD-Tumor Management"."FACT_ALS_F_CLNCL_DOC"."Follow Up Time") ● Our average calculates correctly, at 278 [ (493 + 63) / 2 ]
  • 42. Additional Implementation Notes Non Star Schema Structures: ● Non-Star Schema structures can work and do not necessarily cause incorrect results ● However, they are not ideal and can greatly complicate implementation, expansion, and maintenance
  • 43. Additional Implementation Notes (cntd.) Non Star Schema Structures (cntd.): ● To demonstrate, let’s start with a simple snowflake structure
  • 44. Additional Implementation Notes (cntd.) Non Star Schema Structures (cntd.): ● And then create a Dimensional Hierarchy on DIM_PROVIDERS
  • 45. Additional Implementation Notes (cntd.) Non Star Schema Structures (cntd.): ● OBIEE names your hierarchy DIM_PATIENTSDim, but you created it on DIM_PROVIDERS. Why? ● OBIEE considers the dimension that is joined directly to the fact to be the “true”, as it’s the lowest level dimension ● DIM_PROVIDERS is connected to DIM_PATIENTS at a higher level, and OBIEE has consolidating both tables into one dimensional hierarchy, with DIM_PROVIDERS the parent level of DIM_PATIENTS
  • 46. Additional Implementation Notes (cntd.) Non Star Schema Structures (cntd.): ● What would have happened if DIM_PATIENTS had 2 flakes? Dimension Dimension Dimension Dimension Fact
  • 47. Additional Implementation Notes (cntd.) Non Star Schema Structures (cntd.): ● You’d end up with 1 dimensional hierarchy with 2 separate trees
  • 48. Additional Implementation Notes (cntd.) Non Star Schema Structures (cntd.): ● So why does this complicate things? ● Level-based measures are based upon Dimensional Hierarchies ● In a Snowflake Schema, constructing many types of level-based measures becomes impossible, or at the least very complex.
  • 49. Additional Implementation Notes (cntd.) Non Star Schema Structures (cntd.): ● Let’s calculate the average Follow-Up Days for a Provider by Age Bucket ● Because Providers and Age Buckets are in the same Dimensional Hierarchy, we can’t do this calculation. ● OBIEE limits you to only one level per Dimensional Hierarchy
  • 50. Additional Implementation Notes (cntd.) RPD Consistency Check Warnings: ● Because you have mapped multiple tables in the LTS’s of your Dimensions, OBIEE expects you to use those tables in the Column Mappings ● If you do not make use of a mapped table, the Consistency Checker will give you a warning:
  • 51. Additional Implementation Notes (cntd.) RPD Consistency Check Warnings (cntd.): ● To resolve this warning, create a new Logical Column in your table and map it to a column in the unused table
  • 52. Additional Implementation Notes (cntd.) Fabricated Data: Missing Data ● In our data set we were faced with the fact that a Tumor may not be present in all of the major subject areas (Statuses, Stagings, Histologies, Treatments) ● In the instances where a Tumor was not present in a subject area, that Tumor would fall out of the data population if a dimension from that subject area was brought in Users did not want this fallout to occur and they emphasized that it was just as important to see where a Tumor did not have information in a given subject area as it was to see what information a tumor did have in a given subject area
  • 53. Additional Implementation Notes (cntd.) Fabricated Data: Missing Data (cntd.) ● RPD Resolution Possibility ● This fallout could have been prevented through Outer Joins in the OBIEE RPD ● The Logical Mappings of all dimension attributes could be changed to include an IFNULL clause [It was required that a NULL/missing object state its status (Missing)] ● With hundreds of attributes this is neither sustainable nor realistic
  • 54. Additional Implementation Notes (cntd.) Fabricated Data: Missing Data (cntd.) ● Data Creation in Database Tables Resolution Possibility ● Each and every Dimension Table in our Dimensional Model has an entry for a key of -2 and attribute codes, names, descriptions, etc. of ‘!Record Does Not Exist in Source’ ● At the end of the ETL process, the central conformed dimension (D_PT_TMR) was LEFT OUTER JOINed to each of the dimensional database “Sub-Facts” ● F_TMR_STAT ● F_TMR_STG ● F_TMR_HISTOL ● F_TMR_TRTMT
  • 55. Additional Implementation Notes (cntd.) Fabricated Data: Missing Data (cntd.) ● Data Creation in Database Tables Resolution Possibility (cntd.) ● Where a match was not found in a Fact table, a row was inserted in that Fact table for the missing Tumor ID. All Dimensional Keys were set to -2, !Record Does Not Exist in Source ● Users then gained the ability to pull tumors with missing information.