Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Become an Equilibrista: Find the Right Balance ...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
FTisiot
December 03, 2019
Technology
320
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Become an Equilibrista: Find the Right Balance in The Analytics Tech Ecosystem
FTisiot
December 03, 2019
More Decks by FTisiot
See All by FTisiot
Apache Kafka JDBC Source Connector: What could go wrong?
ftisiot
0
150
Solve the Knapsack problem with recursive queries and PostgreSQL
ftisiot
0
190
Build an Open Source Data Pipeline
ftisiot
0
360
Get to know Apache Kafka with Jupyter Notebooks
ftisiot
0
800
Fix Your Strings in PostgreSQL
ftisiot
0
310
Practical Tips & Tricks for Apache Kafka Messages Integration
ftisiot
0
280
Track Database Changes with Apache Kafka
ftisiot
0
330
Apache Kafka and Flink: Stateful Streaming Data Pipelines made easy with SQL
ftisiot
0
1k
Kickstart your Kafka with Faker Data
ftisiot
0
490
Other Decks in Technology
See All in Technology
QAエンジニアがSoutherを使ってみたの〜10分でわかるSouther〜
mhlyc
0
110
FinOps Agentが生んだ技術負債:コスト自動調査の落とし穴と解消までの道のり
oasis1994liveforever
3
270
DevelopersIO 2026 Tokyo 現時点の衛星通信サービスの現状を整理してみる
maroon1st
0
240
Practical ransomware detection on macOS (via maths, not AI)
patrickwardle
0
100
CSS2026:OWS研究会・招待講演「世界観を、実装する」
atsush1_sada
2
260
dbt Semantic Layerで進めるenechainのデータ民主化
akizhou
1
240
CloudWatch Logsのコスト最適化:どこまでAIに任せてどこから人間が承認すべきか
yama3133
0
170
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
410
「私が一番顧客に詳しい」を捨てる~ 全員が一次情報に精通する開発チームをつくり、PMが次のボトルネックへ染み出すまで
kaminashi
3
1.7k
freeeにおけるSoftware Factory
freee
PRO
0
370
Claude Code をローカルとサーバー上で利用した際の Bedrock 利用料をユーザー単位で一本化してみる
ohorig
0
120
PHPカンファレンス関西の招待状 / Invitation to PHP Conference Kansai
ykanoh
0
230
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Crafting Experiences
bethany
1
390
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
GraphQLとの向き合い方2022年版
quramy
50
15k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Optimising Largest Contentful Paint
csswizardry
37
4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Visualization
eitanlees
153
17k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Transcript
Francesco Tisiot - @FTisiot Analytics Tech Lead Become an Equilibrista
Find the Right Balance in The Analytics Tech Ecosystem
Verona, Italy http://ritt.md/ftisiot Over10 Years in Analytics
[email protected]
@FTisiot Oracle
ACE Director ITOUG Board President Francesco Tisiot Analytics Tech Lead
Data Engineering Analytics Data Science www.rittmanmead.com
[email protected]
@rittmanmead
A bit of History
Excel Hell
https://www.rittmanmead.com/blog/2018/11/where-are-my-users-coming-from-analysing-obiee-connections-methods/
Unique Source of Truth
None
None
None
Calculated from Scratch Calculated from Scratch AGREEM ENT
Sourced from Certified Datasource Calculated from Scratch
Approach to Data Certification
Top-Down Approach Data Model Definition Implementation Analysis Centralized BI OBIEE
- RPD LOOKER
Bottom-Up Approach Datasource Creation Analysis Datasource Publication Self Service Oracle
Data Visualization Tableau
Top-Down vs Bottom-Up KPI Duplication Security Time To KPI Reusability
Performance
Reusability / Security DataSource A DataSource B Shared Dimension(s) Centralised
BI
Reusability / Security DataSource A DataSource B Dim X Self
Service BI Dim X
Self-Service BI
Self Service Centralised
The Right Tool: OAC
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
None
Hybrid
Self Service Centralised
Awareness
Documentation
RPD Metadata Dictionary
Suggestions
Complexity Key Factors Security Data Volumes Interest
Key Factors Centralised Self Service Complexity Low High Interest Narrow/Unique
Wide/Repeated Security Easy Complex Data Volumes Small Big
Self Service Centralised ?
Control
Keeping Track Usage Tracking!
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;
Self Service?
Calculation
<saw:report ...> <saw:criteria xsi:type=“…” subjectArea=“"Jira Reporting""> <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
https://www.youtube.com/watch?v=mQY2vslle_8 REST Endpoints
https://www.youtube.com/watch?v=mQY2vslle_8 REST Endpoints curl “https://<OAC>/datasetsvc/ public/api/v4/datasets” \ -u ‘<USER>:<PWD>'
{ "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
{ …, "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
REST Endpoints - DB Details api/v4/datasets/{dataset-uri} {dataset-uri} = ‘<USERNAME>’.’<DATASET_NAME>’
REST Endpoints - DB Details
{ "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
REST Endpoints - Dataflows api/v4/dataflows/{dataflow-uri} {dataflow-uri} = ‘<USERNAME>’.’<DATAFLOW_NAME>’
{ "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
{ "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
None
https://www.oracle.com/solutions/business-analytics/data-visualization/extensions.html
Data Governance Extension
Displays only objects visible to you!
BAR File
BAR File
DEMO
Oracle Data Catalog http://ritt.md/oow19-datacatalog Inventories of Data Assets
Oracle Data Catalog Inventories of Data Assets http://ritt.md/oow19-datacatalog
RM Metadata Explorer
RM Metadata Explorer Use Cases Data Lineage GDPR DataFlow ->
ODI Mapping Metadata Search Tool Data Capital
Self Service Analytics
Centralized Reporting
Measure
Tech Days 2020 Milan 29th Jan Rome 31st Jan
Francesco Tisiot BI Tech Lead Become an Equilibrista Find the
Right Balance in The Analytics Tech Ecosystem