Presentation is loading. Please wait.

Presentation is loading. Please wait.

Enhance BI Applications and Simplify Development

Similar presentations


Presentation on theme: "Enhance BI Applications and Simplify Development"— Presentation transcript:

1 Enhance BI Applications and Simplify Development
Oracle Analytic Views Enhance BI Applications and Simplify Development William (Bud) Endress Director, Product Management Oracle Database Server Technology October 25, 2018

2 This is a Safe Harbor Front slide, one of two Safe Harbor Statement slides included in this template. One of the Safe Harbor slides must be used if your presentation covers material affected by Oracle’s Revenue Recognition Policy To learn more about this policy, For internal communication, Safe Harbor Statements are not required. However, there is an applicable disclaimer (Exhibit E) that should be used, found in the Oracle Revenue Recognition Policy for Future Product Communications. Copy and paste this link into a web browser, to find out more information.   For all external communications such as press release, roadmaps, PowerPoint presentations, Safe Harbor Statements are required. You can refer to the link mentioned above to find out additional information/disclaimers required depending on your audience.

3 Oracle Analytic Views What are they? A new (as of 12.2) type of view in the Oracle Database Like other views, they access data from other row sources in the database (tables, views, external tables, etc.) Analytic views enhance data sets with A dimensional business model A dimensional and hierarchical expressions A query transformation engine

4 Oracle Analytic Views What can you do with them? Moves business logic (aggregations, hierarchies, calculations) back into database One definition, accessed by many applications Simple SQL for complex analytic queries no joins or GROUP-BY clauses necessary Optimize query performance Smart query transformation engine Simple aggregate management

5 Analytic View Layers and Features
SQL views with standardized set of columns OLE DB for OLAP provider (MDX, Excel) Access Layer Rich dimensional business model: hierarchies, levels, attributes, measures Accessible vis the Oracle Data Dictionary Business Model Generates highly optimized SQL to execute AV queries Deep knowledge of data sources and SQL optimizations SQL Execution

6 Oracle Analytic Views Organized, Enhanced & Optimized Simple SQL & MDX
Easier Access To Your Data CSV SQL MDX / OLE DB for OLAP Analytic View Organized, Enhanced & Optimized Simple SQL & MDX Your Applications Your Data

7 Analytic Views For the data warehouse architect and developer
Something for Everyone For the data warehouse architect and developer Easily extend star schema with aggregate data and calculations Performance optimization For the application developer Simplifies metadata management and SQL generation Easily build applications in Oracle Application Express For the business user Built-in, browser-based data visualization via APEX application Excel Pivot Table interface

8 Analytic Views How would you build this application?
Analysis of health insurance coverage rates in the United States Coverage rates by time, counties and states Geographic comparisons Measure improvement over time Interactive data visualization tools for end users Health Insurance Coverage Rates by State, 2014

9 Analytic Views This application can be built with 5 SQL statements
Create 2 hierarchies (4 SQL statements) Create 1 analytic view (1 SQL statement) Is instantly accessible via APEX based application Is all in the Database Simple SQL Analytic View Data Tables, Views, etc.

10 Analytic Views Simple SQL
SELECT time_hier.member_name AS TIME, geog_hier.member_name AS GEOGRAPHY, pct_insured FROM insured_av HIERARCHIES(time_hier,geog_hier) WHERE time_hier.level_name = 'YEAR' AND geog_hier.level_name = 'STATE') ORDER BY time_hier.hier_order , geog_hier.hier_order; Fact data is selected from analytic views using SQL Analytic views are views on top of a star schema. No storage structures

11 No JOIN or GROUP BY clauses in analytic view queries
Analytic Views Simple SQL SELECT time_hier.member_name AS TIME, geog_hier.member_name AS GEOGRAPHY, pct_insured FROM insured_av HIERARCHIES(time_hier,geog_hier) WHERE time_hier.level_name = 'YEAR' AND geog_hier.level_name = 'STATE' ORDER BY time_hier.hier_order , geog_hier.hier_order; The HIERARCHIES clause specifies the dimensions and hierarchies for this query No JOIN or GROUP BY clauses in analytic view queries

12 Analytic Views Simple SQL
SELECT time_hier.member_name AS TIME, geog_hier.member_name AS GEOGRAPHY, pct_insured FROM insured_av HIERARCHIES(time_hier,geog_hier) WHERE time_hier.level_name = 'YEAR' AND geog_hier.level_name = 'STATE' ORDER BY time_hier.hier_order , geog_hier.hier_order; Standardized columns such as ‘member_name’ are selected from the hierarchies Standardized columns such as ‘member_name’ are selected from the hierarchies

13 Levels of aggregation are specified in the WHERE clause
Analytic Views Simple SQL SELECT time_hier.member_name AS TIME, geog_hier.member_name AS GEOGRAPHY, pct_insured FROM insured_av HIERARCHIES(time_hier,geog_hier) WHERE time_hier.level_name = 'YEAR' AND geog_hier.level_name = 'STATE' ORDER BY time_hier.hier_order , geog_hier.hier_order; Levels of aggregation are specified in the WHERE clause When filtering on the level ‘State’ for the time hierarchy, the member named will include California, New York, etc

14 The calculations automatically use new hierarchy levels.
Analytic Views Simple SQL SELECT time_hier.member_name AS TIME, geog_hier.member_name AS GEOGRAPHY, pct_insured FROM insured_av HIERARCHIES(time_hier,geog_hier) WHERE time_hier.level_name = 'YEAR' AND geog_hier.level_name = 'COUNTY' ORDER BY time_hier.hier_order , geog_hier.hier_order; To drill, just update the WHERE clause. Everything else remains the same. The calculations automatically use new hierarchy levels.

15 To select a calculation, just select columns
Analytic Views Simple SQL SELECT time_hier.member_name AS TIME, geog_hier.member_name AS GEOGRAPHY, pct_insured_diff_us_avg FROM insured_av HIERARCHIES(time_hier,geog_hier) WHERE time_hier.level_name = 'YEAR' AND geog_hier.level_name = 'COUNTY' ORDER BY time_hier.hier_order , geog_hier.hier_order; To select a calculation, just select columns Calculations are express in the analytic view so they can just be selected in the query

16 Analytic Views Easily create new measures Embedded Calculations
Simplified syntax based on business model Includes dimensional and hierarchical functions We've already seen that calculation measures are easy to query. They are also very easy to define using syntax that references objects within the business model (rather than referencing tables and columns). Look at Sales Year to Date and note the references to the Time Hierarchy and Year level. This measure will return Sales Year to Date for any level within the Time Hierarchy, across all other dimensions. Since the database understands this to be a time series calculation, it will automatically densify data along the time hierarchy (e.g., partition outer join) and automatically expand filters to access prior or future time periods (security rules permitting, of course). The Product Share of Parent will return Sales for any product, at any level of the Product Hierarchy, as a ratio Sales of the Parent product (across all other dimensions). Add Percent Uninsured Difference from US Average with a single line of code SHARE_OF(pct_uninsured HIERARCHY geog_hier MEMBER country ['USA']) – 1)

17 Add time series calculations with a single line of code
Analytic Views Embedded Calculations Add time series calculations with a single line of code We've already seen that calculation measures are easy to query. They are also very easy to define using syntax that references objects within the business model (rather than referencing tables and columns). Look at Sales Year to Date and note the references to the Time Hierarchy and Year level. This measure will return Sales Year to Date for any level within the Time Hierarchy, across all other dimensions. Since the database understands this to be a time series calculation, it will automatically densify data along the time hierarchy (e.g., partition outer join) and automatically expand filters to access prior or future time periods (security rules permitting, of course). The Product Share of Parent will return Sales for any product, at any level of the Product Hierarchy, as a ratio Sales of the Parent product (across all other dimensions). LAG_DIFF_PERCENT(pct_insured) OVER (HIERARCHY time_hier OFFSET 1 ACROSS ANCESTOR AT LEVEL year)

18 Analytic Views Descriptive metadata available in data dictionary
Descriptive names and descriptions Translatable Measure formatting User/application extensible

19 “Standard” and Analytic Views
“Standard” View Analytic View Data Sources (FROM) Yes Joins Business Model-Based Calculations No Automatic Hierarchical Columns Automatic Multi-Level Aggregation Automatic Filter Expansion Automatic Outer Join Automatic Order of Calculation Presentation Metadata Another way of thinking about analytic views is to compare them with “standard” relational views. While you can certainly create a standard view that returns just about any data (aggregation, calculations and so on), let’s look at what is easy and what comes “for free” with each. Both can select from tables, other views, external tables and so on. Both can join dimension and fact tables. Only analytic views Define calculations using business-model based syntax that works at any level of aggregation and across any dimension. Include system-generated hierarchical columns that simplify SQL generation. Automatically return multiple levels of aggregation without multiple passes, UNIONS or other complicated SQL. Automatically expand filters to access data for prior or future periods, parents, ancestors, children and descendants. Automatically densify time hierarchies for time series calculations. Automatically order calculations. For example aggregate then calculate measure, or calcuate measures then aggregate.

20 Learn More at LiveSQL.Oracle.com

21


Download ppt "Enhance BI Applications and Simplify Development"

Similar presentations


Ads by Google