31
Analytic Views: Einsatzgebiete im Data Warehouse Dani Schnider, Trivadis AG DOAG Konferenz, 21. November 2017 @ dani_schnider DOAG2017

Analytic Views: Einsatzgebiete im Data Warehouse · PDF file3 21.11.2017 Analytic Views -Einsatzgebiete im Data Warehouse ... 2001 Martial Arts Champions 53100.3 2506 2001 Smash up

Embed Size (px)

Citation preview

Analytic Views:Einsatzgebiete imData WarehouseDani Schnider, Trivadis AG

DOAG Konferenz, 21. November 2017

@dani_schnider DOAG2017

Unser Unternehmen.

Analytic Views - Einsatzgebiete im Data Warehouse2 21.11.2017

Trivadis ist führend bei der IT-Beratung, der Systemintegration, dem Solution Engineering und der Erbringung von IT-Services mit Fokussierung auf -und -Technologien in der Schweiz, Deutschland, Österreich und Dänemark. Trivadis erbringt ihre Leistungen aus den strategischen Geschäftsfeldern:

Trivadis Services übernimmt den korrespondierenden Betrieb Ihrer IT Systeme.

B E T R I E B

KOPENHAGEN

MÜNCHEN

LAUSANNEBERN

ZÜRICHBRUGG

GENF

HAMBURG

DÜSSELDORF

FRANKFURT

STUTTGART

FREIBURG

BASEL

WIEN

Mit über 600 IT- und Fachexperten bei Ihnen vor Ort.

Analytic Views - Einsatzgebiete im Data Warehouse3 21.11.2017

14 Trivadis Niederlassungen mitüber 600 Mitarbeitenden.

Über 200 Service Level Agreements.

Mehr als 4'000 Trainingsteilnehmer.

Forschungs- und Entwicklungsbudget: CHF 5.0 Mio. / EUR 4.0 Mio.

Finanziell unabhängig undnachhaltig profitabel.

Erfahrung aus mehr als 1'900 Projekten pro Jahr bei über 800 Kunden.

Dani Schnider

4

Working for Trivadis in Glattbrugg/Zurich

– Senior Principal Consultant

– Data Warehouse Lead Architect

– Trainer of several Courses

Co-Author of the books

– Data Warehousing mit Oracle

– Data Warehouse Blueprints

Certified Data Vault Data Modeler

21.11.2017 Analytic Views - Einsatzgebiete im Data Warehouse

@dani_schnider danischnider.wordpress.com

Analytic Views - Einsatzgebiete im Data Warehouse5 21.11.2017

What are Analytic Views?

Dim Dim

Dim Dim

Facts

Attribute Dimensions

Attribute Dimensions

Analytic View

HierarchiesHierarchies

Overview

21.11.2017 Analytic Views - Einsatzgebiete im Data Warehouse6

Dimensions and Hierarchies

Analytic Views - Einsatzgebiete im Data Warehouse7 21.11.2017

Attribute Dimension

Analytic Views - Einsatzgebiete im Data Warehouse8 21.11.2017

Data source:

– Dimension table (for star schemas)

– View on multiple dimension tables (for snowflake schemas)

Member Attributes (columns of a dimension table or view)

– Caption and Description

Hierarchy levels (incl. implicit level ‘ALL’)

– Level Key

– Sort Order within hierarchy level

– Caption and Description

Dimension type (STANDARD or TIME)

Attribute Dimension – Example

Analytic Views - Einsatzgebiete im Data Warehouse9 21.11.2017

CREATE OR REPLACE ATTRIBUTE DIMENSION sh_products_attr_dimUSING sh.productsATTRIBUTES (

prod_idCLASSIFICATION caption VALUE 'Product'CLASSIFICATION description VALUE 'Product',

prod_nameCLASSIFICATION caption VALUE 'Product'CLASSIFICATION description VALUE 'Product',

prod_subcategoryCLASSIFICATION caption VALUE 'Subcategory'CLASSIFICATION description VALUE 'Subcategory',

prod_categoryCLASSIFICATION caption VALUE 'Category'CLASSIFICATION description VALUE 'Category')

LEVEL PRODUCTCLASSIFICATION caption VALUE 'Product'CLASSIFICATION description VALUE 'Product'KEY prod_idMEMBER NAME prod_nameMEMBER CAPTION prod_nameMEMBER DESCRIPTION prod_nameORDER BY prod_nameDETERMINES (prod_subcategory)

...

Hierarchy

Analytic Views - Einsatzgebiete im Data Warehouse10 21.11.2017

Data source:

– Attribute Dimension

Hierarchical Ordering of Levels

– Parent-child relationships between levels of an Attribute Dimension

Aggregation Rows

– A row for each member of each level of the hierarchy

Can be used in SELECT statements

Multiple Hierarchies can be defined for one Attribute Dimension

{ }

{ }

{ }

{ }

{ }

{ }

{ }

Hierarchy – Example

Analytic Views - Einsatzgebiete im Data Warehouse11 21.11.2017

CREATE OR REPLACE HIERARCHY sh_products_hierCLASSIFICATION caption VALUE 'Products'CLASSIFICATION description VALUE 'Products'

USING sh_products_attr_dim(product CHILD OFsubcategory CHILD OFcategory)

CREATE OR REPLACE HIERARCHY sh_times_calendar_hierCLASSIFICATION caption VALUE 'Calendar Year'CLASSIFICATION description VALUE 'Calendar Year'

USING sh_times_attr_dim(day CHILD OFcalendar_month CHILD OFcalendar_quarter CHILD OFcalendar_year)

CREATE OR REPLACE HIERARCHY sh_times_fiscal_hierCLASSIFICATION caption VALUE 'Fiscal Year'CLASSIFICATION description VALUE 'Fiscal Year'

USING sh_times_attr_dim(day CHILD OFfiscal_month CHILD OFfiscal_quarter CHILD OFfiscal_year)

Analytic View

Analytic Views - Einsatzgebiete im Data Warehouse12 21.11.2017

Data source:

– Fact table of a star or snowflake schema

References to Attribute Dimensions

– Key of fact table that references the dimension

– Hierarchies used in the dimension

Base Measures

– Columns of the fact table

Calculated Measures

– Expressions on base measures

Analytic View – Example (1)

Analytic Views - Einsatzgebiete im Data Warehouse13 21.11.2017

CREATE OR REPLACE ANALYTIC VIEW sh_sales_history_avUSING sh.salesDIMENSION BY(sh_times_attr_dim KEY time_id REFERENCES time_id

HIERARCHIES (sh_times_calendar_hier DEFAULT,sh_times_fiscal_hier),

sh_products_attr_dim KEY prod_id REFERENCES prod_idHIERARCHIES (sh_products_hier DEFAULT),

sh_customers_attr_dim KEY cust_id REFERENCES cust_idHIERARCHIES (sh_customers_hier DEFAULT),

sh_channels_attr_dim KEY channel_id REFERENCES channel_idHIERARCHIES (sh_channels_hier DEFAULT),

sh_promotions_attr_dim KEY promo_id REFERENCES promo_idHIERARCHIES (sh_promotions_hier DEFAULT)

)MEASURES (

amount_sold FACT amount_sold,quantity_sold FACT quantity_sold

)

Analytic View – Example (2)

Analytic Views - Einsatzgebiete im Data Warehouse14 21.11.2017

CREATE OR REPLACE ANALYTIC VIEW sh_sales_history_avUSING sh.salesDIMENSION BY(...)

MEASURES (-- Base Measures

amount_sold FACT amount_sold,quantity_sold FACT quantity_sold,

-- Calculated Measuresamt_sold_shr_parent_prod AS

(SHARE_OF(amount_sold HIERARCHY sh_products_hier PARENT)),sales_cal_ytd AS

(SUM(amount_sold) OVER (HIERARCHY sh_times_calendar_hierBETWEEN UNBOUNDED PRECEDINGAND CURRENT MEMBERWITHIN ANCESTOR AT LEVEL calendar_year)),

sales_cal_year_ago AS(LAG(amount_sold) OVER (HIERARCHY sh_times_calendar_hier

OFFSET 1 ACROSS ANCESTORAT LEVEL calendar_year))

)DEFAULT MEASURE amount_sold

Analytic Views - Einsatzgebiete im Data Warehouse15 21.11.2017

Demo 1

a) Creating Attribute Dimensionsb) Creating Hierarchiesc) Creating Analytic Views

Analytic Views - Einsatzgebiete im Data Warehouse16 21.11.2017

Typical Use Cases

Dim Dim

Dim Dim

FactsSQL Query

SQL Queries in Star Schema

SQL Query

21.11.2017 Analytic Views - Einsatzgebiete im Data Warehouse17

SQL Queries in Star Schema

Analytic Views - Einsatzgebiete im Data Warehouse18 21.11.2017

SELECT h1,h2,h3, f1, f2

FROM analytic_viewHIERARCHIES (h1,h2,h3)WHERE (filter on hierarchy1)AND (filter on hierarchy2)

ORDER BY h1,h2,h3

With Analytic View:

SELECT d1,d2,d3, SUM(f1), SUM(f2)

FROM fact fJOIN dim1 d1 ON (…)JOIN dim2 d2 ON (…)JOIN dim3 d3 ON (…)WHERE (filter on dim1)AND (filter on dim2)

GROUP BY d1,d2,d3ORDER BY d1,d2,d3

Classical: Joins on Star Schema

Query on Analytic View – Example

Analytic Views - Einsatzgebiete im Data Warehouse19 21.11.2017

SELECT sh_times_calendar_hier.member_name AS calendar_hier, RPAD(' ', sh_products_hier.depth * 2)

||sh_products_hier.member_name AS products_hier, amount_sold, quantity_sold

FROM sh_sales_history_avHIERARCHIES

( sh_times_calendar_hier, sh_products_hier)

WHERE sh_times_calendar_hier.level_name = 'CALENDAR_YEAR'AND sh_products_hier.prod_category = 'Electronics'

ORDER BYsh_times_calendar_hier.hier_order

, sh_products_hier.hier_order, sh_customers_hier.hier_order

Query on Analytic View – Result

Analytic Views - Einsatzgebiete im Data Warehouse20 21.11.2017

CALENDAR_HIER PRODUCTS_HIER AMOUNT_SOLD QUANTITY_SOLD------------- ------------------------------------------------------ ----------- -------------1998 Electronics 1775688.87 98531998 Game Consoles 11.99 11998 Y Box 11.99 11998 Home Audio 1568900.57 26881998 8.3 Minitower Speaker 578374.62 10431998 Home Theatre Package with DVD-Audio/Video Play 990525.95 16451998 Y Box Accessories 73744.81 26841998 Extension Cable 1685.89 2111998 Xtend Memory 72058.92 24731998 Y Box Games 133031.5 44801998 Adventures with Numbers 35771.66 21471998 Endurance Racing 97259.84 23331999 Electronics 2916369.92 241051999 Game Consoles 272901.18 8841999 Y Box 272901.18 884...2001 Fly Fishing 16726.41 21022001 Martial Arts Champions 53100.3 25062001 Smash up Boxing 100546.16 3121

66 rows selected.

Analytic Views and BI Tools – Example OBIEE

Analytic Views - Einsatzgebiete im Data Warehouse21 21.11.2017

Metadata Layer is part of BI Tool:

OBIEE

– Business Model and Mapping

SAP BusinessObjects

– Universe

IBM Cognos

– Framework Manager

Analytic Views and BI Tools – Example Tableau

Analytic Views - Einsatzgebiete im Data Warehouse22 21.11.2017

Analytic Views and BI Tools

Analytic Views - Einsatzgebiete im Data Warehouse23 21.11.2017

For BI tools with metadata layer (e.g. OBIEE):

No benefits with Analytic Views

Import functionality would be useful

For BI tools without metadata layer (e.g. Tableau, QlikView):

Metadata definition in database

Simplification of user queries

ev. Views on top of Analytic Views required

Analytic Views and ETL

Analytic Views - Einsatzgebiete im Data Warehouse24 21.11.2017

Analytic View can be Source for ETL Job

Source should be Star Schema

– Physical (tables) or Virtual (views)

Useful for

– Complex Calculations of Derived Measures

– Exports to Flat Structures(e.g. Standard Reports)

Analytic Views and ETL

Analytic Views - Einsatzgebiete im Data Warehouse25 21.11.2017

Dim Dim

Dim Dim

FactsAnalytic

ViewReportTable

Analytic Views - Einsatzgebiete im Data Warehouse26 21.11.2017

Demo 2

a) Queries on Hierarchiesb) Queries on Analytic Viewsc) A View behind the Scenes

Analytic Views - Einsatzgebiete im Data Warehouse27 21.11.2017

Conclusion

Conclusion: Analytic Views are…

Analytic Views - Einsatzgebiete im Data Warehouse28 21.11.2017

A Powerful Extension of Oracle SQL

Very flexible for Analytic Queries on Star Schemas

Useful for Ad-hoc Queries in SQL

Not (yet) supported by any BI Tools

Not a Replacement of a Star Schema

Oracle Documentation

Analytic Views - Einsatzgebiete im Data Warehouse29 21.11.2017

Oracle Database 12c Release 2, Data Warehousing Guide

– 24 Overview of Analytic Views

– 25 Attribute Dimension and Hierarchy Objects

– 26 Analytic View Objects

Oracle Database 12c Release 2, SQL Language Reference

– CREATE ANALYTIC VIEW

– Calculated Measures Expressions

Oracle Live SQL

– Creating an Analytic View for the Sales History (SH) Sample Schema

– Querying Analytic Views

Additional Information

Analytic Views - Einsatzgebiete im Data Warehouse30 21.11.2017

Attribute Dimensions and Hierarchies in Oracle 12.2

Analytic Views: Powerful Oracle 12.2 Feature for Business Intelligence

Analytic Views: A Performance Deep Dive Analysis

danischnider.wordpress.com

Trivadis @ DOAG 2017#opencompany

Stand: 3. Stock, direkt an der Rolltreppe

Wir teilen unser Knowhow!Einfach vorbei kommen, Live-Präsentationenund DokumentenarchivT-Shirts, Gewinnspiel und mehrWir freuen uns wenn Sie vorbei schauen

21.11.2017 Analytic Views - Einsatzgebiete im Data Warehouse31