[ contexts: the good, the bad & the ugly steve krandel & jeffrey laughlin

43
[ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Upload: kelly-adams

Post on 17-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

[ Contexts: The Good, The Bad & The UglySteve Krandel & Jeffrey Laughlin

Page 2: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[

2

Agenda

Introduction Overview Of Contexts A Journey Into Context Hell

Starting Point – Life Before Contexts First Step – A Tale of Two Contexts Going Deeper – Two Sides of the Story Close to the Edge – Having your cake and eating it

too Conclusion/Q&A

Page 3: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[

3

Introduction

Steve Krandel

Jeffrey Laughlin

Intuit

Page 4: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[

4

The Journey into Context Hell

Need a good quote from/about Dante’s Inferno or a long, arduous journey

Image of a haunted house, fire, pitchforks, etc.

Since it’s October and Halloween is almost here, let’s look at this presentation like it’s haunted house. You paid to get in, we’ll try to walk you down a path that may be scary, exciting or even fun at times, but hopefully you’ll have a couple of pieces of candy when it’s over

Page 5: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Disclaimer

Over-simplification used to present core concepts in a more understandable manner

Example do not represent any particular company, person, or universe , living or dead.

Others?

5

Page 6: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Steve’s Slides

6

Page 7: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Starting Point – Life Before Contexts

Business Needs

Customer Care management wants reporting from two of their business systems From the Case Management system

How many cases are created by day and by agent

From the Phone Switch How many calls are handled by day and by agent How many time is spent handled calls by day and by

agent

7

Page 8: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Starting Point – Life Before Contexts

Solution(s)

Cases universe For reporting from the Case Management system

Calls universe For reporting from the Phone Switch

8

Page 9: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Starting Point – Life Before Contexts

Calls Universe

9

Page 10: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Starting Point – Life Before Contexts

Cases Universe

10

Page 11: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Starting Point – Life Before Contexts

Pros Cons

Users Meets the needs of the business

Integration of data has to be done in the report though multiple data providers and merged dimensions in the report

Designers

Simple, easy to maintain Synchronization of Dimensional objects – each change has to be done in each universe

System

11

Page 12: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Starting Point – Life Before Contexts

Outcome

Happy Users Our solution is meeting the business needs Leaders have information to support decision

making

But… Is there a better way we could meet the business

needs? Are there any possible efficiencies here?

12

Page 13: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Starting Point – Life Before Contexts

These universes have a lot in common Both have two common dimensions and

(coincidentally) use the same Table and Classes/Objects Dates Agent Information

Both are used to report a common business function The business may even be looking at data from both

universes in the same reports

Can we put both of these Subject Areas together into a single universe for the Contact Center?

(of course we can!)

13

Page 14: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ First Step – A Tale of Two Contexts

Customer Service Universe

14

Page 15: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ First Step – A Tale of Two Contexts

Setting up multiple contexts A separate context is created for each fact table The join from the fact table to each dimension table

is included

Notice that every join in the universe is included in at least one context

15

Page 16: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ First Step – A Tale of Two Contexts

Parameter Settings Multiple SQL statements for each context

TBD – Separate statements Multiple SQL statements for each measure

TBD - Separate statements per fact table – poor mans contexts

Allow selection of multiple contexts We’ll get to this one later

16

Page 17: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ First Step – A Tale of Two Contexts

What happens when we run a report?

Using only one context

17

Page 18: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ First Step – A Tale of Two Contexts

What happens when we run a report?

Using both contexts

18

Page 19: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ First Step – A Tale of Two Contexts

Context Prompting

There is no context prompting, because the contexts have been built properly

Steve’s Slide Here

19

Page 20: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ First Step – A Tale of Two Contexts

Pros Cons

Users Fewer universes required for reporting

Seamless access to integrated data from different data sources

Requires some user education

Designers

Fewer universes to manage

Only one set of dimension objects to manage

Increase in complexity for managing universe

System

20

Page 21: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ First Step – A Tale of Two Contexts

Outcome Happy Users

Our solution is meeting the business needs Leaders have information to support decision

making We are learning more

Until… New answer lets users see more of the world… Seeing more of the world make users ask more

questions… Those new questions send us back to work…

21

Page 22: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Going Deeper – Two Sides of the Story

New Business Needs

Cases have two significant dates Case Opened Date (default field used up to now) Case Closed Date (“new” field)

The business want to be able to use both in reporting Sometimes the Date needs to represent Case Open

Date Sometimes the Date needs to represent Case Close

Date (But rarely both at the same time)

22

Page 23: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Going Deeper – Two Sides of the Story

Solution(s)

Possible ways to meet this new requirement Separate Date Dimensions Common Date with Context Prompting

23

Page 24: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Going Deeper – Two Sides of the Story

Customer Service Universe

Context Prompting now occurs by design

24

Page 25: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Going Deeper – Two Sides of the Story

Which Contexts are available in the Context prompt?

When none of the objects in the query are related to the Cases subject area No ambiguous relationships No need for a context prompt

When ANY of the objects in the query are related to the Cases subject area

Multiple relationships exist The user is prompted to select a context from the list of context that can resolve the conflict

25

Page 26: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Going Deeper – Two Sides of the Story

Context Names and Descriptions Make sure your context names and descriptions

allow the user to recognize and select the context that meets their needs

OR

Which context prompt options would you prefer to see?

26

Page 27: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Going Deeper – Two Sides of the Story

Setting the default context in a report You can setup the report so that once you have

selected a prompted context and saved it, the report won’t be prompted for a context again Saves users from having to know which context they should select when they refresh the report Works in View mode (but not in Edit) Scheduled reports will fail if there is an undefined context prompt

Settings (for Web Intelligence reports) Edit Query > Properties Tab Uncheck “Reset contexts on refresh”

27

Page 28: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Going Deeper – Two Sides of the Story

Pros Cons

Users Increased flexibility for use of a common dimension with a subject area

Requires user education to understand how to use multiple contexts

Designers

Only one set of dimension objects to manage

Further increase in complexity for managing universe

Increase in user support needs

System Potentially fewer reports in the repository (If the 2ndprompted context replaces the need for a 2nd report)

28

Page 29: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Going Deeper – Two Sides of the Story

Outcome Transition

Success breeds success (or at least more opportunities for success)

29

Page 30: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Close to the Edge – Having your cake and eating it too

Business Needs

Sales management needs to be able to report on opportunities and orders. An opportunity can have an associated order, but it

is not required An order can have an associated opportunity, but it

is not required

30

Page 31: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Close to the Edge – Having your cake and eating it too

Solution(s) A Universe that supports all 3 scenarios for the

information they need: For selected dimensional values

ALL of the Opportunities, and ANY of the associated Orders

OR ALL of the Orders, and ANY of the associated Opportunities

OR ALL of the Opportunities, and ALL of the Orders

31

Page 32: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Close to the Edge – Having your cake and eating it too

Sales Universe

32

Page 33: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Close to the Edge – Having your cake and eating it too

Intermediary Aliases At least two variations of the same join are necessary

to meet all 3 Opty/Order scenarios for Sales reporting

There can only be one join between OPTYS.OPTY_ID and ORDERS.OPTY_ID

33

ALL records from OPTYSANY related records from ORDERS

OPTYS.OPTY_ID = ORDERS.OPTY_ID(+)

ALL records from ORDERSANY related records from OPTYS

OPTYS.OPTY_ID(+) = ORDERS.OPTY_ID

Page 34: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Close to the Edge – Having your cake and eating it too

Intermediary Aliases An alias of one of the tables from join with multiple

variations An intermediary for the original table to create a

separate, distinct path for the relationship between the tables

Used to link the two tables to mimic the join it is replacing Replaces the original table in the join to the other table Joined to the original table by primary key Either table can be used as an intermediary

Create a separate Intermediary Alias for each variation of the join

By creating an alias for the additional variations on the join, joins can exist simultaneously in the universe

34

Page 35: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Close to the Edge – Having your cake and eating it too

Intermediary Aliases

35

ALL Orders & ANY OptysOriginal Join OPTYS.OPTY_ID(+) = ORDERS.OPTY_ID

Alias ORDERS_ALL_ORDERS

Mimic Join 1 OPTYS.OPTY_ID(+) = ORDERS_ALL_ORDERS.OPTY_ID

Mimic Join 2 ORDERS_ALL_ORDERS.ORDER_ID(+)=ORDERS.ORDER_ID

ALL Optys & ANY OrdersOriginal Join OPTYS.OPTY_ID = ORDERS.OPTY_ID(+)

Alias ORDERS_ANY_ORDERS (from ORDERS table)

Mimic Join 1 OPTYS.OPTY_ID = ORDERS_ANY_ORDERS.OPTY_ID(+)

Mimic Join 2 ORDERS_ANY_ORDERS.ORDER_ID=ORDERS.ORDER_ID(+)

Page 36: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Close to the Edge – Having your cake and eating it too

Parameter Settings Allow selection of multiple contexts

Separate SQL is generated for each context selected Results of each are merged together by a union Provide a single output for the data provider

36

Page 37: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Close to the Edge – Having your cake and eating it too

What Happens when a report runs?Only one of two contexts in prompt selected

37

One SQL statementruns “normally”

Page 38: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Close to the Edge – Having your cake and eating it too What Happens when a report runs? Both contexts in prompt selected

38

All Optys & Any Orders Context

All Orders& Any OptysContext

Unionoperatorties themtogether

Page 39: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Close to the Edge – Having your cake and eating it too

Pros Cons

Users Can get all of the information the need about a subject are without having to create multiple data providers and merge the dimensions in the report

Requires user education to understand how to use multiple contexts

Risk of incomplete data from users not selecting all of the required contexts

Designers

Can be used in place of database development in certain cases

Further increase in complexity for managing universe

Increase in user support needs

System

39

Page 40: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[

40

Key Learnings

You can organize tables, aliases, joins and objects to create complementary overlapping contexts for distinct data paths.

You can use context prompts to allow users to have different cuts at the data while sharing the same report.

It's even possible to allow users to select multiple contexts with in a single data provider to allow complex problems to be solved.

Page 41: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[ Conclusion / Q&A

41

Page 42: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[

42

Appendix

Page 43: [ Contexts: The Good, The Bad & The Ugly Steve Krandel & Jeffrey Laughlin

Real Experience. Real Advantage.

[

43

[

] Thank you for participating.

SESSION CODE:

INSERT SESSION CODE

Please remember to complete and return your evaluation form following this session.

For ongoing education on this area of focus, visit the Year-Round Community page at www.asug.com/yrc