| ThoughtSpot Ation Thought Spot User Guide 4.4

User Manual: Pdf

Open the PDF directly: View PDF PDF.
Page Count: 317

Download| ThoughtSpot Ation Thought Spot User Guide 4.4
Open PDF In BrowserView PDF
User Guide
Version 4.4, December 09, 2017

Copyright for ThoughtSpot publications. © 2017 ThoughtSpot, Inc. All rights
reserved.
ThoughtSpot, Inc. 1 Palo Alto Square
Building 1, Suite 200
Palo Alto, CA 94306
All rights reserved. This product is protected by U.S. and international copyright
and intellectual property laws. ThoughtSpot is a trademark of ThoughtSpot, Inc. in
the United States and/or other jurisdictions. All other marks and names mentioned
herein may be trademarks of their respective companies.

ThoughtSpot User Guide

December 09, 2017

Table of C
Cont
ontents
ents
Intr
Introduction
oduction ..........................................................................................................................................................................
..........................................................................................................................................................................5
5
Getting Started

Finding y
your
our w
wa
ay ar
around
ound ...............................................................................................................................................
...............................................................................................................................................6
6
Log in or out of T
ThoughtSpot
houghtSpot......................................................................................................................................
......................................................................................................................................9
9
Your user pr
pref
efer
erenc
ences
es......................................................................................................................................................
......................................................................................................................................................11
11
Unders
Understanding
tanding privileges
privileges.............................................................................................................................................
............................................................................................................................................. 14
Use sstick
tickers
ers tto
o or
organiz
ganize
e ............................................................................................................................................... 16
Use Search

Wha
hatt ar
are
e sear
searches
ches and ans
answ
wers
ers?
?............................................................................................................................. 19
Search basics

Start a ne
new
w sear
search
ch.......................................................................................................................................................
.......................................................................................................................................................21
21
Choose a da
data
ta sour
sourc
ce .............................................................................................................................................. 23
Sear
Search
ch bar ffea
eatur
tures
es...................................................................................................................................................
................................................................................................................................................... 24
Sear
Search
ch sugges
suggestions
tions...................................................................................................................................................
................................................................................................................................................... 26
Sear
Search
ch rresults
esults and c
column
olumn types
types.......................................................................................................................
....................................................................................................................... 28
Las
Lastt da
data
ta rrefr
efresh
esh time
time..............................................................................................................................................
..............................................................................................................................................30
30
Work with Ans
Answ
wers
ers...................................................................................................................................................
................................................................................................................................................... 32
Results tha
thatt ar
are
e tables
tables..................................................................................................................................................
.................................................................................................................................................. 36
Use keywords in search

Ov
Overvie
erview
w of k
ke
eywor
ord
d sear
searches
chesss ......................................................................................................................... 38
Time series analy
analysis
sis....................................................................................................................................................
.................................................................................................................................................... 41
Sear
Search
ch using gr
gro
owth o
ov
ver time
time...........................................................................................................................
...........................................................................................................................44
44
Pr
Pro
oximity sear
searches
ches "near" and "f
"farther
arther than" .............................................................................................. 47
Work with filters

Unders
Understand
tand filt
filters
ers ......................................................................................................................................................
......................................................................................................................................................4
49
Add a filt
filter
er tto
o a table
table................................................................................................................................................
................................................................................................................................................ 51
Add a filt
filter
er tto
o a chart
chart...............................................................................................................................................
............................................................................................................................................... 53
Cr
Crea
eatte a bulk filt
filter
er ..................................................................................................................................................... 55
Delet
Delete
e a filt
filter
er................................................................................................................................................................
................................................................................................................................................................ 58
Filt
Filter
er on null, blank, or empty v
values
alues ............................................................................................................... 59
Other search actions

Other sear
search
ch actions
actions.................................................................................................................................................
................................................................................................................................................. 61
Change rresult
esult displa
display
y options ............................................................................................................................. 62
Sho
Show
w underlying da
data
ta..............................................................................................................................................
..............................................................................................................................................66
66
See the sear
search
ch behind a rresult
esult ............................................................................................................................ 68

support@thoughtspot.com

i

ThoughtSpot User Guide

December 09, 2017

Apply c
conditional
onditional fforma
ormatting
tting tto
o a table
table.........................................................................................................
......................................................................................................... 69
Do
Download
wnload y
your
our sear
search
ch .............................................................................................................................................
.............................................................................................................................................7
74
Repla
eplay
y sear
search
ch...............................................................................................................................................................
............................................................................................................................................................... 76
Work with charts

Unders
Understand
tand charts
charts..........................................................................................................................................................
.......................................................................................................................................................... 77
Chart types

Column charts .............................................................................................................................................................
.............................................................................................................................................................80
80
Bar charts ...................................................................................................................................................................... 82
Line charts
charts.....................................................................................................................................................................
..................................................................................................................................................................... 83
Pie charts .......................................................................................................................................................................
.......................................................................................................................................................................84
84
Ar
Area
ea charts
charts....................................................................................................................................................................
.................................................................................................................................................................... 86
Sca
Scatt
tter
er charts .............................................................................................................................................................. 88
Bubble charts
charts...............................................................................................................................................................
............................................................................................................................................................... 89
Par
aret
eto
o charts
charts.................................................................................................................................................................
................................................................................................................................................................. 91
Waterf
erfall
all charts
charts...........................................................................................................................................................
........................................................................................................................................................... 92
Treemap charts ........................................................................................................................................................... 93
Line c
column
olumn charts
charts....................................................................................................................................................
.................................................................................................................................................... 95
Funnel charts ............................................................................................................................................................... 98
Geo charts .....................................................................................................................................................................
.....................................................................................................................................................................99
99
Piv
Pivot
ot table ................................................................................................................................................................... 10
103
3
Changing a chart

Change the chart ..................................................................................................................................................... 106
Reor
eorder
der the labels ....................................................................................................................................................
....................................................................................................................................................10
107
7
Set the y
y-axis
-axis rrange
ange................................................................................................................................................
................................................................................................................................................ 108
Hide and sho
show
wv
values
alues............................................................................................................................................
............................................................................................................................................ 109
Change chart c
colors
olors .................................................................................................................................................. 111
Additional chart options
options.........................................................................................................................................
.........................................................................................................................................114
114
Zoom int
into
o a chart ...................................................................................................................................................... 115
Work with formulas

Unders
Understand
tand fformulas
ormulas.....................................................................................................................................................
..................................................................................................................................................... 117
Add a fformula
ormula tto
o a sear
search
ch..........................................................................................................................................
..........................................................................................................................................118
118
Vie
iew
w or edit a fformula
ormula in a sear
search
ch..........................................................................................................................
.......................................................................................................................... 121
Aggregate formulas

Ov
Overvie
erview
w of aggr
aggrega
egatte fformulas
ormulas ......................................................................................................................
......................................................................................................................123
123
Filt
Filter
ered
ed aggr
aggrega
egation
tion................................................................................................................................................
................................................................................................................................................126
126
Aggr
ggrega
egattes o
ov
ver time
time.............................................................................................................................................
.............................................................................................................................................128
128
Calcula
Calculatte the cumula
cumulativ
tive
e sum
sum.............................................................................................................................
.............................................................................................................................129
129
Gr
Grouping
ouping fformulas
ormulas ...................................................................................................................................................
...................................................................................................................................................132
132
Mo
Moving
ving fformulas
ormulas........................................................................................................................................................
........................................................................................................................................................133
133

support@thoughtspot.com

ii

ThoughtSpot User Guide

December 09, 2017

Calcula
Calculatte a mo
moving
ving a
av
ver
erage
age ................................................................................................................................
................................................................................................................................134
134
Con
onv
version fformulas
ormulas.....................................................................................................................................................
.....................................................................................................................................................13
137
7
Da
Datte fformulas
ormulas ..................................................................................................................................................................
..................................................................................................................................................................138
138
Per
erc
cent ((simple
simple number) calcula
calculations
tions..................................................................................................................
..................................................................................................................14
1411
Conditional fformulas
ormulas ((oper
opera
ators
ors))...........................................................................................................................
...........................................................................................................................142
142
Nes
Nestted fformulas
ormulas ............................................................................................................................................................ 144
Formulas ffor
or chasm tr
traps
aps..........................................................................................................................................
..........................................................................................................................................145
145
Work with worksheets

Unders
Understand
tand w
worksheets
orksheets.............................................................................................................................................
............................................................................................................................................. 146
Sa
Sav
ve a sear
search
ch as a w
worksheet
orksheet.................................................................................................................................
................................................................................................................................. 148
Cr
Crea
eatte a sear
search
ch fr
from
om a w
worksheet
orksheet........................................................................................................................
........................................................................................................................ 150
Worksheet e
ex
xample sc
scenarios
enarios.................................................................................................................................
.................................................................................................................................15
152
2
Use pinboards

Basic pinboar
pinboard
d usage ..................................................................................................................................................
..................................................................................................................................................15
153
3
Edit the la
lay
yout of a pinboar
pinboard
d ...................................................................................................................................
...................................................................................................................................158
158
Pinboar
Pinboard
d filt
filters
ers................................................................................................................................................................
................................................................................................................................................................165
165
Schedule a pinboar
pinboard
d job ............................................................................................................................................
............................................................................................................................................168
168
Sear
Search
ch actions within a pinboar
pinboard
d ........................................................................................................................... 17
1711
Cop
opy
y a pinboar
pinboard
d ............................................................................................................................................................. 17
172
2
Cop
opy
y a pinboar
pinboard
d or visualiza
visualization
tion link
link...................................................................................................................
................................................................................................................... 17
174
4
Reset a pinobar
pinobard
d or visualiza
visualization
tion...........................................................................................................................
...........................................................................................................................177
177
Start a slidesho
slideshow
w ........................................................................................................................................................... 180
Work with data

Unders
Understand
tand da
data
ta sour
sourc
ces
es...........................................................................................................................................
...........................................................................................................................................182
182
Cr
Crea
eatte and load CS
CSV
V Files ........................................................................................................................................ 184
Append da
data
ta thr
through
ough the UI
UI....................................................................................................................................
....................................................................................................................................18
187
7
Vie
iew
w a da
data
ta pr
profile
ofile ........................................................................................................................................................
........................................................................................................................................................188
188
Da
Datte and curr
currenc
ency
y fforma
ormatt settings
settings.......................................................................................................................
.......................................................................................................................18
189
9
SpotIQ

Wha
hatt is SpotIQ
SpotIQ..........................................................................................................................................................
.......................................................................................................................................................... 190
10
101:
1: L
Load
oad and analy
analyz
ze da
data
ta...................................................................................................................................
...................................................................................................................................19
192
2
10
101:
1: R
Re
evie
view
w and sa
sav
ve insights
insights..............................................................................................................................
..............................................................................................................................196
196
10
101:
1: Do mor
more
e with SpotIQ
SpotIQ.....................................................................................................................................
..................................................................................................................................... 20
2011
Bes
Bestt SpotIQ Pr
Practic
actices
es...........................................................................................................................................
........................................................................................................................................... 208
Cus
Custtom SpotIQ analy
analysis
sis ....................................................................................................................................... 210
Adv
dvanc
anced
ed R Cus
Custtomiza
omizations
tions...............................................................................................................................
...............................................................................................................................215
215
Share your work

About sharing
sharing.............................................................................................................................................................
.............................................................................................................................................................221
221
Shar
Share
e a pinboar
pinboard
d ......................................................................................................................................................
......................................................................................................................................................222
222

support@thoughtspot.com

iii

ThoughtSpot User Guide

December 09, 2017

Shar
Share
e ans
answ
wers
ers............................................................................................................................................................
............................................................................................................................................................22
224
4
Shar
Share
e uploaded da
data
ta..............................................................................................................................................
..............................................................................................................................................226
226
Revok
oke
e ac
acc
ces
esss (unshar
(unshare
e)......................................................................................................................................
......................................................................................................................................228
228
Get help ............................................................................................................................................................................ 230
About this rref
efer
erenc
ence
e....................................................................................................................................................
....................................................................................................................................................233
233
Keywor
ord
d rref
efer
erenc
ence
e ...................................................................................................................................................... 234
TQL rref
efer
erenc
ence
e .................................................................................................................................................................
.................................................................................................................................................................2
245
ThoughtSpot L
Loader
oader flag rref
efer
erenc
ence
e ....................................................................................................................
....................................................................................................................25
252
2
tscli c
command
ommand rref
efer
erenc
ence
e ...........................................................................................................................................
...........................................................................................................................................255
255
Da
Datte and time fforma
ormats
ts rref
efer
erenc
ence
e ..........................................................................................................................
..........................................................................................................................2
270
Row le
lev
vel security rules rref
efer
erenc
ence
e ........................................................................................................................
........................................................................................................................2
273
Formula rref
efer
erenc
ence
e .........................................................................................................................................................
.........................................................................................................................................................281
281
Err
Error
or c
code
ode rref
efer
erenc
ence
e ....................................................................................................................................................
....................................................................................................................................................291
291

support@thoughtspot.com

iv

Introduction to the User Guide

December 09, 2017

Intr
Introduction
oduction tto
o the User Guide
This ThoughtSpot User Guide contains information on navigating and searching data with ThoughtSpot. It
will assist you with starting new searches, managing your pinboards, and troubleshooting.
ThoughtSpot enables you to view and analyze your data through a search-based user interface. You can
create your searches on the fly by typing them into a search bar, like you do when using an internet search
engine. ThoughtSpot makes it easy to see your data, get your questions answered, create interactive
graphs, and customize pinboards. You do not need to understand how the data is stored, attend days of
training, or know SQL to do these things. Collaboration and security features make it easy for to protect
sensitive data and share information safely with others.
ThoughtSpot gives administrators the ability to modify data properties to meet business needs, for
example by providing search synonyms for common terms, boosting the importance of a column in search
results, or formatting how the data appears. So if you are not getting the answers you expect when using
ThoughtSpot, check with your ThoughtSpot administrator to see if some settings may need to be
changed.
• Finding y
your
our w
wa
ay ar
around
ound
ThoughtSpot is organized into several sections to make navigation easy. You can reach them by
using the menu bar.
• About the user pr
profile
ofile
The user icon lets you view your profile or sign out of ThoughtSpot.
• Unders
Understanding
tanding privileges
The things you can do in ThoughtSpot are determined by the privileges you have. These are set
at the group level.
• About sstick
tickers
ers
You can create stickers to make it easier for people to find data sources and pinboards.

ThoughtSpot User Guide

Page 5

Finding your way around

December 09, 2017

Finding y
your
our w
wa
ay ar
around
ound
Summary: ThoughtSpot is organized into several sections to make
navigation easy. You can reach them by using the menu bar.
These are the different sections in ThoughtSpot:

Home
Click the logo to go to the home page. The home page contains:
• Search bar - Click in the search bar to start a new search. This is the same thing as clicking
Sear
Search
ch in the top navigation bar.
• Last viewed pinboard - The home page shows the last pinboard you looked at. The dropdown
box on the top left of the pinboard lets you choose a different pinboard without having to leave
the home page.
• Activity - The activity button shows recent actions performed by other people.
To view the activity panel, click on the activity ic
icon
on on the right side of the home page.

ThoughtSpot User Guide

Page 6

Finding your way around

December 09, 2017

You can even click on one of the object names to jump to its location.

Sear
Search
ch
Sear
Search
ch is where you will spend most of your time. It allows you to search and explore your data. Choose
your data sources and type in the search bar at the top. As you type your search, results will appear in the
main part of the screen as either a table or a chart.
To learn more about this section, visit About search.

Ans
Answ
wers
Answers are the result of a single search. You can save an answer you want to work more on later, or just
keep it for your personal use. Answers are for you alone, until you share them with others.

Pinboar
Pinboards
ds
Pinboards are collections of related search results. You can create your own pinboard or add to an existing
one. Once a pinboard has been saved, it can be shared with others or viewed as a slideshow. The
Pinboar
Pinboards
ds page shows a list of saved pinboards. Click on one to view, edit, or share it.

ThoughtSpot User Guide

Page 7

Finding your way around

December 09, 2017

To learn more about pinboards, visit About pinboards.

Da
Data
ta
DATA contains a list of data sources (tables and worksheets). These are usually loaded and managed by
your administrator. However, you may be able to import a spreadsheet (Excel or CSV) here, if you have the
correct privileges.
To learn more about this section, visit Working with data.

Admin
Admin only appears if you have administrator privileges. This section is covered in the ThoughtSpot
Administrator Guide.

Help
Help is a support resource for ThoughtSpot. It contains short videos, a keyword reference, links to
documentation, and other useful materials. You can also find the support contact information and
software version number here.

User
The user ic
icon
on allows you to either view your preferences or log out. You can also change your icon here.
To learn more about this section, visit About the user profile.

Rela
elatted inf
informa
ormation
tion
Set your ThoughtSpot locale

ThoughtSpot User Guide

Page 8

Log in or out of ThoughtSpot

December 09, 2017

Log in or out of T
ThoughtSpot
houghtSpot
To set up and explore your data, access the ThoughtSpot application from a standard Web browser using
a username and password. Before accessing ThoughtSpot, you need:
• The Web address (IP address or server name) for ThoughtSpot.
• A network connection.
• A Web browser.
• A username and password for ThoughtSpot.

Support
Supported
ed W
Web
eb br
bro
owsers
The following browsers are verified to work well with the ThoughtSpot application:
Br
Bro
owser

Version

Oper
Opera
ating S
Sy
ystem

Google Chrome

20 and above

Windows 7 or greater, Linux, MacOS

Mozilla Firefox

14 and above

Windows 7 or greater, Linux, MacOS

Internet Explorer

11

Windows 7 or greater

 Tip: While Internet Explorer is supported, using it is not recommended. Depending on your
environment, you can experience performance or UI issues when using IE.

Log in
To log in to ThoughtSpot from a browser:
1. Open the browser and type in the Web address for ThoughtSpot: http://
2. Enter your username and password and click Ent
Enter
er No
Now
w.

Log out
Once you're done with your search session, you can optionally log out of ThoughtSpot. To log out of
ThoughtSpot from a browser:
1. Click your user icon at the top right hand corner of the screen.
2. Click Sign out.

ThoughtSpot User Guide

Page 9

Log in or out of ThoughtSpot

ThoughtSpot User Guide

December 09, 2017

Page 10

About your user profile

December 09, 2017

About y
your
our user pr
profile
ofile
Summary: The user icon lets you view your profile or sign out of
ThoughtSpot.
To view the user actions, click on your user icon on the top right corner of the page.

Click Pr
Profile
ofile to go to your profile preference page, where you can change your icon, email, and locale
preferences.

Language and da
data
ta fforma
ormatt settings
The language the ThoughtSpot UX displays is based off of the locale in a user’s profile. The locale
preferences control the language and data formats (date and number formats) by geographic locations. In
addition to American English (en-US), ThoughtSpot supports:
•
•
•
•

German (de-DE)
Japanese (ja)
Canadian English (en-CA)
United Kingdom English (en-GB)

So, if you set Japanese as your default locale in your profile settings, then the interface will update to
reflect that after you refresh your page.
Keywords, operators, and error messages are included in the translated material. Formulas, however, are
not translated. Also, all metadata remains as user inputted.

ThoughtSpot User Guide

Page 11

About your user profile

December 09, 2017

For example, if you are using ThoughtSpot in the US, the number formatting should look like this:
xxx,xxx.xx. And in Europe, it should look like this: xxx.xxx,xx.
 Warning: It is possible that you set your locale but find strings in the UI still appear in English, this
indicates an untranslated string. Please notify ThoughtSpot support.

Ho
How
w other users see y
you
ou
You can change your picture by clicking Upload Pictur
Picture
e. The system accepts PNG or JPEG files that are
under 4MB.

Get email notifica
notifications
tions
You can change your email notifications preferences by checking or unchecking Email me sharing
notifica
notifications
tions and clicking Upda
Updatte Pr
Pref
efer
erenc
ences
es.

ThoughtSpot User Guide

Page 12

About your user profile

December 09, 2017

Clicking Sign out logs you out of ThoughtSpot, and takes you back to the sign in page.

ThoughtSpot User Guide

Page 13

Understanding privileges

December 09, 2017

Unders
Understanding
tanding privileges
Summary: The things you can do in ThoughtSpot are determined by
the privileges you have. These are set at the group level.
If you are trying to do something in ThoughtSpot, and cannot access the screens to accomplish it, you
may not have the correct privileges. In this case, you should contact your administrator and explain what
you want to accomplish. Your administrator may be able to grant you additional privileges.
 Not
Note:
e: Permissions to see and edit tables, worksheets, and pinboards are not affected by privileges. They
are given when these items are shared with you.
Here are the privileges that the administrator sets, and the capabilities they enable:
Privilege

Description

Has adminis
administr
tra
ation privileges

Can manage Users and Groups and has view and edit access to all
data. Users with this privilege can also download a saved answer.

Can upload user da
data
ta

Can upload their own data from the application's DATA page using
Actions > Upload da
data
ta.

Can do
download
wnload da
data
ta

Can download data from search results and pinboards.

Can shar
share
e with all users

Can see the names of and share with users outside of the groups
the user belongs to.

Can manage da
data
ta

Can create a worksheet. Can also create an aggregated worksheet
from the results of a search by selecting Sa
Sav
ve as w
worksheet
orksheet. Can also use ThoughtSpot Data Connect, if it is enabled on your cluster.

Can schedule pinboar
pinboards
ds

Can create pinboard schedules and edit their own scheduled jobs.

Has Spot IQ privilege

User can use SpotIQ's auto analyze function.

Can A
Adminis
dministter RLS

Users in groups with this privilege (directly or indirectly) can bypass row-level security (RLS) rules. This privilege can only be assigned by a user who already Has adminis
administr
tra
ation privilege
privilege. Your installation configuration may enable or disable this feature. By default it is enabled.

The following table shows the intersection of user privilege and ability:

ThoughtSpot User Guide

Page 14

The following table shows the intersection of user privilege and ability:

d
oa
pl
U

a
at
D

Y
Y

Y

Y

N

Y

Y

Y

Y

Y

N

N

N

N

Y

N

N

N

N

N

Y

N

N

N

Y4

N

Y3

Y2

Y4

Y4

Y4

Y4

Y4

Y4

Y4

Y

D
rU
C

N

N

N

N

Y5

N

N

Y

d
ea
R

N

N

N

N

Y

N

N

Y

e
Se

N

N

N

N

N

N

N

Y

in
Jo

N

N

N

N

Y

N

N

Y

N

N

Y

N

N

N

N

Y

N

N

N

Y

N

N

N

Y

er
w
ie
V

Y
N
N
N

N

N

N

N

s
ol
C

Y
N
N
Y

N

N

Y

N

ct
ze
ly
ne
r
le
na
on
u
A
C
d
ohe
ut
Sc
A
se
U

se
U

Admin
N
N
Y
N

N

Y

N

a
at
D

Can Upload Data
N
Y
N
N

N

Y

se
U

Can Download Data
Y
N
N

N

N

a
m
he
Sc

Data Management
N
N
N

N

ith
w

Can Auto-Analyze
N
N

N

ps
ps
hi
hi
ns
ns
io
io
at
at
el
el
R
R

n
de
id
H

Can Schedule
N
N

1
.
up
ps
ro
S
a
S
o
l
G
l
at
W
W
Pr
A
D
in
ta
it
l.
a
o
d
gg
s
ith
ith
D
Ed
C
A
le
oa
w
w
d
l
e/
e
fy
ru
n
e
e
i
at
at
oa
ar
ar
od
ow
pl
re
re
LS
C
C
M
U
D
Sh
Sh
R

Can Share with All
N

Applies to non-owners only.
Any tables.
Author of at least one table in relationship.
Only when read permission for columns used in the relationship.
With edit permission.

None

Table notes:
1.
2.
3.
4.
5.

Page 15

ThoughtSpot User Guide

December 09, 2017

Understanding privileges

Use stickers to organize

December 09, 2017

Use sstick
tickers
ers tto
o or
organiz
ganize
e
Summary: Stickers enable you to create categories for classification of
objects, including pinboards, answers, data sources, and worksheets.
You can create stickers to make it easier for people to find data sources and pinboards. Stickers are global
in scope. This means that everyone can see the stickers and use them to tag objects. They can also filter
lists of objects by sticker. Stickers are often used to designate subject areas, such as sales, HR, and
finance, but you can use them any way you like.
Keep in mind these permissions when working with stickers:
• Only administrators can create stickers.
• Anyone can apply a sticker.
• Anyone can filter by a sticker.

Cr
Crea
eatte a sstick
ticker
er
Only administrator users can create stickers. Anyone can apply the stickers you create, or use them as
filters when selecting from a list of sources or pinboards.
To create a sticker:
1. Navigate to the Manage Da
Data
ta or Pinboar
Pinboards
ds screen using the icons in the top navigation bar.
2. Choose Select sstick
ticker
er, scroll to the bottom of the list, and click + A
Add
dd.

3. Type the name for the new sticker.
4. You can change the name or color of a sticker by clicking the edit icon next to its name.

ThoughtSpot User Guide

Page 16

Use stickers to organize

December 09, 2017

Apply a sstick
ticker
er
Only administrators create stickers, but anyone with edit privileges can tag an object with a sticker.
To tag an object with a sticker:
1. From the top menu, choose Answers, Pinboards, or Data.

2. Find the item(s) you want to tag in the list, and check the box next to its name.
3. Click the apply sticker icon and choose one from the list. You can apply as many stickers as you
like to an object.

Filt
Filter
er b
by
y sstick
tickers
ers
Whenever you are selecting objects from a list, you can filter by sticker to find what you’re looking for.
Anyone can use stickers to filter lists of pinboards or data sources. You can also filter by sticker when
selecting data sources.
To filter by sticker:

ThoughtSpot User Guide

Page 17

Use stickers to organize

December 09, 2017

1. From the top menu, choose Ans
Answ
wers
ers, Pinboar
Pinboards
ds, or Da
Data
ta.

2. Click on Select sstick
ticker
er, and select a sticker to filter by. Click on its name.

ThoughtSpot User Guide

Page 18

What are Searches and Answers?

December 09, 2017

Wha
hatt ar
are
e Sear
Searches
ches and Ans
Answ
wers
ers?
?
Summary: You use search answer questions about your data without
having to consult a data analyst.
Using ThoughtSpot’s relational search is simple, so anyone can use it. In the search bar, type what you are
interested in exploring, for example revenue midwest sales rep. Searches return a set of results in the
form of a table or a chart. ThoughtSpot likes to call this set of results in response to a search an answer.
As you get better with ThoughtSpot’s search, you will be able to get more out of your data by performing
more complex searches. There are a few basic things you should understand before starting a new
ThoughtSpot search.

Ho
How
w do I sear
search
ch da
data
ta?
?
You’ve probably seen one of these before:

Click in the box and start typing some letters. As soon as you begin typing, ThoughtSpot suggests some
search terms Type slowly and use the suggestions to find what you’re looking for.
Whenever you finish typing a word, you’ll see an answer in the form of a chart or a table.
You should know that search in ThoughtSpot is more like an Amazon search than a conversation. For
example. Instead of:
Find me all books by Lewis Carroll with the title Alice in Wonderland
You’d type:
carroll alice
Or consider Google. You wouldn’t type in:
Find me the largest city by population
You’d type:
largest city by population
or simply:
largest city population
That’s how search works in ThoughtSpot. You can use some helping words like “by” and “for” but they can
also be left out, and the search will return the same answer.

ThoughtSpot User Guide

Page 19

What are Searches and Answers?

December 09, 2017

Wha
hatt kinds of things can I type
type?
?
Search is based on the tables that exist in your data. Tables are made of rows and columns, like
spreadsheets. So you can search by typing in any of these words:
• The column name: like revenue, product name, or store
• Any of the values in the columns: like 20000, kitten chow, or richmond
• One of the special keywords ThoughtSpot understands: like yesterday, >, or contains

Sa
Sav
ve an ans
answ
wer
An answer is the result of a single search. You can save an answer you want to work more on later, or just
keep it for your personal use. You can also share an answer with other users. The Ans
Answ
wers tab is where
you can view and then the your saved search results.

Rela
elatted inf
informa
ormation
tion
•
•
•
•
•

Choose a data source
Search bar features
Search suggestions
Search results and column types
Share an answer

ThoughtSpot User Guide

Page 20

Start a new search

December 09, 2017

Start a ne
new
w sear
search
ch
Summary: Starting a new ThoughtSpot search is simple, like starting a
new Google search.
To start a new search:
1. Click Sear
Search
ch on the top navigation bar. You can also click Sear
Search
ch y
your
our da
data
ta at the top of the
home page.

2. Choose your sources by clicking Choose Sour
Sourc
ces
es.

To see details of all of the data, click Explor
Explore
e all da
data
ta.
a. Filter through all available sources by using the search bar or stickers.
b. Select your sources.
c. Click Done
Done.
3. Add columns to the search bar, or double click columns in the Data column in the left panel.
The columns listed in the left panel are grouped together by data sources for discoverability and

ThoughtSpot User Guide

Page 21

Start a new search

December 09, 2017

ease of access. You can also add multiple columns at once by clicking each column to select it,
and then click + A
Add
dd C
Columns
olumns.

Your search is given an automatic title based on your search columns, and is displayed as either a table or
chart, depending on how it is best represented. You can change the view to fit your needs.

ThoughtSpot User Guide

Page 22

Choose a data source

December 09, 2017

Choose a da
data
ta sour
sourc
ce
Summary: Before you start a new search, make sure you have chosen
the right data sources.
To begin a new search, you must first select your data sources by clicking on the Choose Sour
Sourc
ces button.
You will see a list of data sources that have been shared with you. The data sources are usually created by
your administrator, though you can also upload your own data.

Searches happen in the context of the selected data sources. ThoughtSpot will also make suggestions
from other data sources for you, if what you’re typing can’t be found in the selected data source.

ThoughtSpot User Guide

Page 23

Search bar features

December 09, 2017

Sear
Search
ch bar ffea
eatur
tures
es
Summary: The search bar is designed to make it easy for you to
identify your search terms.
A lot of work has gone into making ThoughtSpot’s search bar intuitive and easy to use. However, it still
helps to know some details of how the search bar works.

Bo
Box
xed sear
search
ch phr
phrases
ases
The search bar shows boxes around each search phrase, so you can easily see where it begins and ends.
Your search phrases still appear as text when you are typing, but whenever you click out of the search bar,
they are boxed. Search phrases have blue boxes, and filters have white boxes.

Remo
emoving
ving sear
search
ch phr
phrases
ases
When you click on a search phrase, it is highlighted, so you can easily replace it with one of the
suggestions. When you hover over on a boxed phrase, you’ll see an x, which you can click to remove it.
When you delete a phrase, your search will automatically update.
If you find yourself looking at a table or chart, but it doesn’t seem to contain all the data you expect, try
looking in the search bar for white boxes (filters). If you remove all the filters, you will again see all the
available data for that search.

Spell check
The search bar includes spell check. If you spell or type a term incorrectly, your suggestions will include
the correct spelling of the term or keyword.
The spell check in the search bar also performs a metaphone check for similar sounding words on text
data values.

Dictionary ssynon
ynonyms
yms
A dictionary of common word synonyms is bundled with ThoughtSpot. The dictionary contains synonyms

ThoughtSpot User Guide

Page 24

Search bar features

December 09, 2017

for common terms that occur in data. For example, if you type in “gross”, and that word is not found,
ThoughtSpot will consider it a synonym for “revenue”. We use the WordNet library of terms, which takes
word proximity into account, and weights words by similarity to the target term.
This frees you from having to know the exact term or column name used in a data source. You can still find
the answer in many cases, if you type a word with the same meaning as a different word that occurs in the
data.

Sear
Search
ch help
If you type an unrecognized search term, you will be offered tips on searching. The search help appears
when you type a term that isn’t understood by ThoughtSpot and then press the Enter key.

Rela
elatted sear
searches
ches
At the end of the Sear
Search
ch page is the system provides searches you might find useful. These are quick
searches you can load into the search bar by simply click on the provided link.

ThoughtSpot User Guide

Page 25

Search suggestions

December 09, 2017

Sear
Search
ch sugges
suggestions
tions
Summary: How ThoughtSpot learns from your searches and helps you.
Search suggestions include complete recent searches that are similar to the search you are constructing.
You can also search for saved objects, such as pinboards.

Usage-based rranking
anking (UBR)
Search suggestions are relevant to the data and personalized to your search behavior. ThoughtSpot learns
over time what columns are most important to you and to your company as a whole. Then, it uses this
knowledge to rank the search terms it offers. The term for this is usage-based ranking (UBR).
ThoughtSpot keeps usage statistics on frequency of search terms in its local cache. If you frequently use
type terms related to finance or to a particular product, ThoughtSpot provides you with related
suggestions more frequently. Using this information, frequently used terms and phrases are offered in
search suggestions more often than those that are not commonly used.
UBR based on search patterns makes ThoughtSpot more valuable over time. Search suggestions become
more helpful the more searches you complete.

Rec
ecent
ent sear
searches
ches
As you type in the search bar, you are given search suggestions that include recent searches. This makes it
easier to learn what you can do with ThoughtSpot. In addition to displaying your own recent searches, the
search bar also learns from searches made by other people. This should provide you with interesting
searches that you may not have been aware of. You’ll see recent searches in a separate section of search
suggestions, as recent searches appear higher in suggestions than other terms.

ThoughtSpot User Guide

Page 26

Search suggestions

December 09, 2017

Aut
uto-disambigua
o-disambiguation
tion in sear
search
ch
When there are more than one possible meaning for a search term, you can provide disambiguation by
selecting from a list of choices. Now, your choice is sticky. That means you won’t have to select it again, in
the scope of the current search.

Out of sc
scope
ope c
columns
olumns
Search suggestions are not limited in scope to the columns that you select as the data sources.
Suggestions can include columns that are out of scope, too. If you choose one of these suggestions, the
columns will be added to the data sources scope for you.

Object sear
searches
ches
Search suggestions also include relevant pinboards that have already been created. This means that if a
pinboard that is similar to the search you’re trying to do already exists, it will appear in search suggestions.

ThoughtSpot User Guide

Page 27

Search results and column types

December 09, 2017

Sear
Search
ch rresults
esults and c
column
olumn types
Summary: Searches in ThoughtSpot use columns that are defined as
either attributes or measures.
ThoughtSpot identifies search columns (sales, customer_name, total_sale) as either attributes or
measures. The columns you choose impact your search results. That’s because several chart types expect
that your search contains a certain number of attributes and a certain number of measures.

Attribut
ttributes
es
Attribute are primarily text or date values. Attributes make up the x-axis of your chart most of time. Some
examples of attributes in terms of a person include name, eye color, occupation, social security number,
address, employee ID, and phone number.

Measur
Measures
es
Measures are numeric values you can do math on, with meaningful results. You will most likely find your
measures on the y-axis of your chart. Some examples of measures in terms of a person are age, height,
and weight.

Query details
After, or while completing a search, you can see how ThoughtSpot displayed the answer. Click the
exclama
clamation
tion mark on the right hand side of the search bar to open the Query details dialogue box.

ThoughtSpot User Guide

Page 28

Search results and column types

December 09, 2017

This dialog shows measures ThoughtSpot computed, for each combination of attributes. Choose QUER
QUERY
Y
VISU
VISUALIZER
ALIZER to see search filters and how the tables were linked and used.

ThoughtSpot User Guide

Page 29

Last data refresh time

December 09, 2017

Las
Lastt da
data
ta rrefr
efresh
esh time
Summary: You can see the last time at which data was refreshed
without having to visit the **DATA** page.
Hover over the data when choosing a data source to see the last time it was updated. You will also see
when it was created and by whom.

You can also hover over a column in the DATA column to see when it was last refreshed. This popup will
also show sample values from that column.

And lastly, you can hover over a column or column name in an answer to see last updated information.

ThoughtSpot User Guide

Page 30

Last data refresh time

ThoughtSpot User Guide

December 09, 2017

Page 31

Work with Answers

December 09, 2017

Work with Ans
Answ
wers
Summary: Answers are the saved results of a search.
You can save the results of any search and share these with other people. Your saved searches appear on
the Ans
Answ
wers page. From this page, you can see answers you saved and answers other people have saved,
provided these people shared them with you or a group you belong to.

Apply a sstick
ticker
er
Only administrators create stickers, but anyone with edit privileges can tag an object with a sticker. To add
a sticker to an answer:
1. Find the item(s) you want to tag in the list.
2. Check the box next to its name.
3. Click the apply sticker icon and choose one from the list.
You can apply as many stickers as you like to an object.

Cop
opy
y an ans
answ
wer
You can make a copy of an answer if you would like to make edits without changing the original answer.
When copying, you can type in a different name for your copy.
1. Click on Ans
Answ
wers
ers, on the top navigation bar.

2. On the answer list page, click the answer you would like to copy.
3. Click Actions and select Mak
Make
eac
cop
opy
y.

ThoughtSpot User Guide

Page 32

Work with Answers

December 09, 2017

4. Give your answer a new name and description. Then click Sa
Sav
ve.

ThoughtSpot User Guide

Page 33

Work with Answers

December 09, 2017

Other ffea
eatur
tures
es
At the bottom of the Ans
Answ
wers page, you can find two additional areas, SpotIQ Insights and Rela
elatted
Sear
Searches
ches. These areas are derived from your original answer and you can select them to deepen your
search.

ThoughtSpot User Guide

Page 34

Work with Answers

ThoughtSpot User Guide

December 09, 2017

Page 35

Results that are tables

December 09, 2017

Results tha
thatt ar
are
e tables
Summary: Tables display your answer in a format similar to an Excel
spreadsheet.
Your search results are not limited by the number of attributes or columns in order to be presented as a
table. You can have a table with just one attribute or measure. When you choose to display your answer as
a table, ThoughtSpot will create the columns for you and any relevant headlines.
Sometimes when you view a table, the results will be aggregated (combined). For example, if you only
type “revenue”, you’ll see the total sum of all the revenue the table contains as one combined number. If
you include the keyword monthly, the results will be aggregated by month. You can rearrange the column
order of your table among other search actions.
Every table gives you the option to rearrange the column order and change the column widths.

Rearr
earrange
ange c
column
olumn or
order
der
You can rearrange the column order of your table after adding all of your search terms.
To rearrange the column order:
1. While viewing your answer as a table, click the column header you would like to move.
2. Drag it across to its new position.

Resiz
esize
ec
column
olumn widths
You can resize the column widths of your table after adding all of your search terms.
Any adjustments you make to the column widths of your table are saved when you pin the table to a
pinboard.
To resize the column widths:
1. While viewing your answer as a table, hover over a column border in the column header row.
2. Click and drag the border to create your preferred column width.

Sort c
columns
olumns
You can sort a table by column values by clicking on the column title. If you hold down the SHIFT key you
can click on multiple heads and sort on them in turn.
 Tip: This same functionality is available on tables you see elsewhere in ThoughtSpot. For example, a
table in the DATA page is also sortable in this manner.

About headlines ((summary
summary inf
informa
ormation)
tion)
Headlines display summary information of a table result. Headlines contain summary information for each
column of a table. They appear at the bottom of the table in individual boxes.

ThoughtSpot User Guide

Page 36

Results that are tables

December 09, 2017

ThoughtSpot automatically creates up to 20 headlines for each table. Your ThoughtSpot configuration can
be changed to accommodate more if needed.
You can modify how you’d like the value to be displayed by clicking the dropdown on a headline and
selecting a different type of aggregation. The usual available aggregations are total, average, standard
deviation, variance, minimum, and maximum. There are also unique count and total count values available
for the appropriate columns.
To add a headline to a pinboard, hover over it and click the Add tto
o pinboar
pinboard
d icon.

ThoughtSpot User Guide

Page 37

Overview of keyword searches

December 09, 2017

Ov
Overvie
erview
w of k
ke
eywor
ord
d sear
searches
ches
Summary: Use keywords when asking a question to narrow and further
define your search.
In addition to column names, values, and filters, the search bar also accepts keywords. You can access a
list of keywords and other reference materials in the references section or in the help center. Open the
help center by clicking Help on the top navigation bar.

Within the help center, you’ll find videos and documentation that pertain to the current version of
ThoughtSpot. Here is where you can also find a list of keywords. You can expand each section to see
which keywords are available and examples on how to use them.

Ex
Example:
ample: Simplify sear
search
ch with the ttop
op k
ke
eywor
ord
d
The top keyword can be a powerful addition to your search when you remember to use it. By using one
keyword, you can greatly simplify your searches. The top keyword is one such keyword. Its syntax looks
like top n for each x.

ThoughtSpot User Guide

Page 38

Overview of keyword searches

December 09, 2017

Some common search examples it can simplify are finding the:
• top two performing sales rep
• top revenue average revenue by state
• top two students ranked by source for each class

Types of k
ke
eywor
ords
ds
Keywords serve a variety of predefined purposes, and are divided into different groups. The groups are as
follows:
• Basic k
ke
eywor
ords
ds
You can use keywords such as top and “bottom to, for example, only see results for the best or
worst performing sales rep.
• Da
Datte k
ke
eywor
ords
ds
Date keywords give you the freedom to narrow your search by days, weeks, months, quarters, or
years. There are also a number of date related keywords such as after, before, and yearover-year. Use the new date keywords to describe dates in the future. This is useful for
exploring things that are scheduled for a future date, such as shipments due to go out in the
next week.
• Time k
ke
eywor
ords
ds
Time keywords are the most useful when trying to figure out how many visitors you’ve received
within the last n minutes or hours.
• Text k
ke
eywor
ords
ds
You can use text keywords to find similar words or phrases that contains a certain word. For
example, product name contains green.
• Number k
ke
eywor
ords
ds
These keywords allows you to define your search by sum, average, count, max, min, and other
accumulations.
• Filt
Filter
er k
ke
eywor
ords
ds
Filter keywords work in the same way as filters on table columns or chart axes.
• Loca
ocation
tion k
ke
eywor
ords
ds
The keywords near and farther than allow you to search with spatial filters on your geo type

ThoughtSpot User Guide

Page 39

Overview of keyword searches

December 09, 2017

columns with latitude/longitude data. This lets you focus your search based on distance and
locations. You can specify a specific radius using miles, kilometers, or meters.

Rela
elatted inf
informa
ormation
tion
• Keyword reference
• Search using growth over time
• Geographical proximity keywords “near” and “farther than”

ThoughtSpot User Guide

Page 40

Time series analysis

December 09, 2017

Time series analy
analysis
sis
Summary: You can compare across time periods without using a
formula.
A time series is a set of data points ordered by time. For example, within the same week a sale on Tuesday
comes before a sale on Wednesday in such a data set. You can use ThoughtSpot’s time series analysis
feature to search for answers about series data.

You might use this feature to compare a time period across other time periods. For examples sales for
each month across several years. You may also want to calculate an aspect such as growth over the same
time period across other periods. You can also do relative analysis such as sales for the last 3 months of
each year across years.
You can use one or more of the following period keywords to create this type of analysis:

Period k
ke
eywor
ords
ds
Keywor
ord
d

Ex
Example
ample

quarter (date)

quarter (commit date)

month of quarter (date)

month of quarter (commit date)

week of year (date)

week of year (commit date)

week of quarter (date)

week of quarter (commit date)

week of month (date)

week of month (commit date)

ThoughtSpot User Guide

Page 41

Time series analysis

December 09, 2017

day of year (date)

day of year (commit date)

day of quarter (date)

day of quarter (commit date)

day (date)

day (order date)

day of week (date)

day of week (order date)

hour (datetime)

hour (timestamp)

All of these keywords sort the data using datetime semantics, that is chronologically in a time sequence.
By default, the Sear
Search
ch bar suggests these keywords less frequently than others.
You can use these new keywords in combination with the existing data keywords which are:
•
•
•
•
•
•
•

Detailed
Hourly
Daily
Weekly
Monthly
Quarterly
Yearly

Ex
Examples
amples of time series analy
analysis
sis
Typically, when you search for answers about series data, the visualizations that answer your questions are
line charts. These charts frequently but not always include a stack to indicate a period.

When you search for an aspect of data of time series, a typical response is a line chart showing the aspect
as it rises and falls over time.

ThoughtSpot User Guide

Page 42

Time series analysis

December 09, 2017

You can also add a relative date filter for example,
total revenue quarterly yearly by year month(commit date) >= 01/01/1995
month(commit date) before 01/01/1998
This type of query also yields a stacked line chart:

ThoughtSpot User Guide

Page 43

Search using growth over time

December 09, 2017

Sear
Search
ch using gr
gro
owth o
ov
ver time
Summary: You can show growth over time by using the growth of
keyword in your search.
The growth of keyword compares the data from different date periods, and returns a percentage of
growth. To search using growth over time:
1. Type growth of into the search bar, and choose a measure you’re interested in seeing the growth
of.

You will see a list of suggestions to choose from based on your sources. You can also type a
different column name containing numeric data to compare.
2. Type by, followed by a date column name.
The growth is calculated as a positive or negative percentage, for each period relative to the last
period in the series. A line chart is a good way to display your data, but the waterfall chart is
especially effective to show growth.

ThoughtSpot User Guide

Page 44

Search using growth over time

December 09, 2017

3. You can also do year-over-year analysis, which compares each time period to the corresponding
time period in the prior year.
This type of growth analysis is more common in retail and other seasonal businesses. To do this,
type monthly year-over-year after your growth of phrase in the search bar.

This compares data between the same month from different years. For example, it will allow you
to compare sales from June of this year to the sales from June of last year. Note that for the first
year, values are labeled as “{Blank}” in the Data View since there are no previous data to
compare them to.
Add an attribute to your search see the breakdown of how each grouping of the attribute
contributed to the overall growth of your measure.
4. Click Configur
onfigure
e Chart and add your attribute to the Legend field.

ThoughtSpot User Guide

Page 45

Search using growth over time

December 09, 2017

It looks like Q4, FY 15 was a much more productive period for a number of categories compared
to a year ago.

ThoughtSpot User Guide

Page 46

Proximity searches "near" and "farther than"

December 09, 2017

Pr
Pro
oximity sear
searches
ches "near" and "f
"farther
arther
than"
Summary: If your table contains Latitude and Longitude data, you can
use proximity searches that find entities related to each other by
location.
Proximity keywords allow you to search search and then show on map (via search) all instances of a
measure near an attribute’s associated lat/long coordinates within x miles/km/meters. Using proximity
keywords causes ThoughtSpot to display a circle that represents your set distance on the geo charts
when you filter on a GeoType column.

The proximity keywords are.
• near
• near…within n miles|km|meters
• farther than n miles|km|meters from
The distance is calculated as a straight-line distance (not road distance) radius using miles, kilometers, or
meters from the central point. If not specified, the default is 10 km.
These keywords are limited to 33 latitude/longitude pairs. They work on duplicate counties. Finally, you
can filter on them. Some examples of valid searches are:
landings latitude longitude city near tokyo

ThoughtSpot User Guide

Page 47

Proximity searches "near" and "farther than"

December 09, 2017

landings latitude longitude city near tokyo within 50 miles
You can bracket your search only with actual values found in the data. So “longitude between
-125.000000 and -115.316670 worked for me, but not longitude between -125 and -115.

Proximity search configuration requirements
All your data must be in the same set. The worksheet or one of the tables must contain a column of type
longitude and a column of type latitude. The latitude and longitude data have to be on the same base
tables for the feature to work. You can’t, for instance, have a dimension table with all your cities and their
associated geo coordinates and join to it from your fact table and expect proximity search to work.
Also, your administrators must have configured these columns using the appropriate GeoType.

ThoughtSpot User Guide

Page 48

Understand filters

December 09, 2017

Unders
Understand
tand filt
filters
ers
Summary: Filters narrow down the search result to only include the
data you want to see.
When you add a value to your search, it becomes a filter. To add a filter from the search bar:
1. Click in the search bar and type the values you want to include in the search.
Typing a value in the search bar acts as a filter.

You can also use filter keywords like yesterday, after, next month, 2016 to filter your search. To
see more filter keywords, refer to the keyword reference.
2. Click outside of the search bar or push enter to apply your filter.
Simple filters can be applied to an answer, while pinboard filters can be applied to all visualizations of a
pinboard. You can find out more about pinboard filters in the pinboards section.

Wher
here
e filt
filters
ers appear in T
ThoughtSpot
houghtSpot
As you have seen with search, filters appear in white boxes in the search bar.

In an answer or a pinboard, filters appear just below the title. For pinboards, your filters apply to all
worksheet-based visualizations in the pinboard.

ThoughtSpot User Guide

Page 49

Understand filters

December 09, 2017

If you ever find that your search or pinboard does not appear to contain all the data you want to see,
check for any existing filters and remove them by clicking the X to see all the data.
 Not
Note:
e: Filtering on NULL and empty values is a special case. You can find out more about how these
values are represented and how to filter for them in About filtering on null, blank, or empty values.

Simple filt
filters
ers
Simple filters can be applied to searches in a few different ways. You can use the search bar or the Change
Configur
onfigura
ation menu to add a filter to a search. You can apply simple filters to your search, whether it
shows a table or a chart. Your filters remain part of the search even when you change the visualization
type.
When adding a filter from the Change C
Configur
onfigura
ation menu, numeric columns and text columns provide
you with a checkbox selector for values. If the column contains a date, you’ll see a calendar selector when
applying a filter. This is also where you’ll go to apply bulk filters.

Bulk filt
filters
ers
If you have a large worksheet or table with thousands or millions of rows, you may want to create bulk
filters. You can paste in a list of filter values, without having to click the box next to each value in the filter
selector.
Bulk filters can be very useful when you have a very large worksheet or table. You can use them to filter a
large list of values easily. For example, this is useful if you want to only search on a list of products that
your manager sent to you in an email. You can cut and paste those values into the bulk filter box to
quickly generate a report or chart that includes only those items of interest.
You can create a bulk filter by pasting a list of values, separated by commas, semicolons, new lines, or
tabs, into the bulk filter box. This allows you to easily search a large list of filters repeatedly.

ThoughtSpot User Guide

Page 50

Add a filter to a table

December 09, 2017

Add a filt
filter
er tto
o a table
Summary: You can add a simple filter from a column header while
viewing your answer as a table.
To add a filter from column headers:
1. While viewing your answer as a table, click Change c
configur
onfigura
ation on the column header you
want to filter.

2. Select Filt
Filters
ers.
3. Select the values to include in your answer.
4. Click Done
Done.
If there are too many values, you can use the filter search bar to find the ones you want.

ThoughtSpot User Guide

Page 51

Add a filter to a table

ThoughtSpot User Guide

December 09, 2017

Page 52

Add a filter to a chart

December 09, 2017

Add a filt
filter
er tto
o a chart
Summary: You can add a simple filter from a chart axis while viewing
your answer as a chart.
You can filter a chart in two ways:
1. Click on the legend labels to toggle the values on or off.
2. Follow the steps shown here to filter on the axis values.
To add a filter from the chart axes:
1. While viewing your answer as a chart, click the chart axis you want to filter on, and select Filt
Filter
er.

2. Select the values you would like to include in your answer. Then click Done
Done.

ThoughtSpot User Guide

Page 53

Add a filter to a chart

ThoughtSpot User Guide

December 09, 2017

Page 54

Create a bulk filter

December 09, 2017

Cr
Crea
eatte a bulk filt
filter
er
You can create a bulk filter by pasting a list of values, separated by commas, semicolons, new lines, or
tabs, into the bulk filter box. This allows you to easily search a large list of filters repeatedly.
In this example, we will cut and paste values to create a bulk filter. You could also do this by pasting in a
list of text values from an email or cells from an Excel or Google Sheets spreadsheet.
1. When viewing a table, select multiple cells by clicking and dragging.
2. Right click and choose Cop
opy
y tto
o Clipboar
Clipboard
d.

3. Click the Filt
Filters
ers icon in the column header.
4. Click Add v
values
alues in bulk
bulk:

ThoughtSpot User Guide

Page 55

Create a bulk filter

December 09, 2017

5. Paste the values into the bulk filter box.

ThoughtSpot User Guide

Page 56

Create a bulk filter

December 09, 2017

6. Click Done
Done.

ThoughtSpot User Guide

Page 57

Delete a filter

December 09, 2017

Delet
Delete
e a filt
filter
er
Summary: You can delete a filter from an answer to return to the
original unfiltered search result.
There are multiple ways to delete a filter. To delete a filter you can click the x on the filter term in the
search bar.

You can also click the x on the filter bar above the answer.

ThoughtSpot User Guide

Page 58

Filter on null, blank, or empty values

December 09, 2017

Filt
Filter
er on null, blank, or empty v
values
alues
Summary: Filtering on NULL and empty values is a special case.
Filtering on null, blank, or empty values can be tricky if your data contains both of these. You can use this
method to see what’s really going on with these types of values, and to get the filtering behavior you
want.

Ho
How
w NULL and blank v
values
alues ar
are
e displa
display
yed
When you view a table or chart, you may see values that appear as {blank}
{blank}. These can actually be one of
two types of values:
• NULL values, which are essentially missing values.
• blank or empty values, like an empty string of text or a string containing only whitespace
(spaces, tabs).
Both of these types of values are represented as {blank}
{blank}, but if you filter on {blank}
{blank}, the filter will apply to
only the NULL values. That is, only the NULL values will be included in your result. It can be hard to tell
what’s going on if you have a data source that contains both NULL and blank/empty values.

To sho
show
w NULL and blank v
values
alues diff
differ
erently
ently
If you need to differentiate between NULL and blank values, you can Add a formula to make them appear
differently in charts and tables. In this example, we’ll use  to refer to the text column which
contains both NULL and blank values:
if ( strlen (  ) = 0 ) then if ( isnull (  ) ) then 'null'
else 'empty' else 
This formula will show “null” where the value contained in the column is actually NULL. When the value is
blank or empty, it will show up as “empty”.

To allo
allow
w filt
filtering
ering on both NULL and blank v
values
alues
If you want to keep the same display format for NULL and blank values, but be able to filter on both using
“{blank}”, your formula will be slightly different. You can use a formula like:
if ( strlen (  ) = 0 ) then null else 
Use the filter you created instead of the original text column in your search to get the result you desire.

Filt
Filtering
ering on y
your
our fformula
ormula
After creating the above formula that fits what you want to do, you can filter on the formula column you
created in the search bar by typing the value {blank}
{blank}, which will act as a filter. Or you can filter by left
clicking on a{blank}
{blank} value in your search result table, then right clicking and selecting Sho
Show
w only “{Blank}“
“{Blank}“.

ThoughtSpot User Guide

Page 59

Filter on null, blank, or empty values

ThoughtSpot User Guide

December 09, 2017

Page 60

Other search actions

December 09, 2017

Other sear
search
ch actions
There are other search actions you can perform by interacting directly with your answer. These actions
can be performed in an ad hoc way, or you can pin your answer to a pinboard to save your configurations.
• Change vie
view
w optins
You can change the view of your answer so it appears as a table or a chart. Sorting your search
allows you to order your answer, making it easier to read. You can change the date bucketing on
tables and charts for columns with date values.
• Sho
Show
w underlying da
data
ta
Viewing the underlying data of your answer gives you an un-aggregated view of the underlying
data.
• Drill do
down
wn
Drilling down allows you to see more information about the columns used within your search.
• Ex
Exclude
clude and include rro
ow v
values
alues
You can include or exclude row values from your answer.
• Apply c
conditional
onditional fforma
ormatting
tting
You can apply conditional formatting to tables or charts to highlight values in the data. This
makes values above, below, or within a particular threshold stand out.
• Work with sa
sav
ved ans
answ
wers
You can make a copy of an answer if you would like to make edits without changing the original
answer.
• Do
Download
wnload y
your
our sear
search
ch
You can download your search as either a table or chart.
• Repla
eplay
y sear
search
ch
You can instantly generate a step-by-step replay showing the creation of a table or chart.

ThoughtSpot User Guide

Page 61

Change result display options

December 09, 2017

Change rresult
esult displa
display
y options
Summary: You can change how your search results (answers) appear.
Your search answer (results) have various display options. You can change the visualization used to
display your results, their sort oder, and how they are grouped or grouped.

Change the vie
view
w
You can change the view of your answer so it appears as a table or a chart. To change the view of your
answer:
1. View your answer.
2. Click Change V
Visualiza
isualization
tion.
3. Select either table or a chart type.

Sort y
your
our sear
search
ch
Sorting your search allows you to order your answer, making it easier to read. To sort your search:
• If you are in the data (table) view, click the column header you would like to sort on.
By default, sorting applies in descending order. You can click on a column header to sort again
to sort in ascending order.
 Tip: Hold shift and click another column to add a secondary sort. You can even add tertiary
sorting and so on by continuing to use this trick.
• If you are in the chart view, click the axis label of your chart and select Sort
Sort.

Change the da
datte buck
bucketing
eting ((gr
grouping)
ouping)
You can change the date bucketing on tables and charts for columns with date values. Bucketing is a
method for grouping a column in your data. For example, if you have a column of orders, you can use the
date of each order (NO_BUCKET
NO_BUCKET).

ThoughtSpot User Guide

Page 62

Change result display options

December 09, 2017

Alternatively, you can group these MONTHL
MONTHLY
Y:

ThoughtSpot chooses a default date bucket for you when you search. This default takes the entire search
result into account. For example, if your search includes last month, dates are bucketed daily instead of
monthly.
On a table view, you use the date bucket dropdown below the column header. On a chart, you can change
this via the axis label.

ThoughtSpot User Guide

Page 63

Change result display options

December 09, 2017

The bucket values are a subset of date and time period keywords. To change the date bucketing:
1.
2.
3.
4.

Go to the table or chart you want to change.
Locate the column or axis value with the date value you want to change.
Click the column’s bucket menu.
Select a date bucket.

Ex
Exclude
clude and include rro
ow v
values
alues
You can include or exclude row values from your answer.
To exclude or include row values:
1. Right click on the visualization or table cell of interest
2. Select Ex
Exclude
clude “v
“value”
alue” or Include “v
“value”
alue” if available.

ThoughtSpot User Guide

Page 64

Change result display options

ThoughtSpot User Guide

December 09, 2017

Page 65

Show underlying data

December 09, 2017

Sho
Show
w underlying da
data
ta
Summary: Viewing the underlying data of your answer gives you an
un-aggregated view of the underlying data.
You can see the most granular details of a given result set, i.e. it shows the un-aggregated view. This
feature lets you understand what an answer consists of. For example, if you search for “customer region
revenue”, the answer shows the aggregate revenue value for each customer region. You can then click on
any row and then on Sho
Show
w underlying da
data
ta, to see each value that “revenue” constitutes of, for any given
region.
Only the first 1,000 rows are shown when viewing the underlying data. You can even download the results
shown when you choose Sho
Show
w underlying da
data
ta from a chart. The download file limit is 100,000 rows.
 Not
Note:
e: Viewing underlying data does not work for answers that are derived from chasm trap searches.
To show underlying data:
1. Right click on the visualization or table cell of interest
2. Select Sho
Show
w underlying da
data
ta.

A new window opens that displays a summary and the underlying data.
3. Optionally, choose to + A
Add
dd C
Column
olumn to the date_to_xmlschema and click Confirm Changes
Changes.

ThoughtSpot User Guide

Page 66

Show underlying data

December 09, 2017

4. Click Do
Download
wnload to download a CSV file of the data.

ThoughtSpot User Guide

Page 67

See the search behind a result

December 09, 2017

See the sear
search
ch behind a rresult
esult
Summary: You can use your answer to learn more about the data used
in your search.
Drilling down allows you to see more information about the columns used within your search. If you own
the pinboard you can drill down to the data beneath. Users you share the pinboard with can also drill
down provide they also have access to the data on which the board was based.
To drill down:
1. Right click on the visualization or table cell of interest, and select Drill do
down
wn.

2. Click on any of the listed data to recreate the search with that data included.

ThoughtSpot User Guide

Page 68

Apply conditional formatting

December 09, 2017

Apply c
conditional
onditional fforma
ormatting
tting
Summary: Use conditional formatting to make portiosn of your results
stand out
You can apply conditional formatting to tables or charts to highlight values in the data. This makes values
above, below, or within a particular threshold stand out.

Unders
Understand
tand c
conditional
onditional fforma
ormatting
tting
Many companies create pinboards with key metrics they want to track in daily or weekly staff meetings.
Using conditional formatting, they can see at a glance how they are performing relative to these metrics.
You can add visual cues for KPIs (Key Performance Indicators) or threshold metrics to charts and tables,
to easily show where you are falling short or exceeding targets. These visual cues are called conditional
formatting, which applies color formatting to your search result. For tables, you can add conditional
formatting to set the background color of cells in a table based on the values they contain. For charts, you
can add conditional formatting to show the threshold(s) you defined, and the data that falls within them
will be shown using the same color.

Apply c
conditional
onditional fforma
ormatting
tting tto
o a table
You can use conditional formatting to show table cells with a background color determined by the value
they contain.
To apply conditional formatting to a table:
1. In the column header of your table for the column you want to apply formatting to, click the
three dot Change C
Configur
onfigura
ation icon.

2. Select Conditional F
Forma
ormatting
tting.
3. Click the + icon in the Conditional F
Forma
ormatting
tting menu.

ThoughtSpot User Guide

Page 69

Apply conditional formatting

December 09, 2017

4. Define the sets of values and the color to use for each set.

5. Click Done after defining all of your conditional formatting sets.

ThoughtSpot User Guide

Page 70

Apply conditional formatting

December 09, 2017

6. Note that if you change to a chart type, you will need to apply conditional formatting again.
Conditional formatting is tied to the specific visualization.

Apply c
conditional
onditional fforma
ormatting
tting tto
o a chart
You can use conditional formatting to show charts with a target value or range drawn as a line in the
chart, and the legend colors determined by where values fall relative to the target.
To apply conditional formatting to a chart:
1. Click the axis label of your chart. Select Conditional F
Forma
ormatting
tting.
2. Click the + icon in the Conditional Formatting menu.

ThoughtSpot User Guide

Page 71

Apply conditional formatting

December 09, 2017

3. Define the ranges of values and the color to use for each range you want to track. To add
another range, click the + icon and repeat.

4. Click Done after defining all of your conditional formatting ranges.

ThoughtSpot User Guide

Page 72

Apply conditional formatting

December 09, 2017

5. Note that if you change the chart type, you will need to apply conditional formatting again. It is
tied to the specific visualization.

ThoughtSpot User Guide

Page 73

Download your search

December 09, 2017

Do
Download
wnload y
your
our sear
search
ch
Summary: You can download your search as either a table or chart.
You have the option to download your table as a CSV (comma separated values), PDF, or XLSX (Excel)
file. When you download a chart, it will be a PNG file. To download your search:
• Click Actions
ctions. For a table, choose between Do
Download
wnload as CS
CSV
V, Do
Download
wnload as PDF
PDF, or Do
Download
wnload as
XLS
XLSX
X.

• For a chart, select Do
Download
wnload.

ThoughtSpot User Guide

Page 74

Download your search

ThoughtSpot User Guide

December 09, 2017

Page 75

Replay search

December 09, 2017

Repla
eplay
y sear
search
ch
Summary: You can instantly generate a step-by-step replay showing
the creation of a table or chart.
The replay feature shows how to create the chart or table you are viewing. Use it to teach yourself, or take
a screencam of it and create your own ThoughtSpot training for your team.
1. When viewing a chart or table, click Actions and select Repla
eplay
y sear
search
ch.

2. Then, select Start R
Repla
eplay
y to view the video.

The replay will start automatically. You can pause and resume it by clicking on it.

ThoughtSpot User Guide

Page 76

Understand charts

December 09, 2017

Unders
Understand
tand charts
Summary: Charts display your search answer in a visual way.
Your search needs at least one attribute and one measure to be presented as a chart. When you choose to
display your answer as a chart, ThoughtSpot will assign it the best fit chart type.
 Not
Note:
e: Colors are maintained across searches within a session. For example, when doing a search on
revenue by state, each state will keep its color assigned to it even if you change the search or chart type.
You can choose from a large number of chart types in ThoughtSpot. Each chart type provides you with a
different visualization for your answer.
You can also adjust the axes, labels, and view of the chart.

About chart types
You can choose from a large number of chart types in ThoughtSpot. Each chart type provides you with a
different visualization for your answer.
You can change the chart type of your answer by clicking Change V
Visualiza
isualization
tion.

ThoughtSpot User Guide

Page 77

Understand charts

December 09, 2017

Not
Note:
e: Some chart types may be unavailable for you to select depending on the columns of your search.
For example, if your search does not contain at least one geographical column then you will not be able to
select any of the geo chart types. Unavailable chart types are grayed out. Hovering over one will tell you
what columns are needed before you can choose it.
• Column charts
The column chart is one of ThoughtSpot’s simplest, yet most versatile chart type. More often
than not, the column chart will be chosen as your default chart type.
• Bar charts
The bar chart is very similar to the column chart. The only difference is that it is oriented the
other way.
• Line charts
Like the column chart, the line chart is one of ThoughtSpot’s simplest, yet most versatile chart
type. More often than not the line chart will be chosen as your default chart type.
• Pie charts
The pie chart is a classic chart type that displays your search in a circle. The pie chart
ThoughtSpot shows is in the shape of a doughnut.
• Ar
Area
ea charts
The area chart is based on the line chart, but has filled in regions.
• Sca
Scatt
tter
er charts
The scatter chart is useful for finding correlations or outliers in your data.
• Bubble charts
The bubble chart displays three dimensions of data with each containing a set of values.
• Par
aret
eto
o charts
The pareto chart is a type of chart that contains both columns and a special type of line chart.
• Waterf
erfall
all charts
The waterfall chart is used to show how an initial value is affected by a series of intermediate
positive or negative values.

ThoughtSpot User Guide

Page 78

Understand charts

December 09, 2017

• Treemap charts
The treemap chart displays hierarchical data as a set of nested rectangles.
• Hea
Heatmap
tmap charts
The heatmap chart displays individual data values in a matrix following a color scale.
• Line c
column
olumn charts
The line column chart combines the column and line charts.
• Funnel charts
The funnel chart shows a process with progressively decreasing proportions amounting to 100
percent in total.
• About geo charts
There are three geo charts that let you visualize geographical data in ThoughtSpot.
• About piv
pivot
ot tables
Pivot tables in ThoughtSpot use the well known drag-and-drop interface. Creating a pivot table
enables exploring alternate visualization of data in a wide table. The basic idea is that some data
is easier to consume when laid out horizontally, while others, vertically.

ThoughtSpot User Guide

Page 79

Column charts

December 09, 2017

Column charts
Summary: A column chart is the most versatile chart type
The column chart is one of ThoughtSpot’s simplest, yet most versatile chart type. More often than not, the
column chart will be chosen as your default chart type.
Column charts are vertical bar charts that display your data using rectangular bars. The length of the bar
is proportional to the data value.

Your search needs at least one attribute and one measure to be represented as a column chart.

Stack
tacked
ed c
column
olumn charts
The stacked column chart is similar to the column chart, but with one major difference. It includes a
legend, which divides each column into additional sections by color.
Stacked column charts are typically used when you want to compare aggregated data and the data that it
includes together. This chart type benefits when you add the Additional chart options option. Turning it on
will show the sum of the stacks at the top of each stack.
It is important to note that stacked column charts plot the y-axis as a percentage by default. You can
choose to toggle Sho
Show
wY
Y-Axis
-Axis as % on or off in the Configuration Options. This feature is also available for
stacked area charts.

ThoughtSpot User Guide

Page 80

Column charts

December 09, 2017

Your search needs at least two attributes and one measure to be represented as a stacked column chart.

ThoughtSpot User Guide

Page 81

Bar charts

December 09, 2017

Bar charts
The bar chart is very similar to the column chart. The only difference is that it is oriented the other way.
Bar charts display your data using horizontal rectangular bars. The length of the bar is proportional to the
data value.

Your search needs at least one attribute and one measure to be represented as a bar chart.

ThoughtSpot User Guide

Page 82

Line charts

December 09, 2017

Line charts
Summary: Line charts are good at showing trends over intervals of
time.
Like the column chart, the line chart is one of ThoughtSpot’s simplest, yet most versatile chart type. More
often than not the line chart will be chosen as your default chart type.
Line charts displays your data as a series of data points connected by straight line segments. The
measurement points are ordered by the x-axis value.

Your search needs at least one attribute and one measure to be represented as a line chart.

ThoughtSpot User Guide

Page 83

Pie charts

December 09, 2017

Pie charts
The pie chart is a classic chart type that displays your search in a circle. The pie chart ThoughtSpot shows
is in the shape of a doughnut.

Ho
How
w pie charts divide da
data
ta
Pie charts divide your data into sectors that each represent a proportion of a whole circle. You can display
the exact values of each slice, in addition to the percentage values by toggling on Additional chart options
found under Change chart configuration.

Your search needs at least one attribute and one measure to be represented as a pie chart. Also, there
must be fewer than 50 values in the attribute column.

Pie in pie charts
The pie in pie chart can be created from a regular pie chart in order to compare more than one
component of an attribute. Pie in pie charts show two concentric pie charts comparing different measures.
To see a pie in pie chart, assign two different measures to the y-axis under Configur
onfigure
e Chart
Chart.

ThoughtSpot User Guide

Page 84

Pie charts

ThoughtSpot User Guide

December 09, 2017

Page 85

Area Charts

December 09, 2017

Ar
Area
ea Charts
The area chart is based on the line chart, but has filled in regions.

Unders
Understand
tand ar
area
ea charts
Area charts display quantitative data graphically. The area between the x-axis and the line are colored in
to help you compare different portions of the chart.

Your search needs at least one attribute and one measure to be represented as an area chart.

Stack
tacked
ed ar
area
ea charts
The stacked area chart is an area chart with an attribute in the legend, which divides the area into layers.
Stacked area charts show the relative contribution to the accumulated total of a measure over time.
Stacked area charts plot the y-axis as a percentage by default. You can choose to toggle Sho
Show
wY
Y-Axis
-Axis as
% on or off in the Configur
onfigura
ation Options to create your own mountain-style charts.

ThoughtSpot User Guide

Page 86

Area Charts

December 09, 2017

Your search needs at least two attributes and one measure to be represented as a stacked area chart.

ThoughtSpot User Guide

Page 87

Scatter charts

December 09, 2017

Sca
Scatt
tter
er charts
Summary: The scatter chart is useful for finding correlations or outliers
in your data.
Scatter charts display your data as a collection of points, which can either be evenly or unevenly
distributed. Each point is plotted based on its own axes values. This helps you determine if there is a
relationship between your searched columns.

Your search needs at least one attribute and one measure to be represented as a scatter chart.

ThoughtSpot User Guide

Page 88

Bubble charts

December 09, 2017

Bubble charts
Summary: The bubble chart displays three dimensions of data with
each containing a set of values.
The bubble chart is a variation of the scatter chart, with the data points replaced with bubbles. These
bubbles add a third data dimension to your answer.

The size of each bubble depends on the measure you choose under Edit chart c
configur
onfigura
ation
tion.

ThoughtSpot User Guide

Page 89

Bubble charts

December 09, 2017

Your search needs at least one attribute and two measures to be represented as a bubble chart.

ThoughtSpot User Guide

Page 90

Pareto charts

December 09, 2017

Par
aret
eto
o charts
Summary: The pareto chart is a type of chart that contains both
columns and a special type of line chart.
The individual values of a pareto chart are represented in descending order by columns, and the
cumulative percent total is represented by the line. The y-axis on the left is paired with the columns, while
the y-axis on the right is paired with the line. By the end of the line, the cumulative percent total reaches
100 percent.

Your search needs at least one attribute and one measure to be represented as a pareto chart.

ThoughtSpot User Guide

Page 91

Waterfall charts

December 09, 2017

Waterf
erfall
all charts
Summary: The waterfall chart is used to show how an initial value is
affected by a series of intermediate positive or negative values.
Waterfall charts are good for visualizing positive and negative growth, and therefore work well with the
growth over time keyword. The columns are color-coded to distinguish between positive and negative
values.

Your search needs at least one attribute and one measure to be represented as a waterfall chart.

ThoughtSpot User Guide

Page 92

Treemap charts

December 09, 2017

Treemap charts
Summary: The treemap chart displays hierarchical data as a set of
nested rectangles.
Treemap charts use color and rectangle size to represent two measure values. Each rectangle, or branch,
is a value of the attribute. Some branches can contain smaller rectangles, or sub-branches. This setup
makes it possible to display a large number of items in an efficient way.

You can rearrange the columns of your search into category, color, and size under Edit chart c
configur
onfigura
ation
tion.

ThoughtSpot User Guide

Page 93

Treemap charts

December 09, 2017

Your search needs at least one attribute and two measures to be represented as a treemap chart.

ThoughtSpot User Guide

Page 94

Line column charts

December 09, 2017

Line c
column
olumn charts
Summary: The line stacked column chart combines stacked column
and line charts.
The line column chart combines the column and line charts. Your search needs at least one attribute and
two measures to be represented as a line column chart.

Unders
Understand
tand line c
column
olumn charts
Line column charts display one measure as a column chart and the other as a line chart. Each of these
measures has its own y-axis.

You can choose to enable shared y-axis by clicking the link icon found under Edit chart c
configur
onfigura
ation
tion.

ThoughtSpot User Guide

Page 95

Line column charts

December 09, 2017

Line sstack
tacked
ed c
column
olumn charts
This chart is similar to the line column chart, except that it divides its columns with an attribute in the
legend. There are two y-axes, one for each measure.

ThoughtSpot User Guide

Page 96

Line column charts

December 09, 2017

You can choose to enable shared y-axis by clicking the link icon found under Edit chart c
configur
onfigura
ation
tion.

ThoughtSpot User Guide

Page 97

Funnel charts

December 09, 2017

Funnel charts
Summary: The funnel chart shows a process with progressively
decreasing proportions amounting to 100 percent in total.
A funnel chart is similar to a stacked percent column chart, and is often used to represent stages in a sales
process. You can visualize the progression of data as it passes from one phase to another. Data in each of
these phases is represented as different proportions.

Your search needs at least one attribute and one measure to be represented as a column chart. The
attribute must contain 50 or fewer values.

ThoughtSpot User Guide

Page 98

Geo charts

December 09, 2017

Geo charts
Summary: There are three geo charts that let you visualize
geographical data in ThoughtSpot.
Geo charts show data on a map by location. They are geo area, geo bubble, and geo heatmap charts. And
these geo charts can display six types of geographical data, which are:
•
•
•
•
•
•

Country
State
County
Zipcode
Point (latitude/longitude)
Other sub-nation regions (for international countries)

In addition to the United States, ThoughtSpot also supports maps for the United Kingdom, Germany,
Sweden, South Africa, and France.

Geo da
data
ta tha
thatt can be displa
display
yed
Here is a table that shows which GeoType data can be displayed using which geo chart type.
GeoT
GeoType
ype

Geo chart type

Not
Notes
es

Country

Geo area (default), geo bubble,
geo heatmap

Can also be regions.

County

Geo area (default), geo bubble,
geo heatmap

Only for counties in the United States.

Point

Geo bubble (default), geo
heatmap

Must use both latitude and longitude columns.

State

Geo area (default), geo bubble,
geo heatmap

Only for states in the United States.

Zipcode

Geo bubble (default), geo
heatmap

Zip codes and zip codes +4 in the United
States.

Other sub-nation regions

Geo area (default), geo bubble,
geo heatmap

The display will depend on the type of administrative region chosen.

For data to be displayed using geo charts, your administrator must configure it as geographical data. If
you are expecting to be able to get a map visualization, but it isn’t available, contact your administrator so
they can make the configuration.

Ar
Area
ea charts
Geo area charts highlight the regions of interest. Point data (longitude/latitude) doesn’t work on geo area
charts. Also, only geo area charts display boundaries for counties.

ThoughtSpot User Guide

Page 99

Geo charts

December 09, 2017

Your search needs one geographical column of granularity to be represented as a geo area chart.

Geo bubble charts
Geo bubble charts, like bubble charts, display the value of the measure by the size of the bubble. Zip code
data makes the most sense for geo bubble charts.

ThoughtSpot User Guide

Page 100

Geo charts

December 09, 2017

Your search needs one geographical column or a pair of latitude and longitude columns to be represented
as a geo bubble chart.

Hea
Heatmap
tmap charts
Heatmap charts are similar to treemap charts in that they both use a similar system of color-coding to
represent data values. However, the heatmap does not use size to measure data, and instead requires an
additional attribute.

The value of each cell depends on the measure you choose under Edit char c
configur
onfigura
ation
tion.

ThoughtSpot User Guide

Page 101

Geo charts

ThoughtSpot User Guide

December 09, 2017

Page 102

Pivot table

December 09, 2017

Piv
Pivot
ot table
Summary: A pivot table is a chart type.
Creating a pivot table enables exploring alternate visualization of data in a wide table. The basic idea is
that some data is easier to consume when laid out horizontally, while others, vertically. Pivot tables are a
chart time typat use a drag-and-drop interface.

ThoughtSpot User Guide

Page 103

Pivot table

December 09, 2017

Choose Piv
Pivot
ot T
Table
able under Select Chart Type to view your search as a pivot table. Add rows, measures, and
columns to the search bar and restructure your table by moving these values under Configur
onfigure
e Chart or by
dragging and dropping them.

Some additional details about pivot tables include:
• Pivot tables show the grand totals for columns and rows.
• You can toggle on the Heatmap mode found under Configuration Options to add color
coordination to your data.

• Click a column or row to expand it. Additionally, you can expand or collapse all by right clicking
the arrow on the top left of a cell.

ThoughtSpot User Guide

Page 104

Pivot table

December 09, 2017

• When you pin a pivot table to a pinboard, it will retain your expansion settings.
The pivot table chart type has these limitations:
• Only the first 10,000 data values will be used. If you would like to increase this limit, please
contact ThoughtSpot Support.
• Pivot table is not available if the dataset contains more than 100,000 rows.
• Columns with cardinality beyond 100 are grouped into {Other}.
• Show underlying data menu is unavailable.
• Conditional formatting is not functional.

ThoughtSpot User Guide

Page 105

Change a chart

December 09, 2017

Change a chart
Summary: You can adjust the axes, labels, and view of the chart.
Every chart gives you the option to move columns between the x- and y-axes, hide or Additional chart
options, and zoom.

The configure chart option (the top icon which looks like a small bar chart) gives you the ability to edit the
chart axes and legends. Click on the icon to view the chart axes, add a legend, lock axes, and more.
• Reor
eorder
der labels on the axis or legend
When there are multiple columns on the x- or y-axis or legend of a chart, you can reorder them
by using the Configur
onfigure
e Chart icon.
• Set the y
y-axis
-axis rrange
ange
You can manually set the y-axis range by using the Edit chart c
configur
onfigura
ation icon.
• Hide and sho
show
wv
values
alues
You can hide and show values on the chart using the legend.
• Change chart c
colors
olors
You can easily change the legend colors in a chart.
• Additional chart options
You can configure charts to show the y-axis data values.
• Zoom int
into
o a chart
You can zoom into your chart by selecting an area with your mouse.

ThoughtSpot User Guide

Page 106

Reorder labels on the axis or legend

December 09, 2017

Reor
eorder
der labels on the axis or legend
When there are multiple columns on the x- or y-axis or legend of a chart, you can reorder them by using
the Configur
onfigure
e Chart icon.
The order in which columns appear on the axis or legend is based on the sequence they are added. The
first field is used as the primary sorting field for the chart. Adding another field adds it after the first one
on the axis label or legend. If you want to change the order, you can remove the fields and re-add them in
the reverse order.
This example shows you how to reorder the x-axis columns.
1. While viewing your answer as a chart, click Edit chart c
configur
onfigura
ation near the top right.

2. In the X-Axis box, delete the values. Then re-add them in the new preferred order.

3. Click Done
Done.
Your chart reorganizes itself to reflect the new label order.

ThoughtSpot User Guide

Page 107

Set the y-axis range

December 09, 2017

Set the y
y-axis
-axis rrange
ange
You can manually set the y-axis range by using the Edit chart c
configur
onfigura
ation icon. The chart configuration
panel includes the option to manually set the y-axis range. To set the y-axis range:
1. While viewing your answer as a chart, click Edit chart c
configur
onfigura
ation near the top right.

2. Under Y-Axis Range enter your preferred start and end values.

Your chart will reorganize itself to reflect the new y-axis range.

ThoughtSpot User Guide

Page 108

Hide and show values

December 09, 2017

Hide and sho
show
wv
values
alues
Summary: You can hide and show values on the chart using the legend.
Clicking on a legend item will hide it from the chart. You can click it again to show it. To hide and show
values:
1. While viewing your answer as a chart, click Edit chart c
configur
onfigura
ation on the right.

2. Make sure you have a column in the Legend field.

3. On the chart, click the legend value you would like to hide. Click the hidden legend value again
to show it.

ThoughtSpot User Guide

Page 109

Hide and show values

December 09, 2017

You can also click only next to a legend value to only show that value on the chart.

ThoughtSpot User Guide

Page 110

Change chart colors

December 09, 2017

Change chart c
colors
olors
Summary: You can easily change the legend colors in a chart.
To change the colors used in a chart, you can use the color picker from the chart. The color you set is used
in:
• legends on charts
• tables for conditional formatting
• tags and editing the colors
To change the chart colors, you need at least one column in the chart’s legend.
Colors are maintained across searches within a session. For example, when doing a search on revenue by
state, each state will keep its color assigned to it even if you change the search or chart type.

Add a c
column
olumn tto
o the legend
1. While viewing your answer as a chart, click Edit chart c
configur
onfigura
ation on the right.

2. Make sure you have a column in the Legend field.

ThoughtSpot User Guide

Page 111

Change chart colors

December 09, 2017

Set a c
color
olor thr
through
ough the legend
1. On the chart, click the color icon of the legend value you would like to change the color of.

2. Use the color picker to choose a new color to represent that legend value.
You can also enter a HEX value directly.

ThoughtSpot User Guide

Page 112

Change chart colors

December 09, 2017

3. Click outside of the picker to dismiss the picker.
4. Actions > Sa
Sav
ve your changes.

ThoughtSpot User Guide

Page 113

Additional chart options

December 09, 2017

Additional chart options
Summary: You can configure charts to show the y-axis data values.
Some charts have additional options under Configur
onfigura
ation Options that are covered in each chart type
topic.

Sho
Show
w da
data
ta labels
To show data labels:
1. While viewing your answer as a chart, click Edit chart c
configur
onfigura
ation
tion.

2. Select Sho
Show
w Da
Data
ta Labels
Labels.

Add rregr
egres
ession
sion line
1. While viewing your answer as a chart, click Edit chart c
configur
onfigura
ation
tion.
2. Select Sho
Show
w rregr
egres
ession
sion line
line.

S

ThoughtSpot User Guide

Page 114

Zoom into a chart

December 09, 2017

Zoom int
into
o a chart
You can zoom into your chart by selecting an area with your mouse. To zoom into a chart:
1. While viewing your answer as a chart, click Edit chart c
configur
onfigura
ation on the right.

2. Click Select an ar
area
ea.

3. Select an area on your chart to zoom into by clicking and dragging your mouse.

Your chart will be reconfigured to only show the selected area.

ThoughtSpot User Guide

Page 115

Zoom into a chart

December 09, 2017

4. If you would like to return to the original chart view, click Reset z
zoom
oom under Zoom options
options.

ThoughtSpot User Guide

Page 116

Understand formulas in searches

December 09, 2017

Unders
Understand
tand fformulas
ormulas in sear
searches
ches
Summary: To provide richer insights, you can add a formula to your
search.
The Formula Builder includes many types of operators, such as logical (if, then, else), math, date, and text
string functions.
You can create a formula from directly within a search. If you have the privilege that allows you to create
or edit worksheets, you can also create a formula within a worksheet. Formulas in worksheets act as
derived columns, so that anyone who uses the worksheet as a data source will see the formula as just
another column.
Adding a formula within a search works much the same way as adding a formula to a worksheet. However,
you will be able to edit the formula directly from within the answer. If you add the answer to a pinboard
and share it with the Edit privilege, other people can see the formula results, too. In order to make edits to
the formula, they also need to have the Edit privilege on the underlying data.
• Add a fformula
ormula tto
o a sear
search
ch
You can add a formula directly within a search. Some common reasons for using a formula in a
search are to perform mathematical functions, check for and replace null values, or add
if…then…else logic.
• Vie
iew
w or edit a fformula
ormula in a sear
search
ch
You can always go back and view or edit a formula that has been added to a search. Do this by
clicking the edit icon next to its name in the Columns listing.
• About aggr
aggrega
egatte fformulas
ormulas
When working with formulas, it is useful to understand the difference between regular (or rowwise) formulas and aggregation formulas.
• About c
con
onv
version fformulas
ormulas
Some formulas require the input to be of a particular data type. If you find that you want to pass
a value to the function, but it is of the wrong data type, you can convert it using a conversion
formula.
• About da
datte fformulas
ormulas
Date formulas allow you to apply date related functions to your formulas.
• About per
perc
cent ((simple
simple number) calcula
calculations
tions
You can use simple number functions to perform useful percent calculations.
• About c
conditional
onditional fformulas
ormulas ((oper
opera
ators
ors))
Conditional formulas, or operators, allow you to apply if/then/else conditions in your formulas.
• About nes
nestted fformulas
ormulas
Nested formulas, or formula on formula, allow you to reference a formula within another formula.
• About fformula
ormula support ffor
or chasm tr
trap
ap schemas
You can create a formula that involves aggregated measures coming from multiple fact tables of
a chasm trap.

ThoughtSpot User Guide

Page 117

Add a formula to a search

December 09, 2017

Add a fformula
ormula tto
o a sear
search
ch
You can add a formula directly within a search. Some common reasons for using a formula in a search are
to perform mathematical functions, check for and replace null values, or add conditional logic.
To create a formula in a search:
1. Start a new search, or choose an existing answer from a pinboard to edit.
2. If the answer shows a chart, switch to Da
Data
ta V
Vie
iew
w.

3. In the upper right hand side of the table, click Actions and select Add fformula
ormula.

4. Type your formula in the Formula Builder.

ThoughtSpot User Guide

Page 118

Add a formula to a search

December 09, 2017

 Not
Note:
e: Formulas elements are color coded by type and can include the formula operators and
functions (blue), the names of columns (purple), and/or constants (black).
5. You can see a list of formula operators with examples by clicking on Formula As
Assis
sistant.
tant.

6. If you want to change what your formula returns, use the Adv
dvanc
anced
ed settings
settings.Depending on your
formula, you may be able to change:
• Data type
• ATTRIBUTE or MEASURE
• Aggregation type

ThoughtSpot User Guide

Page 119

Add a formula to a search

December 09, 2017

7. Name the formula by clicking on its title and typing the new name. Click Sa
Sav
ve.

Rela
elatted inf
informa
ormation
tion
Formula reference

ThoughtSpot User Guide

Page 120

View or edit a formula in a search

December 09, 2017

Vie
iew
w or edit a fformula
ormula in a sear
search
ch
You can always go back and view or edit a formula that was added to a search. Do this by clicking the edit
icon next to its name in the Columns listing. Anyone who has edit privileges on an answer can also edit
any formulas it contains. To view or edit an existing formula in an answer:
1. Navigate to the pinboard that contains the answer with the formula, and open it.
2. Scroll down to the bottom of the Columns listing. You will see a data source called Formulas
ormulas.
3. Expand Formulas
ormulas, and you’ll see a list of all the formulas in this answer.

4. Click the edit icon next to the formula name.

5. Type your formula in the Formula Builder.

ThoughtSpot User Guide

Page 121

View or edit a formula in a search

December 09, 2017

 Not
Note:
e: Formulas elements are color coded by type and can include the formula operators and
functions (blue), the names of columns (purple), and/or constants (black).
6. Click Sa
Sav
ve to save the formula with your changes.

ThoughtSpot User Guide

Page 122

Overview of aggregate formulas

December 09, 2017

Ov
Overvie
erview
w of aggr
aggrega
egatte fformulas
ormulas
When working with formulas, it is useful to understand the difference between regular (or row-wise)
formulas and aggregation formulas.

Regular and aggr
aggrega
egation
tion fformulas
ormulas
Formulas can be broken down into two types:
Formula

Aggr
ggrega
egation
tion fformula
ormula

Acts on individual rows and returns one result
per row.

Combines rows together and returns a single result
for a group of rows.

Examples: add, subtract, multiply, divide, contains, if…then…else

Examples: Average, cumulative sum, moving average,
standard deviation

You can tell which formulas are aggregation formulas by looking at the Formula As
Assis
sistant
tant. Aggregation
formulas have their own section.

Adv
dvanc
anced
ed aggr
aggrega
egation
tion fformulas
ormulas
Some more advanced aggregation formulas are widely used in business intelligence, since they provide
better insight into data. Some of the more advanced aggregation formulas are:
• Grouping formulas apply a specific aggregate to a value, and group the results by an attribute in
the data.
• Cumulative formulas measure from the start of your data to the current point. They’re often
applied on time-based data.
• Moving formulas measure within a window (usually time-based) that you define.
Data from any rows that are not included in the search result will not be incorporated, and you cannot

ThoughtSpot User Guide

Page 123

Overview of aggregate formulas

December 09, 2017

create a filter on aggregated data.

Using division with aggr
aggrega
egation
tion in a sear
search
ch
Whenever your search result combines rows, your formula will get aggregated automatically. For example,
if your search contains words like “region”, “monthly”, or “department”, the results will be grouped
(aggregated) by that category. The administrator can change the default aggregation that gets applied
through a configuration, and you can also change it using the dropdown list in the column header of the
search result.
For example, this search would typically return a sum of total sales by department:
sum sales department
This search would return an average of sales by month:
average sales monthly
When you’re using division in your formula, and the search is aggregated like this, you may have to change
the order of operations to get the result you expect. This is best understood by using a real world
example.
Suppose you want to calculate the gross margin by department for a grocery store. The formula for gross
margin is:
profit / sales
But if you use that as your formula, you won’t get the expected calculation. Why? It’s because the formula
will be evaluated in this order: For each row, divide profit by sales and then total up all the results. As you
can see, the results do not look like gross margin values, which should be between 0 and 1.

Instead, you’d need to use a formula that uses the order of operations you want:
sum (profit) / sum (sales)
Now the result is as expected, because the formula totals the profits for all rows, and then divides that by
the total of sales for all rows, returning an average gross margin:

ThoughtSpot User Guide

Page 124

Overview of aggregate formulas

ThoughtSpot User Guide

December 09, 2017

Page 125

Filtered aggregation

December 09, 2017

Filt
Filter
ered
ed aggr
aggrega
egation
tion
Summary: You can create a filtered aggregation in the search bar.
In comparative analysis you compare two values against each in the Sear
Search
ch bar. Typically, in these cases,
one measure is a filtered measure, for example, revenue region = west is a filtered measure. Filtered
measures allow you to filter as part of your query.
Filters are useful for queries where the results should reflect a new, filtered vale. region. In the revenue
region = west example, you filter the region column to values in the west only and compare it to total
revenue.

About filt
filter
er functions
Filter functions take two arguments, the column ( measure or attribute) to aggregate and the filter
condition:
FUNCTION_NAME(condition, )
ThoughtSpot functional library will include the following functions:
•
•
•
•
•
•
•
•

sum_if
average_if
count_if
unique_count_if
max_if
min_if
stddev_if
variance_if

The table below illustrates some examples of these functions in use:
Ex
Example
ample

Description

sum_if(region=’west’,
revenue)

Only aggregate the revenue for the values corresponding to west region.

count_if(region
=’west’, region)

Only aggregate the region for the values corresponding to west region.

count_if(revenue >
100, red)

Count the number of times red appears when revenue was greater than
100 (row level revenue data, not aggregated).

A condition can have multiple filters like region = west OR region = east. If there are no rows
matching the criteria, the condition returns a 0 (zero). A 0 can result in situations where there are logic
errors in the formula, so be sure to double-check your work.

ThoughtSpot User Guide

Page 126

Filtered aggregation

ThoughtSpot User Guide

December 09, 2017

Page 127

About cumulative formulas

December 09, 2017

About cumula
cumulativ
tive
e fformulas
ormulas
Summary: Cumulative formulas are aggregate formulas.
Cumulative formulas that allow you to calculate the average, max, min, or sum or your data over time.
Although we usually talk about cumulative formulas over time, you can use them over any other
sequential data. Each of the cumulative formulas accepts a measure and one or more optional grouping
by an attribute (like region or department):
formula (measure, [attribute, attribute, ...])
Only the measure value is required. If you supply both a measure and attributes, the formula returns the
aggregate of the measure accumulated by the attribute(s) in the order specified. You should experiment
with only a measure and then with an attribute to see which output best meets your use case.
The cumulative formulas are:
Function

Description

cumulative_average

Takes a measure and one or more attributes. Returns the average of the measure, accumulated by the attribute(s) in the order specified. For example:
cumulative_average (revenue, order date, state)

cumulative_max

Takes a measure and one or more attributes. Returns the maximum of the measure, accumulated by the attribute(s) in the order specified. For example:
cumulative_max (revenue, state)

cumulative_min

Takes a measure and one or more attributes. Returns the minimum of the measure, accumulated by the attribute(s) in the order specified. or example:
cumulative_min (revenue, campaign)

cumulative_sum

Takes a measure and one or more attributes. Returns the sum of the measure,
accumulated by the attribute(s) in the order specified. For example:
cumulative_sum (revenue, order date)

ThoughtSpot User Guide

Page 128

Calculate the cumulative sum

December 09, 2017

Calcula
Calculatte the cumula
cumulativ
tive
e sum
Summary: Use the cumulative function in a search to measure from the
start of your data to the current point.
This example demonstrates using the cumulative_sum formula, also known as a running total. To use the
cumulative function in a search:
1. Start a new search.

2. In the upper right hand side of the table, click Actions and select Add fformula
ormula.

ThoughtSpot User Guide

Page 129

Calculate the cumulative sum

December 09, 2017

3. Enter the cumulative_sum formula, providing a measure and one or more attributes. The
example will return the sum of revenue, accumulated by the commit date.

ThoughtSpot User Guide

Page 130

Calculate the cumulative sum

December 09, 2017

4. Name the formula by clicking on its title and typing the new name. Click Sa
Sav
ve.
5. The formula will appear in the search bar and in the table as its own column.

A headline box displaying the cumulative sum within the entire table will appear at the bottom.
You can click on it to toggle between different aggregations.

ThoughtSpot User Guide

Page 131

About grouping formulas

December 09, 2017

About gr
grouping
ouping fformulas
ormulas
What if you want to aggregate a value by a specific attribute (for example, show revenue by product)?
This is known as a grouped aggregation, but some people call it a pinned measure or level-based measure.
You can do this for any aggregation using the grouping formulas.
Each of the grouping formulas accepts a measure and one or more optional attributes:
formula (measure, [attribute, attribute, ...])
Only the measure value is required. If you supply both a measure and an attribute, the formula returns the
aggregate of the measure grouped by the attribute(s). You should experiment with only a measure and
then with an attribute to see which output best meets your use case.
The grouping formulas are the following:
Function

Description

Ex
Examples
amples

group_average

Takes a measure and one or more attributes. Returns the average of the measure grouped by the
attribute(s).

- group_average
(revenue, customer
region)

group_count

Takes a measure and one or more attributes. Returns the count of the measure grouped by the attribute(s).

group_count
(revenue, customer
region)

group_max

Takes a measure and one or more attributes. Returns the maximum of the measure grouped by the
attribute(s).

group_max
(revenue, customer
region)

group_min

Takes a measure and one or more attributes. Returns the minimum of the measure grouped by the
attribute(s).

group_min
(revenue, customer
region)

group_stddev

Takes a measure and one or more attributes. Returns the standard deviation of the measure
grouped by the attribute(s).

group_stddev
(revenue, customer
region)

group_sum

Takes a measure and one or more attributes. Returns the sum of the measure grouped by the attribute(s).

group_sum
(revenue, customer
region)

group_unique_count

Takes a column name and one or more attributes.
Returns the number of unique values in a column,
grouped by the attribute(s).

group_unique_count
( product,
supplier)

group_variance

Takes a measure and one or more attributes. Returns the variance of the measure grouped by the
attribute(s).

group_variance
(revenue, customer
region)

ThoughtSpot User Guide

Page 132

About moving formulas

December 09, 2017

About mo
moving
ving fformulas
ormulas
Summary: Moving formulas are aggregate formulas that allow you to
calculate the average, max, min, or sum of your data over a
predetermined interval, or window, with an adjustable range.
Moving formulas can be used to smooth out any irregularities in your data to easily recognize trends. The
larger the interval you set, the more the peaks and valleys are smoothed out. While the smaller the
interval, the closer the moving averages are to the actual data points.
Each of the moving formula accepts a measure, two integers to define the window, and one or more
optional attributes.
formula (measure,integer,integer,[attribute,attribute,...])
Only the measure and integer values are required. If you supply both required and optional values, the
formula returns the aggregate of the measure over the given window. You should experiment with only a
measure and integers leaving out the attribute and then adding it back in. This will help you decide which
output best meets your use case.
The moving formulas are the following:
• moving_average, for example moving_average (revenue, 2, 1, customer region)
Takes a measure, two integers to define the window to aggregate over, and one or more
attributes. Returns the average of the measure over the given window. The attributes are the
ordering columns used to compute the moving average. The window is (current - Num1…Current
+ Num2) with both end points being included in the window. For example, 1,1 will have a
window size of 3. To see periods in the past, use a negative number for the second endpoint, as
in the example moving_average(sales, 1, -1, date).
• moving_max, for example moving_max (complaints, 1, 2, store name)
Takes a measure, two integers to define the window to aggregate over, and one or more
attributes. Returns the maximum of the measure over the given window. The attributes are the
ordering columns used to compute the moving maximum. The window is (current Num1…Current + Num2) with both end points being included in the window. For example, 1,1
will have a window size of 3. To see periods in the past, use a negative number for the second
endpoint, as in the example moving_max(sales, 1, -1, date).
• moving_min, for example moving_min (defects, 3, 1, product)
Takes a measure, two integers to define the window to aggregate over, and one or more
attributes. Returns the minimum of the measure over the given window. The attributes are the
ordering columns used to compute the moving minimum. The window is (current Num1…Current + Num2) with both end points being included in the window. For example, 1,1
will have a window size of 3. To see periods in the past, use a negative number for the second
endpoint, as in the example moving_min(sales, 1, -1, date).
• moving_sum, for example moving_sum (revenue, 1, 1, order date)
Takes a measure, two integers to define the window to aggregate over, and one or more
attributes. Returns the sum of the measure over the given window. The attributes are the
ordering columns used to compute the moving sum. The window is (current - Num1…Current +
Num2) with both end points being included in the window. For example, 1,1 will have a window
size of 3. To see periods in the past, use a negative number for the second endpoint, as in the
example moving_sum(sales, 1, -1, date).

ThoughtSpot User Guide

Page 133

Calculate the moving average

December 09, 2017

Calcula
Calculatte the mo
moving
ving a
av
ver
erage
age
Summary: You can use the moving formulas to compute a measure
within a moving window of your data, usually defined by time.
This example demonstrates using the moving_average formula. To use the moving function in a search:
1. Start a new search.

2. In the upper right hand side of the table, click Actions and select Add fformula
ormula.

ThoughtSpot User Guide

Page 134

Calculate the moving average

December 09, 2017

3. Enter the moving_average formula, providing a measure, a window, and one or more attributes.
The example will return the average of revenue, within the commit date window size of 3. The
window includes the previous, current, and next rows. The attributes are the ordering columns
used to compute the moving average. The window is (current - Num1…Current + Num2) with
both end points being included in the window. For example, “1,1” will have a window size of 3. To
see periods in the past, use a negative number for the second endpoint, as in the example
“moving_average(sales, 1, -1, date)”.

ThoughtSpot User Guide

Page 135

Calculate the moving average

December 09, 2017

4. Name the formula by clicking on its title and typing the new name. Click Sa
Sav
ve.
The formula will appear in the search bar and in the table as its own column.

A box displaying the moving average within the entire table will appear at the bottom.
5. Click on the box to toggle between aggregation types.

ThoughtSpot User Guide

Page 136

About conversion formulas

December 09, 2017

About c
con
onv
version fformulas
ormulas
Some formulas require the input to be of a particular data type. If you find that you want to pass a value
to the function, but it is of the wrong data type, you can convert it using a conversion formula.
The following are the default conversion formulas:
•
•
•
•

to_bool
to_integer
to_string
to_float

Information on the usage for these formulas is in the Formula reference.
Booleans are interpreted in the following ways:
Da
Data
ta T
Type
ype

Description

to_bool(integer)

Boolean true maps to integer 1 and boolean false to integer 0.

to_bool(string)

Boolean true maps to string “true” and boolean false to string “false”.

to_double(boolean)

0 maps to boolean false, everything else to boolean true.

to_integer(boolean)

0 maps to boolean false, everything else to boolean true.

to_string(boolean)

The string “true” maps to boolean true, everything else to boolean false.

ThoughtSpot User Guide

Page 137

About date formulas

December 09, 2017

About da
datte fformulas
ormulas
Date formulas are useful when you want to compare data collected between two date periods. Date
formulas allow you to apply date related functions to your formulas. The date functions include:
Function

Description

add_days

Returns the result of adding the
specified number of days to the
given date.

date

Returns the date portion of a given date.

day

Returns the number (1-31) of the
day for the given date.

day_number_of_week

Returns the number (1-7) of the
day in a week for the given date
with 1 being Monday and 7 being
Sunday.

day_number_of_year

Returns the number (1-366) of the
day in a year for the given date.

day_of_week

Returns the day of the week for
the given date.

diff_days

Subtracts the second date from
the first date and returns the result in number of days, rounded
down if not exact.

ThoughtSpot User Guide

Ex
Examples
amples

• add_days (01/30/
2015, 5) = 02/04/
2015
• add_days (invoiced,
30)

• date (home visit)

• day (01/15/2014) =
15
• day (date ordered)

• day_number_of_week
(01/30/2015) = 6
• day_number_of_week
(shipped)

• day_number_of_year
(01/30/2015) = 30
• day_number_of_year
(invoiced)

• day_of week (01/30/
2015) = Friday
• day_of_week
(serviced)

• diff_days (01/15/
2014, 01/17/2014) =
-2
• diff_days
(purchased, shipped)

Page 138

About date formulas

December 09, 2017

Function

Description

diff_time

Subtracts the second date from
the first date and returns the result in number of seconds.

hour_of_day

Returns the hour of the day for
the given date.

is_weekend

Returns true if the given date falls
on a Saturday or Sunday.

month

Returns the month from the given
date.

month_number

Returns the number (1-12) of the
month for the given date.

now

Returns the current timestamp.

start_of_month

Returns the date for the first day
of the month for the given date.

start_of_quarter

Returns the date for the first day
of the quarter for the given date.

start_of_week

Returns the date for the first day
of the week for the given date.

ThoughtSpot User Guide

Ex
Examples
amples

• diff_time (01/01/
2014, 01/01/2014) =
-86,400
• diff_time (clicked,
submitted)

• hour_of_day
(received)

• is_weekend (01/31/
2015) = true
• is_weekend (emailed)

• month (01/15/2014)
= January
• month (date ordered)

• month_number (09/20/
2014) = 9
• month_number
(purchased)

• now ()

• start_of_month ( 01/
31/2015 ) = Jan FY
2015
• start_of_month
(shipped)

• start_of_quarter (
09/18/2015 ) = Q3
FY 2015
• start_of_quarter
(sold)

• start_of_week ( 06/
01/2015 ) = 05/30/

Page 139

About date formulas

Function

December 09, 2017

Description

Ex
Examples
amples

2015 Week
• start_of_week
(emailed)

start_of_year

Returns the date for the first day
of the year for the given date.

time

Returns the time portion of a given date.

year

Returns the year from the given
date.

• start_of_year ( 02/
15/2015 ) = FY 2015
• start_of_year
(joined)

• time (3/1/2002
10:32) = 10:32
• time (call began)

• year (01/15/2014) =
2014
• year (date ordered)

Calcula
Calculatte da
datte fformulas
ormulas
Calculating date formulas is useful when you want to compare data from different date periods. Here are
some examples of using date formulas:

Example 1
The following example shows you how to create formulas that you can use to compare data from this
week to last week.
• The formula for this week is: week ( today () ) - week (date)
• The formula for last week is: diff_days ( week ( today ) ) , week ( date ) )

Example 2
The following example shows you how to calculate the percent increase from the last date period to this
period in terms of revenue.
1. Create the formula: this week revenue = sum ( if ( this week ) then revenue else 0
)
2. Then create the formula: last week revenue = sum ( if (last week ) then revenue
else 0 )
3. Use nested formulas to calculate the percent increase by creating a parent formula: percent
increase = ( ( last week revenue - this week revenue) / last week revenue ) \*
100

ThoughtSpot User Guide

Page 140

Percent (simple number) calculations

December 09, 2017

Per
erc
cent ((simple
simple number) calcula
calculations
tions
You can use simple number functions to perform useful percent calculations.
Simple number functions include addition, subtraction, multiplication, and division.
Function

Description

*

Returns the result of multiplying both numbers.

+

Ex
Examples
amples

• 3 * 2 = 6
• price * taxrate

Returns the result of adding both numbers.
• 1 + 2 = 3
• price + shipping

-

/

Returns the result of subtracting the second
number from the first.

Returns the result of dividing the first number by the second.

• 3 - 2 = 1
• revenue - tax

• 6 / 3 = 2
• markup / retail price

Calcula
Calculatte per
perc
centages
Calculating percentages is useful when you want to see, for example, the percentage revenue generated
from each channel (online, stores, partner, etc.).
The following example shows you how to figure out the percentage revenue generated from each channel
(online, stores, partners, etc.).
1. Create the following formula in the Formula Builder: ` percent revenue = ( sum ( revenue ) /
group sum ( revenue ) ) * 100`
2. Now you can search by each channel, using the percent revenue formula that you just created.

ThoughtSpot User Guide

Page 141

About conditional formulas (operators)

December 09, 2017

About c
conditional
onditional fformulas
ormulas ((oper
opera
ators
ors))
Conditional formulas, or operators, allow you to apply if/then/else conditions in your formulas. You can
leverage operators in your conditional formulas to have them return true, false, or a predetermined value.
The operators include:
Oper
Opera
ator
and

if...then...else

ifnull

isnull

Description

Ex
Examples
amples

Returns true when both conditions
are true, otherwise returns false.

• (1 = 1) and (3 > 2) =
true
•
lastname = 'smith'
and state ='texas'

Conditional operator.

• if (3 > 2) then
'bigger' else 'not
bigger'
• if (cost > 500) then
'flag' else 'approve'

Returns the first value if it is not null,
otherwise returns the second.

Returns true if the value is null.

not

Returns true if the condition is false,
otherwise returns false.

or

Returns true when either condition is
true, otherwise returns false.

ifnull (cost, 'unknown')

isnull (phone)

not (3 > 2) = false not
(state = 'texas')

• (1 = 5) or (3 > 2) =
true
• state = 'california'
or state ='oregon'

Calcula
Calculatte the c
conditional
onditional sum
Calculating the conditional sum is useful when you want to see, for example, the total revenue for a
product by region.
Conditional sum formulas follow this syntax: if (some condition) then (measure) else 0. You can use this
syntax to limit your search in cases when you don’t want to add a column filter. For example: if (
product = shoes ) then revenue else 0
The following example shows you how to figure out the number of customers who bought both products,
in this case an ipad and galaxy tablet. You can then find out the revenue generated by both products.
1. Create the following formula in the Formula Builder:

ThoughtSpot User Guide

Page 142

About conditional formulas (operators)

December 09, 2017

ipadcount = sum ( if ( product = 'ipad' ) then 1 else 0 ) > 0
This formula will provide you with the number of ipads that were bought.
2. You can then create another formula that looks like this:
galaxycount = sum ( if ( product = 'galaxy' then 1 else 0 ) > 0
And this formula will provide you with the number of galaxys that were bought.
3. Using nested formulas, you can combine these two formulas.
For example: f1 = ipadcount + galaxycount
4. Now, you can search using the f1 formula to find out the revenue generated by both products.

ThoughtSpot User Guide

Page 143

Nested formulas

December 09, 2017

Nes
Nestted fformulas
ormulas
Nested formulas, or formula on formula, allow you to reference a formula within another formula. This
graphic illustrates how you would define a formula and then reference it from another:

These formulas become columns, and are even suggested within the Formula Builder. There is no limit to
the nesting depth you can create.
ThoughtSpot doesn’t allow users to create invalid formulas, such as cyclic (loops) or inconsistent
aggregation formulas. To support this, formulas have dependency awareness. For example, you cannot
delete a formula that is nested in another. Also, formula dependency awareness ensures that you do not
break any dependent formulas while editing a formula with dependent formulas. For example, common
cases of invalidating occur when users try to change a data type.
Nesting enables encapsulation and decomposition of formula logic. Meaning, you may have a staff
member create some small useful formulas that others can use. This also minimizes duplication of
formulas.

ThoughtSpot User Guide

Page 144

Formula support for chasm trap schemas

December 09, 2017

Formula support ffor
or chasm tr
trap
ap schemas
You can create a formula that involves aggregated measures coming from multiple fact tables of a chasm
trap.

Just as you would create any other formula, you can create a formula that spans across a chasm trap. The
Formula Builder will provide column suggestions for formulas that span across chasm traps.

ThoughtSpot User Guide

Page 145

Refine a search with a worksheet

December 09, 2017

Refine a sear
search
ch with a w
worksheet
orksheet
Summary: If you want to search on top of another search, try saving
your search as a worksheet. Then, you can use the saved worksheet as
a data source for a new search.
Worksheets can be created from tables or from searching. You can also create a worksheet from a search.
This is an advanced form of searching. A worksheet created from a search is called an aggregated
worksheet. Aggregated worksheets are effectively the same as any worksheet.
When you do a search on a data source, ThoughtSpot is only able to aggregate one column by one other
column. Because of this, you may come across searches you can’t do in one pass, because they are
essentially nested queries. But you can create the equivalent of nested queries using an aggregated
worksheet, which is essentially an answer that you save as a worksheet.
You can use search saved as a worksheet just like any other data source. You can even link it to other
sources by defining a relationship. When you save an answer as a worksheet, and then use it as a source in
a new search, it is similar to doing a nested query in SQL, only much easier to create.
To create a worksheet from a search, you must belong to a group that has the privilege Has adminis
administr
tra
ation
privileges or Can Manage Da
Data
ta. If you are not able to create aggregated worksheets, contact your
administrator and request the Can Manage Da
Data
ta privilege.

Aggr
ggrega
egatted w
worksheet
orksheet w
workflo
orkflow
w
Suppose you have created a search on the sales fact table that shows the top ten Sales Reps by revenue
for the first quarter. Then you want to do some further investigations on that set of data, like ranking them
by how much they discounted a specific product using data from the orders fact table. Unless you save
your first answer as a worksheet, certain explorations like this won’t be possible. If you want to do this,
here are the steps at a high level:
1. Create the first search, and save it as an aggregated worksheet.
2. Link your worksheet to any other data sources you’ll need.
3. Create a new search that includes your aggregated worksheet and the other sources you linked
with it.
4. You may want to create a new worksheet that includes these data sources.
This will make it easy for people to search using the same group of aggregated worksheet and
tables that you created.

Bes
Bestt pr
practic
actices
es ffor
or using aggr
aggrega
egatted w
worksheets
orksheets
Only users with administrative privileges are able to create aggregated worksheets and link them. Users
that create aggregated worksheets should keep in mind best practices for creating a worksheet and the
boundaries around the final worksheet size.
You can’t link an aggregated worksheet with a sharded table. If you do this and try to search on it, you will
get an error.
To be able to join an aggregated worksheet with a base table, your installation must be configured to
allow the behavior. The aggregated worksheet cannot have more than 5 tables involved. Moreover, the
number of rows in the final aggregated worksheet cannot be greater than 1000.
The order of the objects being linked (joined) matters, this is because joins are directional. The table/
aggregated worksheet with the foreign key needs to occur in the first (left) position. The table with the

ThoughtSpot User Guide

Page 146

Refine a search with a worksheet

December 09, 2017

primary key should be in the second (right) position.
For the best performance, the final aggregated worksheet should have 50 or fewer columns and no more
than 10 million rows. Exceeding these boundaries can make your worksheet creation slow or error prone.
You can use an ETL (extract, transform, load) process to circumvent these limitations.

ThoughtSpot User Guide

Page 147

Save a search as a worksheet

December 09, 2017

Sa
Sav
ve a sear
search
ch as a w
worksheet
orksheet
This procedure walks you through creating a worksheet from a search. To create a worksheet from a
search (i.e. an aggregated worksheet):
1. Start a new search, or edit an existing visualization from a pinboard.
Any filters or aggregations created during this search will be reflected in the worksheet.
2. If you want to use a different aggregation than the default one for any column, set it from the
column header.

3. Save the answer as a Worksheet
orksheet.

ThoughtSpot User Guide

Page 148

Save a search as a worksheet

ThoughtSpot User Guide

December 09, 2017

Page 149

Search from an aggregated worksheet

December 09, 2017

Sear
Search
ch fr
from
om an aggr
aggrega
egatted w
worksheet
orksheet
After creating a worksheet from a search (also called an aggregated worksheet) and linking it to related
data, you’re ready to create your new search. To do a search on the aggregated worksheet, along with any
data sources you linked:
1. Click the search icon, and select Da
Data
ta Sour
Sourc
ce. Choose your linked sources.

2. Do a search using columns from the linked sources, including any aggregations you created.
3. Test the result, to make sure it’s what you expect. If your search shows no data found or doesn’t
look right to you, it is possible that one of the links between your sources was made on the
incorrect column. Check the relationships you created and try linking using a different column,
to see if that gives the expected search results.
4. Once you have the expected answer, you can create a worksheet to make it easier for you and
other people to use. To do this, click the DATA icon.
5. Click the Actions icon from the upper right side of the screen
6. Select Cr
Crea
eatte w
worksheet
orksheet.

ThoughtSpot User Guide

Page 150

Search from an aggregated worksheet

December 09, 2017

7. Choose both views using Choose Sour
Sourc
ces
es.
8. You may need to rename some columns appropriately for searching.
9. Share the worksheet with the appropriate users and groups.

ThoughtSpot User Guide

Page 151

Worksheet example scenarios

December 09, 2017

Worksheet e
ex
xample sc
scenarios
enarios
Here are three common examples of when you would need to use aggregated worksheets.

Ex
Example
ample 1
The first example involves creating an aggregated worksheet with a default filter. Say you want to create a
worksheet that only shows data for a particular US state. In your search, enter customer state = texas.
Then click Actions
ctions, and select Sa
Sav
ve as w
worksheet
orksheet. Give your worksheet a name, then click Sa
Sav
ve to create
your worksheet.
Now you have a worksheet that only contains data that pertains to Texas. You can share this worksheet
with others to search across. Another popular example of this concept includes creating a worksheet with
only active employee data.

Ex
Example
ample 2
The second example involves joining two aggregated worksheets. Say you want to plot the revenue of the
top five states over time. Search for revenue, store state, and top 5. Save this answer as an aggregated
worksheet called Top 5 states. Then start another search with the tokens revenue, store state, and
date. Save this answer as an aggregated worksheet called Total monthly purchases.
Now you want to join these two worksheets. Navigate to the DATA tab and make a relationship between
the two worksheets, involving store state.
To start a new search, select your two aggregated worksheets as data sources, selecting the appropriate
columns: store state from Top 5 States, and date and total sales from Total monthly Purchases.
You will only see data for the top five revenue states.

Ex
Example
ample 3
The third example involves creating a search to find customers who bought product A, but did not buy
product B. This example can also be done using conditional formulas.
First, you would have to perform searches for total sales by customer for both A and B, and create
aggregated worksheets for both. Then join these two aggregated worksheets back in an outer join looking
for conditions where the A and B join values are null.
This approach can become clunky, but depending on the requirement, can also be easily implemented.

ThoughtSpot User Guide

Page 152

Basic pinboard usage

December 09, 2017

Basic pinboar
pinboard
d usage
Summary: Create a new pinboard to group and manage related search
results. Pinboards are the ThoughtSpot term for a dashboard.
Pinboards act like live dashboards, and are collections of your related charts, tables, and headline.

Wha
hatt ar
are
e pinboar
pinboards
ds
You can pin charts and tables to any pinboard which you created, and those that have been shared with
you with the Edit privilege. When you create a pinboard, you can share it with other people with either the
Vie
iew
w or Edit privilege. Pinboards are interactive, allowing you to perform actions like filtering, excluding
values, and drilldown on the visualizations.

Cr
Crea
eatte a pinboar
pinboard
d
To create a pinboard:
1. Click on Pinboar
Pinboards
ds, on the top navigation bar.

2. Click + Ne
New
w Pinboar
Pinboard
d on the pinboards list page.

3. In the New Pinboard dialog box, give your pinboard a name and description. Then click Cr
Crea
eatte.

ThoughtSpot User Guide

Page 153

Basic pinboard usage

December 09, 2017

Add an ans
answ
wer tto
o a pinboar
pinboard
d
Instead of saving an answer you can add it to a pinboard by pinning it. To add an answer to a pinboard:
1. While viewing your answer of interest, click the Pin icon on the top right of the answer.

2. In the Copy to pinboard(s) dialog box, click the + icons next to the pinboards you would like to
add your answer to.

ThoughtSpot User Guide

Page 154

Basic pinboard usage

December 09, 2017

Tip: You can also select Cr
Crea
eatte ne
new
w pinboar
pinboard
d at the top of the list to create a new pinboard, then
add your answer to it.

Do
Download
wnload a pinboar
pinboard
d
You can download a pinboard as a PDF file, without having to download each visualization separately.
Downloading a pinboard works just as it would when downloading an answer. To download a pinboard:
1. Click Actions
ctions, and select Do
Download
wnload as PDF
PDF.

Other pinboar
pinboard
d actions
Other pinboard actions include actions you normally perform on your search as well as actions that you
can only perform on a pinboard. Most of these actions are found under the Actions button.

ThoughtSpot User Guide

Page 155

Basic pinboard usage

December 09, 2017

Other actions are available on a pinboard display itself. Some actions are static others appear only when
you over over specific locations of the pinboard. This diagram displays active action areas on a pinboard.

ThoughtSpot User Guide

Page 156

Basic pinboard usage

ThoughtSpot User Guide

December 09, 2017

Page 157

Edit the layout of a pinboard

December 09, 2017

Edit the la
lay
yout of a pinboar
pinboard
d
Summary: Editing the layout of a pinboard lets you snap visualizations
into place, choose between set visualization sizes, and reset your
layout.
Visualizations within a pinboard are easy to move around and snap into place on a relative flow layout.
Your pinboard layout is also responsive to your browser resolution. This helps keep the layout of your
pinboard neat and organized.

Reor
eorder
der the visualiza
visualization
tion
In addition, the size picker at the bottom of a visualization dropdown lets you toggle between
predetermined sizes for each visualization. Charts and graphs can be toggled between a small, medium,
and full width size, while headlines can be only one size (small). One row of the pinboard can hold a
predetermined number of visualizations of each size.
1. Click on Pinboar
Pinboards
ds, on the top navigation bar.

2. On the pinboard list page, click the pinboard you would like to edit.
3. Resize your visualizations by choosing between the predetermined sizes under the visualization
dropdown menu.

ThoughtSpot User Guide

Page 158

Edit the layout of a pinboard

December 09, 2017

4. Drag and drop your visualizations on the layout grid to reorder your pinboard.
5. If you are unhappy with your layout or you would like ThoughtSpot to configure your layout for
you, go ahead and reset your layout.
6. Save your pinboard by clicking Actions and Sa
Sav
ve.

ThoughtSpot User Guide

Page 159

Edit the layout of a pinboard

December 09, 2017

Change the orienta
orientation
tion of a chart or table
You can change the size of a chart or table on a pinboard. To do this:
1. Navigate to the chart or table.
2. Select the menu.
The system displays the dropdown menu.

ThoughtSpot User Guide

Page 160

Edit the layout of a pinboard

December 09, 2017

The last item shows the possible orientation
3. Select a new orientation.
4. Choose Actions > Sa
Sav
ve.

Remo
emov
ve a visualiza
visualization
tion fr
from
om y
your
our pinboar
pinboard.
d.
To delete a visualization:
1. Click on Pinboar
Pinboards
ds, on the top navigation bar.

2. On the pinboard list page, click the pinboard you would like to edit.
3. Click Delet
Delete
e under the dropdown menu of the visualization you would like to delete.

4. Save your pinboard by clicking Actions and Sa
Sav
ve.

ThoughtSpot User Guide

Page 161

Edit the layout of a pinboard

December 09, 2017

Other pinboar
pinboard
d edits
Other pinboard actions include actions you normally perform on your search as well as actions that you
can only perform on a pinboard. Most of these actions are found under the Actions button.

ThoughtSpot User Guide

Page 162

Edit the layout of a pinboard

December 09, 2017

Other actions are available on a pinboard display itself. Some actions are static others appear only when
you over over specific locations of the pinboard. This diagram displays active action areas on a pinboard.

ThoughtSpot User Guide

Page 163

Edit the layout of a pinboard

ThoughtSpot User Guide

December 09, 2017

Page 164

Pinboard filters

December 09, 2017

Pinboar
Pinboard
d filt
filters
ers
Filters, including bulk filters, can be applied to pinboards just as with tables and charts. These kinds of
filters apply to an entire pinboard, making it easy to see only the data that you are interested in across the
tables and charts within a pinboard.

When tto
o use a pinboar
pinboard
d filt
filter
er
Pinboard filters can be very useful when you want to apply the same filters to more than one related
visualization. You can narrow the focus of your pinboard for specific purposes or audiences.
When you apply a filter, the pinboard is not automatically saved with your filter applied. This is to
encourage ad hoc filtering. Therefore, people with read-only access can create pinboard filters. You must
have edit access to the pinboard, and view access (or higher) to the underlying data source in order save
a pinboard filter.
Note that pinboard filters only apply to the tables and charts that are based on worksheets. If a pinboard
also includes tables and charts that were created from underlying tables or on user uploaded data, the
filters don’t apply to them.

Cr
Crea
eatte a pinboar
pinboard
d filt
filter
er
You can create a filter in the pinboard view for any pinboard. This allows you to easily manipulate the
visualizations and view the modified presentation in one place.
Here is an example that shows you how to add a single filter to a pinboard. To create a pinboard filter:
1. Click the Actions button, and click Add filt
filters
ers.

ThoughtSpot User Guide

Page 165

Pinboard filters

December 09, 2017

2. In the populated columns menu, click the Add filt
filter
er icon next to the columns you would like to
use as filters.

ThoughtSpot User Guide

Page 166

Pinboard filters

December 09, 2017

3. Choose the values you are interested in by typing them in, selecting the appropriate checkboxes,
or using Add v
values
alues in bulk
bulk.
4. Click Done
Done.

Your applied filter will sit at the top of the pinboard, where you can either edit or delete it.

When you apply a filter, the pinboard is not automatically saved with your filter applied to every object in
the pinboard that was created from a worksheet. Pinboard filters do not apply to tables and charts built
directly on top of base tables.

ThoughtSpot User Guide

Page 167

Schedule a pinboard job

December 09, 2017

Schedule a pinboar
pinboard
d job
Summary: You can schedule a pinboard job for any pinboard by using
the Add a schedule prompt page.
You can add multiple schedules with different configurations for a single pinboard. However, each job is
limited to one pinboard schedule. To add a schedule, you must have administrator or can schedule
pinboard privilege, and at least edit-only and view-only access to the pinboard.
To schedule a pinboard:
1. Log in to ThoughtSpot from a browser.
2. Click on Pinboar
Pinboards
ds, on the top navigation bar.

3. Select the pinboard you would like to create a schedule for.
4. Click Actions and select Manage schedules to view all of the schedules set for the pinboard.

5. Click + Schedule to add a new schedule.

ThoughtSpot User Guide

Page 168

Schedule a pinboard job

December 09, 2017

The system displays the Add a schedule ffor
or PINBORD page. On this page you configure both
the schedule
6. Set the values for your schedule.

Field

Description

Repea
epeats
ts

You can rebuild a pinboard every n minutes, hourly, daily, weekly, or monthly.
For some of these, you can also choose specific times of the day or days of
the week. Make sure to note the Serv
Server
er time z
zone
one which is the timezone
which will be used.

Name

Provide a short name for this schedule, Monthly Report Source is an example of a good name.

Description

Enter a description to remind yourself and to inform others. For example, if
this is an important schedule for a meeting or a report, you should mention
that.

Type

CSV files provide all data for tables, with one attachment per table. Use CSV
files to perform further analysis offline. PDF files show all visualizations in the
pinboard. Each chart takes up a whole page in the file, while only the first 100
rows of a table are included. Use PDF files to skim the data.

ThoughtSpot User Guide

Page 169

Schedule a pinboard job

December 09, 2017

Gating
condition

Write a statement that returns a boolean value. For example, sum
(revenue) > 100 is a valid condition but is_weekend (commit_date) is not.
You can use any valid formula in your statement. At the scheduled time,
ThoughtSpot checks the gating condition, and, if the condition returns true,
processes the pinboard. For a list of valid formulas, see the Formula Reference.

Recipients

You are limited to 1000 recipients per job. You can add Users or gr
groups
oups to enter ThoughtSpot users or groups. Use Emails to add recipients that are not
ThoughtSpot users. Any users your Thoughtspot admin must have set your
whitelist domains. Contact ThoughtSpot Support to set your whitelist domains.

7. Click Schedule to save your schedule configuration.

ThoughtSpot User Guide

Page 170

Search actions within a pinboard

December 09, 2017

Sear
Search
ch actions within a pinboar
pinboard
d
You can perform many of the same search actions on individual visualizations within a pinboard as you
can within a search. You can interact directly with a visualization of a pinboard to perform ad hoc searches
or edit it. These search actions include the following:
• Editing a search - You can edit the original search and reconfigure the answer. In the dropdown
of a visualization, click Edit
dit.

You will be taken to an edit mode, where you can view and change sources, search different
columns, change the view, save the answer as a worksheet, add a formula, and change the chart.

ThoughtSpot User Guide

Page 171

Copy a pinboard

December 09, 2017

Cop
opy
y a pinboar
pinboard
d
You can make a copy of a pinboard if you would like to make edits without changing the original pinboard.
Making a copy of a pinboard allows you to make your own edits without overwriting the original. When
saving a copy, you can type in a new name.
1. Click on Pinboar
Pinboards
ds, on the top navigation bar.

2. On the pinboard list page, click the pinboard you would like to copy.
3. Click Actions and select Mak
Make
eac
cop
opy
y.

4. Give your pinboard a new name and description. Then click Sa
Sav
ve.

ThoughtSpot User Guide

Page 172

Copy a pinboard

ThoughtSpot User Guide

December 09, 2017

Page 173

Copy a pinboard or visualization link

December 09, 2017

Cop
opy
y a pinboar
pinboard
d or visualiza
visualization
tion link
Summary: In pinboards, there is a copy link option that lets you copy
the link to access the pinboard and visualizations directly.
You can copy and paste the copied link to include in a presentation or spreadsheet, or email or Slack it to
other people in your company. Note that when clicking the link, the person must be authenticated to
ThoughtSpot to see the visualization (e.g. by logging in or LDAP).
You can also use this link for embedding the chart or table in another Web page, Web portal, or
application when using the ThoughtSpot JavaScript API with Embedding or the REST API. For details,
read the ThoughtSpot Application Integration Guide.
To copy the link for a pinboard:
1. Click on Pinboar
Pinboards
ds, on the top navigation bar.

2. On the pinboard list page, click the pinboard you would like to get a link for.
3. Click Actions and select Cop
opy
y link
link.

4. Copy the pinboard link. The highlighted portion is the pinboard ID.

ThoughtSpot User Guide

Page 174

Copy a pinboard or visualization link

December 09, 2017

5. To copy an individual visualization link, click Cop
opy
y link under the dropdown menu of the
visualization you would like to get a link for.

6. Copy the visualization link. The highlighted portion is the visualization ID.

ThoughtSpot User Guide

Page 175

Copy a pinboard or visualization link

ThoughtSpot User Guide

December 09, 2017

Page 176

Reset a pinboard or visualization

December 09, 2017

Reset a pinboar
pinboard
d or visualiza
visualization
tion
You can undo your edits to a pinboard of visualization by resetting it

Reset the la
lay
yout of a pinboar
pinboard
d
Reset the layout of a pinboard to undo your changes or have ThoughtSpot create a layout for you.
You can reset the layout of your pinboard if you would like to undo your edits or have ThoughtSpot
optimize your layout space for you. This action will keep the sizes of your visualizations, but not the order.
To reset the layout of a pinboard:
1. Click on Pinboar
Pinboards
ds, on the top navigation bar.

2. On the pinboard list page, click the pinboard you would like to edit.
3. Click Actions and select Aut
uto
o la
lay
yout
out.

4. Save your pinboard by clicking Actions and Sa
Sav
ve.

ThoughtSpot User Guide

Page 177

Reset a pinboard or visualization

December 09, 2017

Reset a visualiza
visualization
tion
After performing ad hoc actions or edits to a visualization of your pinboard, you can reset the visualization
to its original form.
To reset a visualization:
1. On an altered visualization, click the reset icon.

ThoughtSpot User Guide

Page 178

Reset a pinboard or visualization

December 09, 2017

2. Save your pinboard by clicking Actions and Sa
Sav
ve.

ThoughtSpot User Guide

Page 179

Start a slideshow

December 09, 2017

Start a slidesho
slideshow
w
Summary: Displaying your pinboard as a slideshow is a good way to
present its contents to others.
Presenting your pinboard displays your visualizations in order from left to right and top to bottom.
To start a slideshow:
1. Click on Pinboar
Pinboards
ds, on the top navigation bar.

2. On the pinboard list page, click the pinboard you would like to present.
3. Click Pr
Present
esent under the dropdown menu of the visualization you would like to start the
slideshow with.

4. Use the left and right arrow keys to navigate between your pinboard’s visualizations.

ThoughtSpot User Guide

Page 180

Start a slideshow

December 09, 2017

5. Click the x at the top right of the screen or push the Esc key to exit the slideshow view.

ThoughtSpot User Guide

Page 181

Understand data sources

December 09, 2017

Unders
Understand
tand da
data
ta sour
sourc
ces
Summary: Use the DATA tab to manage data sources.
The DATA tab lists all of the tables and data sources available to you. There are three types of data
sources that you may see in the data list. They are tables, worksheets, and user uploaded data. You will
most likely only see worksheets and user uploaded sources. These are the most commonly used data
sources for searching.

Clicking on the name of a table or data source shows you detailed information about it. You won’t be able
to change these settings or edit the table unless it was shared with you with the Edit privilege. To see how
to edit a data source, refer to the ThoughtSpot Administrator Guide.
Use the filters at the top of the page to find the data you are interested in. From the DATA tab, you can
also delete or apply stickers to tables and data sources in bulk by selecting them and clicking the
appropriate action button.

ThoughtSpot User Guide

Page 182

Understand data sources

December 09, 2017

Rela
elatted inf
informa
ormation
tion
• View your data profile
Basic column data profile information is available under Profile on the Data page.
• About sharing
Whenever you are working in ThoughtSpot, you are in your own private environment until you
share your work with others. This applies to searches, pinboards, and any data you upload.

ThoughtSpot User Guide

Page 183

Create and load a CSV file

December 09, 2017

Cr
Crea
eatte and load a CS
CSV
V file
Summary: The simplest way to load data is to upload a CSV or Excel
file from the ThoughtSpot Web interface.
Loading data through the Web browser is recommended for smaller tables (under 50MB) with simple
relationships between them. This method is recommended for small, one time data loads. Using this
method, the data schema is created for you automatically.
Any user who belongs to a group that has the privilege Has adminis
administr
tra
ation privileges or Can upload user
da
data
ta can upload their own data from the browser.
Your data should be in a CSV (comma separated values) before you load it. A CSV file is a text file made
up of data fields separated by a delimiter and optionally enclosed with an enclosing character. If your data
contains multiple tables, you’ll have a separate CSV for each table.

Cr
Crea
eatte a CS
CSV
V file
The first step in loading data is to obtain or create one or more CSV files that contain the data to be
loaded into ThoughtSpot. CSV is a common format for transferring data between databases. ThoughtSpot
requires this format.
Most applications such as Microsoft Excel or Google Sheets can output CSV formatted files. If your source
is an Excel spreadsheet or Google Sheet:
1. Save, export, or download the file in CSV format. The exact procedure you use will depend on
the source application.
2. Review the file’s format before uploading it to ThoughtSpot.
Your source data may be in another database. If this is the case, your company’s ETL (extract,
transform, load) process will typically generate CSV files. If your source is another database:
3. Connect to the source database.
4. Extract each table you wish to import into ThoughtSpot as a CSV file.
The column delimiter should be a , (comma), | (pipe), or tab.
Large organizations typically have a data administrator or department the builds ETL processes. If the
data you want is in another system, speak with your ThoughtSpot administrator about getting CSV files
extracted from this system.

Forma
ormatting
tting the CS
CSV
V
A CSV file contains a delimiter that marks the separation between fields in the data. The delimiter is
usually comma, but it can be any character. The file also contains fields optionally enclosed with double
quotes. Use these guidelines when creating the CSV file:
• If the CSV contains column headers, they must match the column names in the database exactly.
• Often a | (pipe) or tab is used as the delimiter, because it may be less likely to occur within the
data values.
• When a field contains a double quote, it must be escaped with the character specified in the
escape character argument in tsload.
• When a field contains the delimiter, the field must be enclosed in double quotes.
ThoughtSpot supports a wide range of date and timestamp formats in the CSV file. Blank values in user

ThoughtSpot User Guide

Page 184

Create and load a CSV file

December 09, 2017

uploaded CSV files are interpreted as NULL values. These include the values (case insensitive):
•
•
•
•
•

NULL
\N
NA
N/A
[space]

If you are appending data to an existing schema or table, columns in the CSV file must be in the same
order as defined in the target table.

Load the CS
CSV
V File
Any user who belongs to a group that has the privilege Has adminis
administr
tra
ation privileges or Can upload user
da
data
ta can upload their own data from the browser. To load the CSV or Excel file into ThoughtSpot:
1. Log into ThoughtSpot from a browser.
2. Click on DATA, on the top navigation bar.

3. Click the Actions button in the upper right corner, and select Upload Da
Data
ta.

4. Upload the CSV or Excel file by doing one of these options:
a. Click on Br
Bro
owse y
your
our files and select the file.
b. Drag and drop the file into the drop area.
5. Answer the question Ar
Are
e the c
column
olumn names alr
already
eady defined in the file header?
6. Answer the question Ar
Are
e the fields separ
separa
ated b
by
y? Click Ne
Next
xt.
7. Click on the column header names to change them to more useful names, if you’d like. Click
Ne
Next
xt.
8. Review the automatically generated data types for each column, and make any changes you
want. There are four data types: Text, Integer, Decimal, and Date.
9. Click Import
Import.
When an upload is complete, the system reports the results and offers you some further actions.

ThoughtSpot User Guide

Page 185

Create and load a CSV file

December 09, 2017

• Click Link tto
o Exis
Existing
ting Da
Data
ta if you want to link the data you uploaded to the data in
another table or worksheet.
• Click Sear
Search
ch if you want to begin a new search.
• Click Aut
uto
o analy
analyz
ze if you want to use the SpotIQ feature to find insights in your new
data.

ThoughtSpot User Guide

Page 186

Append data through the UI

December 09, 2017

Append da
data
ta thr
through
ough the UI
Summary: Use append to add more data to an existing data source.
If you have permissions to upload data and permissions to a data source, you can add to that source by
uploading more data with CSV file. You can append data to your existing system tables through the
ThoughtSpot application, even if the tables were initially loaded using Data Connect or tsload. The CSV
file must have the same structure as the table it is being loaded into, including number and type of
columns, in the same order as the target table.
To append data into ThoughtSpot:
1. Log in to ThoughtSpot from a browser.
2. Click on Da
Data
ta, on the top navigation bar.

3. Click the on the table you would like to append data to.
4. Click the Load da
data
ta button.

5. Upload the CSV or Excel file by doing one of these options:
• Click on Br
Bro
owse y
your
our files and select the file.
• Drag and drop the file into the drop area.
6. Answer the question Ar
Are
e the c
column
olumn names alr
already
eady defined in the file header?
7. Answer the question Do y
you
ou w
want
ant tto
o append tto
o the e
exis
xisting
ting da
data
ta or o
ov
verwrit
erwrite
e it?
8. Answer the question Ar
Are
e the fields separ
separa
ated b
by
y? Click Ne
Next
xt.
9. Click on the column header names to change them to more useful names, if you’d like. Click
Ne
Next
xt.
10. Review the automatically generated data types for each column, and make any changes you
want. There are four data types: Text, Integer, Decimal, and Date.
11. Click Import
Import.
12. Click Link tto
o Exis
Existing
ting Da
Data
ta if you want to link the data you uploaded to the data in another table
or worksheet. Or click Sear
Search
ch if you want to begin a new search.

ThoughtSpot User Guide

Page 187

View a data profile

December 09, 2017

Vie
iew
w a da
data
ta pr
profile
ofile
After you upload a CSV file, it is available as a table in ThoughtSpot. The Pr
Profile
ofile tab appears after you have
selected a specific table from DATA.

The data profile includes null values, min, max, average, and sum information for each table column. This
Pr
Profile
ofile view should help you get a better sense of what’s there before searching on the data.

ThoughtSpot User Guide

Page 188

Set your display language (locale)

December 09, 2017

Set y
your
our displa
display
y language (locale
(locale))
The language the ThoughtSpot UX displays is based off of the locale in a user’s profile. The locale
preferences control the language and data formats (date and number formats) by geographic locations. In
addition to American English (en-US), ThoughtSpot supports:
•
•
•
•

German (de-DE)
Japanese (ja)
Canadian English (en-CA)
United Kingdom English (en-GB)

So, if you set Japanese as your default locale in your profile settings, then the interface will update to
reflect that after you refresh your page.
Keywords, operators, and error messages are included in the translated material. Formulas, however, are
not translated. Also, all metadata remains as user inputted.

For example, if you are using ThoughtSpot in the US, the number formatting should look like this:
xxx,xxx.xx. And in Europe, it should look like this: xxx.xxx,xx.
 Warning: It is possible that you set your locale but find strings in the UI still appear in English, this
indicates an untranslated string. Please notify ThoughtSpot support.

ThoughtSpot User Guide

Page 189

What is SpotIQ?

December 09, 2017

Wha
hatt is SpotIQ
SpotIQ?
?
SpotIQ is a ThoughtSpot feature that helps you find insights into your data. Insights are trends,
correlations, explanations of increases, explanations of decreases, and outliers (values unique from what is
typical in your data).
Using SpotIQ, you can find interesting answers in your data that you might not have found on your own.
SpotIQ also learns from your responses to your insights. Meaning, how you interact with SpotIQ results
helps to build better results.

Who can use SpotIQ
SpotIQ?
?
The SpotIQ feature is made for users who are not data magicians; however, data magicians can use it to
do power data magic. This means SpotIQ is for everyone.
If you can see the SpotIQ on your ThoughtSpot dashboard, you have access to SpotIQ:

If you can’t see this option, ask your ThoughtSpot Administrator to give you the Has Spot IQ privileges.

Wher
here
e tto
o find SpotIQ actions
The SpotIQ page shows you the all the analysis results in the system you have access to, these results are
called SpotIQ insights. You can create your own results from several different locations in your system:
•
•
•
•

search results such as query, saved answer, or visualization.
tables or worksheets
data uploads
SpotIQ insights

The menu items that use SpotIQ have a lozenge that indicates this:

ThoughtSpot User Guide

Page 190

What is SpotIQ?

December 09, 2017

Ho
How
w do y
you
ou use SpotIQ
SpotIQ?
?
The best way to learn how to use SpotIQ is to try it for your self. The SpotIQ 101 tutorial walks you through
a simple example.

ThoughtSpot User Guide

Page 191

SpotIQ 101: Load and analyze data

December 09, 2017

SpotIQ 10
101:
1: L
Load
oad and analy
analyz
ze da
data
ta
This 101 walks you through a few simple, SpotIQ workflows. When you have completed the walk through
you will be able to use the core features of SpotIQ in your ThoughtSpot installation.
If you want a detailed overview of what SpotIQ does before you try it out, first read the introduction to
SpotIQ.

Pr
Prer
erequisit
equisites
es
Before you begin, make sure you can login into ThoughtSpot application. To complete this tutorial, you
need the ability to Log in into ThoughtSpot Ability to upload a CSV file. You also need the ability to use
the SpotIQ application. These features require that your user account must have the following privileges:
• Can upload user da
data
ta
• Has Spot IQ privilege
Your ThoughtSpot administrator can give you these privileges. If you can see the SpotIQ option on your
ThoughtSpot dashboard, you have access to SpotIQ:

Get the sample da
data
ta and some insights
You can use SpotIQ with any of the data in your system.
This tutorial uses a dataset containing a list of sales and movement data by item and department.
1. Download the FoodDollarDataReal CSV file.
2. Save or move the file to a place on your local drive..

Upload the da
data
ta
1.
2.
3.
4.

If you haven’t, log into the ThoughtSpot application.
Click the DATA tab and choose Actions > Upload Da
Data
ta.
Browse to the sample data file you downloaded or drag the file into the upload area.
Choose YES for the Ar
Are
e the c
column
olumn names alr
already
eady defined in the file header setting.

5. Choose Comma for the Ar
Are
e the files separ
separa
ated b
by
y? setting.

ThoughtSpot User Guide

Page 192

SpotIQ 101: Load and analyze data

December 09, 2017

6. Click Ne
Next
xt for the Set c
column
olumn names page.
7. Set the ITEM C
CODE
ODE column to TEXT on the Set c
column
olumn types page.
8. Click Upload
Upload.
The system presents you with a few choices.

9. Choose SpotIQ A
Aut
uto
o Analy
Analyz
ze to build SpotIQ insights.
Building insights can take time. How long depends on the data you are analyzing. The
ThoughtSpot application displays an informational message. The message disappears after a
moment.

ThoughtSpot User Guide

Page 193

SpotIQ 101: Load and analyze data

December 09, 2017

Work with the INSIGHT
INSIGHTS
S lis
listt
Each time SpotIQ does an analysis, it generates a set of results. ThoughtSpots keeps the results until the
user that requested the analysis (or an admin), deletes them. You can run SpotIQ on the same object
multiple times. Each analysis generates new results.
1. To check for the results of your analysis, select the SpotIQ page.
The SpotIQ page allows you to see all results with data you have permission for. So the results
lists shows All results or just Yours
ours.
2. Select Yours
ours.

3. Look for results from your FoodDollarDa
oodDollarDataR
taReal
eal data.
SpotIQ labels each result with a NAME
NAME, DESCRIPTION
DESCRIPTION, STICKERS
TICKERS, and MODIFIED
MODIFIED. The NAME
comes from the object that was analyzed which is referenced again in the DESCRIPTION
DESCRIPTION. The
combination of NAME
NAME, DESCRIPTION
DESCRIPTION, and MODIFIED is unique.
4. Take a minute and review the DESCRIPTION and MODIFIED time.
Not every SpotIQ analysis creates results. You can see information about each analysis as well as
the results.
5. Select the analy
analyz
zes link at the top of the page.
Check the STATUS and also how long the RESUL
RESULT
T took to generate. Since you got results, you
can see that the analysis succeeded.
6. Select the Analy
Analysis
sis ffor
or F
FoodDollarDa
oodDollarDataR
taReal
eal and choose Delet
Delete
e.
The information disappears from the analy
analyz
zes list.
7. Choose Results
esults.
You should still see your War
arehouse_and_R
ehouse_and_Retail_Sales
etail_Sales run. Deleting information about an
analysis run does not delete the actual results. You must delete each individually.

ThoughtSpot User Guide

Page 194

SpotIQ 101: Load and analyze data

December 09, 2017

Wher
here
e tto
o go ne
next
xt
At this point, you’ve created a set of insights using SpotIQ, in the next section you Review insights you
created.

ThoughtSpot User Guide

Page 195

SpotIQ 101: Do more with SpotIQ

December 09, 2017

SpotIQ 10
101:
1: Do mor
more
e with SpotIQ
At this point, you have done the first set of SpotIQ tutorial tasks, you’ve uploaded some data and run your
first SpotIQ analysis. You should be able to look at the INSIGHT list and see when your analysis ran. This is
important knowledge because data changes, you’ll want to run multiple analyzes on the same data.
In this section, you look at the results and see what insights SpotIQ discovered. You’ll learn about the basic
types of analysis SpotIQ runs on data.

Vie
iew
w rresults
esults of an analy
analysis
sis
1. If you haven’t, log into the ThoughtSpot application.
2. Select the INSIGHT
INSIGHTS
S>R
Results
esults page.
3. Look for results from your FoodDollarDa
oodDollarDataR
taReal
eal analysis and click on the NAME
NAME. The application
opens the SpotIQ insights.

The first panel provides information about the analysis.
4. Click on the small i to see a summary of the SpotIQ analysis.

ThoughtSpot User Guide

Page 196

SpotIQ 101: Do more with SpotIQ

December 09, 2017

You can tell that SpotIQ ran through 20 combinations and discovered 14 insights. The first
looked for an insight in a combination of the table_num and year columns in the
FoodDollarDa
oodDollarDataR
taReal
eal data and discovered one insight. The next to column combination
table_num and units did not reveal any insights.
5. Close the details panel and look at the corresponding insight SpotIQ produced.
You can see that SpotIQ found three sets of insights:
• 2 insights for CATEGORY_DESC have significantly higher Total imports than the rest.
Includes similar insights for Total value_added.
• Insights from Cross Correlation Analysis.
• Insights from Trend Analysis.
There is a reason there are three sets. You’ll learn the answer to that later.

Time and y
your
our insight da
data
ta
You’ll notice that when you first look at an insight there is an expiration date in the upper right corner:

If the expiration time elapses, ThoughtSpot automatically removes the reports.
Insights also take space in the ThoughtSpot installation. A lot of people creating insights can add up to a
lot of data lying around. Just as water rising in a bath tub can overflow or just cause a problem you have
to wade through, too much data can create a lot of old reports to sift through.
Another reason to expire an insight is time. Typically, business data is changing every day if not more
frequently. Any particular set of insights are valid for data during a specific period of time. This doesn’t
mean old insights can’t provide information you can use, just that you are unlikely to get the same insight
twice.
If a set of insights look good, you can Sa
Sav
ve them and they are not removed when they expire. Do this now,
click Actions > Sa
Sav
ve from the menu:

ThoughtSpot User Guide

Page 197

SpotIQ 101: Do more with SpotIQ

December 09, 2017

Now your insights won’t expire as you work with them!

Da
Data
ta outliers
SpotIQ attempts to look for three central insights. The first insight it looks for are data outliers. An outlier
is a value that is “far away” or that differs from the other data.
Outliers can result from measurement or recording errors or they could contain valuable information. For
example, one store might sell significantly more towels in one week out of the year because there was a
flood that week.
1. Scroll to the first carousel of data that SpotIQ created for you.
A carousel groups a set of visualizations on a page. You can use the arrows attached to a
carousel to “page” through its contents.
2. Count the number of items in the carousel.
You should see that SpotIQ found two outliers.

In this case, SpotIQ is indicating that the Total Imports value is significantly higher than the other
values in your set.
Two facts about this outlier shouldn’t surprise, you. The first fact is that a total exceeds all the
other items in the data. That just makes sense so this isn’t a true outlier.
The second fact is that SpotIQ insights are not always interesting. In this case the data included
totals in the row data which caused nonsense outliers. You can use SpotIQ to fix this issue and
go further. More about this later in the tutorial.

ThoughtSpot User Guide

Page 198

SpotIQ 101: Do more with SpotIQ

December 09, 2017

Looking ffor
or rrela
elationships
tionships ((cr
cros
oss-c
s-corr
orrela
elation
tion
analy
analysis
sis))
The second category of insights SpotIQ attempts to find is cross-correlations. Cross-correlation looks for
and measures relationships between two quantitive, continous information sets – in our case two fields
(columns) in our dataset. Usually, you’ll see a cross-correlation in your insights if your data includes time or
date data.
The result of a correlation analysis shows how strong and in what direction a relationship between two
data sets moves. The range is -1 to 1, the closer the cross-correlation value is to 1, the more closely the
information fields (data elements) are correlated.
1. Scroll down your insight page, till you find the correlation results:
2. Page through the correlation category to the third insight:

You can see that the over all total and the total category number values correlate very strongly.
The correlation also looks for a lag value.

In the business world the dependence of a variable Y (the dependent variable) on another
variable X (the explanatory variable) is rarely instantaneous. Often, Y responds to X after a
certain lapse of time. Such a lapse of time is called a lag. Good Data Help.

Trends o
ov
ver time
The third set of insights SpotIQ looks for is a trendline. A trendline is a straight or curved line that indicates
the general pattern or direction of a time series data (information in sequence over time). As you may
have guessed, trendlines rely on your data having a date or time column.
You can use a trendline to determine the general direction of a trend in your data. Are sales are climbing
or are customers are declining over time?
1. Scroll down to the Insights fr
from
om T
Trrend Analy
Analysis
sis section.

ThoughtSpot User Guide

Page 199

SpotIQ 101: Do more with SpotIQ

December 09, 2017

2. Look for the Total imports b
by
yy
year
ear result.

At this point, you may have noticed that SpotIQ grouped each type of insights. Outliers, correlations, and
this last one, trendlines. This grouping makes it easier to locate and review similar types of insights.

Wher
here
e tto
o go ne
next
xt
In this section, you explored some of the functionality of the SpotIQ page. You learned that SpotIQ
combines columns in your data to look for three categories of insights:
• outliers
• cross-correlations
• trendlines
In the next section, you’ll learn how to schedule SpotIQ to deliver insights on a regular basis.

ThoughtSpot User Guide

Page 200

SpotIQ 101: Review insights

December 09, 2017

SpotIQ 10
101:
1: R
Re
evie
view
w insights
You’ve finished the second part of the tutorial. In this, the third and final part, you’ll learn how you can
modify a SpotIQ analysis to extend or customize the analysis. You’ll edit an insight to customize the chart
it uses or modify the Sear
Search
ch syntax behind it.

Cus
Custtomiz
omize
e an analy
analysis
sis
In the second part of the tutorial, you reviewed the first output from SpotIQ. The outlier insights weren’t
really that useful. Let’s try to dig deeper into that.
1. Scroll down to the outlier section.
2. Select the first insight.
3. Choose the menu and select Aut
uto
o Analy
Analyz
ze.

The system responds by starting a new insight run based on the single chart. Each time you
request a change to the analysis settings, it starts another run.

4. Return to the SpotIQ page and select your new analysis.

5. Open the analysis and review the analysis details.

ThoughtSpot User Guide

Page 201

SpotIQ 101: Review insights

December 09, 2017

If you recall, the first run against this data SpotIQ ran through 20 combinations and discovered
14 insights. In this second run against one table, SpotIQ ran 49 combinations and developed 17
insights. Only 4 insights were discovered.
Running SpotIQ again does not necessarily result in fewer runs or even, as in this case a reduced
number of insights. It changes the analysis though, by selecting the single insight from your first
run, you gave SpotIQ information it could use to focus the next run.
Continue with the customization.
6. Choose Cus
Custtomiz
omize
e Analy
Analysis
sis.
The Cus
Custtomiz
omize
e Analy
Analysis
sis dialog appears.
7. Select the Cus
Custtomiz
omize
e algorithms tab.
8. Uncheck the Outlier Det
Detection
ection using Z
Z-Sc
-Scor
ore
e option.
9. Click Trigger Analy
Analysis
sis.
SpotIQ starts a new analysis.
10. Open the new analysis from the SpotIQ page.
You’ll find that the new analysis has the same name as the last one you ran. The new results
include an outlier and a cross-correlation. You’ll discover with these new charts a definite outlier
6/30/2005.

ThoughtSpot User Guide

Page 202

SpotIQ 101: Review insights

December 09, 2017

The changes you make in this step persist on the underlying data for all your future analyses. You can
unset these values by going back into the dialog and removing what you set.

A ttempor
emporary
ary cus
custtomiza
omization
tion ffor
or a single insight
Finally, you might have noticed the thumbs at the bottom of each insight. Use the thumbs up to tell
SpotIQ you like the data insight. Clicking thumb’s down display an Impr
Impro
ove Analy
Analysis
sis dialog:

You can exclude a value from this individual analysis and rerun the analysis. Unlike the Cus
Custtomiz
omize
e Analy
Analysis
sis
action, this action works only on this analysis and does not persist.
Try this for yourself later at some point.

ThoughtSpot User Guide

Page 203

SpotIQ 101: Review insights

December 09, 2017

Modify an insight sear
search
ch and visualiza
visualization
tion
The lines used in the cross-correlation are somewhat ambiguous. A different visualization may help in this
case. You can also modify the charts you see in your results. Try this now.
1. Select the menu on the Total imports, T
Total
otal v
value_added
alue_added b
by
yy
year
ear chart.
2. Click on the chart menu and choose.E
Edit
dit.

The Edit V
Visualiza
isualization
tion appears. The layout is familiar to any user that has run a ThoughtSpot
search or worked with a result. This is dialog reveals the Sear
Search
ch syntax used to generate the
insight. You can use this dialog to do all the things you would normally do with a search.
3. Edit the search bar and remove table_num from the search.
The table_num isn’t strictly necessary in the data.

ThoughtSpot User Guide

Page 204

SpotIQ 101: Review insights

December 09, 2017

4. Select the chart icon and choose Line C
Column
olumn to change the visualization.

5. Choose Actions > Upda
Updatte.
6. Close the dialog by pressing the X.
The chart with your changes now appears in the SpotIQ list. The outlier stands out very clearly
now in both charts.

Pr
Present
esent y
your
our insights
You can present SpotIQ insights in several ways. You can present an individual result or all of them at
once. You can package all the insights in a PDF. This is useful for passing a packet of results. Because any
insight an insight into data at a specific point in time, you should always consider saving the insight as a
PDF.
1. Locate the Actions menu on the corner of the SpotIQ page.
2. Choose Actions > Do
Download
wnload as PDF from the menu.

ThoughtSpot User Guide

Page 205

SpotIQ 101: Review insights

December 09, 2017

The system downloads a file containing all the insights. Keep in mind this is file can be very large
if there are a lot of insights found in your data.
You can use the Pr
Present
esent action to view visualizations that appear in a carousel. can be presented as a
group. Present is the best way to To do this, do the following:
1. Scroll down to your first carousel with your new charts.
2. Roll over the right corner of the menu to reveal the menu.

3. Choose Pr
Present
esent from the menu.

Each individual chart has a Do
Download
wnload, Pr
Present
esent, or Cop
opy
y link action you can also take.

Schedule a rrecurring
ecurring analy
analysis
sis
If you find an analysis configuration that is useful. You can run that configuration periodically. This is a
good thing to do of course as, in a business, data changes all the time.
1. Go to the SpotIQ page.
2. Choose the Analy
Analysis
sis tab.

3. Click on the latest Total imports b
by
y CA
CATEGOR
TEGORY_DESC
Y_DESC analysis.
The Cus
Custtomiz
omize
e Analy
Analysis
sis dialog appears.

ThoughtSpot User Guide

Page 206

SpotIQ 101: Review insights

December 09, 2017

4. Choose the Job Schedule option.
5. Fill out the schedule to run the job Monthly
Monthly.

Every month SpotIQ will update your analysis with new data.
Keep in mind that SpotIQ jobs take resources in your system. So, you really don’t want to leave casual jobs
running in the system. Go ahead and delete this latest job. Now that you know how to schedule a job, it
isn’t needed anymore.
1. Check the job you just scheduled.
2. Click Delet
Delete
e to remove it.

Congr
ongra
atula
tulations!
tions!
Congratulations, at this point you’ve learned the basics of SpotIQ with ThoughtSpot. Throughout the
application, you’ll find the SpotIQ icon on search answers, pinboards, visualizations, and data. Wherever
you see this option, you can end up on the SpotIQ page, refining your analysis and discovering new
insights into your business.

ThoughtSpot User Guide

Page 207

Best SpotIQ Practices

December 09, 2017

Bes
Bestt SpotIQ Pr
Practic
actices
es
The SpotIQ feature works without you having to do anything but pushing a button. However, like any
other feature, there things you can do to optimize the feature. This page contains some best practices you
can use to make SpotIQ more effective when you use it.

When tto
o in
inv
vok
oke
e SpotIQ
If you followed the tutorial, you know that right after uploading data is a good time to run Aut
uto
o Analy
Analyz
ze.
SpotIQ can very quickly help you find insights in your data.
Start from a Sear
Search
ch. Enter a single measure in the bar; one you want to explore of course! Then, choose
Actions > A
Aut
uto
o Analy
Analyz
ze on the results. Choosing the single measure focuses SpotIQ.
Use Cus
Custtom Analy
Analyz
ze to focus or tweak the SpotIQ results. While you are tempted to keep all the columns,
eliminating some can also result in a better analysis.

Do y
your
our da
data
ta modeling
You can increase the SpotIQ’s effectiveness by ensuring you are practicing good data modeling. This is
true if you are user uploading the occasional data file or a data management professional. Modeling data
requires that you can:
1. Click on the DATA icon, to get to the data management listing.
2. Click on a data source you own or can edit. This brings up the Columns screen, where you’ll
make your modeling settings.
3. Modify one or more column settings.
4. Save your changes.
If you worked through the SpotIQ tutorial, you can try experiment on the FoodDollarDa
oodDollarDataR
taReal
eal
data you uploaded.
Make sure you set the INDEX PRIORITY for columns in your data source. Use a value between 8-10 for
important columns to improve their search ranking. Use 1-3 for low priority columns. INDEX PRIORITY
impacts user-based ranking which helps SpotIQ focus its analysis.
SpotIQ uses measures for correlations. For trendlines and outliers, if SpotIQ has a measure, it then drills by
attributes in turn.

ThoughtSpot User Guide

Page 208

Best SpotIQ Practices

December 09, 2017

You should also set AGGREGA
GGREGATION
TION on your columns. SpotIQ applies the default aggregations from your
data when it pulls measures for analysis.

Situa
Situations
tions tto
oa
av
void
Like any AI, some situations SpotIQ is not yet equip to handle. You should know what these are so you can
avoid them. If your data contains a measure that uses a MOVING_* or GROUP_* formula, SpotIQ may return
results that simply aren’t meaningful. When doing a correlation analysis, SpotIQ may not find meaningful
data if you have a measure with anything other than SUM.

ThoughtSpot User Guide

Page 209

Custom SpotIQ analysis

December 09, 2017

Cus
Custtom SpotIQ analy
analysis
sis
Everywhere in ThoughtSpot where you can Aut
uto
o Analy
Analyz
ze with ThoughtSpot, you can also configure a
customized SpotIQ analysis. The customized analysis can be a one-time customization or can apply to all
future analysis of that particular data source.

Finding cus
custtomiza
omization
tion c
contr
ontrols
ols
Every menu or location where you can Aut
uto
o Analy
Analyz
ze with ThoughtSpot, you can also choose Cus
Custtom
Analy
Analyz
ze. It looks like this:

Regardless of where you are in the ThoughtSpot UI, the SpotIQ Cus
Custtomiz
omize
e Analy
Analysis
sis dialog has the same
layout. The columns, of course, are specific to the data you launched the dialog from.

This dialog has three tabs, Included c
columns
olumns, Ex
Excluded
cluded c
columns
olumns , and Cus
Custtomiz
omize
e Algorithms
Algorithms. The
Cus
Custtomiz
omize
e Algorithms is by far the most advanced panel.

ThoughtSpot User Guide

Page 210

Custom SpotIQ analysis

December 09, 2017

The SpotIQ insights page has an option for this dialog and also an option to customize a single analysis.

ThoughtSpot User Guide

Page 211

Custom SpotIQ analysis

December 09, 2017

The Impr
Impro
ove Analy
Analysis
sis dialog always excludes a value from all future analysis.
Finally, you can also set some analysis options from your user Pr
Profile
ofile.

You’ll notice only one of these options is actually related to analysis. The others relate to how you receive
notifications about SpotIQ operations.

Elimina
Eliminatte null v
values
alues
Null values should be eliminated from your analysis.
Fr
From
om ne
next
xt analy
analysis
sis

ThoughtSpot User Guide

Fr
From
om futur
future
e analy
analyses
ses

Page 212

Custom SpotIQ analysis

December 09, 2017

In the Search bar, add a filter column!= Null to the
search bar. Or choose Ex
Exclude
clude null v
values
alues fr
from
om curr
current
ent
analy
analysis
sis, using the Cus
Custtomiz
omize
e algorithms panel.

Set Ex
Exclude
clude null v
values
alues fr
from
om m
my
y analy
analysis
sis
on your user Pr
Profile
ofile to exclude them from
any future SpotIQ analyses you do.

Ex
Exclude
clude unint
uninter
eres
esting
ting c
column(
olumn(ss) in insight
You should always exclude columns you are not interested from your analysis.
Fr
From
om ne
next
xt analy
analysis
sis

Exclude a column using Impr
Impro
ove
Analy
Analysis
sis on a visualization. Or set the
value through the Ex
Excluded
cluded c
columns
olumns
tab of the Cus
Custtomiz
omize
e Analy
Analysis
sis panel.

Fr
From
om futur
future
e analy
analyses
ses
Choose Also e
ex
xclude fr
from
om all m
my
y futur
future
e analy
analysis
sis on the Excluded c
columns
olumns tab of the Cus
Custtomiz
omize
e Analy
Analysis
sis panel. Alternatively, exclude using the Impr
Impro
ove Analy
Analysis
sis dialog on an insight that uses the column you want to exclude.

Include an int
inter
eres
esting
ting c
column
olumn
You can always includes columns that interest you in your analysis.
Fr
From
om ne
next
xt analy
analysis
sis

Choose Cus
Custtomiz
omize
e Analy
Analysis
sis and select to Include
columns that you want to appear.

Fr
From
om futur
future
e analy
analyses
ses
Ensure **Index Priority** is between 8-10 on the
column through data modeling.

Remo
emov
ve kno
known
wn da
datte outliers
Your data may contain known outliers. For example, you are in the middle of a quarter and only want to
analyize the previous quarter. Anything from the present quarter could contain an outlier.
Fr
From
om ne
next
xt analy
analysis
sis

Fr
From
om futur
future
e analy
analyses
ses
Not applicable.

In the Search bar, add a filter date< last time period to the search bar.

Too ffe
ew insights
Your SpotIQ analysis may not provide you as many insights as you think it should.
Fr
From
om ne
next
xt analy
analysis
sis

ThoughtSpot User Guide

Fr
From
om futur
future
e
analy
analyses
ses

Page 213

Custom SpotIQ analysis

Choose Cus
Custtomiz
omize
e Analy
Analysis
sis and Cus
Custtomiz
omize
e algorithms Decrease the Multiplier ffor
or
Outlier Det
Detection
ection to a value closer to zero.

ThoughtSpot User Guide

December 09, 2017

Not applicable.

Page 214

Advanced R Customizations

December 09, 2017

Adv
dvanc
anced
ed R Cus
Custtomiza
omizations
tions
Admins and users with the Has SpotIQ privilege can run an R script using the Cus
Custtom Analy
Analysis
sis feature of
SpotIQ. This means you can run an R script from any point in ThoughtSpot where you find the Cus
Custtom
Analy
Analysis
sis menu option.
The R language is an open source programming language used for statistical computing. As such,
knowledgable users can use R to perform sophisticated analysis in a ThoughtSpot environment.
This section explains the feature and how to use it. It is not meant as an R primer. To learn more about R
and how to use it, visit the (R Project for Statistical Computing)[https://www.r-project.org/].

Unders
Understand
tand R script rrequir
equirements
ements in
ThoughtSpot
ThoughtSpot provides R running as a service within a ThoughtSpot cluster. Permissions are restricted. This
means the R script does not have permission to system commands.
The ThoughtSpot cluster has pre-installed the basic R packages. If your script requires a specific package,
you may request your Thoughtspot cluster admin to install the package on your behalf.
ThoughtSpot internally transforms and binds an R script prior to sending it to the cluster’s R service. The
system expects each script have a well-defined structure which is the following:
####R SCRIPT####

####COLUMN BINDINGS (ONE PER LINE)####

The scripts contains the column bindings with the answer results appearing as parameters in the R script.
ThoughtSpot expects for each .paramn in R your script must provide a corresponding binding. The
following pseudo code illustrates an R script in a form suitable for ThoughtSpot:
####R SCRIPT####
df <- data.frame(.param0,.param1, ...);
...
write.csv(..., file=#output_csv#, ...);
Notice that .param0 refers to first column in column binding and .param1 refers to the second. Should
you need a third binding, you would use .param2 and so forth.
The output of the script is either PNG or CSV. This example script uses #output_csv# to emit data in a
CSV (tabular) format. Use #output_png# to emit data in PNG format.
Presently, error reporting is limited for R scripts in SpotIQ. You should validate your R script independent
of your ThoughtSpot environment. Once you are sure they are free of syntax or other errors, then try the
script in ThoughtSpot.

Try a Cus
Custtom Analy
Analysis
sis with R
The following illustrates how to run an R analysis on data that has a sales column and a zip code column.
1. Log into ThoughtSpot and go to the Sear
Search
ch bar.

ThoughtSpot User Guide

Page 215

Advanced R Customizations

December 09, 2017

2. Use Choose Sour
Sourc
ces to locate a source with sales and zip code data. This example uses Phone
Sales data.
3. Enter sales zip code in the search bar.
If your source contains the proper data, you should see something similar to the following:

4. Choose Actions > Cus
Custtom Analy
Analyz
ze.

ThoughtSpot opens the Cus
Custtomiz
omize
e Analy
Analysis
sis dialog.
5. Choose the Cus
Custtomiz
omize
e algorithms tab.
6. In the Select Algorithms section, click the Cus
Custtom R Script box.
Selecting this option unsets all the other options on this tab and displays the Refine P
Par
aramet
ameters
ers
field.

ThoughtSpot User Guide

Page 216

Advanced R Customizations

December 09, 2017

7. Enter this sample script in the field.
####R SCRIPT####
library(ggplot2)
set.seed(20)
df <- data.frame(.param0, .param1)
cluster <- kmeans(df[1:2], 3, nstart = 20)
cluster$cluster <- as.factor(cluster$cluster)
png(file=#output_png#,width=400,height=350,res=72)
print(ggplot(df, aes(.param0, .param1, color = cluster$cluster)) +
geom_point())
####COLUMN BINDINGS (ONE PER LINE)####
Sales
Zip Code
This script binds .param0 to Sales and .param1 to the Zip Code column. You can see from the
script that the output should be PNG (#output_png#).
8. Check your work.

ThoughtSpot User Guide

Page 217

Advanced R Customizations

December 09, 2017

9. Click Trigger Analy
Analysis
sis.
SpotIQ runs your analysis in the background.
10. Go to the SpotIQ page and click on the results of your newly triggered analysis.

You should see the results in PNG format similar to the following:

ThoughtSpot User Guide

Page 218

Advanced R Customizations

December 09, 2017

You can run another R script directly on this result to get CSV results. Try this on your own. Here is the
script to give you CSV output:
####R SCRIPT####
set.seed(20);
df <- data.frame(.param0,.param1);
cluster <- kmeans(df[1:2], 3, nstart = 20);
df$Cluster <- as.factor(cluster$cluster);
colnames(df)[1] <- 'Sales';
colnames(df)[2] <- 'Zip Code';
write.csv(df, file=#output_csv#, row.names=FALSE);
####COLUMN BINDINGS (ONE PER LINE)####

ThoughtSpot User Guide

Page 219

Advanced R Customizations

December 09, 2017

Sales
Zip Code

ThoughtSpot User Guide

Page 220

Overview of sharing

December 09, 2017

Ov
Overvie
erview
w of sharing
Whenever you are working in ThoughtSpot, you are in your own private environment until you share your
work with others. Sharing applies to searches, pinboards, and any data you upload.

Wha
hatt y
you
ou can shar
share
e
This is a list of objects a regular, non-administrator user can share. Administrators have more granular
control over data security.
You can share with groups and with individual people. You can share several different types of objects:
Object
type

Description

Def
Default
ault security model

Uploaded
data

Data that was
uploaded using a Web
browser.

Only the user who uploaded the data (and any user with administrator
privileges) has access to it by default. They can share a table (or selected columns) with other people or groups. See Share uploaded data

Pinboards

A pinboard of
saved search
results.

Anyone who can view a pinboard can share it. See share a pinboard

Answers

The result of a
single search.

Anyone who can view an answer can share it. See share answers

Who can shar
share
e and tto
o whom
You do not have to be an administrator or the owner, to share saved answers or pinboards. Any user can
share them, based on the access levels the user has.
If you upload a spreadsheet, you can share Can V
Vie
iew
w or Can E
Edit
dit privileges with other people, who can
further share them with others. This last point is important. Like sharing a secret, sharing an object or your
data can quickly spread in ths way to people you do not intend it to. So, if your data or work is sensitive to
your business be thoughtful in how you share it.
Finally, you can revoke access to an object (table, worksheet, or pinboard) that you have previously
shared. Unsharing an object is very similar to sharing it.

ThoughtSpot User Guide

Page 221

Share a pinboard

December 09, 2017

Shar
Share
e a pinboar
pinboard
d
Summary: Whenever you view a pinboard you have the option of
sharing it with others.
When you share a pinboard what you are really sharing is a live link to the pinboard, when you click Shar
Share
e
with…
with…. So whenever someone else views it, they will see the most recently saved version with the most
recent data. You do not have to be an administrator or the owner to share saved pinboards. Any user can
share them, based on the access levels the user has.
To share a pinboard:
1. Configure the pinboard to look as you’ll want it to appear when shared.
2. Click the Shar
Share
e icon.

3. Click + A
Add
dd users or gr
groups
oups and select users or groups that you want to share with.

ThoughtSpot User Guide

Page 222

Share a pinboard

December 09, 2017

4. Configure the level of access by selecting from the dropdown list. You will only see options
available, based on your own access level. For example, if you have only Vie
iew
w access, you cannot
share as Edit
dit. You can select:
• Can V
Vie
iew
w to provide read-only access. If the person doesn’t have access to the
underlying data, they can only view a shared pinboard. If they change anything on the
pinboard, their changes are not saved. In order to persist the changes, the user would
need to make a copy of the modified pinboard.
• Can E
Edit
dit to allow modification. Enables renaming or deleting the shared pinboard. If a
person with edit privileges modifies a shared pinboard, their changes will be saved to
it.
5. Click Add and Sa
Sav
ve.
6. Click Add P
Permis
ermissions
sions.

ThoughtSpot User Guide

Page 223

Share answers

December 09, 2017

Shar
Share
e ans
answ
wers
Summary: You do not have to be an administrator or the owner to
share saved answers. Any user can share them, based on the access
levels the user has.
Whenever you view an answer, you have the option of sharing it with others. It will be shared in its current
state, so if you have modified the answer by interacting with the table or chart, the modified version is
what will be shared.
1. Configure the answer to look as you’ll want it to appear when shared.
2. Save the answer by clicking Actions and Sa
Sav
ve.
3. Click Actions and then Shar
Share
e.

4. Click + A
Add
dd users or gr
groups
oups and select users or groups that you want to share with.

ThoughtSpot User Guide

Page 224

Share answers

December 09, 2017

5. Configure the level of access by selecting from the dropdown list. You can select:
• Can V
Vie
iew
w to provide read-only access. If the user doesn’t have access to the
underlying worksheet, they can only view the shared answer.
• Can E
Edit
dit to allow modification. Enables renaming or deleting the shared answer. If a
user with edit privileges modifies a shared answer, their changes will be saved to it.
6. Click Add and Sa
Sav
ve.
7. Click Done
Done.

ThoughtSpot User Guide

Page 225

Share uploaded data

December 09, 2017

Shar
Share
e uploaded da
data
ta
If you upload a spreadsheet, you can share Can V
Vie
iew
w or Can E
Edit
dit privileges with other people, who can
further share them with others.
Data that you uploaded from a Web browser is only visible to you and to the administrator. You can share
the entire uploaded table, or only some of its columns.
Share uploaded data by following these steps:
1. Click on DATA, on the top navigation bar.

2. Click on the name of the uploaded data you want to share.
3. Click the Shar
Share
e icon.

4. Select Entir
Entire
eT
Table
able or Specific C
Columns
olumns.

ThoughtSpot User Guide

Page 226

Share uploaded data

December 09, 2017

5. If you selected Specific C
Columns
olumns, select the column(s) to share.
6. Click + A
Add
dd users or gr
groups
oups and select the users and groups that you want to share with.

7. Configure the level of access by selecting from the dropdown list. You can select:
• Can V
Vie
iew
w to provide read-only access. This enables viewing the table data and
defining worksheets on the table.
• Can E
Edit
dit to allow modification. This enables renaming, modifying, or deleting the
entire table and adding or removing its columns.
8. Click Add and Sa
Sav
ve.
9. Click Done
Done.

ThoughtSpot User Guide

Page 227

Revoke access (unshare)

December 09, 2017

Revok
oke
e ac
acc
ces
esss (unshar
(unshare
e)
You may need to revoke access to an object (table, worksheet, or pinboard) that you have previously
shared. Unsharing an object is very similar to sharing it.
To unshare one or more objects:
1. Go to the area where the object(s) you want to unshare is located. From the top menu bar:
• If the object is a table or worksheet, click DATA.
• If the object is a pinboard, click Pinboar
Pinboards
ds.
• If the object is an answer, click Ans
Answ
wers
ers.
2. Find the object(s) in the list, and check the corresponding box(es).
3. Click the Shar
Share
e icon.

4. Click the X next to the users and groups that you want to remove from sharing.

ThoughtSpot User Guide

Page 228

Revoke access (unshare)

December 09, 2017

5. Click Done
Done.

ThoughtSpot User Guide

Page 229

Get help

December 09, 2017

Get help
Summary: The Help Center provides links to different resources that
were created to help you use ThoughtSpot.
The online Help Center serves as your first line of support for when you run into any questions while using
ThoughtSpot.
The Help Center can be accessed by clicking on Help on the top navigation bar. This opens a simple dialog
box with links to How to search, Keywords, Release notes, Documentation, and Downloads. Click one of
them to open a new tab containing your selected topic.
The Help Center provides the following resources:
• A sear
search
ch bar - You can use the search bar to search through all of ThoughtSpot’s
documentation and videos.
• Short tr
training
aining videos - Each of these videos cover a popular topic or feature, especially those
that have just been released.

• Keywor
ord
d rref
efer
erenc
ence
e- This reference contains all of the keywords that you can use to improve your
search experience. The keywords are categorized into sections, and each of them are
accompanied by an example.
• Release Not
Notes
es - A new Release Notes is made available with every major, minor, and patch
release. It contains information on new features and bug fixes.
• Documenta
Documentation
tion - The Documentation section includes links to various documentation guides
and topics.
• Do
Downloads
wnloads - You can download ThoughtSpot clients and API files from here, including ODBC
and JDBC drivers and the Data API.
• Version inf
informa
ormation
tion The version number of the ThoughtSpot instance you are currently using
can be found in the Help Center.

ThoughtSpot User Guide

Page 230

Get help

December 09, 2017

Support c
contact
ontact inf
informa
ormation
tion
If you still can’t find what you’re looking for, you can contact support.

ThoughtSpot User Guide

Page 231

Get help

ThoughtSpot User Guide

December 09, 2017

Page 232

About this reference

December 09, 2017

About this rref
efer
erenc
ence
e
This Reference section contains the commands and their syntax for all the command line tools in
ThoughtSpot.
Included in this guide are:
• Keyword reference lists the available keywords to use in your search. These are also listed in the
Help Center, which is available from Help on the top navigation bar in ThoughtSpot.
• tscli command reference lists the ThoughtSpot Command Line Interface commands.
• Formula reference lists the available formula operators and functions. These are also listed in the
Formula Assistant, which is available from the place in ThoughtSpot where you build formulas.
• Date and time formats reference lists the accepted date, time, and timestamp formats that you
can use when uploading data through the Web interface or using the ThoughtSpot Loader.
• Row level security rules reference lists the operators for building row level security rules.
• TQL reference lists the SQL commands that are supported in TQL.
• ThoughtSpot Loader flag reference lists the options for loading data with tsload.

ThoughtSpot User Guide

Page 233

Keyword reference

December 09, 2017

Keywor
ord
d rref
efer
erenc
ence
e
You can use keywords when asking a question to help define your search. This reference lists the various
keywords. You can also see this list of keywords and examples from within the help center.

Gener
General
al k
ke
eywor
ords
ds
Keywor
ord
d

Ex
Examples
amples

top
• top sales rep by count sales for average
revenue >10000
• sales rep average revenue for each region
top

bottom
• bottom revenue average revenue by
state
• customer by revenue for each sales rep
bottom

n
• top 10 sales rep revenue

n
• bottom 25 customer by revenue for each sales
rep

sort by
• revenue by state sort by average
revenue
• revenue by customer sort by region

ThoughtSpot User Guide

Page 234

Keyword reference

December 09, 2017

Da
Datte k
ke
eywor
ords
ds
Keywor
ord
d

Ex
Examples
amples

after
• order date after 10/31/2014

before
• order date before 03/01/2014

between … and ...
• order date between 01/30/2012
and 01/30/2014

day of week
• revenue by day of week last 6
months

week
• revenue by week last quarter

month
• revenue by month last year

daily
• shipments by region daily

weekly
• revenue weekly

monthly
• commission > 10000 monthly

quarterly
• sales quarterly for each product

yearly
• shipments by product yearly

day of week
• count shipments Monday

ThoughtSpot User Guide

Page 235

Keyword reference

Keywor
ord
d

December 09, 2017

Ex
Examples
amples

month
• commission January

month year
• commission by sales rep February
2014

year
• revenue by product 2014 product name contains
snowboard

yesterday
• sales yesterday for pro -ski200 by
store

week to date
• sales by order date week to date for
pro-ski200

month to date
• sales by product month to date sales >
2400

quarter to date
• sales by product quarter to date for top 10
products by sales

year to date
• sales by product year to date

last day
• customers last day by referrer

last week
• customers last week by store

last month
• customers last month by day

last quarter
• customers last quarter sale >300

ThoughtSpot User Guide

Page 236

Keyword reference

Keywor
ord
d

December 09, 2017

Ex
Examples
amples

last year
• top 10 customers last year by sale by store for
region west

n days
• visitors last 7 days

n weeks
• visitors last 10 weeks by day

n months
• visitors last 6 months for homepage visits > 30
by month

n quarters
• visitors last 2 quarters by month by
campaign

n years
• visitors last 5 years by revenue for sum
revenue >5000

growth of … by ...
• growth of sales by order
date

growth of … by … daily
• growth of sales by order
date daily

growth of … by … monthly
• growth of sales by date
shipped monthly sales > 24000

growth of … by … weekly
• growth of sales by
receipt date weekly for
proski2000

growth of … by … quarterly
• growth of sales by date
shipped quarterly

ThoughtSpot User Guide

Page 237

Keyword reference

Keywor
ord
d

December 09, 2017

Ex
Examples
amples

growth of … by … yearly
• growth of sales by date
closed yearly

daily year-over-year
• growth of revenue by
order date daily
year-over-year

weekly year-over-year
• growth of revenue by
date shipped weekly
year-over-year

monthly year-over-year
• growth of revenue by
receipt date monthly
year-over-year

quarterly year-over-year
• growth of revenue by
date shipped quarterly
year-over-year

n days ago
• sales 2 days ago

n weeks ago
• sales 4 weeks ago by store

n months ago
• sales 2 months ago by region

n quarters ago
• sales 4 quarters ago by product name contains
deluxe

n years ago
• sales 5 years ago by store for region
west

ThoughtSpot User Guide

Page 238

Keyword reference

Keywor
ord
d

December 09, 2017

Ex
Examples
amples

today
• sales today by store

next day
• shipments next day by order

next week
• shipments next week by store

next month
• appointments next month by day

next quarter
• opportunities next quarter amount >
30000

next year
• opportunities next year by sales rep

n days
• shipments next 7 days

n weeks
• shipments next 10 weeks by day

n months
• openings next 6 months location

n quarters
• opportunities next 2 quarters by
campaign

n years
• opportunities next 5 years by revenue

Time k
ke
eywor
ords
ds
Keywor
ord
d

Ex
Examples
amples

detailed
• ship time detailed

ThoughtSpot User Guide

Page 239

Keyword reference

December 09, 2017

Keywor
ord
d

Ex
Examples
amples

last minute
• count homepage views last minute

last hour
• count unique visits last hour

n minutes
• count visitors last 30 minutes

n hours
• count visitors last 12 hours

hourly
• visitors by page name hourly

n minutes ago
• sum inventory by product 10 minutes
ago

n hours ago
• sum inventory by product by store 2 hours
ago

Text k
ke
eywor
ords
ds
Keywor
ord
d

Ex
Examples
amples

begins with
• product name begins with 'pro'

contains
• product name contains "alpine" description
contains "snow shoe"

ends with
• product name ends with 'deluxe'

ThoughtSpot User Guide

Page 240

Keyword reference

Keywor
ord
d

December 09, 2017

Ex
Examples
amples

not begins with
• product name not begins with "tom's"

not contains
• product color not contains 'tan' product color
not contains 'red'

not ends with
• product name not ends with "trial"

similar to
• course name similar to 'hand'

not similar to
• course name not similar to 'hand'

Number k
ke
eywor
ords
ds
Function

Ex
Examples
amples

sum
• sum revenue

average
• average revenue by store

count
• count visitors by site

max
• max sales by visitor by site

min
• min revenue by store by campaign for cost >
5000

standard deviation
• standard deviation revenue by product by month
for date after 10/31/2010

unique count
• unique count visitor by product page last
week

ThoughtSpot User Guide

Page 241

Keyword reference

Function

December 09, 2017

Ex
Examples
amples

variance
• variance sale amount by visitor by product for
last year

Filt
Filter
er k
ke
eywor
ords
ds
Function

Ex
Examples
amples

between... and
• revenue between 0 and
1000

>
• sum sale amount by visitor by product for last
year sale amount
> 2000

<
• unique count visitor by product by store for
sale amount
< 20

>=
• count calls by employee lastname >= m

<=
• count shipments by city latitude <=
0

=
• unique count visitor by store purchased
products
= 3 for last 5 days

!=
• sum sale amount region != canada region
!= mexico

ThoughtSpot User Guide

Page 242

Keyword reference

December 09, 2017

Loca
ocation
tion k
ke
eywor
ords
ds
Keywor
ord
d

Ex
Examples
amples

near
• revenue store name county near san
francisco

near... within n miles|km|meters
• revenue store name county near alameda
within 50 miles

farther than n miles|km|meters
from

• average hours worked branch farther than 80 km
from scarborough

Location keywords only work for searches where the data source includes latitude/longitude data.

Period k
ke
eywor
ords
ds
Keywor
ord
d

Ex
Example
ample

quarter (date)

quarter (commit date)


month of quarter (date)

month of quarter (commit date)


week of year (date)

week of year (commit date)


week of quarter (date)

week of quarter (commit date)


week of month (date)

week of month (commit date)


day of year (date)

day of year (commit date)


day of quarter (date)

day of quarter (commit date)


ThoughtSpot User Guide

Page 243

Keyword reference

December 09, 2017

day (date)

day (order date)


day of week (date)

day of week (order date)


hour (datetime)

hour (timestamp)



ThoughtSpot User Guide

Page 244

TQL reference

December 09, 2017

TQL rref
efer
erenc
ence
e
TQL is the ThoughtSpot language for entering SQL commands. This reference lists TQL commands you
can use to do things like creating a schema or verifying a data load.

TQL c
commands
ommands
You can use TQL either through the ThoughtSpot application’s web interface or the command line
interface in the Linux shell.
 Not
Note:
e: Worksheets and pinboards in ThoughtSpot are dependent upon the data in the underlying tables.
Use caution when modifying tables directly. If you change or remove a schema on which those objects
rely, the objects could become invalid.
You can use TQL to view and modify schemas and data in tables. Remember to add a semicolon after
each command. Commands are not case sensitive but are capitalized here for readability.
When referring to objects using fully qualified object names, the syntax is:
"database"."schema"."table"
As a best practice, you should enclose object names (database, schema, table, and column) in double
quotes, and column values in single quotes.

Basic c
commands
ommands
Syntax

Description

Ex
Examples
amples

help

Displays command help.

TQL> help

Vie
iew
w schemas and da
data
ta
Syntax

Description

Ex
Examples
amples

SHOW DATABASES

Lists all available databases.

TQL> SHOW DATABASES;

USE 

Switches the context to the specified database.
This is required if queries do not use fully qualified names (database.schema.table) for specifying tables.

TQL> USE "fruit_database";

SHOW SCHEMAS

Lists all schemas within the current database.

TQL> SHOW SCHEMAS;

SHOW TABLES

Lists all tables within the current database by
schema.

TQL> SHOW TABLES;

SHOW TABLE 

Lists all the columns for a table.

TQL> SHOW TABLE
"locations";

ThoughtSpot User Guide

Page 245

TQL reference

December 09, 2017

Syntax

Description

Ex
Examples
amples

SCRIPT SERVER

Generates the TQL schema for all tables in all
databases on the server.

TQL> SCRIPT SERVER;

SCRIPT DATABASE


Generates the TQL schema for all tables in a
database.

TQL> SCRIPT DATABASE
"fruit_database";

SCRIPT TABLE 
Generates the TQL schema for a table. TQL> SCRIPT TABLE "vendor"; SELECT FROM [WHERE ] [GROUP BY ] [ORDER BY ] Shows specified set of table data. TQL> SELECT TOP 10 "quantity" FROM "sales_fact"; If you do not specify the TOP number of rows to select, the top 50 rows will be returned by default. The number of rows to return can be set using the TQL command line flag: --query_results _apply_top_row_count You can use the following aggregation functions: • • • • • • • • sum count count distinct stddev avg variance min max You can use the following date functions: • • • • • • absyear absmonth absday absquarter date time TQL> SELECT COUNT(*) FROM "vendor"; TQL> SELECT "vendor", SUM("quantity") FROM "sales_fact" GROUP BY "vendor"; TQL> SELECT "vendor", SUM("amount") FROM "vendor", "sales_fact" WHERE "sales_fact"."vendorid" = "vendor"."vendorid" AND "amount" > 100 GROUP BY "vendor" ORDER BY "amount" DESC; TQL> SELECT "vendor", SUM("quantity") FROM "sales_fact" GROUP BY "vendor" LIMIT 10; Schema cr crea eation tion Syntax Description Ex Examples amples CREATE DATABASE Creates a database. TQL> CREATE DATABASE "fruit_database"; CREATE SCHEMA Creates a schema within the current database. TQL> CREATE SCHEMA "fruit_schema"; CREATE TABLE
Creates a table with the specified column definitions and constraints. TQL> CREATE TABLE "vendor" ("vendorid" int, "name" varchar(255)); ( []) ThoughtSpot User Guide Use PARTITION BY HASH to shard a table across Page 246 TQL reference December 09, 2017 Syntax Description [PARTITION BY HASH () [KEY ("")]]) all nodes. If no KEY is specified, the table will be randomly sharded. Note that you can specify relationship constraints (FOREIGN KEY or RELATIONSHIP) in the CREATE TABLE statement. But it is recommended to define these using ALTER TABLE statements at the end of your TQL script, after creating your tables. This works better in scripts, because it guarantees that tables are created before they are referenced in the constraint definitions. Ex Examples amples TQL> CREATE TABLE "sales_fact" ("saleid" int, "locationid" int, "vendorid" int, "quantity" int, "sale_amount" double, "fruitid" int, CONSTRAINT PRIMARY KEY("saleid")) PARTITION BY HASH(96) KEY ("saleid"); Schema modifica modification tion Syntax Description Ex Examples amples DROP DATABASE Drops a database and all of its schemas and tables. TQL> DROP DATABASE "fruit_database"; DROP SCHEMA Drops a schema within the current database, and drops all of the tables in the schema. TQL> DROP SCHEMA "fruit_schema"; DROP TABLE
Drops a table. TQL> DROP TABLE "location"; ALTER TABLE
ADD|DROP|RENAME COLUMN Alters a table to add, drop, or rename a column. TQL> ALTER TABLE "cart" ADD COLUMN "nickname" varchar(255) DEFAULT 'no nickname'; When you add a column to an existing table, you must provide a default value to use for existing rows. TQL> ALTER TABLE "cart" DROP COLUMN "nickname"; TQL> ALTER TABLE "cart" RENAME COLUMN "nickname" TO "shortname"; TRUNCATE TABLE
Removes all data from a table, but preserves its metadata, including all GUIDs, relationships, etc. This can be used to force a new schema for a table without losing the metadata. TQL> TRUNCATE TABLE "location"; However, this operation removes all existing data from the table and must be used with caution. You must reload the data following a TRUNCATE, or all dependent objects (worksheets and pinboards) in ThoughtSpot will become invalid. ThoughtSpot User Guide Page 247 TQL reference December 09, 2017 Syntax Description Ex Examples amples ALTER TABLE
DROP CONSTRAINT PRIMARY KEY; Drops the primary key from a table. TQL> ALTER TABLE "sales" DROP CONSTRAINT PRIMARY KEY; ALTER TABLE
DROP [FOREIGN KEY| RELATIONSHIP] ; Note that if you then add a new primary key, the same upsert behavior will be applied as with adding any primary key. This can result in data deletion, so make sure you understand how the upsert will affect your data ahead of time. Drops the named foreign key or relationship between two tables. TQL> ALTER TABLE "sales" ADD CONSTRAINT PRIMARY KEY ("PO_number"); TQL> ALTER TABLE "sales_fact" DROP FOREIGN KEY "FK_PO_number"; TQL> ALTER TABLE "fruit_dim" DROP RELATIONSHIP "REL_dates"; ALTER TABLE
DROP [CONSTRAINT FOREIGN KEY [] | RELATIONSHIP [WITH ]; You must use this syntax when dropping relationships between tables created before ThoughtSpot version 3.2. This is because relationships could not be named in older versions. Drops the foreign key or relationship between two tables where you cannot reference it by relationship name. If the relationship was created without a name, use: • • the name of the referenced table, for a foreign key. the name of the related table, for a relationship. If you drop a foreign key without specifying the referenced table, all foreign keys from the table you are altering will be dropped. TQL> ALTER TABLE "shipments" DROP CONSTRAINT FOREIGN KEY "orders"; TQL> ALTER TABLE "wholesale_buys" DROP RELATIONSHIP WITH "retail_sales"; /* Drops all relationships that have wholesale_buys as a source. */ TQL> ALTER TABLE "wholesale_buys" DROP RELATIONSHIP; /* Drops all foreign keys from wholesale_buys. */ TQL> ALTER TABLE "wholesale_buys" DROP CONSTRAINT FOREIGN KEY; ALTER TABLE
[SET DIMENSION | SET FACT [PARTITION BY HASH [()] [KEY()]]] Changes the partitioning on a table by doing one of: • • • re-sharding a sharded table changing a replicated table to a sharded table changing a sharded table to a replicat- TQL> ALTER TABLE "sales_fact" SET FACT PARTITION BY HASH (96) KEY ("PO_number"); TQL> ALTER TABLE ThoughtSpot User Guide Page 248 TQL reference Syntax December 09, 2017 Description ed (unsharded) table Ex Examples amples "fruit_dim" SET DIMENSION; By default, ThoughtSpot does not shard dimension tables. To change the partitioning on a table, or to change a dimension table to a sharded table, use ALTER TABLE...SET FACT PARTITION BY HASH...; To make a sharded table into a dimension table (replicated on every node), use ALTER TABLE...SET DIMENSION; command. ALTER TABLE
MODIFY COLUMN ; Changes the data type of a column. This can have implications on sharding and primary key behavior. See About data type conversion. TQL> ALTER TABLE fact100 MODIFY COLUMN product_id int; Modify Schema Syntax Description Ex Examples amples INSERT INTO
VALUES ... Inserts values into a table. Only use this for testing. Do not use INSERT on a production system. TQL> INSERT INTO "vendor" VALUES 'helen rose', 'jacob norse', 'eileen ruff', 'manny gates'; UPDATE
... SET ... [WHERE ...] Updates rows in a table that match optionally provided predicates. Predicates have the form column = value connected by the AND keyword. Sets the column values to the specified values. TQL> UPDATE "location" SET "borough" = 'staten island', "city" = 'new york' WHERE "borough" = 'staten isl' AND city = 'NY'; DELETE FROM
[WHERE...] Deletes rows from a table that match optionally provided predicates. Predicates have the form column = value connected by the AND keyword. TQL> DELETE FROM "vendor" WHERE "name" = 'Joey Smith' AND "vendorid" = '19463'; Cons onstr traints aints and rrela elationships tionships Constraints and relationships in ThoughtSpot are used to define the relationships between tables (i.e. how they can be joined). However, constraints are not enforced, as they would be in a transactional database. You can define the following constraints when creating a table with CREATE TABLE, or add them to an existing table using the ADD CONSTRAINT syntax: ThoughtSpot User Guide Page 249 TQL reference December 09, 2017 Syntax Description Ex Examples amples PRIMARY KEY Designates a unique, non-null value as the primary key for a table. This can be one column or a combination of columns. CREATE TABLE "schools" ( "schoolID" varchar(15), "schoolName" varchar(255), "schoolCity" varchar(55), "schoolState" varchar(55), "schoolNick" varchar(55), CONSTRAINT PRIMARY KEY ("schoolID") ) ; If values are not unique, an upsert will be performed if a row includes a primary key that is already present in the data. TQL> ALTER TABLE "cart" ADD CONSTRAINT PRIMARY KEY ("cart_id"); TQL> ALTER TABLE "cart" DROP CONSTRAINT PRIMARY KEY "cart_id"; FOREIGN KEY Defines a relationship where the value(s) in the table are used to join to a second table. Uses an equality operator. The foreign key must match the primary key of the table that is referenced in number, column type, and order of columns. When creating a foreign key, give it a name. You can reference the foreign key name later, if you want to remove it. TQL> ALTER TABLE "batting" ADD CONSTRAINT "FK_player" FOREIGN KEY ("playerID") REFERENCES "players" ("playerID"); TQL> ALTER TABLE "batting" ADD CONSTRAINT "FK_lg_team" FOREIGN KEY ("lgID" ,"teamID") REFERENCES "teams" ("lgID" ,"teamID"); TQL> ALTER TABLE "shipment" ADD CONSTRAINT "FK_PO_vendor" FOREIGN KEY ("po_number", "vendor") REFERENCES "orders" ("po_number", "vendor"); TQL> ALTER TABLE "shipment" DROP CONSTRAINT "FK_PO_vendor"; RELATIONSHIP Defines a relationship where the value(s) in the table can be used to join to a second table, using an equality condition (required) and one or more range conditions (optional). These conditions act like a WHERE clause when the two tables are joined. They are applied using AND logic, such that all conditions must be met for a row to be included. TQL> ALTER TABLE "wholesale_buys" ADD RELATIONSHIP "REL_fruit" WITH "retail_sales" AS "wholesale_buys"."fruit" = "retail_sales"."fruit" AND You may add multiple relationships between tables. ("wholesale_buys"."date_order" < "retail_sales"."date_sold" AND "retail_sales"."date_sold" < When creating a relationship, give it a name. You can reference the relationship name later, if you want to remove it. ThoughtSpot User Guide Page 250 TQL reference Syntax December 09, 2017 Description Ex Examples amples "wholesale_buys"."expire_date"); TQL> ALTER TABLE "wholesale_buys" DROP RELATIONSHIP "REL_fruit"; Flags The --query_results_apply_top_row_count flag can be used with TQL to limit the number of result rows returned by a query. For example: $ tql --query_results_apply_top_row_count 100 Da Data ta types ThoughtSpot supports a simplified list of data types: Syntax Description Character • VARCHAR(n) • • DOUBLE FLOAT • BOOL • • INT BIGINT • • • • DATE DATETIME TIMESTAMP TIME Floating point Specify the maximum number of characters, as in VARCHAR(255). The size limit is 1GB for VARCHAR values. DOUBLE is recommended. Can be true or false. Boolean Integer INT holds 32 bits. Date or time ThoughtSpot User Guide Ex Examples amples BIGINT holds 64 bits. DATETIME, TIMESTAMP, and TIME are stored at the granularity of seconds. TIMESTAMP is identical to DATETIME, but is included for syntax compatibility. Page 251 ThoughtSpot loader flag reference December 09, 2017 ThoughtSpot loader flag rref efer erenc ence e For recurring data loads and for scripting loads, use the ThoughtSpot Loader (tsload). This reference section lists all the flags that can be used to modify the behavior of tsload. Gener General al tsload flags Flag Description --target_database Specifies the pre-existing target database into which tsload should load the data. --target_schema Specifies the target schema. Default is “falcon_default_schema”. --target_table
Specifies the tables that you want to load into the database. The tables must exist in the database specified by --target_database. --empty_target Specifies that any data in the target table is to be removed before the new data is loaded. If supplied, any rows that exist in the table specified by --target_database and --target table will be deleted before this data load. To perform an “upsert” on the existing data, omit this flag or specify --noempty_target. --max_ignored_rows Specifies the maximum number of rows that can be ignored if they fail to load. If the number of ignored rows exceeds this limit, the load will be aborted. --bad_records_file / Specifies the file to use for storing rows that failed to load. Input rows that do not conform to the defined schema in ThoughtSpot will be ignored and inserted into this file. --date_format Specifies the format string for date values. The default format is yearmonthday e.g. “Dec 30th, 2001” and is represented as 20011230. Use the date format specifications supported in the strptime library function. --date_time_format Specifies the format string for datetime values. The default is yearmonthday hour:minute:second e.g. Dec 30th, 2001 1:15:12 and is represented as 20011230 01:15:12. Use the datetime format specifications supported in the strptime library function. --time_format Specifies the format string for time values. The default is hour:minute:second. Use the time format specifications supported in the strptime library function. --v=[0|1|2|3 Specifies the verbosity of log messages. Provide a value for verbosity level. By default, verbosity is set to the minimum, which is 0. This value is similar to a volume control. At higher levels your log receives more messages and that log more frequently. This is used for ThoughtSpot User Guide Not Notes es Page 252 ThoughtSpot loader flag reference Flag Description December 09, 2017 Not Notes es debugging. You should not change this value unless instructed by ThoughtSpot Support. --skip_second_fraction Skips fractional seconds when loading data. If supplied, the upserts logic may be affected, especially if the date time being loaded is a primary key, and the data has millisecond granularity. Load the data twice, once as a string with a primary key, and again with second granularity date time. There is no support to store fractional seconds in the ThoughtSpot system. File loading tsload flags The following flags are used when loading data from an input file: Flag Description --source_file / Specifies the location of the file to be loaded. --source_data_format [csv|delimited] Specifies the data file format. --field_separator "" Specifies the field delimiter used in the input file. -trailing_field_separator Specifies that the field separator appears after every field, including the last field per row. Example row with trailing field separator: a,b,c,The default is false. --null_value "" Specifies how null values are represented in the input file. These values will be converted to NULL upon loading. --date_converted_to_epoch [true|false] Specifies whether the “date” or “datetime” values in the input file are represented as epoch values. --boolean_representation [true_false | 1_0 | T_F | Y_N] Specifies the format in which boolean values are represented in the input file. The default is T_F. You can also use this flag to specify other values. For example, if your data used Y for true and NULL for false, you could specify:--boolean_representation Y_NULL --has_header_row Indicates that the input file contains a header row. If supplied, the first row of the file is ignored. If not supplied, the first row of the file is loaded as data. --escape_character "" Specifies the escape character used in the input file. If no value is specified, the default is “(double quotes). --enclosing_character "" Specifies the enclosing character used in the input file. If the enclosing character is double quotes, you need to escape it, as in this example: ThoughtSpot User Guide Not Notes es Optional. The default is csv. Page 253 ThoughtSpot loader flag reference Flag Description December 09, 2017 Not Notes es --enclosing_character "\"" --use_bit_boolean_values = [true | false] ThoughtSpot User Guide Specifies how boolean values are represented in the input file. If supplied, the input CSV file uses a bit for boolean values, i.e. the false value is represented as 0x0 and true as 0x1. If omitted or set to false, boolean values are assumed to be T_F, unless you specify something else using the flag --boolean_representation [true_false | 1_0 | T_F | Y_N]. Page 254 tscli command reference December 09, 2017 tscli c command ommand rref efer erenc ence e The tscli command line interface is an administration interface for the ThoughtSpot instance. Use tscli to take snapshots (backups) of data, apply updates, stop and start the services, and view information about the system. This reference defines each subcommand and what you can accomplish with it. The command returns 0 upon success and a non-zero exit code upon failure. Because the tscli command is typically running a command on multiple codes, an error may be called at different points. As much as possible, the command attempts to save errors to the stderr directory as configured on a node. Ho How w tto o use the tscli c command ommand The tscli command has the following syntax: tscli [-h] [--helpfull] [--verbose] [--noautoconfig] [--autoconfig] [--yes] [--cluster ] [--zoo ] [--username username] [--identity_file identity_file] {alert,backup,backup-policy,callhome,cluster,command,dr-mirror,etl,event, feature,fileserver,firewall,hdfs,ldap,logs,map-tiles,monitoring,nas,node, os,saml,scheduled-pinboards,smtp,snapshot,snapshot-policy,spot,ssl,storage, support} The tscli command has several subcommands such as alert, backup, and so forth. You issue a subcommand using the following format: tscli [subcommand ] Subcommands have their own additional options and actions such as tscli backup create or tscli backup delete for example. To view help for a subcommand: tscli [subcommand] -h A subcommand itself may have several options. tscli subc subcommands ommands This section lists each subcommand and its syntax. alert subcommand tscli alert [-h] {count,info,list,off,on,refresh,silence,status,unsilence} Use this subcommand to do the following: • • • • tscli tscli tscli tscli alert alert alert alert info Lists all alerts. list Lists the generated alerts. off Disables all alerts from the cluster. on Enables alerts from the cluster. ThoughtSpot User Guide Page 255 tscli command reference December 09, 2017 • tscli alert silence --name Silences the alert with alert_name. For example, DISK_ERROR. Silenced alerts are still recorded in postgres, however emails are not sent out. • tscli alert status Shows the status of cluster alerts. • tscli alert unsilence-name alert_name Unsilences the alert with *alert_name*. For example, DISK_ERROR. backup subcommand tscli backup [-h] {create,delete,ls,restore} Use this subcommand to do the following: • tscli backup create [-h] [--mode {full,light,dataless}] [--type {full,incremental}] [--base BASE] [--storage_type {local,nas}] [--remote] name out Pulls a snapshot and saves it as a backup where: ◦ --mode {full,light,dataless} Mode of backups. To understand these diffrent modes see Understand backup modes. ◦ --type {full,incremental} Type of backup.(Incremental incremental is not implemented yet) (default: full) ◦ --base BASE Based snapshot name for incremental backup. (Not Implemented yet) (default: None) ◦ --storage_type {local,nas} Storage type of output directory. (default: local) ◦ --remote Take backup through orion master. (default: True) • tscli backup delete *name* Deletes the named backup. • tscli backup ls List all backups taken by the system. • tscli backup restore Restore cluster using backup. backup-policy tscli backup-policy [-h] {create,delete,disable,enable,ls,show,status,update} Use this subcommand to do the following: • tscli policy. • tscli • tscli • tscli • tscli • tscli • tscli • tscli backup-policy create Prompts an editor for you to edit the parameters of the backup backup-policy backup-policy backup-policy backup-policy backup-policy backup-policy backup-policy ThoughtSpot User Guide delete name Deletes the backup policy with name. disable name Disables the policy name. enable name Enables the policy name. ls List backup policies. show name Show the policy name. status name Enables the policy name. update *name* Prompts an editor for you to edit the policy name. Page 256 tscli command reference December 09, 2017 callhome tscli callhome [-h] {disable,enable,generate-bundle} Use this subcommand to do the following: • tscli callhome disable Turns off the periodic call home feature. • tscli callhome enable --customer_name customer_name` Enables the “call home” feature, which sends usage statistics to ThoughtSpot Support every six hours via the secure file server. Before using this command for the first time, you need to set up the file server connection using tscli fileserver configure. The parameter customer_name takes the form Shared/*`customer_name`*/stats. • tscli callhome generate-bundle –d directory --since DAYS ◦ --d D Dest folder where tar file will be created. (default: None) ◦ --since DAYS Grab callhome data from this time window in the past. Should be a human readable duration string, e.g. 4h (4 hours), 30m (30 minutes), 1d (1 day). (default: None) Generates a tar file of the cluster metrics and writes it to the specified directory where DAYS is how far back you’d like to generate the tar file from in days. For example, 30. If this parameter is not specified, the command will collect the stats from the last 7 days by default. cluster tscli cluster [-h] {abort-reinstall-os,check,create,get-config,load,reinstall-os,report,restore,resume-rei nstall-os,resume-update,set-config,set-min-resource-spec,show-resource-spec,start,statu s,stop,update,update-hadoop} Use this subcommand to do the following: • tscli cluster abort-reinstall-os Abort in-progress reinstall. • tscli cluster check --includes {all,disk,zookeeper,hdfs,orion-cgroups,orionoreo} check the status nodes in the cluster. You must specify a component to check. • tscli cluster create release Creates a new cluster from the release file specified by *release*. This command is used by ThoughtSpot Support when installing a new cluster, for example, tscli cluster create 2.0.4.tar.gz • tscli cluster get-config Get current cluster network and time configuration. Prints JSON configuration to stdout. If for some reason the system cannot be connected to all interfaces, the command returns an error but continues to function. • tscli cluster load Load state from given backup onto existing cluster • tscli cluster reinstall-os Reinstall OS on all nodes of the cluster. • tscli cluster report Generate cluster report. ThoughtSpot User Guide Page 257 tscli command reference December 09, 2017 • tscli cluster restore --release release_tarball backupdir` Restores a cluster using the backup in the specified directory backupdir. If you’re restoring from a dataless backup, you must supply the release tarball for the corresponding software release. • tscli cluster resume-reinstall-os Resume in-progress reinstall. • tscli cluster resume-update Resume in-progress updates. • tscli cluster set-config Set cluster network and time configuration. Takes JSON configuration from stdin. • tscli cluster set-min-resource-spec Sets min resource configuration of the cluster • tscli cluster show-resource-spec Prints default or min. • tscli cluster start Start cluster. • tscli cluster status Gives the status of the cluster, including release number, date last updated, number of nodes, pending tables time, and services status. • tscli cluster stop Pauses the cluster (but does not stop storage services). • tscli cluster update Update existing cluster. • tscli cluster update-hadoop Updates Hadoop/Zookeeper on the cluster. command tscli command [-h] {run} Command to run a command on all nodes. tscli command run [-h] [--nodes NODES] --dest_dir DEST_DIR [--copyfirst COPYFIRST] [-timeout TIMEOUT] command • --nodes NODES Space separated IPs of nodes where you want to run the command. (default: all) • --dest_dir DEST_DIR Directory to save the files containing output from each nodes. (default: None) • --copyfirst COPYFIRST Copy the executable to required nodes first. (default: False) • --timeout TIMEOUT Timeout waiting for the command to finish. (default: 60) dr-mirror tscli dr-mirror [-h] {start,status,stop} • tscli dr-mirror start Starts a mirror cluster which will continuously recover from a primary cluster. • tscli dr-mirror status Checks whether the current cluster is running in mirror mode. • tscli dr-mirror stop Stops mirroring on the local cluster. entity tscli entity [-h] {pack} ... Creates a serialized, dataless object file for testing, troubleshooting, or migration. You can use this command with answer, pinboard, or aggregated/unaggregated worksheet objects. • tscli entity pack [-h] --id ID [--outdir FULLPATHNAME] Packs object metadata and schema into a file. Packed filenames have the format XXX.YYY where XXX is ### ? optional arguments: ◦ --id ID The required ID of the object to pack. IDs are found in thne URL of an answer, pinboard, or aggregated/unaggregated worksheet. For example, the ID for a pinboard http://thoughtspot.com:8088/#/pinboard/ ThoughtSpot User Guide Page 258 tscli command reference December 09, 2017 061457a2-27bc-43a9-9754-0cd873691bf0/ is 061457a2-27bc-43a9-9754-0cd873691bf0. ◦ --outdir FULLPATHNAME Directory where the command places the packed object. etl tscli etl [-h] {change-password,disable-lw,download-agent,enable-lw,show-lw} • tscli etl change-password --admin_username admin_user --username Informatica_user` Changes the Informatica Cloud account password used by ThoughtSpot Data Connect. Required parameters are: ◦ --admin_username admin_user specifies the Administrator username for ThoughtSpot. ◦ --username Informatica_user specifies the username for the Informatica Cloud. • tscli etl disable-lw Disables ThoughtSpot Data Connect. • tscli etl download-agent Downloads the ThoughtSpot Data Connect agent to the cluster. • tscli etl enable-lw [-h] --username USERNAME --thoughtspot_url THOUGHTSPOT_URL -admin_username ADMIN_USERNAME [--groupname GROUPNAME] --org_id ORG_ID [--pin_to PIN_TO] [--proxy_host PROXY_HOST] [--proxy_port PROXY_PORT] [--proxy_username PROXY_USERNAME ] [--max_wait MAX_WAIT] You should contact ThoughtSpot Support for assistance in setting this up. Required parameters are: ◦ --username USERNAME Username for Informatica Cloud (default: None) ◦ --thoughtspot_url THOUGHTSPOT_URL URL to reach thoughtspot. (default: None) ◦ --admin_username ADMIN_USERNAME Admin username for ThoughtSpot (default: None) ◦ --groupname GROUPNAME ◦ --org_id ORG_ID specifies the Informatica id of the organization (company). For ThoughtSpot, this is 001ZFA. org_id shouldn’t include the prefix Org. For example, if on Informatica cloud, the orgid is Org003XYZ, then use only ◦ --pin_to PIN_TO specifies the IP address to pin to. If you specify an IP to pin to, that node becomes sticky to the Informatica agent, and will always be used. Defaults to the public IP address of the localhost where this command was run. ◦ --proxy_host PROXY_HOST Proxy server host for network access (default: ) ◦ --proxy_port PROXY_PORT Proxy server port (default: ) ◦ --proxy_username PROXY_USERNAME Proxy server username (default: ) ◦ --max_wait MAX_WAIT Maximum time in seconds to wait for Data Connect agentto start (default: None) • tscli etl show-lw Shows the status of ThoughtSpot Data Connect. It also returns the Informatica username and OrgId. event tscli event [-h] {list} This subcommand has the following actions: tscli event list [-h] [--include INCLUDE] [--since SINCE] [--from FROM] [--to TO] [-limit LIMIT] [--detail] [--summary_contains SUMMARY_CONTAINS] [--detail_contains DETAIL_CONTAINS] [--attributes ATTRIBUTES] • --include INCLUDE Options are all, config, notification. Default config. (default: config) • --since SINCE Grab events from this time window in the past. Should be a human readable duration string, e.g. 4h (4 hours), 30m (30 minutes), 1d (1 day). (default: None) ThoughtSpot User Guide Page 259 tscli command reference December 09, 2017 --from FROM Begin timestamp, must be of the form: yyyymmdd-HH:MM (default: None) --to TO End timestamp, must be of the form: yyyymmdd-HH:MM (default: None) --limit LIMIT Max number of events to fetch. (default: 0) --detail Print events in detail format. This is not tabular. Default is a tabular summary. (default: False) • --summary_contains SUMMARY_CONTAINS Summary of the event will be checked for this string. Multiple strings to check for can be specified by separating them with | (event returned if it matchesALL). Put single quotes around the param value to prevent undesired glob expansion (default: None) • --detail_contains DETAIL_CONTAINS Details of the event will be checked for this string. Multiple strings to check for can be specified by separating them with | (event returned if it matches ALL). Put single quotes around the param value to prevent undesired glob expansion (default: None) • --attributes ATTRIBUTES Specify attributes to match as key=value. Multiple attributes to check for can be specified by separating them with | (event returned if it matches ALL). Put single quotes around the param value to prevent undesired glob expansion (default: None) • • • • feature tscli feature [-h] {get-all-config} This subcommand has the following actions: tscli feature get-all-config Gets the configured features in a cluster. The command will return a list of features, such as custom branding, Data Connect, and call home, and tell you whether they are enabled or disabled. fileserver tscli fileserver [-h] {configure,download-release,purge-config,show-config,upload} This subcommand has the following actions: • tscli fileserver configure [-h] --user USER [--password PASSWORD ] Configures the secure file server username and password for file upload/download and the call home feature. You only need to issue this command once, to set up the connection to the secure file server. You only need to reissue this command if the password changes. The parameter PASSWORD is optional. If a password is not specified, you will be prompted to enter it. • tscli fileserver download-release [-h] [--user USER] [--password PASSWORD] release Downloads the specified release file and its checksum. Specify the release by number, to the second decimal point (e.g. 3.1.0, 3.0.5, etc.). You may optionally specify the --user and -password to bypass the credentials that were specified when configuring the file server connection with tscli fileserver configure. Before using this command for the first time, you need to set up the file server connection using tscli fileserver configure. • tscli fileserver purge-config Removes the file server configuration. • tscli fileserver show-config Shows the file server configuration. • tscli fileserver upload [-h] [--user USER] [--password PASSWORD] --file_name FILE_NAME* –server_dir_path *SERVER_DIR_PATH` Uploads the file specified to the directory specified on the secure file server. You may optionally specify the --user and --password to bypass the credentials that were specified when configuring the file server connection with tscli fileserver configure. Before using this command for the first time, you need to set up the file server connection using tscli fileserver configure. Accepts these flags ◦ --user USER Username of fileserver (default: None) ThoughtSpot User Guide Page 260 tscli command reference December 09, 2017 ◦ --password PASSWORD Password of fileserver (default: None). This is required and the command prompts you for it if you do not supply it. ◦ --file_name FILE_NAME Local file that needs to be uploaded (default: None) ◦ --server_dir_path SERVER_DIR_PATH Directory path on fileserver. (default: None) The SERVER_DIR_PATH parameter specifies the directory to which you want to upload the file. It is based on your customer name, and takes the form /Shared/ support/*customer_name*. firewall tscli firewall [-h] {close-ports,disable,enable,open-ports,status} • tscli firewall close-ports Closes given ports through firewall on all nodes. Takes a list of ports to close, comma separated. Only closes ports which were previously opened using “open-ports”. Ignores ports which were not previously opened with “open-ports” or were already closed. • tscli firewall disable Disable firewall. • tscli firewall enable Enable firewall. • tscli firewall open-ports *ports* Opens given ports through firewall on all nodes. Takes a list of ports to open, comma separated. Ignores ports which are already open. Some essential ports are always kept open (e.g. ssh), they are not affected by this command or by close-ports. • tscli firewall status Shows whether firewall is currently enabled or disabled. hdfs tscli hdfs [-h] {leave-safemode} This subcommand has the following actions: tscli hdfs leave-safemode Command to get HDFS namenodes out of safemode. ldap tscli ldap [-h] {add-cert,configure,purge-configuration} This subcommand has the following actions: • tscli ldap add-cert name certificate Adds an SSL certificate for LDAP. Use only if LDAP has been configured without SSL and you wish to add it. Use *name* to supply an alias for the certificate you are installing. • tscli ldap configure Configures LDAP using an interactive script. You can see detailed instructions for setting up LDAP in About LDAP integration. • tscli ldap purge-configuration Purges (removes) any existing LDAP configuration. ThoughtSpot User Guide Page 261 tscli command reference December 09, 2017 logs tscli logs [-h] {collect,runcmd} This subcommand has the following actions: • tscli logs collect [-h] [--include INCLUDE] [--exclude EXCLUDE] [--since SINCE] [--from FROM] [--to TO] [--out OUT] [--maxsize MAXSIZE] [--sizeonly] [--nodes NODES] Extracts logs from the cluster. Does not include any logs that have been deleted due to log rotation. These parameters have the following values: ◦ --include INCLUDE Specifies a comma separated list of logs to include. Each entry is either a “selector” or a glob for matching files.Selectors must be among: all, orion, system, ts. Anything starting with / is assumed to be a glob pattern and interpreted via find(1). Other entries are ignored. Put single quotes around the param value to prevent undesired glob expansion (default: all) ◦ --exclude EXCLUDE Comma separated list of logs to exclude. Applies to the list selected by –include. Params are interpreted just like in –include (default: None) ◦ --since SINCE Grab logs from this time window in the past. Should be a human readable duration string, e.g. 4h (4 hours), 30m (30 minutes), 1d (1 day). (default: None) ◦ --from FROM Timestamp where collection begins, must be of the form: yyyymmddHH:MM (default: None) ◦ --to TO Timestamp where collection ends, must be of the form: yyyymmdd-HH:MM (default: None) ◦ --out OUT Tarball path for dumping logs from each node (default: /tmp/ logs.tar.gz) ◦ --maxsize MAXSIZE Only fetch logs if size is smaller that this value. Can be specified in megabytes/gigabytes, e.g. 100MB, 10GB. (default: None) ◦ --sizeonly Do not collect logs. Just report the size. (default: False) ◦ --nodes NODES Comma separated list of nodes from where to collect logs. Skip this to use all nodes. (default: None) • tscli logs runcmd [-h] --cmd CMD [--include INCLUDE] [--exclude EXCLUDE] [-since SINCE] [--from FROM] [--to TO] [--outfile OUTFILE] [--outdir OUTDIR] [-cmd_infmt CMD_INFMT] [--cmd_outfmt CMD_OUTFMT] [--nodes NODES] Runs a Unix command on logs in the cluster matching the given constraints. Results are reported as text dumped to standard out, the specified output file, or as tarballs dumped into the specified directory. ◦ --cmd CMD Unix-Command to be run on the selected logs. Use single quotes to escape spaces etc. Language used to specify CMDSTR has following rules. ▪ A logfile and its corresponding result file can be referred by keywords SRCFILE & DSTFILE. eg. cp SRCFILE DSTFILE ThoughtSpot User Guide Page 262 tscli command reference December 09, 2017 ▪ Without any reference to DSTFILE in CMDSTR, > DSTFILE will be appended to CMDSTR for output redirection. eg du -sch SRCFILE gets autotranstalted to du -sch SRCFILE > DSTFILE ▪ Without any reference to SRCFILE, content of log is streamed to CMDSTR via pipe. eg. tail -n100 | grep ERROR gets auto-transtalted to cat SRCFILE | tail -n100 | grep ERROR > DSTFILE (default: None) ◦ --include INCLUDE Comma separated list of logs to include,each entry is either a “selector” or a glob for matching files.Selectors must be among: all, orion, system, ts. Anything starting with / is assumed to be a glob pattern and interpreted via find(1). Other entries are ignored. TIP: put single quotes around the param value to prevent undesired glob expansion (default: all) ◦ --exclude EXCLUDE Comma separated list of logs to exclude. Applies to the list selected by --include. Params are interpreted just like in --include (default: None) ◦ --since SINCE Grab logs from this time window in the past. Should be a human readable duration string, e.g. 4h (4 hours), 30m (30 minutes), 1d (1 day). (default: None) ◦ --from FROM Timestamp where collection begins, must be of the form: yyyymmddHH:MM (default: None) ◦ --to TO Timestamp where collection ends, must be of the form: yyyymmdd-HH:MM (default: None) ◦ --outfile OUTFILE File path for printing all the results. By default printed to stdout (default: None) ◦ --outdir OUTDIR Directory path for dumping results with original dir structure from each node. Used as an alternative to printing output to outfile/stdout (default: None) ◦ --cmd_infmt CMD_INFMT Specify if the inputfile should be compressed/uncompressed before running CMD. C=compressed, U=uncompressed. Don’t use this flag if CMD works on both (default: None) ◦ --cmd_outfmt CMD_OUTFMT Specify if OUTFILE generated by CMD will be compressed/ uncompressed. C=compressed, U=uncompressed. Don’t use this flag if output file will be of same format as input file (default: None) ◦ --nodes NODES Comma separated list of nodes where to run command. Skip this to use all nodes. (default: None) map-tiles tscli map-tiles [-h] {disable,enable} This subcommand supports the following actions: • tscli map-tiles enable [-h] [--online] [--offline] [--tar TAR] [--md5 MD5] Enables ThoughtSpot’s map tiles, which are used when constructing geomap charts. If you don’t have interest access, you must download the map tiles tar and md5 files. Then you must append the following to the tscli command. ◦ --online Download maptiles tar from internet. (default: True) ◦ --offline Using maptiles tar from local disk. (default: False) ◦ --tar TAR Specified tar file for map-tiles. (default: ) ThoughtSpot User Guide Page 263 tscli command reference December 09, 2017 ◦ --md5 MD5 Specified md5 file for map-tiles. (default: ) • tscli map-tiles disable Disable map-tiles functionality. monitoring tscli monitoring [-h] {set-config,show-config} This subcommand has the following actions: • tscli monitoring set-config [-h] [--email EMAIL] [--clear_email] [-heartbeat_interval HEARTBEAT_INTERVAL] [--heartbeat_disable] [--report_interval REPORT_INTERVAL] [--report_disable] Sets the monitoring configuration. ◦ --email EMAIL Comma separated list (no spaces) of email addresses where the cluster will send monitoring information. ◦ --clear_email Disable emails by clearing email configuration. (default: False) ◦ --heartbeat_interval HEARTBEAT_INTERVAL Heartbeat email generation interval in seconds. Should be greater than 0. ◦ --heartbeat_disable Disable heartbeat email generation. (default: False) ◦ --report_interval REPORT_INTERVAL Cluster report email generation interval in seconds. Should be greater than 0. ◦ --report_disable Disable cluster report email generation. (default: False) • tscli monitoring show-config Shows the monitoring configuration. nas tscli nas [-h] {ls,mount-cifs,mount-nfs,unmount} This subcommand has the following actions: • tscli nas ls [-h] List mounts managed by NAS mounter service. • tscli nas mount-cifs [-h] --server SERVER [--path_on_server PATH_ON_SERVER ] -mount_point MOUNT_POINT --username USERNAME --password PASSWORD [--uid UID] [--gid GID] [--options OPTIONS ] Mounts a CIFS device on all nodes. ◦ --server SERVER IP address or DNS name of CIFS service. For example, 10.20.30.40 (default: None) ◦ --path_on_server PATH_ON_SERVER Filesystem path on the CIFS server to mount (source). For example: /a (default: /) ◦ --mount_point MOUNT_POINT Directory on all cluster nodes where the NFS filesystem should be mounted (target). This directory does not need to already exist. If this directory already exists, a new directory is not created and the existing directory is used for mounting. For example: /mnt/external (default: None) ◦ --username USERNAME Username to connect to the CIFS filesystem as (default: None) ◦ --password PASSWORD CIFS password for --username (default: None) ◦ --uid UID UID that will own all files or directories on the mounted filesystem when the server does not provide ownership information. See man mount.cifs for more details. (default: 1001) ThoughtSpot User Guide Page 264 tscli command reference December 09, 2017 ◦ --gid GID Gid that will own all files or directories on the mounted filesystem when the server does not provide ownership information. See man mount.cifs for more details. (default: 1001) ◦ --options OPTIONS Other command-line options to forward to mount.cifs command (default: noexec) • tscli nas mount-nfs [-h] --server SERVER [--protocol PROTO --path_on_server PATH_ON_SERVER] --mount_point MOUNT_POINT [--options OPTIONS] Mounts a NFS device on all nodes. Parameters are: ◦ --server SERVER IP address or DNS name of NFS service. For example, 10.20.30.40 (default: None) ◦ --path_on_server PATH_ON_SERVER Filesystem path on the NFS server to mount (source). For example: /a/b/c/d (default: /) ◦ --mount_point MOUNT_POINT Directory on all cluster nodes where the NFS filesystem should be mounted (target). This directory does not need to already exist. If this directory already exists, a new directory is not created and the existing directory is used for mounting. For example: /mnt/external (default: None) ◦ --options OPTIONS Command-line options to forward to mount command (default: noexec). ◦ --protocol PROTO One of nfs or nfs4. The default is nfs. • tscli nas unmount [-h] --dir DIR Unmounts all devices from the specified DIR (directory) location. This command returns an error if nothing is currently mounted on this directory via tscli nas mount (default: None) node tscli node [-h] {check,ls,reinstall-os,status} This subcommand has the following actions: • tscli node check [-h] [--select {reinstall-preflight}] [--secondary SECONDARY] Run checks per node. Takes the following parameters: ◦ --select {reinstall-preflight} Select the type of node check (default: reinstall-preflight) ◦ --secondary SECONDARY Secondary drive for reinstall-preflight (default: sdd) • tscli node ls [-h] [--type {all,healthy,not-healthy}] Filter by node state (default: all) • tscli node reinstall-os [-h] [--secondary SECONDARY ] [--cluster] Reinstall OS on a node. This takes the following parameters: ◦ --secondary SECONDARY Secondary drive to be used to carry to reinstall (default: sdd) ◦ --cluster Is the node part of a cluster (default: False) saml tscli saml [-h] {configure,purge-configuration} ThoughtSpot User Guide Page 265 tscli command reference December 09, 2017 This subcommand has the following actions: • tscli saml configure [-h] Configures SAML. To see a list of prerequisites refer to Configure SAML. • tscli saml purge-configuration Purges any existing SAML configuration. scheduled-pinboards tscli scheduled-pinboards [-h] {disable,enable} This subcommand has the following actions: • tscli scheduled-pinboards disable [-h] Disable scheduled pinboards for this cluster. • tscli scheduled-pinboards enable [-h] Enables scheduled pinboards, which is disabled in prod clusters by default. smtp tscli smtp [-h] {reset-canonical-mapping,set-canonical-mapping,set-mailfromname,set-mailname,set-relayh ost,show-canonical-mapping,show-mailfromname,show-mailname,show-relayhost} This subcommand takes supports the following actions: • tscli smtp reset-canonical-mapping Deletes the current postmap mapping. • tscli smtp set-canonical-mapping [-h] new_key new_value Sets a new Postmap mapping. • tscli smtp set-mailfromname mailfromname Sets the name, an email address, from which email alerts are sent, for the cluster. • tscli smtp set-mailname mailname Sets the mailname, a domain, where email alerts are sent, for the cluster. • tscli smtp set-relayhost [-h] [--force FORCE] relayhost Sets the Relay Host for SMTP (email) sent from the cluster. ◦ --force FORCE Set even if relay host is not accessible. (default: False) • tscli smtp show-canonical-mapping Shows the current postmap mapping. • tscli smtp show-mailfromname Shows the mailname, from which email alerts are sent, for the cluster. • tscli smtp show-mailname Shows the mailname, where email alerts are sent, for the cluster. • tscli smtp show-relayhost Shows the for SMTP (email) sent from the cluster. If there is no Relay Host configured, the command returns NOT FOUND. snapshot tscli snapshot [-h] {backup,create,delete,ls,restore,update-ttl} Learn more about snapshots and backups see the Understand the backup strategies documentation. This subcommand supports the following actions: • tscli snapshot backup [-h] [--mode {full,light,dataless}] [--type {full,incremental}] [--base BASE ] [--storage_type {local,nas}] [--remote] name out Pull snapshot out as a backup. This takes the following parameters: ◦ --mode {full,light,dataless} Mode of backups. (default: full) ThoughtSpot User Guide Page 266 tscli command reference December 09, 2017 ◦ name Name of snapshot to pull out as a backup. To list all snapshots, run tscli snapshot ls. ◦ out Directory where backup will be written, must not already exist. ◦ --type {full,incremental} Type of backup.(Incremental backup is not implemented yet) (default: full) ◦ --base BASE Based snapshot name for incremental backup. (Not Implemented yet) (default: None) ◦ --storage_type {local,nas} Storage type of output directory. (default: local) ◦ --remote Take backup through Orion master. (default: True) • tscli snapshot create [-h] name reason ttl Creates a new snapshot with the name and reason provided. This command does not accept . (periods), but does accept - (dashes). The ttl parameters is the number of days after which this snapshot will be automatically deleted. A value of -1 disables automatic deletion. • tscli snapshot delete [-h] name Deletes the named snapshot. • tscli snapshot ls [-h] List available snapshots. • tscli snapshot restore [-h] [--allow_release_change] [--only_service_state] name Restore cluster to an existing snapshot. This takes the following parameters: ◦ --allow_release_change Allow restoration to a snapshot at a different release. (default: False) ◦ --only_service_state Restore only service state. (default: False) • tscli snapshot update-ttl [-h] [--disable DISABLE ] name ttl Updates manual snapshot garbage collection policy. ◦ name Specifies which snapshot to update. ◦ ttl Extends the manual snapshot ttl (time-to-live) value. Use a positive value to increase ttl. Use negative value to decrease it. ◦ --disable DISABLE Disable manual snapshot garbage collection. Setting this value to True will override any ttl value. (default: False) snapshot-policy tscli snapshot-policy [-h] {disable,enable,show,update} This subcommand supports the following actions: • tscli snapshot-policy disable [-h] Disable snapshot policy. • tscli snapshot-policy enable -h Enable specified snapshot policy. • tscli snapshot-policy show [-h] Show snapshot policy. • tscli snapshot-policy update [-h] [--config CONFIG] Update periodic snapshot config. This takes the following parameter: ◦ --config CONFIG Text format of periodic backup policy config (default: None) spot tscli spot [-h] {enable} This subcommand supports the following actions: tscli spot [-h] {enable} Enableds Spot integrtion. ThoughtSpot User Guide Page 267 tscli command reference December 09, 2017 ssl tscli ssl [-h] {add-cert,clear-min-tls-version,off,on,rm-cert,set-min-tls-version,status,tls-status} status Shows whether of SSL authentication is enabled or disabled for the ThoughtSpot application. tlsstatus Prints the status of TLS support This subcommand supports the following actions: • tscli ssl add-cert [-h] key certificate Adds an SSL certificate, key pair. • tscli ssl clear-min-tls-version [-h] Clears any customizations for the minimum TLS version to support. • tscli ssl off Disables SSL. Disabling SSL will stop users from seeing a security warning when accessing ThoughtSpot from a browser if there is no SSL certificate installed. • tscli ssl on [-h] If SSL is enabled and there is no certificate, users will see a security warning when accessing ThoughtSpot from a browser. • tscli ssl rm-cert Removes the existing SSL certificate, if any. • tscli ssl set-min-tls-version [-h] {1.0,1.1,1.2} Sets the minimum supported TLS version. Sets the minimum SSL version to be supported by the ThoughtSpot application. Please ensure that client browsers are enabled for this version or newer. • tscli ssl status Shows whether SSL authentication is enabled or disabled. • tscli ssl tls-status [-h] Prints the status of TLS support. storage tscli storage [-h] gc df This subcommand supports the following actions: • tscli storage gc [-h] [--log_age LOG_AGE ] [--force] [--localhost_only] Garbage collect unused storage. Before issuing this command, you must stop the cluster using tscli cluster stop. After garbage collection has completed, you can restart the cluster with tscli cluster start. The command frees space in these directories: ◦ ◦ ◦ ◦ ◦ ◦ ◦ /tmp /usr/local/scaligent/logs/ /export/logs/orion /export/logs/oreo /export/logs/hadoop /export/logs/zookeeper cores Accepts these optional flags: ◦ --log_age LOG_AGE Delete logs older than these many hours. Use a non-zero value ideally. A zero value will cause all temporary files to be deleted, including say those which are just temporarily closed while they are being passed from one component to the next. (default: 4) ◦ --force Forces deletion of all logs and temporary files regardless of age. This must ThoughtSpot User Guide Page 268 tscli command reference December 09, 2017 only be run on a stopped cluster. (default: False) ◦ --localhost_only If used, only the logs on the localhost will be removed. If not specified, the command acts on the entire cluster. • tscli storage df [--mode disk|hdfs] Checks the disk usage on the relevant mounts. Returns output similar to the Linux system command df -h . support tscli support [-h] {restart-remote,rm-admin-email,rm-admin-phone,set-admin-email,set-admin-phone,set-remot e,show-admin-email,show-admin-phone,show-remote,start-remote,stop-remote} This subcommand supports the following actions: • tscli support restart-remote Restarts remote support. • tscli support rm-admin-email Removes the email address for contacting the customer administrator. Replaces it with the default ThoughtSpot Support email address. • tscli support rm-admin-phone Removes the phone number for contacting the customer administrator. Replaces it with the default ThoughtSpot Support phone number. • tscli support set-admin-email email Sets the email address for contacting the customer administrator. If you would like to display a blank email address, issue the command tscli support set-admin-email ' '. • tscli support set-admin-phone phone_number Sets the phone number for contacting the customer administrator. Specify a phone number using any value (e.g. +1 800-508-7008 Ext. 1). If you would like to display a blank phone number, issue the command tscli support setadmin-phone. • tscli support set-remote [-h] [--addr ADDR] [--user USER] Configures the cluster for remote support through SSH tunneling, where ADDR is the address of support, e.g. tunnel.thoughtspot.com, and USER is the support username. • tscli support show-admin-email Shows the email address for customer administrator, if set. • tscli support show-admin-phone Shows the phone number for customer administrator, if set. • tscli support show-remote Shows the status and configuration of remote support. • tscli support start-remote Starts remote support. • tscli support stop-remote Stops remote support. ThoughtSpot User Guide Page 269 Date and time formats reference December 09, 2017 Da Datte and time fforma ormats ts rref efer erenc ence e This is a references for the date and time contexts and formats you can use with ThoughtSpot. You define data formats in specific contexts and, depending on the context, your choices in data formatting differ. You must understand date and time when you load data in these contexts: • using data upload from the browser • through tsload command • through data connect or another extract, transform, load (ETL) tool Data loading formats do not change how data is displayed in tables and charts. The context where you can control date and time formats is data modeling. Data modeling controls how data is displayed in search and their resulting answers. Da Data ta loading fforma ormats ts via tsload When loading via the tsload command you must specify date and timestamp formats using the format specifications defined in thestrptime library function. Data is imported based on the timezone of the node from which tsload is run. For date data types, the default format is %Y%m%d which translates to yearmonthday For example, Dec 30th, 2001 is represented as 20011230. For time and datetime data types, the default is %Y%m%d %H:%M:%S which translates to yearmonthday hour:minute:second, for example, Dec 30th, 2001 1:15:12 is represented as 20011230 01:15:12. Da Data ta modeling fforma ormats ts ffor or br bro owser da data ta upload These date and time formats are supported in a CSV file when uploading via the browser. You cannot specify the date format; ThoughtSpot will pick the format that fits your data best: • • • • • • • • • • • • • • • • • • • • • • • • • • • 1/30/2014 2014-01-30 2014-1-30 30-Jan-2014 2014-Jan-30 2014-01-30 10:32 AM 2014-01-30 14:52 2014-01-30 10:32:22 2014-01-30 10:32:22 AM 2014-01-30 10:32:22.0 2014-01-30 10:32:22.0 AM 2014-01-30 10:32:22.000 2014-01-30 10:32:22.000 AM 1/30/2014 30-Jan-14 01-Mar-02 (assumes 2002) 30/1/2014 10:32 AM 30/1/2014 14:52 30/1/2014 10:32:22 30/1/2014 10:32:22 AM 30/1/2014 10:32:22.0 30/1/2014 10:32:22.0 AM 30/1/2014 10:32:22.000 30/1/2014 10:32:22.000 AM 30-Jan-14 10:32 AM 30-Jan-14 14:52 30-Jan-14 10:32:22 ThoughtSpot User Guide Page 270 Date and time formats reference • • • • • • • • • • • • • • • • • • • • • December 09, 2017 30-Jan-14 10:32:22 AM 30-Jan-14 10:32:22.0 30-Jan-14 10:32:22.0 AM 30-Jan-14 10:32:22.000 30-Jan-14 10:32:22.000 AM Fri Jan 30 2014 3:26 PM Fri Jan 30 2014 13:46 Fri Jan 30 2014 10:32:22 Fri Jan 30 2014 10:32:22 AM Fri Jan 30 2014 10:32:22.0 Fri Jan 30 2014 10:32:22.0 AM Fri Jan 30 2014 10:32:22.000 Fri Jan 30 2014 10:32:22.000 AM 14:52 10:32 AM 10:32:22 10:32:22 AM 10:32:22.0 10:32:22.000 10:32:22.0 AM 10:32:22.000 AM Da Data ta loading fforma ormats ts via da data ta c connect onnect or another ETL ttool ool Data that is loaded via ETL arrives through ODBC or JDBC connection. After you extract the data from the source and before you load it into ThoughtSpot, you must transform any date or timestamp into a valid format for ThoughtSpot. Once transformed, no explicit data masking is required. See the data integration guide for more details of loading data via ODBC and JDBC. Da Data ta modeling fforma ormats ts A user with administrative rights can configure data modeling for data on one or all files. You can set number, date, and currency display formats. These formats define how these value types display in tables and charts. See the Admin Guide for more information about data modeling settings. The following format strings are available for use: Forma ormatt mask Description YYYY or yyyy four digit year such as 2017 YY or yy last two digits of year such as 17 M month with no leading zero 1-12 MM Two digit month 01-12 MMM Three letter month such as Jan D Day of year without a leading zero 0-365 DD Day of year with up to one leading zero 01-365 DDD Day of year with up to two leading zeroes 001-365 ThoughtSpot User Guide Page 271 Date and time formats reference Forma ormatt mask Description d Day of month with no leading zero 1-31 dd Two digit day of month 01-31 HH Two digit 24 hour representation of hour 00-23 hh Two digit 12 hour representation of hour 01-12 H 24 hour representation of hour with no leading zero 0-23 h 12 hour representation of hour with no leading zero 1-12 mm Minutes 00-59 m Minutes with no leading zero 0-59 ss Seconds 00-59 s Seconds with no leading zero 0-59 a AM/PM indicator December 09, 2017 Valid delimiters include most non-alphabet characters. This includes but is not limited to: • • • • • • • \ / | : _ = (forward slash) (backward slash) (pipe symbol) (colon) (dash) (underscore) (equal sign) Examples of valid format masks you can produce for display are as follows: • • • • • MM/dd/yyyy MMM DD/MM/yyyy MM/dd/yyyy HH:mm DD/MM/yyyy HH:mm ThoughtSpot User Guide Page 272 Row level security rules reference December 09, 2017 Row le lev vel security rules rref efer erenc ence e ThoughtSpot allows you to create row level security rules using expressions. If an expression evaluates to “true” for a particular row and group combination, that group will be able to see that row. This reference lists the various operators and functions you can use to create rules. For information on how to use the row level security functions and operators, see About Rule-Based Row Level Security. There is a special variable called ts_groups, which you can use when creating row level security rules. It fetches a list of the groups that the currently logged in user belongs to. For each row, f the expression in the rule evaluates to ‘true’ for any one of these groups, that row will be shown to the user. You can also see this list of operators and examples from within the Rule Builder by selecting Rule As Assis sistant tant. Con onv version functions These functions can be used to convert data from one data type to another. Conversion to or from date data types is not supported. Function Description Ex Examples amples to_bool Returns the input as a boolean (true or false). to_bool (0) = false to_bool (married) to_date Accepts a date represented as an integer or text string, and a second string parameter that can include strptime date formatting elements. Replaces all the valid strptime date formatting elements with their string counterparts and returns the result. Does not accept epoch formatted dates as input. to_date (date_sold, '%Y-%m-%d') to_double Returns the input as a double. to_double ('3.14') = 3.14 to_double (revenue * .01) to_integer Returns the input as an integer. to_integer ('45') + 1 = 46 to_integer (price + tax cost) to_string Returns the input as a text string. to_string (45 + 1) = '46' to_string (revenue - cost) Da Datte functions Function Description Ex Examples amples add_days Returns the result of adding the specified number of add_days (01/30/2015, 5) = 02/04/2015 add_days (invoiced, 30) ThoughtSpot User Guide Page 273 Row level security rules reference Function Description December 09, 2017 Ex Examples amples days to the given date. date Returns the date portion of a given date. date (home visit) day Returns the number (1-31) of the day for the given date. day (01/15/2014) = 15 day (date ordered) day_number_of_week Returns the number (1-7) of the day in a week for the given date with 1 being Monday and 7 being Sunday. day_number_of_week (01/30/2015) = 6 day_number_of_week (shipped) day_number_of_year Returns the number (1-366) of the day in a year for the given date. day_number_of_year (01/30/2015) = 30 day_number_of_year (invoiced) day_of_week Returns the day of the week for the given date. day_of week (01/30/2015) = Friday day_of_week (serviced) diff_days Subtracts the second date from the first date and returns the result in number of days, rounded down if not exact. diff_days (01/15/2014, 01/17/2014) = -2 diff_days (purchased, shipped) diff_time Subtracts the second date from the first date and returns the result in number of seconds. diff_time (01/01/2014, 01/01/2014) = -86,400 diff_time (clicked, submitted) hour_of_day Returns the hour of the day for the given date. hour_of_day (received) is_weekend Returns true if the given date falls on a Saturday or Sunday. is_weekend (01/31/2015) = true is_weekend (emailed) month Returns the month from the given date. month (01/15/2014) = January month (date ordered) month_number Returns the number (1-12) of the month for the given date. month_number (09/20/2014) = 9 month_number (purchased) now Returns the current timestamp. now () start_of_month Returns `MMM yyyy` for start_of_month ( 01/31/2015 ) = Jan ThoughtSpot User Guide Page 274 Row level security rules reference Function December 09, 2017 Description Ex Examples amples the first day of the month. Your installation configuration can override this setting so that it returns a different format such as `MM/ dd/yyyy`. Speak with your ThoughtSpot administrator if you . FY 2015 start_of_month (shipped) start_of_quarter Returns the date for the first day of the quarter for the given date. start_of_quarter ( 09/18/2015 ) = Q3 FY 2015 start_of_quarter (sold) start_of_week Returns the date for the first day of the week for the given date. start_of_week ( 06/01/2015 ) = 05/30/ 2015 Week start_of_week (emailed) start_of_year Returns the date for the first day of the year for the given date. start_of_year ( 02/15/2015 ) = FY 2015 start_of_year (joined) time Returns the time portion of a given date. time (3/1/2002 10:32) = 10:32 time (call began) year Returns the year from the given date. year (01/15/2014) = 2014 year (date ordered) Mix Mixed ed functions These functions can be used with text and numeric data types. Function Description Ex Examples amples != Returns true if the first value is not equal to the second value. 3 != 2 = true revenue != 1000000 < Returns true if the first value is less than the second value. 3 < 2 = false revenue < 1000000 <= Returns true if the first value is less than or equal to the second value. 1 <= 2 = true revenue <= 1000000 = Returns true if the first value is equal to the second value. 2 = 2 = true revenue = 1000000 > Returns true if the first value is greater than the second value. 3 > 2 = true revenue > 1000000 >= Returns true if the first value is greater 3 >= 2 = true ThoughtSpot User Guide Page 275 Row level security rules reference Function December 09, 2017 Description Ex Examples amples than or equal to the second value. revenue >= 1000000 greatest Returns the larger of the values. greatest (20, 10) = 20 greatest (q1 revenue, q2 revenue) least Returns the smaller of the values. least (20, 10) = 10 least (q1 revenue, q2 revenue) Number functions Function Description Ex Examples amples ? Returns the result of multiplying both numbers. 3 * 2 = 6 price * taxrate + Returns the result of adding both numbers. 1 + 2 = 3 price + shipping - Returns the result of subtracting the second number from the first. 3 - 2 = 1 revenue - tax / Returns the result of dividing the first number by the second. 6 / 3 = 2 markup / retail price ^ Returns the first number raised to the power of the second. 3 ^ 2 = 9 width ^ 2 abs Returns the absolute value. abs (-10) = 10 abs (profit) acos Returns the inverse cosine in degrees. acos (0.5) = 60 acos (cos-satellite-angle) asin Returns the inverse sine (specified in degrees). asin (0.5) = 30 asin (sin-satellite-angle) atan Returns the inverse tangent in degrees. atan (1) = 45 atan (tan-satellite-angle) atan2 Returns the inverse tangent in degrees. atan2 (10, 10) = 45 atan2 (longitude, latitude) cbrt Returns the cube root of a number. cbrt (27) = 3 cbrt (volume) ceil Returns the smallest following integer. ceil (5.9) = 6 ceil (growth rate) ThoughtSpot User Guide Page 276 Row level security rules reference December 09, 2017 Function Description Ex Examples amples cos Returns the cosine of an angle (specified in degrees). cos (63) = 0.45 cos (beam angle) cube Returns the cube of a number. cube (3) = 27 cube (length) exp Returns Euler’s number (~2.718) raised to a power. exp (2) = 7.38905609893 exp (growth) exp2 Returns 2 raised to a power. exp2 (3) = 8 exp2 (growth) floor Returns the largest previous integer. floor (5.1) = 5 floor (growth rate) ln Returns the natural logarithm. ln (7.38905609893) = 2 ln (distance) log10 Returns the logarithm with base 10. log10 (100) = 2 log10 (volume) log2 Returns the logarithm with base 2 (binary logarithm). log2 (32) = 5 log2 (volume) mod Returns the remainder of first number divided by the second number. mod (8, 3) = 2 mod ( revenue , quantity ) pow Returns the first number raised to the power of the second number. pow (5, 2) = 25 pow (width, 2) random Returns a random number between 0 and 1. random ( ) = .457718 random ( ) round Returns the first number rounded to the second number (the default is 1). round (35.65, 10) = 40 round (battingavg, 100) safe_divide Returns the result of dividing the first number by the second. If the second number is 0, returns 0 instead of NaN (not a number). safe_divide (12, 0) = 0 safe_divide (total_cost, units) sign Returns +1 if the number is greater than zero, -1 if less than zero, 0 if zero. sign (-250) = -1 sign (growth rate) sin Returns the sine of an angle (specified in degrees). sin (35) = 0.57 sin (beam angle) ThoughtSpot User Guide Page 277 Row level security rules reference December 09, 2017 Function Description Ex Examples amples spherical_distance Returns the distance in km between two points on Earth. spherical_distance (37.465191, -122.153617, 37.421962, -122.142174) = 4,961.96 spherical_distance (start_latitude, start_longitude, start_latitude, start_longitude) sq Returns the square of a numeric value. sq (9) = 81 sq (width) sqrt Returns the square root. sqrt (9) = 3 sqrt (area) tan Returns the tangent of an angle (specified in degrees). tan (35) = 0.7 tan (beam angle) Oper Opera ators Oper Opera ator Description Ex Examples amples and Returns true when both conditions are true, otherwise returns false. (1 = 1) and (3 > 2) = true lastname = 'smith' and state ='texas' if…then…else Conditional operator. if (3 > 2) then 'bigger' else 'not bigger' if (cost > 500) then 'flag' else 'approve' ifnull Returns the first value if it is not null, otherwise returns the second. ifnull (cost, 'unknown') isnull Returns true if the value is null. isnull (phone) not Returns true if the condition is false, otherwise returns false. not (3 > 2) = false not (state = 'texas') or Returns true when either condition is true, otherwise returns false. (1 = 5) or (3 > 2) = true state = 'california' or state ='oregon' ThoughtSpot User Guide Page 278 Row level security rules reference December 09, 2017 Text functions Function Description Ex Examples amples concat Returns the one or more values as a concatenated text string. Be sure to use single quotes instead of double quotes around each of the strings. concat ( 'hay' , 'stack' ) = 'haystack' concat (last_name , first_name) contains Returns true if the first string contains the second string, otherwise returns false. contains ('broomstick', 'room') = true contains (product, 'trial version') edit_distance Accepts two text strings. Returns the edit distance (minimum number of operations required to transform one string into the other) as an integer. Works with strings under 1023 characters. edit_distance ('attorney', 'atty') = 4 edit_distance (color, 'red') edit_distance_with_cap Accepts two text strings and an integer to specify the upper limit cap for the edit distance (minimum number of operations required to transform one string into the other). If the edit distance is less than or equal to the specified cap, returns the edit distance. If it is higher than the cap, returns the cap plus 1. Works with strings under 1023 characters. edit_distance_with_cap ('pokemon go', 'minecraft pixelmon', 3) = 4 edit_distance_with_cap (event, 'burning man', 3) similar_to Accepts a document text string and a search text string. Returns true if relevance score (0-100) of the search string with respect to the document is greater than or equal to 20. Relevance is based on edit distance, number of words in the query, and length of words in the query which are present in the document. similar_to ('hello world', 'hello swirl') = true similar_to (current team, drafted by) similarity Accepts a document text string and a search text string. Returns the relevance score (0-100) of the search string with respect to the similarity ('where is the burning man concert', 'burning man') = 46 similarity (tweet1, tweet2) ThoughtSpot User Guide Page 279 Row level security rules reference Function Description December 09, 2017 Ex Examples amples document. Relevance is based on edit distance, number of words in the query, and length of words in the query which are present in the document. If the two strings are an exact match, returns 100. spells_like Accepts two text strings. Returns true if they are spelled similarly and false if they are not. Works with strings under 1023 characters. spells_like ('thouhgtspot', 'thoughtspot') = true spells_like (studio, distributor) strlen Returns the length of the text. strlen ('smith') = 5 strlen (lastname) strpos Returns the numeric position (starting from 0) of the first occurrence of the second string in the first string, or -1 if not found. strpos ('haystack_with_needles', 'needle') = 14 strpos (complaint, 'lawyer') substr Returns the portion of the given string, beginning at the location specified (starting from 0), and of the given length. substr ('persnickety', 3, 7) = snicket substr (lastname, 0, 5) Variables These variables can be used in your expressions. Function Description Ex Examples amples ts_groups Returns the list all the groups the current logged in user belongs to. For any row, if the expression evaluates to true for any of the groups, the user can see that row. ts_groups = east ThoughtSpot User Guide Page 280 Formula reference December 09, 2017 Formula rref efer erenc ence e ThoughtSpot allows you to create derived columns in worksheets using formulas. This reference lists the various operators and functions you can use to create formulas. You can also see this list of operators and examples from within the Formula Builder by selecting Formula As Assis sistant tant. Aggr ggrega egatte functions These functions can be used to aggregate data. Function Description Ex Examples amples average Returns the average of all the values of a column. average (revenue) count Returns the number of rows in the table containing the column. count (product) cumulative_average Takes a measure and one or more attributes. Returns the average of the measure, accumulated by the attribute(s) in the order specified. cumulative_average (revenue, order date, state) cumulative_max Takes a measure and one or more attributes. Returns the maximum of the measure, accumulated by the attribute(s) in the order specified. cumulative_max (revenue, state) cumulative_min Takes a measure and one or more attributes. Returns the minimum of the measure, accumulated by the attribute(s) in the order specified. cumulative_min (revenue, campaign) cumulative_sum Takes a measure and one or more attributes. Returns the sum of the measure, accumulated by the attribute(s) in the order specified. cumulative_sum (revenue, order date) group_average Takes a measure and one or more attributes. Returns the average of the measure grouped by the attribute(s). group_average (revenue, customer region, state) group_count Takes a measure and one or more attributes. Returns the count of the measure grouped by the attribute(s). group_count (revenue, customer region) group_max Takes a measure and one or more attributes. Returns the maximum of the measure grouped by the attribute(s). group_max (revenue, customer region) group_min Takes a measure and one or more attributes. Returns the minimum of the measure grouped by the attribute(s). group_min (revenue, customer region) ThoughtSpot User Guide Page 281 Formula reference December 09, 2017 Function Description Ex Examples amples group_stddev Takes a measure and one or more attributes. Returns the standard deviation of the measure grouped by the attribute(s). group_stddev (revenue, customer region) group_sum Takes a measure and one or more attributes. Returns the sum of the measure grouped by the attribute(s). group_sum (revenue, customer region) group_unique_count Takes a measure and one or more attributes. Returns the unique count of the measure grouped by the attribute(s). group_unique_count (product , supplier) group_variance Takes a measure and one or more attributes. Returns the variance of the measure grouped by the attribute(s). group_variance (revenue, customer region) max Returns the maximum value of a column. max (sales) min Returns the minimum value of a column. min (revenue) moving_average Takes a measure, two integers to define the window to aggregate over, and one or more attributes. The window is (current - Num1…Current + Num2) with both end points being included in the window. For example, “1,1” will have a window size of 3. To define a window that begins before Current, specify a negative number for Num2. Returns the average of the measure over the given window. The attributes are the ordering columns used to compute the moving average. moving_average (revenue, 2, 1, customer region) moving_max Takes a measure, two integers to define the window to aggregate over, and one or more attributes. The window is (current - Num1…Current + Num2) with both end points being included in the window. For example, “1,1” will have a window size of 3. To define a window that begins before Current, specify a negative number for Num2. Returns the maximum of the measure over the given window. The attributes are the ordering columns used to compute the moving maximum. moving_max (complaints, 1, 2, store name) moving_min Takes a measure, two integers to define the window to aggregate over, and one or more attributes. The window is (current - Num1…Current + Num2) with both end points being included in the window. For example, “1,1” will have a window size of 3. To define a window that begins before Current, specify a negative number for Num2. Returns the minimum of the measure over the given window. The attributes are the ordering columns used to compute the moving minimum. moving_min (defects, 3, 1, product) ThoughtSpot User Guide Page 282 Formula reference December 09, 2017 Function Description Ex Examples amples moving_sum Takes a measure, two integers to define the window to aggregate over, and one or more attributes. The window is (current - Num1…Current + Num2) with both end points being included in the window. For example, “1,1” will have a window size of 3. To define a window that begins before Current, specify a negative number for Num2. Returns the sum of the measure over the given window. The attributes are the ordering columns used to compute the moving sum. moving_sum (revenue, 1, 1, order date) stddev Returns the standard deviation of all values of a column. stddev (revenue) sum Returns the sum of all the values of a column. sum (revenue) unique count Returns the number of unique values of a column. unique count (customer) variance Returns the variance of all the values of a column. variance (revenue) Con onv version functions These functions can be used to convert data from one data type to another. Conversion to or from date data types is not supported. Function Description Ex Examples amples to_bool Returns the input as a boolean (true or false). to_bool (0) = false to_bool (married) to_date Accepts a date represented as an integer or text string, and a second string parameter that can include strptime date formatting elements. Replaces all the valid strptime date formatting elements with their string counterparts and returns the result. Does not accept epoch formatted dates as input. to_date (date_sold, '%Y-%m-%d') to_double Returns the input as a double. to_double ('3.14') = 3.14 to_double (revenue * .01) to_integer Returns the input as an integer. to_integer ('45') + 1 = 46 to_integer (price + tax cost) to_string Returns the input as a text string. to_string (45 + 1) = '46' to_string (revenue - cost) ThoughtSpot User Guide Page 283 Formula reference December 09, 2017 Da Datte functions Function Description Ex Examples amples add_days Returns the result of adding the specified number of days to the given date. add_days (01/30/2015, 5) = 02/04/2015 add_days (invoiced, 30) date Returns the date portion of a given date. date (home visit) day Returns the number (1-31) of the day for the given date. day (01/15/2014) = 15 day (date ordered) day_number_of_week Returns the number (1-7) of the day in a week for the given date with 1 being Monday and 7 being Sunday. day_number_of_week (01/30/2015) = 6 day_number_of_week (shipped) day_number_of_year Returns the number (1-366) of the day in a year for the given date. day_number_of_year (01/30/2015) = 30 day_number_of_year (invoiced) day_of_week Returns the day of the week for the given date. day_of week (01/30/2015) = Friday day_of_week (serviced) diff_days Subtracts the second date from the first date and returns the result in number of days, rounded down if not exact. diff_days (01/15/2014, 01/17/2014) = -2 diff_days (purchased, shipped) diff_time Subtracts the second date from the first date and returns the result in number of seconds. diff_time (01/01/2014, 01/01/2014) = -86,400 diff_time (clicked, submitted) hour_of_day Returns the hour of the day for the given date. hour_of_day (received) is_weekend Returns true if the given date falls on a Saturday or Sunday. is_weekend (01/31/2015) = true is_weekend (emailed) month Returns the month from the given date. month (01/15/2014) = January month (date ordered) ThoughtSpot User Guide Page 284 Formula reference December 09, 2017 Function Description Ex Examples amples month_number Returns the number (1-12) of the month for the given date. month_number (09/20/2014) = 9 month_number (purchased) now Returns the current timestamp. now () start_of_month Returns `MMM yyyy` for the first day of the month. Your installation configuration can override this setting so that it returns a different format such as `MM/ dd/yyyy`. Speak with your ThoughtSpot administrator if you . start_of_month ( 01/31/2015 ) = Jan FY 2015 start_of_month (shipped) start_of_quarter Returns the date for the first day of the quarter for the given date. start_of_quarter ( 09/18/2015 ) = Q3 FY 2015 start_of_quarter (sold) start_of_week Returns the date for the first day of the week for the given date. start_of_week ( 06/01/2015 ) = 05/30/ 2015 Week start_of_week (emailed) start_of_year Returns the date for the first day of the year for the given date. start_of_year ( 02/15/2015 ) = FY 2015 start_of_year (joined) time Returns the time portion of a given date. time (3/1/2002 10:32) = 10:32 time (call began) year Returns the year from the given date. year (01/15/2014) = 2014 year (date ordered) Mix Mixed ed functions These functions can be used with text and numeric data types. Function Description Ex Examples amples != Returns true if the first value is not equal to the second value. 3 != 2 = true revenue != 1000000 < Returns true if the first value is less than the second value. 3 < 2 = false revenue < 1000000 <= Returns true if the first value is less than or equal to the second value. 1 <= 2 = true revenue <= 1000000 ThoughtSpot User Guide Page 285 Formula reference December 09, 2017 Function Description Ex Examples amples = Returns true if the first value is equal to the second value. 2 = 2 = true revenue = 1000000 > Returns true if the first value is greater than the second value. 3 > 2 = true revenue > 1000000 >= Returns true if the first value is greater than or equal to the second value. 3 >= 2 = true revenue >= 1000000 greatest Returns the larger of the values. greatest (20, 10) = 20 greatest (q1 revenue, q2 revenue) least Returns the smaller of the values. least (20, 10) = 10 least (q1 revenue, q2 revenue) Number functions Function Description Ex Examples amples ? Returns the result of multiplying both numbers. 3 * 2 = 6 price * taxrate + Returns the result of adding both numbers. 1 + 2 = 3 price + shipping - Returns the result of subtracting the second number from the first. 3 - 2 = 1 revenue - tax / Returns the result of dividing the first number by the second. 6 / 3 = 2 markup / retail price ^ Returns the first number raised to the power of the second. 3 ^ 2 = 9 width ^ 2 abs Returns the absolute value. abs (-10) = 10 abs (profit) acos Returns the inverse cosine in degrees. acos (0.5) = 60 acos (cos-satellite-angle) asin Returns the inverse sine (specified in degrees). asin (0.5) = 30 asin (sin-satellite-angle) atan Returns the inverse tangent in degrees. atan (1) = 45 atan (tan-satellite-angle) atan2 Returns the inverse tangent in degrees. atan2 (10, 10) = 45 atan2 (longitude, latitude) ThoughtSpot User Guide Page 286 Formula reference December 09, 2017 Function Description Ex Examples amples cbrt Returns the cube root of a number. cbrt (27) = 3 cbrt (volume) ceil Returns the smallest following integer. ceil (5.9) = 6 ceil (growth rate) cos Returns the cosine of an angle (specified in degrees). cos (63) = 0.45 cos (beam angle) cube Returns the cube of a number. cube (3) = 27 cube (length) exp Returns Euler’s number (~2.718) raised to a power. exp (2) = 7.38905609893 exp (growth) exp2 Returns 2 raised to a power. exp2 (3) = 8 exp2 (growth) floor Returns the largest previous integer. floor (5.1) = 5 floor (growth rate) ln Returns the natural logarithm. ln (7.38905609893) = 2 ln (distance) log10 Returns the logarithm with base 10. log10 (100) = 2 log10 (volume) log2 Returns the logarithm with base 2 (binary logarithm). log2 (32) = 5 log2 (volume) mod Returns the remainder of first number divided by the second number. mod (8, 3) = 2 mod ( revenue , quantity ) pow Returns the first number raised to the power of the second number. pow (5, 2) = 25 pow (width, 2) random Returns a random number between 0 and 1. random ( ) = .457718 random ( ) round Returns the first number rounded to the second number (the default is 1). round (35.65, 10) = 40 round (battingavg, 100) safe_divide Returns the result of dividing the first number by the second. If the second number is 0, returns 0 instead of NaN (not a number). safe_divide (12, 0) = 0 safe_divide (total_cost, units) sign Returns +1 if the number is greater sign (-250) = -1 ThoughtSpot User Guide Page 287 Formula reference December 09, 2017 Function Description Ex Examples amples than zero, -1 if less than zero, 0 if zero. sign (growth rate) sin Returns the sine of an angle (specified in degrees). sin (35) = 0.57 sin (beam angle) spherical_distance Returns the distance in km between two points on Earth. spherical_distance (37.465191, -122.153617, 37.421962, -122.142174) = 4,961.96 spherical_distance (start_latitude, start_longitude, start_latitude, start_longitude) sq Returns the square of a numeric value. sq (9) = 81 sq (width) sqrt Returns the square root. sqrt (9) = 3 sqrt (area) tan Returns the tangent of an angle (specified in degrees). tan (35) = 0.7 tan (beam angle) Oper Opera ators Oper Opera ator Description Ex Examples amples and Returns true when both conditions are true, otherwise returns false. (1 = 1) and (3 > 2) = true lastname = 'smith' and state ='texas' if…then…else Conditional operator. if (3 > 2) then 'bigger' else 'not bigger' if (cost > 500) then 'flag' else 'approve' ifnull Returns the first value if it is not null, otherwise returns the second. ifnull (cost, 'unknown') isnull Returns true if the value is null. isnull (phone) not Returns true if the condition is false, otherwise returns false. not (3 > 2) = false not (state = 'texas') or Returns true when either condition is true, otherwise returns false. (1 = 5) or (3 > 2) = true state = 'california' or state ='oregon' ThoughtSpot User Guide Page 288 Formula reference December 09, 2017 Text functions Function Description Ex Examples amples concat Returns the one or more values as a concatenated text string. Be sure to use single quotes instead of double quotes around each of the strings. concat ( 'hay' , 'stack' ) = 'haystack' concat (last_name , first_name) contains Returns true if the first string contains the second string, otherwise returns false. contains ('broomstick', 'room') = true contains (product, 'trial version') edit_distance Accepts two text strings. Returns the edit distance (minimum number of operations required to transform one string into the other) as an integer. Works with strings under 1023 characters. edit_distance ('attorney', 'atty') = 4 edit_distance (color, 'red') edit_distance_with_cap Accepts two text strings and an integer to specify the upper limit cap for the edit distance (minimum number of operations required to transform one string into the other). If the edit distance is less than or equal to the specified cap, returns the edit distance. If it is higher than the cap, returns the cap plus 1. Works with strings under 1023 characters. edit_distance_with_cap ('pokemon go', 'minecraft pixelmon', 3) = 4 edit_distance_with_cap (event, 'burning man', 3) similar_to Accepts a document text string and a search text string. Returns true if relevance score (0-100) of the search string with respect to the document is greater than or equal to 20. Relevance is based on edit distance, number of words in the query, and length of words in the query which are present in the document. similar_to ('hello world', 'hello swirl') = true similar_to (current team, drafted by) similarity Accepts a document text string and a search text string. Returns the relevance score (0-100) of the search string with respect to the similarity ('where is the burning man concert', 'burning man') = 46 similarity (tweet1, tweet2) ThoughtSpot User Guide Page 289 Formula reference Function December 09, 2017 Description Ex Examples amples document. Relevance is based on edit distance, number of words in the query, and length of words in the query which are present in the document. If the two strings are an exact match, returns 100. spells_like Accepts two text strings. Returns true if they are spelled similarly and false if they are not. Works with strings under 1023 characters. spells_like ('thouhgtspot', 'thoughtspot') = true spells_like (studio, distributor) strlen Returns the length of the text. strlen ('smith') = 5 strlen (lastname) strpos Returns the numeric position (starting from 0) of the first occurrence of the second string in the first string, or -1 if not found. strpos ('haystack_with_needles', 'needle') = 14 strpos (complaint, 'lawyer') substr Returns the portion of the given string, beginning at the location specified (starting from 0), and of the given length. substr ('persnickety', 3, 7) = snicket substr (lastname, 0, 5) ThoughtSpot User Guide Page 290 Error code reference December 09, 2017 Err Error or c code ode rref efer erenc ence e Summary: List of error codes and messages. This section lists error codes that can appear in ThoughtSpot, with summary information and actions to take. Error codes and messages are shown in ThoughtSpot when something goes wrong. These messages can appear in the application and in logs. When you see an error code, you will also see a message with a brief summary of what has happened. If there is a remediation action you can take, it will be listed in this references. If there is no action listed, please contact ThoughtSpot Support.  Tip: Only the base code number is listed for each error. So keep this in mind when searching through these codes. For example, error code TS-00125 is simply listed as 125. Metada Metadata ta Err Errors ors (100 - 4 499)| 99)| Code Se Sev verity Summary Details Action TS-100 INFO Success. {1} has been added to {2}. # {1} – name of visualization # {2} – {name/link to pinboard} None None TS-101 ERROR Failure adding {1} to {2} Visualization could not be added to {2} # {1} – name of visualization # {2} – name/link to pinboard None TS-102 ERROR Failure adding {1} to {2} due to corruption {1} could not be added to {2} as the pinboard has one or more invalid visualizations Please try again after removing the invalid visualization(s) from {2} # {1} – name of visualization # {2} – name/link to pinboard TS-103 INFO Success. Visualization has been deleted from {1}. 1 – name/link to pinboard None None TS-104 ERROR Failure deleting visual from {1} Visualization could not be deleted from the pinboard. 1 – name/link to pinboard None TS-105 ERROR Failure deleting visual from {1} due to corruption Visualization could not be deleted from {1} as the pinboard has one or more Please try again after removing the invalid visualization(s) from the pin- ThoughtSpot User Guide Page 291 Error code reference Code Se Sev verity December 09, 2017 Summary Details Action invalid visualizations. 1 – name/link to pinboard board TS-106 INFO Success. {1} created successfully. 1 – name/link to pinboard None None TS-107 ERROR Failure creating {1}. 1 – name/link to pinboard Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-108 INFO Sticker created successfully. None None TS-109 ERROR Failure creating the sticker. Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-110 INFO Sticker deleted successfully. None None TS-111 ERROR Failure deleting sticker. Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-112 INFO Pinboards deleted successfully. None None TS-113 ERROR Failure deleting pinboards Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-114 INFO Answers deleted successfully. None None TS-115 ERROR Failure deleting answers Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-116 INFO Tables deleted successfully. None None TS-117 ERROR Failure deleting tables Uh oh. We’re not sure what happened. Please email the trace file to {ad- None ThoughtSpot User Guide Page 292 Error code reference Code Se Sev verity December 09, 2017 Summary Details Action minEmail}. TS-118 INFO Relationship created successfully. None None TS-119 ERROR Failure creating relationship Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-120 INFO Relationship updated successfully. None None TS-121 ERROR Failure updating the relationship Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-122 INFO Relationship deleted successfully. None None TS-123 ERROR Failure deleting the relationship Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-124 ERROR Failure fetching details for table Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-125 ERROR Failure fetching details for the tables Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-126 ERROR Failure fetching details for datasource Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-127 ERROR Failure fetching details for datasources Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-128 ERROR Failure fetching details for metadata items Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None ThoughtSpot User Guide Page 293 Error code reference December 09, 2017 Code Se Sev verity Summary Details Action TS-129 ERROR Failure opening the answer Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-130 ERROR Failure opening the pinboard Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-131 ERROR Failure opening the worksheet Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-132 INFO Table saved successfully. None None TS-133 ERROR There was a problem saving the table Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-134 INFO Visualization update successful None None TS-135 ERROR Visualization failed to update Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-136 INFO {1} saved 1 – name of answer None None TS-137 ERROR {1} could not be saved 1 – name of answer Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-138 INFO {1} saved 1 - name of pinboard / link None None TS-139 ERROR {1} could not be saved 1 - name of pinboard / link Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-140 INFO {1} saved 1 – name of worksheet None None TS-141 ERROR {1} could not be Uh oh. We’re not sure None ThoughtSpot User Guide Page 294 Error code reference Code Se Sev verity December 09, 2017 Summary Details saved 1 – name of worksheet what happened. Please email the trace file to {adminEmail}. Action TS-142 INFO {1} saved 1 – name of answer None None TS-143 ERROR {1} could not be saved Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. 1 – name of answer None TS-144 INFO {1} saved 1 – name/ link to pinboard None None TS-145 ERROR {1} could not be saved Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. 1 – name of pinboard None TS-146 INFO Worksheet saved None None TS-147 ERROR Worksheet could not be saved Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-148 INFO Sticker updated None None TS-149 ERROR The sticker could not be updated Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-150 INFO Successfully assigned sticker None None TS-151 ERROR The sticker could not be assigned Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-152 INFO Successfully unassigned sticker None None TS-153 ERROR The sticker could not be unassigned Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None ThoughtSpot User Guide Page 295 Error code reference December 09, 2017 Code Se Sev verity Summary Details Action TS-154 ERROR Failed to fetch metadata list Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-155 ERROR Failed to fetch table list Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-156 ERROR Failed to fetch relationship list Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-157 ERROR Failed to fetch answer list Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-158 ERROR Failed to fetch pinboard list Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-159 ERROR Failed to fetch worksheet list Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-160 ERROR Failed to fetch aggregated worksheet list Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-161 ERROR Failed to fetch imported data list Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-162 ERROR Failed to fetch system table list Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-163 ERROR Failed to DB view list Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-164 ERROR Failed to fetch data source list Uh oh. We’re not sure what happened. Please None ThoughtSpot User Guide Page 296 Error code reference Code Se Sev verity December 09, 2017 Summary Details Action email the trace file to {adminEmail}. TS-165 ERROR Failed to fetch column list Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-166 ERROR Failed to label list Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-167 ERROR Failed to fetch answer Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-168 ERROR Failed to fetch worksheet Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-169 INFO Aggregated worksheet {1} created 1 – name of aggregated worksheet None None TS-170 ERROR Failure creating Aggregated Worksheet. Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-171 INFO {1} updated 1 – name of aggregated worksheet None None TS-172 ERROR {1} failed to update 1 – name of aggregated worksheet Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-173 ERROR {1} failed to update 1 – name of the formula Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-174 ERROR Comments cannot be fetched Failed to save client state None TS-175 ERROR Comment cannot Uh oh. We’re not sure None ThoughtSpot User Guide Page 297 Error code reference Code Se Sev verity December 09, 2017 Summary Details be created what happened. Please email the trace file to {adminEmail}. Action TS-176 ERROR Comment cannot be updated Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-177 ERROR Comment cannot be deleted Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-178 INFO Rule saved successfully None None TS-179 ERROR Rule could not be saved We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-180 INFO Rule deleted successfully None None TS-181 ERROR Rule could not be deleted We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-182 INFO Item deleted successfully. None None TS-183 ERROR Item could not be deleted. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-184 INFO Related link created successfully. None None TS-185 ERROR Related link could not be created. Uh oh. We’re not sure what happened. Please click ‘Report Problem’ to email a report to your administrator, {adminEmail}. None TS-186 INFO Related link updated successfully. None None TS-187 ERROR Related link could not be updated. Uh oh. We’re not sure what happened. Please click ‘Report Problem’ to email a report to your ad- None ThoughtSpot User Guide Page 298 Error code reference Code Se Sev verity December 09, 2017 Summary Details Action ministrator, {adminEmail}. TS-188 INFO Related link deleted successfully. None None TS-189 ERROR Related link could not be deleted. Uh oh. We’re not sure what happened. Please click ‘Report Problem’ to email a report to your administrator, {adminEmail}. None TS-190 INFO Related link detail fetched successfully. None None TS-191 ERROR Related link detail could not be fetched. Uh oh. We’re not sure what happened. Please click ‘Report Problem’ to email a report to your administrator, {adminEmail}. None Da Data ta Servic Service e Err Errors ors (500 - 6 699) 99) Code Se Sev verity Summary Details Action TS-500 ERROR Failed to fetch leaf level data Failed to fetch leaf level data. None TS-501 ERROR Failed to fetch excel data Failed to fetch excel data. None TS-502 ERROR Failed to fetch visualization data Failed to fetch visuzliation data. None TS-503 ERROR Failed to fetch visualizations data Failed to fetch data for visualizations. None TS-504 ERROR Failed to fetch chart data Failed to fetch table data. None TS-505 ERROR Failed to fetch table data Failed to fetch table data. None TS-506 ERROR Failed to fetch worksheet data Failed to fetch worksheet data. None TS-507 ERROR Failed to fetch filter data Failed to fetch filter data. None ThoughtSpot User Guide Page 299 Error code reference December 09, 2017 Code Se Sev verity Summary Details Action TS-508 ERROR Failed to fetch headline data Failed to fetch filter data. None TS-509 ERROR Failed to fetch natural query Failed to fetch natural query. None TS-510 INFO File upload successful None None TS-511 ERROR Failed to upload file Failed to upload None TS-512 ERROR The pinboard data could not be exported to pdf. Uh oh. We’re not sure what happened. Please click ‘Report Problem’ to email a report to your administrator, {adminEmail}. None Dependenc Dependency y Err Errors ors (7 (700 00 - 7 799) 99) Code Se Sev verity Summary Details Action TS-700 ERROR Failure fetching table dependents Failed to fetch dependents for the table. None TS-701 ERROR Failure fetching column dependents Failed to fetch dependents for the column. None TS-702 ERROR Failure fetching incomplete items Failed to fetch incomplete items. None Admin Servic Service e Err Errors ors (800 - 8 899) 99) Code Se Sev verity Summary Details Action TS-800 ERROR Failure fetching MemCache stats Failed to fetch MemCache stats. None TS-801 ERROR Failure MemCache Clear Failed to clear MemCache. None TS-802 ERROR Failure searching from MemCache Failed to search from MemCache. None TS-803 ERROR Failure fetching Loggers Failed to fetch Loggers. None TS-804 ERROR Failure setting LogLevel Failed to set Log Level. None TS-805 ERROR Failure getting debug info Failed to get debug info. None ThoughtSpot User Guide Page 300 Error code reference December 09, 2017 Code Se Sev verity Summary Details Action TS-806 INFO Memcache cleared successfully None None TS-807 INFO Log level set successfully None None TS-808 ERROR Failed to report problem None None TS-809 INFO Problem reported successfully None None Permis ermissions sions Err Errors ors (900 - 999) Code Se Sev verity Summary Details Action TS-900 ERROR Failure fetching table permissions Failed to fetch table permissions. None TS-901 ERROR Failure fetching answer permissions Failed to fetch answer permissions. None TS-902 ERROR Failure fetching pinboard permissions Failed to fetch pinboard permissions. None TS-903 ERROR Failure getting metadata permissions Failed to get metadata permissions. None Import Da Data ta Err Errors ors (1000 - 1099) Code Se Sev verity Summary Details Action TS-1000 ERROR Data caching failed Data caching failed. None TS-1001 ERROR Read Columns failed. Failed to read columns. None TS-1002 ERROR Failed to read keys. Failed to read keys. None TS-1003 ERROR Failed to read relationships. Failed to read relationships. None TS-1004 ERROR Failed to load data. Failed to load data. None TS-1005 ERROR Failed to create table. Failed to create table. None TS-1006 ERROR Failed to fetch data rows. Failed to fetch data rows. None TS-1007 ERROR Failed to delete files. Failed to fetch data rows. None TS-1008 ERROR Failed to abort create table. Failed to abort create table. None ThoughtSpot User Guide Page 301 Error code reference December 09, 2017 Code Se Sev verity Summary Details Action TS-1009 ERROR Failed to create schema. Failed to create schema. None TS-1010 ERROR Failed to fetch table models. Failed to fetch table models. None TS-1011 ERROR Failed to fetch sample values. Failed to fetch sample values. None Scheduled Jobs Err Errors ors (1100 - 1199) Code Se Sev verity Summary Details Action TS-1100 INFO The list of jobs. None Please click ‘Report Problem’ to email a report to your administrator. TS-1110 INFO Successfully created job. None None TS-1111 ERROR The job could not be created. None Please click ‘Report Problem’ to email a report to your administrator. TS-1112 INFO Successfully updated job. None None TS-1113 ERROR The job could not be updated. None Please click ‘Report Problem’ to email a report to your administrator. TS-1114 INFO Successfully deleted jobs. None None TS-1115 ERROR The job could not be deleted. None Please click ‘Report Problem’ to email a report to your administrator. TS-1116 INFO The job was paused. None None TS-1117 ERROR The job could not be paused. None Please click ‘Report Problem’ to email a report to your administrator. TS-1118 INFO The job was resumed None None TS-1119 ERROR The job could not be resumed. None Please click ‘Report Problem’ to email a report to your administrator. ThoughtSpot User Guide Page 302 Error code reference December 09, 2017 User A Admin dmin Servic Service e Err Errors ors (1200 - 13 1399) 99) Code Se Sev verity Summary Details Action TS-1200 ERROR Failed to fetch users list Failed to fetch users list None TS-1201 ERROR Failed to fetch groups list Failed to fetch groups list None TS-1202 ERROR Failed to fetch users and groups list Failed to fetch users and groups list None TS-1203 ERROR Successfully created user Successfully created user None TS-1204 ERROR Failed to create user Failed to create user None TS-1205 ERROR Successfully created group Successfully created group None TS-1206 ERROR Failed to create group Failed to create group None TS-1207 ERROR Successfully updated user Successfully updated user None TS-1208 ERROR Failed to update user Failed to update user None TS-1209 ERROR Successfully updated users Successfully updated users None TS-1210 ERROR Failed to update users Failed to update users None TS-1211 ERROR Successfully updated group Successfully updated group None TS-1212 ERROR Failed to update group Failed to update group None TS-1213 ERROR Successfully updated password Successfully updated password None TS-1214 ERROR Failed to update password Failed to update password None TS-1215 ERROR Successfully deleted users Successfully deleted users None TS-1216 ERROR Failed to delete users Failed to delete users None TS-1217 ERROR Successfully deleted groups Successfully deleted groups None TS-1218 ERROR Failed to delete groups Failed to delete groups None TS-1219 ERROR Successfully assigned users to groups Successfully assigned users to groups None TS-1220 ERROR Failed to assign users to groups Failed to assign users to groups None ThoughtSpot User Guide Page 303 Error code reference December 09, 2017 Code Se Sev verity Summary Details Action TS-1221 ERROR Failed to fetch profile pic Failed to fetch profile pic None TS-1222 INFO Successfully uploaded profile pic None None TS-1223 ERROR Failed to upload profile pic Failed to upload profile pic None TS-1224 ERROR Successfully assigned groups to group Failed to assign user to group None TS-1228 ERROR Successfully created role Successfully created role None TS-1229 ERROR Failed to create role Failed to create role None TS-1230 ERROR Successfully deleted role Successfully deleted role None TS-1231 ERROR Failed to delete role Failed to delete role None TS-1232 ERROR Successfully updated role Successfully updated role None TS-1233 ERROR Failed to update role Failed to update role None Ses Session sion Servic Service e Err Errors ors (1400 - 15 1599) 99) Code Se Sev verity Summary Details Action TS-1400 ERROR Failed to fetch session info Failed to fetch session info None TS-1401 ERROR Failed to login Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-1402 ERROR Failed to logout Failed to logout None TS-1403 ERROR Failed to save client state Failed to save client state None TS-1404 ERROR Failed to fetch login config Failed to fetch login config None TS-1405 ERROR Failed to fetch slack config Failed to fetch slack config None TS-1406 ERROR Health check failed Health check failed None TS-1407 ERROR Failed to fetch health portal token Failed to fetch health portal token None TS-1408 ERROR The health portal release Uh oh. We’re not sure what happened. None ThoughtSpot User Guide Page 304 Error code reference Code Se Sev verity December 09, 2017 Summary Details name could not be retrieved Please email the trace file to {adminEmail}. Action Da Data ta Management Servic Service e Err Errors ors (1600 - 17 1799) 99) Code Se Sev verity Summary Details Action TS-1600 ERROR Failed to fetch data source types Failed to fetch data source types None TS-1601 ERROR Failed to fetch data source sample values Failed to fetch data source sample values None TS-1602 ERROR Failed to delete data source Failed to delete data source None TS-1603 ERROR Failed to execute DDL Failed to execute DDL None TS-1604 ERROR Failed to update schedule Failed to update schedule None TS-1605 ERROR Failed to reload tasks Failed to reload tasks None TS-1606 ERROR Failed to stop tasks Failed to stop tasks None TS-1607 ERROR Failed to get creation DDL Failed to get creation DDL None TS-1608 ERROR Failed to load from data source Failed to load from data source None TS-1609 ERROR Failed to create connection to data source Failed to create connection to data source None TS-1610 ERROR Failed to create data source Failed to create data source None TS-1611 ERROR Failed to connect to data source Failed to connect to data source None TS-1612 ERROR Failed to get data source connection field info Failed to get data source connection field info None TS-1613 ERROR Failed to get connection list for data source Failed to get connection list for data source None TS-1614 ERROR Failed to get connection attributes for data source Failed to get connection attributes for data source None TS-1615 ERROR Failed to get connections Failed to get connections to data None ThoughtSpot User Guide Page 305 Error code reference Code Se Sev verity December 09, 2017 Summary Details to data source source Action TS-1616 ERROR Failed to fetch data source config Failed to fetch data source config None TS-1617 ERROR Failed to parse sql. Failed to parse sql. None TS-1618 ERROR Failed to execute sql. Failed to execute sql. None TS-1619 INFO Successfully created connection to data source None None TS-1620 INFO Successfully updated data upload schedule None None TS-1621 ERROR Failed to execute sql. Please check the failing command, executed {1} statements successfully. None TS-1622 ERROR Lightweight data-cache disabled Lightweight data-cache disabled None TS-1623 INFO Selected tables were queued for loading. Selected tables were queued for loading. None TS-1624 ERROR DataType conversion error. No mapping found for source datatype to ThoughtSpot datatype. None TS-1625 INFO Successfully reload task started. None None TS-1626 INFO Successfully connected to data source. None None TS-1627 INFO Successfully created data source. None None TS-1628 INFO Successfully stopped the tasks. None None TS-1629 INFO Successfully deleted the connection. None None TS-1630 ERROR There was an error deleting this connection. None None TS-1631 INFO Successfully executed the DDL. None None ThoughtSpot User Guide Page 306 Error code reference December 09, 2017 Clus Clustter S Sta tatus tus Servic Service e Err Errors ors (1800 - 18 1899) 99) Code Se Sev verity Summary Details Action TS-1800 WARNING Failed to fetch cluster information from search service. None None TS-1801 WARNING Failed to fetch table detail information from search service. None None TS-1802 WARNING Failed to fetch cluster information from database service. None None TS-1803 WARNING Failed to fetch table detail information from databse service. None None TS-1804 WARNING Failed to fetch cluster information from cluster management service. None None TS-1805 WARNING Failed to fetch detail information from cluster management service. None None TS-1806 WARNING Failed to fetch log from cluster management service. None None TS-1807 WARNING Failed to fetch snapshot list from cluster management service. None None TS-1808 WARNING Failed to fetch cluster information from alert management service. None None TS-1809 WARNING Failed to fetch cluster information from event service. None None TS-1810 WARNING Failed to fetch alerts information from alert management service. None None TS-1811 WARNING Failed to fetch events information from alert management service. None None TS-1812 INFO Thanks for your feedback! None None TS-1813 WARNING Sorry! Unable to submit the feedback at this moment! None None TS-1814 INFO Successfully exported objects. File can be found at {1}. None None ThoughtSpot User Guide Page 307 Error code reference December 09, 2017 Code Se Sev verity Summary Details Action TS-1815 ERROR Sorry! Unable to export objects at this moment! What happened? {1}. None TS-1816 INFO Successfully imported objects None None TS-1817 ERROR Sorry! Unable to import objects at this moment! What happened? {1}. None TS-1818 INFO Successfully deleted data source object(s). None None Callosum API Err Errors ors (9000 - 9199) Code Se Sev verity Summary Details Action TS-9000 ERROR The data you are trying to delete has some dependencies Some objects depend on the data you are trying to delete delete the dependencies before deleting this data. TS-9001 ERROR Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-9002 ERROR Could not authorize user Try logging in again None TS-9003 ERROR Uh oh. We’re not sure what happened. Please email the trace file to {adminEmail}. None TS-9004 WARNING Still loading data, come back soon None None TS-9005 ERROR Uh oh. We’re having trouble getting data for this request. Please email the trace file to {adminEmail}. None TS-9006 ERROR Uh oh. We’re having trouble getting data for this request. Please email the trace file to {adminEmail}. None TS-9007 ERROR Uh oh. We’re having trouble getting data for this request. Please email the trace file to {adminEmail}. None TS-9008 ERROR Something went Uh oh. We’re not sure what hap- None ThoughtSpot User Guide Page 308 Error code reference Code Se Sev verity December 09, 2017 Summary Details wrong with your search pened. Please email the trace file to {adminEmail}. Action TS-9009 ERROR The calculation engine has timed out. Please try again. Please email the trace file to {adminEmail}. None TS-9010 ERROR Cannot open Object Object cannot be opened due to errors in some of its dependencies None TS-9500 WARNING Cannot connect to the calculation engine. Please try again soon. None None TS-9501 WARNING The calculation engine has timed out. Please try again. None None TS-9502 WARNING Cannot connect to the search engine. Please try again soon. None None TS-9503 WARNING The search engine has timed out. Please try again. None None TS-9504 ERROR Cannot open {1} {1} cannot be opened due to errors in the following dependencies 1 Type of the object Table/Answer/ Pinboard etc. None TS-9505 WARNING We’re still indexing this data, try again soon None None TS-9506 ERROR Object is not present in the system {1} is not present in the system 1 Type of the object Table/Answer/ Pinboard etc. None TS-9507 ERROR ThoughtSpot is unreachable. None None TS-Blink Generated Errors (9500 9599) ThoughtSpot User Guide Page 309 Error code reference Code Se Sev verity December 09, 2017 Summary Details Action Please try again soon Common Err Errors ors (10000 - 10099) Code Se Sev verity Summary Details Action TS-10000 ERROR A system error has occurred Uh oh. We’re not sure what happened. Please contact your administrator. None TS-10001 ERROR Connection failed The metadata store is not reachable. Please contact your administrator TS-10002 ERROR The input is invalid Input from the client to the server is invalid. Please contact your administrator TS-10003 ERROR Unfortunately, you can’t do that You are not authorized to perform {1}. # {1} – action user is not authorized for Please request access from your administrator TS-10004 ERROR The user could not be authorized User {0} is not authorized to perform {1}. # {0} – name of the user # {1} – action user is not authorized for Please request access from your administrator TS-10005 ERROR The base object is missing An underlying object referenced by this object is missing in store. Please contact your administrator TS-10006 ERROR The connection to Zookeeper has failed Zookeeper is not reachable. Please contact your administrator TS-10007 ERROR There’s invalid parameter(s) Invalid parameter values: {0}. Please contact your administrator TS-10008 ERROR The user cannot be found User {0} not found in store. # {0} – name of the user Please contact your administrator TS-10009 ERROR Cannot add group This group already belongs to the group you are trying to add it to. None ThoughtSpot User Guide Page 310 Error code reference December 09, 2017 Falc alcon on Err Errors ors (10600 - 106 10699) 99) Code Se Sev verity Summary Details Action TS-10603 ERROR Falcon query cancelled None None Da Data ta Err Errors ors (11000 - 11099) Code Se Sev verity Summary Details Action TS-11001 ERROR Invalid row None None TS-11002 ERROR Invalid table/query resultset None None TS-11003 ERROR Invalid column identifier None None TS-11004 ERROR Invalid visualization identifier None None TS-11005 ERROR No data Query execution resulted in no data. None TS-11006 ERROR Query execution failed Error in query execution to Falcon. None TS-11007 ERROR Answer data generation failed Error in Answer data generation for Sage input. None TS-11008 ERROR Data export failed None None TS-11009 ERROR Data generation failed Error in data generation in Callosum. None Report Gener Genera ation Err Errors ors (12000 - 13000) Code Se Sev verity Summary Details Action TS-12700 ERROR Error while exporting data file. None None TS-12701 ERROR Invalid input. The definition of the job is invalid. None TS-12702 ERROR No author provided. None None TS-12703 ERROR No pinboard provided. None None ThoughtSpot User Guide Page 311 Error code reference December 09, 2017 Code Se Sev verity Summary Details Action TS-12704 ERROR No recipients provided. None None TS-12705 ERROR This format is not supported. None None TS-12706 ERROR No job name provided. None None TS-12707 ERROR No job description provided. None None TS-12708 ERROR Pinboard data export error. None None TS-12709 ERROR Visualization data export error. None None TS-12710 ERROR User data unavailable. None None TS-12711 ERROR Configuration information unavailable. None None TS-12712 ERROR There are too many recipients. The max number of recipients is 1000. None TS-12713 ERROR Attachment size limit exceeded. None None TS-12714 ERROR Recipient domain is not whitelisted. None None Mor More e Metada Metadata ta Err Errors ors (13000 - 13099) Code Se Sev verity Summary Details Action TS-13001 ERROR Schema creation failed Error creating database schema. None TS-13002 ERROR Views creation failed Error creating view. None TS-13003 ERROR The object cannot be found in store Object with Id: {0} of type: {1} not found. # {0} – identity of the object # {1} – type of object None TS-13004 ERROR The object is in an invalid state Oject with Id: {0} of type: {1} in invalid state. # {0} – identity of the object # {1} – type of object None TS-13005 ERROR Object already Object with Id: {0} of None ThoughtSpot User Guide Page 312 Error code reference Code Se Sev verity December 09, 2017 Summary Details exists type: {1} already exists. # {0} – identity of the object # {1} – type of object Action TS-13006 ERROR Invalid object type Invalid type: {0} provided. # {1} – type of object None TS-13007 ERROR Invalid Sage question Insufficient or invalid input from Sage: {0}. # {0} – the invalid input None TS-13008 ERROR Invalid Sage question Input from from Sage – missing columns of type: {0}. # {0} – column type None TS-13009 ERROR Invalid Sage question Invalid input from Sage – invalid expression: {0}. # {0} – the invalid expression None TS-13010 ERROR Sending logical metadata to Sage failed Sending logical metadata to Sage failed due to: {0}. # {0} – reason for failure None TS-13011 ERROR Answer generation failed Answer generation failed due to: {0}. # {0} – reason for failure None TS-13012 ERROR Worksheet generation failed Worksheet generation failed due to: {0}. # {0} – reason for failure None TS-13013 ERROR Service provider unavailable Service provider unavailable: {0}. # {0} – provider details None TS-13015 ERROR Physical model not loaded None None TS-13016 ERROR Invalid physical schema proto Inconsistency in physical schema from Falcon: {0}. # {0} – error details None TS-13017 ERROR Invalid duplicate columns Duplicate columns: {0}. # {0} – List of duplicate column identities None TS-13018 ERROR Cyclic relationship Detected cycles: {0}. # {0} – cycle details None ThoughtSpot User Guide Page 313 Error code reference December 09, 2017 Code Se Sev verity Summary Details Action TS-13019 WARNING Older physical schema version received Schema update for older version: {0} received and ignored. # {0} – received version number None TS-13020 ERROR Invalid relationship Attempted to create invalid relationship: {0}. # {0} – relationship details None TS-13022 ERROR Invalid filter values: {values} None None TS-13023 ERROR Creating relationship failed. None None TS-13024 ERROR Deleting schema failed. None None TS-13025 ERROR Expression validation failed. None None TS-13026 INFO Load schedule successfully disabled. None None TS-13027 ERROR Load schedule could not be disabled. None None TS-13028 ERROR Objects fetched from the connection are invalid for editing datasource. None To proceed with editing the datasource, please edit the connection below to fetch valid source objects. TS-13029 INFO Successfully edited data source connection. None None TS-13030 ERROR Connection test failed. None Please verify connection attributes. Loading Err Errors ors (30000 - 30099) Code Se Sev verity Summary Details Action TS-30000 ERROR Table is not ready (data loading in progress). None None ThoughtSpot User Guide Page 314 Error code reference December 09, 2017 Timely Err Errors ors (60000 - 64 64999) 999) Code Se Sev verity Summary Details Action TS-60000 ERROR Failed to initialize. None None ThoughtSpot User Guide Page 315
Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.4
Linearized                      : No
Producer                        : Prince 11.3 (www.princexml.com)
Keywords                        : prince-no-fallback
Title                           : | ThoughtSpot Documentation
Page Count                      : 317
EXIF Metadata provided by EXIF.tools

Navigation menu