Save 37% off PRO during our Black Friday Sale! »

Become an Equilibrista: Find the right balance in the Analytics Tech Ecosystem

Become an Equilibrista: Find the right balance in the Analytics Tech Ecosystem

How to successfully mix Governed and Self Service Analytics

A23789f299ed06fe7d9f1c6940440bfa?s=128

FTisiot

June 24, 2019
Tweet

Transcript

  1. None
  2. Francesco Tisiot BI Tech Lead Become an Equilibrista Find the

    Right Balance in The Analytics Tech Ecosystem
  3. Verona, Italy http://ritt.md/ftisiot 10 Years in Analytics francesco.tisiot@rittmanmead.com @FTisiot Oracle

    ACE Francesco Tisiot BI Tech Lead at Rittman Mead
  4. 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 info@rittmanmead.com @rittmanmead
  5. A bit of History

  6. Excel Hell

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

  8. Unique Source of Truth

  9. None
  10. None
  11. None
  12. Calculated from Scratch Calculated from Scratch AGREEM ENT

  13. Sourced from Certified Datasource Calculated from Scratch

  14. Approach to Data Certification

  15. Top-Down Approach Data Model Definition Implementation Analysis Centralized BI OBIEE

    - RPD LOOKER
  16. Bottom-Up Approach Datasource Creation Analysis Datasource Publication Self Service Oracle

    Data Visualization Tableau
  17. Top-Down vs Bottom-Up KPI Duplication Security Time To KPI Reusability

    Performance
  18. Reusability / Security DataSource A DataSource B Shared Dimension(s) Centralised

    BI
  19. Reusability / Security DataSource A DataSource B Dim X Self

    Service BI Dim X
  20. Self-Service BI

  21. Self Service Centralised

  22. The Right Tool: OAC

  23. 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
  24. None
  25. Hybrid

  26. Self Service Centralised

  27. Awareness

  28. Documentation

  29. RPD Metadata Dictionary

  30. Suggestions

  31. Complexity Key Factors Security Data Volumes Interest

  32. Key Factors Centralised Self Service Complexity Low High Interest Narrow/Unique

    Wide/Repeated Security Easy Complex Data Volumes Small Big
  33. Self Service Centralised ?

  34. Control

  35. Keeping Track Usage Tracking!

  36. 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;
  37. Self Service?

  38. Calculation

  39. <saw:report ...> <saw:criteria xsi:type=“…” subjectArea=“&quot;Jira Reporting&quot;"> <saw:columns> <saw:column …> <saw:columnFormula>

    <sawx:expr xsi:type=“…”>”Dim Issue Status"."Issue Status”</…> <saw:column …> <saw:columnFormula> <sawx:expr xsi:type=“…”>”Fact Issue KPI"."# of Issues"</…> Metadata
  40. https://www.youtube.com/watch?v=mQY2vslle_8 REST Endpoints

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

  42. { "provider": "managed", "requiresImpersonation": false, "semicolonDelimited": false, "customDelimiter": false, "name":

    "train", "namespace": "francesco.tisiot@rittmanmead.com", "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": "francesco.tisiot@rittmanmead.com", "metadata-last-modified": "2019-04-08T08:22:20.928+0000", "bdp-profile": "{\"profile\":\"784c4626-ebd6-4a01-b5dc-1a3ccd0fee1a\"}", "is-temporary": false } REST Endpoints - CSV
  43. { …, "name": "OPEN_INCIDENTS", "namespace": "francesco.tisiot@rittmanmead.com", "business-model": "\"\"", "indexable": "BOTH",

    "description": "External Data Set", "display-name": "OPEN_INCIDENTS", …, "data-last-modified": "2019-03-19T16:07:22.732+0000", "connection-namespace": "francesco.tisiot@rittmanmead.com", "private-connection": false, "connection-name": "LGI", "provider-type": "db", "provider-name": "oracle", "owner-guid": "francesco.tisiot@rittmanmead.com", … } REST Endpoints - DB
  44. REST Endpoints - DB Details api/v4/datasets/{dataset-uri} {dataset-uri} = ‘<USERNAME>’.’<DATASET_NAME>’

  45. REST Endpoints - DB Details

  46. { "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
  47. REST Endpoints - Dataflows api/v4/dataflows/{dataflow-uri} {dataflow-uri} = ‘<USERNAME>’.’<DATAFLOW_NAME>’

  48. { "datagen-name": "Clean Wine Dataflow", "namespace": "francesco.tisiot@rittmanmead.com", "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
  49. { "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('francesco.tisiot@rittmanmead.com'.'__CLIENT_FLOW_DATASET__'). \"Columns\".\"description\")", "transformationtype": "Calculation" } ] } REST Endpoints - Dataflow Detail
  50. None
  51. https://www.oracle.com/solutions/business-analytics/data-visualization/extensions.html

  52. Data Governance Extension

  53. Displays only objects visible to you!

  54. BAR File

  55. BAR File

  56. DEMO

  57. RM Metadata Explorer

  58. RM Metadata Explorer Use Cases Data Lineage GDPR DataFlow ->

    ODI Mapping Metadata Search Tool Data Capital
  59. Self Service Analytics

  60. Centralized Reporting

  61. Measure

  62. Francesco Tisiot BI Tech Lead Become an Equilibrista Find the

    Right Balance in The Analytics Tech Ecosystem
  63. None