welcome [tc18.tableau.com] · 2020-01-06 · javascript postscript computer regex html tableau...

26

Upload: others

Post on 27-May-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Welcome

Using languages to build and reason about visualizations

Scott Sherman

Principal Software Engineer

Tableau Research

# T C 1 8

Agenda

Why languages?

The power of VizQL

• “Visual Query Language”, the heart of Tableau

Case studies:

• Enhanced Show Me: for natural language and more

• Tableau Runtime: A language for computation

• CompassQL: A language for recommendations

• Draco: A language for improving visualizations

Examples of languages

English

Swahili

Iñupiaq

Human

musical notation

Feynman diagram

Gantt chart

Visual

Python

JavaScript

PostScript

Computer

regex

HTML

Tableau calcs

Domain Specific

Why a language?

Tool for reasoning

Meta: programs that reason about the program itself

• natural language, machine learning, proofs, optimizations

Map between different concepts

• specific domains: e.g., user interface, layout, query, visualization

Easier to author, understand, compose concepts

Tableau Examples: Calculated Fields

Tableau Example: Table Calcs

Tableau Example: “Tableau Markup”

• Used by titles, captions, text objects, tooltips

• Captures field names, sheet names, etc.

Tableau Example: VizQL

It’s basically what’s on the

shelves

Tableau Example: VizQL

visual spec

layout

columns

rows

pages

view spec

filters

sorts

pane specs

color size

shape text

LOD tooltip

mark type

column: MONTH(Date)row: SUM(Sales)color: Productfilters: {exclude Desk, Chair}

Why is this interesting?

UI: VizQL ↔ Shelves

Query: VizQL → SQL | MDX

Layout: VizQL → visualization

ShowMe: List of fields → VizQL

Show Me!

Natural Language Input (NLI) → VizQL

ShowMe encapsulates best practices

• “Use lines for time, bars otherwise”

• We want to leverage this for NLI

If NLI simply extracts a list of fields, it can use ShowMe

But it know more than just lists of fields

• “Show me average sales…”

• “Show me the trend of…”

“Enhanced Show Me”

Intent Language

Show me…

• fields• average of [Sales]

• average of [Profit]

• [City]

• intent• correlation

Enhanced Show Me (ESM)

ESM

VizQL

natural language

intent language

Visual best practices

UI, query, layout

Future possibilities…?

ESM

VizQL

natural language

machine learning

future UI?

intent language

Future possibilities…?

ESM

VizQL

natural language

machine learning

future UI?

other other

intent language

Tableau Runtime (TRT)

Language describing

computation

• table calcs

• partitioning

• layout

• highlighting

Supports optimizations

• reason globally

• incremental updates

• client or server side

• can cache data & transforms

Tableau Runtime (TRT)

if this changes

only these need to be

recomputed

Why a language?

Tool for reasoning

Meta: programs that reason about the program itself

• natural language, machine learning, proofs, optimizations

Map between different concepts

• specific domains: e.g., user interface, layout, query, visualization

Easier to author, understand, compose concepts

Using languages to build & reason about visualizations

S E S S I O N R E P E AT S

Tuesday | 2:15-3:15 | MCCNO – L3 – 397

Using languages to build & reason about visualizations

Thursday | 2:15-3:15 | MCCNO – L3 – 346

Semantics and cognition for visual analytics

R E L AT E D S E S S I O N S

Day | Time – Time | Location

Show me the queries!Day | Time – Time | Location

Please complete the

session survey from the

Session Details screen

in your TC18 app

Thank you!

#TC18

Contact or CTA info goes here