ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output...

40

Transcript of ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output...

Page 1: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use
Page 2: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

ADVANCED TECHNICAL TRAININGMark Dalton, Senior Director Solution Consulting

Tanner Bindrup, Strategic Solution Consulting3/22/2017

Page 3: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

Domo Apps

DIY Connectors

Hacking Domo with APIs

Pro Data Tips

Domo Plugins

Page 4: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

SKILLSET

HTML, Javascript, CSS(graphic design won’t hurt either)

https, REST, JSON

SQL

Undocumented or loosely supported

Page 5: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

APPS

Page 6: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

DOMO APPS

Design Studio Dev Studio

Page 7: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

DOMO APPS – DESIGN STUDIOWorkflow Output

Design background

Add and configure widgets

Connect to data in Domo

Publish, use and share!

Page 8: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

DOMO APPS – DEV STUDIO

• Design – index.html, app.css• and configure data – manifest.json• Publish and Share – Domo CLI commands

Page 9: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

DOMO APPS – THE ART OF THE POSSIBLEApproval Center

Page 10: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

DOMO APPS – THE ART OF THE POSSIBLE

Stacker

Page 11: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use
Page 12: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

DIY CONNECTORS – USGS EXAMPLE

1. Configure User Authentication

Page 13: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

DIY CONNECTORS – USGS EXAMPLE

1. Configure User Authentication

2. Configure Selectable Reports

Page 14: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

DIY CONNECTORS – USGS EXAMPLE

1. Configure User Authentication

2. Configure Selectable Reports

3. Define How Data is Processed

Page 15: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

DIY CONNECTORS – USGS EXAMPLE

1. Configure User Authentication

2. Configure Selectable Reports

3. Define How Data is Processed

4. Send Data to Domo

Page 16: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

CONNECTORS AND APIS – STANDARDIZATION

standardsforapis.org

Page 17: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use
Page 18: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

Option2

Page 19: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

HACKING DOMO WITH APIS

This will register your application in the Developer Portal and also generate a Client ID and Client Secret, which will

allow you to generate an access token

Page 20: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

HACKING DOMO WITH APIS

• Users and their attributes• Groups and their attributes• Add/Remove Users from Groups

• Datasets• Dataset Metadata• Personalized Data Permissions (PDP)

Page 21: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

PRO DATA TIPS

Page 22: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

PRO DATA TIPS – UPSERT

Page 23: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

PRO DATA TIPS – UPSERT

• From Wikipedia (the source of all knowledge):

• "UPSERT" is a DBMS feature that allows a DML statement's author to atomically either insert a row, or on the basis of the row already existing, UPDATE that existing row instead, while safely giving little to no further thought to concurrency.

• ANSI SQL (2003 and 2008) use the MERGE syntax to accomplish the same thing.

Page 24: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

PRO DATA TIPS – ANALYTIC/WINDOWING FUNCTIONS

Aggregate Functions Analytic Functions

• Return a single summary value • Return the same number of rows as the input

• The groups of rows on which an aggregate function operate are defined by the SQL GROUP BY clause.

• The groups of rows on which an analytic function operate are defined by window partitioning and window frame clauses.

• Fully supported in the Beast Mode editor

• ”Loosely” supported in the Beast Mode Editor

Beast Mode calculations that need to be resolved at run time will require the use of an Analytic function

Page 25: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

PRO DATA TIPS – ANALYTIC/WINDOWING FUNCTIONS in REDSHIFT

Page 26: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

PRO DATA TIPS – ANALYTIC FUNCTIONS IN BEAST MODE

• Percent of Total calculation using the OVER() clause

• Amount / SUM of the Amount• Pretty simple but the addition

of the OVER() clause allows us to dynamically calculate the percent of total in the card

• Filters can be applied and the calculation resolves correctly

Page 27: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

PRO DATA TIPS – ANALYTIC FUNCTIONS IN BEAST MODE

• Percent of Total calculation using the OVER() clause with PARTITION BY option

• Amount / SUM of the Amount but within the “window” of the ‘Channel’ set of rows

Page 28: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

PRO DATA TIPS – ANALYTIC FUNCTIONS IN BEAST MODE

• Cumulative Revenue example using ROWS BETWEEN clause

• Example of how windowing functions allow you to access specific rows in a set for arithmetic or other functions

Page 29: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use
Page 30: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

PLUGIN ARCHITECTURE

Page 31: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

PLUGIN ARCHITECTURE – WORKBENCH SDK

SDK Includes:• Data Transport Methods• Data Sources• Data Transforms• Output is a DLL that is

registered in Workbench and called when the job containing the plugin is run

Page 32: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

PLUGIN ARCHITECTURE – WORKBENCH SDK

Page 33: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

PLUGIN ARCHITECTURE – EXCEL

Page 34: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

INFORMATICA PLUGIN

Page 35: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

PLUGIN ARCHITECTURE – R STUDIO

Page 36: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

WHERE TO GET MORE INFORMATION

Page 37: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

WHERE TO GET MORE INFORMATION

[email protected]

Page 38: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

Just never forget to be dexterous and deft.And never mix up your right foot with your left.

And will you succeed?Yes! You will, indeed!

(98 and 3/4 percent guaranteed.)

TODAY is your DAY! Your MOUNTAIN is waiting. So…GET ON YOUR WAY!

-Dr. Seuss

Option1

Page 39: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use

Just never forget to be dexterous and deft.And never mix up your right foot with your left.

And will you succeed?Yes! You will, indeed!

(98 and 3/4 percent guaranteed.)

TODAY is your DAY! Your MOUNTAIN is waiting. So…GET ON YOUR WAY!

-Dr. Seuss

Option2

Page 40: ADVANCED TECHNICAL TRAINING · Design Studio DevStudio. DOMO APPS –DESIGN STUDIO Workflow Output Design background Add and configure widgets Connect to data in Domo Publish, use