Documente Academic
Documente Profesional
Documente Cultură
Design choices:
Star schema
Narrow fact
Three tables
layer
Familiar
design
navigation
Denormalized
table for
Reporting
QS building
Folders block
organize
Placeholder
Parents QS
Naming
convention Query Set
Union
User Leaf
Naming for members
Reports
Copyright © Boeing 2007. All rights reserved
Framework Model: Core Design Elements
with
E123_SCENARIO21 as Primary
(select
E123_SCENARIO.ESB_FKID, reference to
E123_SCENARIO.ESB_PARENT,
E123_SCENARIO.ESB_CHILD,
PARENT-
Cognos E123_SCENARIO.ALIAS1, CHILD
E123_SCENARIO.DATASTORE,
Connection E123_SCENARIO.GENERATION physical table
from
"FabFBI Datasource"..AFAB.E123_SCENARIO),
ScenarioGen2 as
(select
E123_SCENARIO21.ESB_FKID as ESB_FKID,
E123_SCENARIO21.ESB_PARENT as PARENT,
Schema
E123_SCENARIO21.ESB_CHILD as CHILD,
E123_SCENARIO21.ALIAS1 as ALIAS1,
owner
E123_SCENARIO21.DATASTORE as DATASTORE,
E123_SCENARIO21.GENERATION as GENERATION
from
where
E123_SCENARIO21 Top-of-Tree
(E123_SCENARIO21.GENERATION in ('2')) constraint
),
coalesce(
case when (ScenarioGen34Union18.CHILD is NULL) then null
else ScenarioGen34Union18.PARENT end
Walk trees ,case when (ScenarioGen23Union19.CHILD is NULL) then null
else ScenarioGen23Union19.PARENT end
in reverse ,case when (ScenarioGen2.CHILD is NULL) then null Build leaf
else ScenarioGen2.PARENT end
) as LEAF_PARENT, members
3Æ2Æ1
coalesce(ScenarioGen34Union18.CHILD
,ScenarioGen23Union19.CHILD
,ScenarioGen2.CHILD
) as LEAF_CHILD,
….
Placeholders Coalesce
promote Case switch
members
Coalesce is
No cross
tree walker
joins allowed!
Scan right to
first non-null
Model
objects need
relationships
Conditional
Leaf links to members
fact tables
Grouped by
Leaf model generation
objects are (nice to have:
generation determinant
specific filters)
Naming
suffix Uniqueness
1 2 3… based on
composite
CHILD1 is business
top-of-tree keys
Hierarchy
name
Build
presentation
layer from Member
BP model levels
building
blocks
Unique leaf
level
Drag drop
& test Set
businesskey
and caption
User Ready to
familiar build
names reports
Is it fast Do
In AS aggregate
10-30 values
secs match
In QS
3-5 Mixed
secs grains
Note: Non-proprietary ‘scrubbed’ test data - all aggregate values are row counts
Copyright © Boeing 2007. All rights reserved
Example 1 of Unbalanced Hierarchy
Fringe Dollar
Adjustments
Data
Rollups
Regular
Mixed- Dollars
grain data
Link by
Root_child
‘Cloned’
parent
‘Cloned’ child
data from
root_child
Attached to
different
ancestor