Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

Francesco Tisiot BI Tech Lead Become an Equilibrista Find the Right Balance in The Analytics Tech Ecosystem

Slide 3

Slide 3 text

Verona, Italy http://ritt.md/ftisiot 10 Years in Analytics [email protected] @FTisiot Oracle ACE Francesco Tisiot BI Tech Lead at Rittman Mead

Slide 4

Slide 4 text

Specialised in data visualisation, predictive analytics, enterprise reporting and data engineering. Enabling the business, the consumers, the data providers and IT to work towards a common goal, delivering innovative and cost-effective solutions based on our core values of thought leadership, hard work and honesty. We work across multiple verticals on projects that range from mature, large scale implementations to proofs of concept and can provide skills in development, architecture, delivery, training and support. www.rittmanmead.com [email protected] @rittmanmead

Slide 5

Slide 5 text

A bit of History

Slide 6

Slide 6 text

Excel Hell

Slide 7

Slide 7 text

https://www.rittmanmead.com/blog/2018/11/where-are-my-users-coming-from-analysing-obiee-connections-methods/

Slide 8

Slide 8 text

Unique Source of Truth

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

Calculated from Scratch Calculated from Scratch AGREEM ENT

Slide 13

Slide 13 text

Sourced from Certified Datasource Calculated from Scratch

Slide 14

Slide 14 text

Approach to Data Certification

Slide 15

Slide 15 text

Top-Down Approach Data Model Definition Implementation Analysis Centralized BI OBIEE - RPD LOOKER

Slide 16

Slide 16 text

Bottom-Up Approach Datasource Creation Analysis Datasource Publication Self Service Oracle Data Visualization Tableau

Slide 17

Slide 17 text

Top-Down vs Bottom-Up KPI Duplication Security Time To KPI Reusability Performance

Slide 18

Slide 18 text

Reusability / Security DataSource A DataSource B Shared Dimension(s) Centralised BI

Slide 19

Slide 19 text

Reusability / Security DataSource A DataSource B Dim X Self Service BI Dim X

Slide 20

Slide 20 text

Self-Service BI

Slide 21

Slide 21 text

Self Service Centralised

Slide 22

Slide 22 text

The Right Tool: OAC

Slide 23

Slide 23 text

Sourcing from Central System Select "Dim Account"."Account Code", "Fact Churn"."Churn Prediction" from "Churn" No Formula Recalculation No Join, Filtering, Aggregation Knowledge Security Inheritance No Code Duplication

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

Hybrid

Slide 26

Slide 26 text

Self Service Centralised

Slide 27

Slide 27 text

Awareness

Slide 28

Slide 28 text

Documentation

Slide 29

Slide 29 text

RPD Metadata Dictionary

Slide 30

Slide 30 text

Suggestions

Slide 31

Slide 31 text

Complexity Key Factors Security Data Volumes Interest

Slide 32

Slide 32 text

Key Factors Centralised Self Service Complexity Low High Interest Narrow/Unique Wide/Repeated Security Easy Complex Data Volumes Small Big

Slide 33

Slide 33 text

Self Service Centralised ?

Slide 34

Slide 34 text

Control

Slide 35

Slide 35 text

Keeping Track Usage Tracking!

Slide 36

Slide 36 text

Usage Tracking SELECT DISTINCT USER_NAME, NVL(QUERY_SRC_CD, 'RPD ODBC') SOURCE, TRUNC(START_TS) TS FROM S_NQ_ACCT WHERE AND ( QUERY_SRC_CD IS NULL OR UPPER(QUERY_SRC_CD) IN ('SOAP', 'RAWSQL') ) AND QUERY_TEXT NOT LIKE '{CALL%' ORDER BY 3 DESC;

Slide 37

Slide 37 text

Self Service?

Slide 38

Slide 38 text

Calculation

Slide 39

Slide 39 text

”Dim Issue Status"."Issue Status”…> ”Fact Issue KPI"."# of Issues"…> Metadata

Slide 40

Slide 40 text

https://www.youtube.com/watch?v=mQY2vslle_8 REST Endpoints

Slide 41

Slide 41 text

https://www.youtube.com/watch?v=mQY2vslle_8 REST Endpoints curl “https:///datasetsvc/ public/api/v4/datasets” \ -u ‘:'

Slide 42

Slide 42 text

{ "provider": "managed", "requiresImpersonation": false, "semicolonDelimited": false, "customDelimiter": false, "name": "train", "namespace": "[email protected]", "business-model": "\"\"", "description": "Uploaded from train.csv.", "display-name": "train", "locale": "sys", "file-length": 460676, "type": "text", "data-last-modified": "2019-04-08T08:19:34.481+0000", "private-connection": false, "mime-type": "application/csv", "owner-guid": "[email protected]", "metadata-last-modified": "2019-04-08T08:22:20.928+0000", "bdp-profile": "{\"profile\":\"784c4626-ebd6-4a01-b5dc-1a3ccd0fee1a\"}", "is-temporary": false } REST Endpoints - CSV

Slide 43

Slide 43 text

{ …, "name": "OPEN_INCIDENTS", "namespace": "[email protected]", "business-model": "\"\"", "indexable": "BOTH", "description": "External Data Set", "display-name": "OPEN_INCIDENTS", …, "data-last-modified": "2019-03-19T16:07:22.732+0000", "connection-namespace": "[email protected]", "private-connection": false, "connection-name": "LGI", "provider-type": "db", "provider-name": "oracle", "owner-guid": "[email protected]", … } REST Endpoints - DB

Slide 44

Slide 44 text

REST Endpoints - DB Details api/v4/datasets/{dataset-uri} {dataset-uri} = ‘’.’’

Slide 45

Slide 45 text

REST Endpoints - DB Details

Slide 46

Slide 46 text

{ "id": "LGI", "leaf": false, "otype": "Schema", "name": "LGI", "children": [ { "id": "LGI.OPEN_INCIDENTS", "leaf": false, "otype": "dbtable", "name": "OPEN_INCIDENTS", "allColumns": [ { "datatype": "number", "name": "OPEN_INCIDENTS", "is-supported": "TRUE", "otype": "Column", "leaf": true, "id": "LGI.OPEN_INCIDENTS.OPEN_INCIDENTS" }, { "datatype": "varchar(30)", "name": "ISO_YEAR_WEEK", "is-supported": "TRUE", "otype": "Column", "leaf": true, "id": "LGI.OPEN_INCIDENTS.ISO_YEAR_WEEK" }, REST Endpoints - DB Details

Slide 47

Slide 47 text

REST Endpoints - Dataflows api/v4/dataflows/{dataflow-uri} {dataflow-uri} = ‘’.’’

Slide 48

Slide 48 text

{ "datagen-name": "Clean Wine Dataflow", "namespace": "[email protected]", "definition": { "steps": [ { "stepId": "InputDataset_0", "description": "winemag-data_first150k", "type": "InputDataset", "stepDisplayName": "winemag-data_first150k", "stepDescription": "", "datasetRef": "ds_0", "qualifiedTable": "XSA(ds_0).\"Columns\"", "datasetDescription": "Uploaded from winemag-data_first150k.xlsx.", "datasetType": "excel", "datasetDisplayName": "winemag-data_first150k", "inputType": "all", "parameters": [], "promptForInputSource": [] }, REST Endpoints - Dataflow Detail

Slide 49

Slide 49 text

{ "stepId": "AddColumns_0", "description": "Add Columns", "type": "AddColumns", "stepDisplayName": "", "stepDescription": "", "columns": [ { "name": "TRAIN OR TEST", "expression": "case when RAND() < 0.8 then 'Train' else 'Test' end", "datatype": "varchar(4000)", "aggrule": "none", "srcexpression": "case when RAND() < 0.8 then 'Train' else 'Test' end", "transformationtype": "Calculation" }, { "name": "Length of Description", "expression": "CHAR_LENGTH(\"description\")", "datatype": "integer", "aggrule": "sum", "srcexpression": "CHAR_LENGTH(XSA('[email protected]'.'__CLIENT_FLOW_DATASET__'). \"Columns\".\"description\")", "transformationtype": "Calculation" } ] } REST Endpoints - Dataflow Detail

Slide 50

Slide 50 text

No content

Slide 51

Slide 51 text

https://www.oracle.com/solutions/business-analytics/data-visualization/extensions.html

Slide 52

Slide 52 text

Data Governance Extension

Slide 53

Slide 53 text

Displays only objects visible to you!

Slide 54

Slide 54 text

BAR File

Slide 55

Slide 55 text

BAR File

Slide 56

Slide 56 text

DEMO

Slide 57

Slide 57 text

RM Metadata Explorer

Slide 58

Slide 58 text

RM Metadata Explorer Use Cases Data Lineage GDPR DataFlow -> ODI Mapping Metadata Search Tool Data Capital

Slide 59

Slide 59 text

Self Service Analytics

Slide 60

Slide 60 text

Centralized Reporting

Slide 61

Slide 61 text

Measure

Slide 62

Slide 62 text

Francesco Tisiot BI Tech Lead Become an Equilibrista Find the Right Balance in The Analytics Tech Ecosystem

Slide 63

Slide 63 text

No content