Вы находитесь на странице: 1из 1427

{"ts":"2016-09-29T16:41:32.

912","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"open
-log","v":{"path":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Logs\\log
_1.txt"}}
{"ts":"2016-09-29T16:41:32.912","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"prev
ious-log","v":{"path":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Logs\
\log_1_bk.txt"}}
{"ts":"2016-09-29T16:41:32.913","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"star
tup-info","v":{"cwd":"C:\\Program Files\\Tableau\\Tableau 9.3","domain":"","host
name":"Vissu-PC","os":"Microsoft Windows 7 Ultimate (Build 7601) Service Pack 1
(CSDBuild 1130)","process-id":"78016 (0x130c0)","start-time":"2016-09-29T20:41:3
2.912","tableau-version":"9300.16.0811.1521,x64"}}
{"ts":"2016-09-29T16:41:32.917","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"memo
ry-usage","v":{"commit":306647040,"free":8795725131776,"load-percent":98,"reserv
e":61177856}}
{"ts":"2016-09-29T16:41:32.918","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"envi
ronment","v":{"ALLUSERSPROFILE":"C:\\ProgramData","APPDATA":"C:\\Users\\Vissu\\A
ppData\\Roaming","CLASSPATH":".;C:\\Program Files\\ibm\\cognos\\c10_64\\DB2\\jav
a\\db2java.zip;C:\\Program Files\\ibm\\cognos\\c10_64\\DB2\\java\\db2jcc.jar;C:\
\Program Files\\ibm\\cognos\\c10_64\\DB2\\java\\sqlj.zip;C:\\Program Files\\ibm\
\cognos\\c10_64\\DB2\\java\\db2jcc_license_cu.jar;C:\\Program Files\\ibm\\cognos
\\c10_64\\DB2\\bin;C:\\Program Files\\ibm\\cognos\\c10_64\\DB2\\java\\common.jar
","COMPUTERNAME":"VISSU-PC","ComSpec":"C:\\Windows\\system32\\cmd.exe","CommonPr
ogramFiles":"C:\\Program Files\\Common Files","CommonProgramFiles(x86)":"C:\\Pro
gram Files (x86)\\Common Files","CommonProgramW6432":"C:\\Program Files\\Common
Files","DB2INSTANCE":"DB2COG","FP_NO_HOST_CHECK":"NO","GEOSERVER_DATA_DIR":"C:\\
Program Files (x86)\\GeoServer 2.9.0\\data_dir","GEOSERVER_HOME":"C:\\Program Fi
les (x86)\\GeoServer 2.9.0","HOMEDRIVE":"C:","HOMEPATH":"\\Users\\Vissu","INCLUD
E":"C:\\Program Files\\ibm\\cognos\\c10_64\\DB2\\INCLUDE;C:\\Program Files\\ibm\
\cognos\\c10_64\\DB2\\LIB","JAVA_HOME":"C:\\Program Files\\Java\\jre1.8.0_91","L
IB":";C:\\Program Files\\ibm\\cognos\\c10_64\\DB2\\LIB","LOCALAPPDATA":"C:\\User
s\\Vissu\\AppData\\Local","LOGONSERVER":"\\\\VISSU-PC","NUMBER_OF_PROCESSORS":"4
","OPENSSL_ENGINES":"C:\\Program Files\\Tableau\\Tableau 9.3\\bin","OS":"Windows
_NT","PATHEXT":".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC","PROCESSO
R_ARCHITECTURE":"AMD64","PROCESSOR_IDENTIFIER":"Intel64 Family 6 Model 60 Steppi
ng 3, GenuineIntel","PROCESSOR_LEVEL":"6","PROCESSOR_REVISION":"3c03","PSModuleP
ath":"C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules\\;C:\\Program File
s (x86)\\Microsoft SQL Server\\110\\Tools\\PowerShell\\Modules\\","PUBLIC":"C:\\
Users\\Public","Path":"C:\\ProgramData\\Oracle\\Java\\javapath;C:\\Program Files
(x86)\\Intel\\iCLS Client\\;C:\\Program Files\\Intel\\iCLS Client\\;C:\\Windows
\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\Window
sPowerShell\\v1.0\\;C:\\Program Files\\Intel\\WiFi\\bin\\;C:\\Program Files\\Com
mon Files\\Intel\\WirelessCommon\\;C:\\Program Files (x86)\\ATI Technologies\\AT
I.ACE\\Core-Static;C:\\Program Files\\Intel\\Intel(R) Management Engine Componen
ts\\DAL;C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\IPT;C:\
\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Prog
ram Files (x86)\\Intel\\Intel(R) Management Engine Components\\IPT;C:\\Program F
iles\\Microsoft SQL Server\\110\\DTS\\Binn\\;C:\\Program Files (x86)\\Microsoft
SQL Server\\110\\Tools\\Binn\\;C:\\Program Files\\Microsoft SQL Server\\110\\Too
ls\\Binn\\;C:\\Program Files (x86)\\Microsoft SQL Server\\110\\Tools\\Binn\\Mana
gementStudio\\;C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\I
DE\\PrivateAssemblies\\;C:\\Program Files (x86)\\Microsoft SQL Server\\110\\DTS\
\Binn\\;C:\\Program Files\\ibm\\gsk8\\lib64;C:\\Program Files (x86)\\ibm\\gsk8\\
lib;C:\\Program Files\\ibm\\cognos\\c10_64\\DB2\\BIN;C:\\Program Files\\ibm\\cog
nos\\c10_64\\DB2\\FUNCTION;C:\\Program Files\\ibm\\cognos\\c10_64\\DB2\\SAMPLES\
\REPL;c:\\Program Files (x86)\\Microsoft SQL Server\\100\\Tools\\Binn\\;c:\\Prog

ram Files\\Microsoft SQL Server\\100\\Tools\\Binn\\;c:\\Program Files\\Microsoft


SQL Server\\100\\DTS\\Binn\\;C:\\Program Files\\Intel\\WiFi\\bin\\;C:\\Program
Files\\Common Files\\Intel\\WirelessCommon\\","ProgramData":"C:\\ProgramData","P
rogramFiles":"C:\\Program Files","ProgramFiles(x86)":"C:\\Program Files (x86)","
ProgramW6432":"C:\\Program Files","SESSIONNAME":"Console","SystemDrive":"C:","Sy
stemRoot":"C:\\Windows","TEMP":"C:\\Users\\Vissu\\AppData\\Local\\Temp","TMP":"C
:\\Users\\Vissu\\AppData\\Local\\Temp","USERDOMAIN":"Vissu-PC","USERNAME":"Vissu
","USERPROFILE":"C:\\Users\\Vissu","VS100COMNTOOLS":"C:\\Program Files (x86)\\Mi
crosoft Visual Studio 10.0\\Common7\\Tools\\","asl.log":"Destination=file","wind
ir":"C:\\Windows"}}
{"ts":"2016-09-29T16:41:32.919","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"disp
lay-device","v":{"index":0,"name":"Intel(R) HD Graphics 4600","registry":{"adapt
er":"Intel(R) HD Graphics 4600","bios":"","chip-type":"Intel(R) HD Graphics Fami
ly","driver-date":"4-24-2014","driver-desc":"Intel(R) HD Graphics 4600","driverversion":"10.18.10.3574","video-memory-size":"0x0 (0)"}}}
{"ts":"2016-09-29T16:41:32.919","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tableau.exe","product-name":"Tableau 9.3","produ
ct-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:32.919","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\SYSTEM32\\ntdll.dll","product-name":"Microsoft\u00ae Windows\
u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.919","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\kernel32.dll","product-name":"Microsoft\u00ae Windo
ws\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.920","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17932 (win7sp1_gdr.120820-0419)","fi
lename":"C:\\Windows\\system32\\KERNELBASE.dll","product-name":"Microsoft\u00ae
Windows\u00ae Operating System","product-version":"6.1.7601.17932"}}
{"ts":"2016-09-29T16:41:32.920","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"4, 2, 0, 0","filename":"C:\\Program Files\\Ta
bleau\\Tableau 9.3\\bin\\tbb.dll","product-name":"Intel(R) Threading Building Bl
ocks for Windows","product-version":"4, 2, 0, 0"}}
{"ts":"2016-09-29T16:41:32.920","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"12.00.21005.1 built by: REL","filename":"C:\\
Program Files\\Tableau\\Tableau 9.3\\bin\\MSVCP120.dll","product-name":"Microsof
t\u00ae Visual Studio\u00ae 2013","product-version":"12.00.21005.1"}}
{"ts":"2016-09-29T16:41:32.920","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"12.00.21005.1 built by: REL","filename":"C:\\
Program Files\\Tableau\\Tableau 9.3\\bin\\MSVCR120.dll","product-name":"Microsof
t\u00ae Visual Studio\u00ae 2013","product-version":"12.00.21005.1"}}
{"ts":"2016-09-29T16:41:32.920","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"filename":"C:\\Program Files\\Tableau\\Tableau 9.3\\bin\\met
rics2.dll"}}
{"ts":"2016-09-29T16:41:32.920","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tabsys.dll","product-name":"Tableau 9.3","produc
t-version":"9300.16.0811.1521"}}

{"ts":"2016-09-29T16:41:32.920","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"5.4.1.0","filename":"C:\\Program Files\\Table
au\\Tableau 9.3\\bin\\Qt5Core.dll","product-name":"Qt5","product-version":"5.4.1
.0"}}
{"ts":"2016-09-29T16:41:32.921","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\USER32.dll","product-name":"Microsoft\u00ae Wind
ows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:32.921","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\GDI32.dll","product-name":"Microsoft\u00ae Windo
ws\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:32.921","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\LPK.dll","product-name":"Microsoft\u00ae Windows\u0
0ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.921","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"1.0626.7601.17514 (win7sp1_rtm.101119-1850)",
"filename":"C:\\Windows\\system32\\USP10.dll","product-name":"Microsoft(R) Unisc
ribe Unicode script processor","product-version":"1.0626.7601.17514"}}
{"ts":"2016-09-29T16:41:32.921","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"7.0.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\msvcrt.dll","product-name":"Microsoft\u00ae Windows
\u00ae Operating System","product-version":"7.0.7600.16385"}}
{"ts":"2016-09-29T16:41:32.921","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\SHELL32.dll","product-name":"Microsoft\u00ae Win
dows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:32.922","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\SHLWAPI.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.922","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\ole32.dll","product-name":"Microsoft\u00ae Windows\
u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.922","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\RPCRT4.dll","product-name":"Microsoft\u00ae Windows
\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.922","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\ADVAPI32.dll","product-name":"Microsoft\u00ae Windo
ws\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.923","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\SYSTEM32\\sechost.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}

{"ts":"2016-09-29T16:41:32.923","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\WS2_32.dll","product-name":"Microsoft\u00ae Windows
\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.923","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\NSI.dll","product-name":"Microsoft\u00ae Windows\u0
0ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.923","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\MPR.dll","product-name":"Microsoft\u00ae Windows\u0
0ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.923","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"4, 4, 0, 0","filename":"C:\\Program Files\\Ta
bleau\\Tableau 9.3\\bin\\icuin44.dll","product-name":"International Components f
or Unicode","product-version":"4, 4, 0, 0"}}
{"ts":"2016-09-29T16:41:32.923","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"4, 4, 0, 0","filename":"C:\\Program Files\\Ta
bleau\\Tableau 9.3\\bin\\icuuc44.dll","product-name":"International Components f
or Unicode","product-version":"4, 4, 0, 0"}}
{"ts":"2016-09-29T16:41:32.924","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"4, 4, 0, 0","filename":"C:\\Program Files\\Ta
bleau\\Tableau 9.3\\bin\\icudt44.dll","product-name":"International Components f
or Unicode","product-version":"4, 4, 0, 0"}}
{"ts":"2016-09-29T16:41:32.924","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"filename":"C:\\Program Files\\Tableau\\Tableau 9.3\\bin\\boo
st_system-vc120-mt-1_56.dll"}}
{"ts":"2016-09-29T16:41:32.924","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\PSAPI.DLL","product-name":"Microsoft\u00ae Windows\
u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.924","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"12.0.21005.1 built by: REL","filename":"C:\\P
rogram Files\\Tableau\\Tableau 9.3\\bin\\mfc120u.dll","product-name":"Microsoft\
u00ae Visual Studio\u00ae 2013","product-version":"12.0.21005.1"}}
{"ts":"2016-09-29T16:41:32.924","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514","filename":"C:\\Windows\\syst
em32\\OLEAUT32.dll","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:32.924","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\IMM32.dll","product-name":"Microsoft\u00ae Windows\
u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.925","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\MSCTF.dll","product-name":"Microsoft\u00ae Windows\
u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.925","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dll-

version-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\UxTheme.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.925","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\dbghelp.dll","product-name":"Microsoft\u00ae Win
dows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:32.925","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\POWRPROF.dll","product-name":"Microsoft\u00ae Windo
ws\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.925","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\SETUPAPI.dll","product-name":"Microsoft\u00ae Windo
ws\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.926","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\CFGMGR32.dll","product-name":"Microsoft\u00ae Wi
ndows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:32.926","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\DEVOBJ.dll","product-name":"Microsoft\u00ae Windows
\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.926","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tabcore.dll","product-name":"Tableau 9.3","produ
ct-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:32.926","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"5.4.1.0","filename":"C:\\Program Files\\Table
au\\Tableau 9.3\\bin\\Qt5Gui.dll","product-name":"Qt5","product-version":"5.4.1.
0"}}
{"ts":"2016-09-29T16:41:32.926","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"filename":"C:\\Program Files\\Tableau\\Tableau 9.3\\bin\\lib
GLESv2.dll"}}
{"ts":"2016-09-29T16:41:32.926","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\d3d9.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:32.926","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\VERSION.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.926","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\d3d8thk.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.927","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen

ame":"C:\\Windows\\system32\\dwmapi.dll","product-name":"Microsoft\u00ae Windows
\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.927","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"5.4.1.0","filename":"C:\\Program Files\\Table
au\\Tableau 9.3\\bin\\Qt5Network.dll","product-name":"Qt5","product-version":"5.
4.1.0"}}
{"ts":"2016-09-29T16:41:32.927","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\DNSAPI.dll","product-name":"Microsoft\u00ae Windows
\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.928","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\CRYPT32.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.928","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\MSASN1.dll","product-name":"Microsoft\u00ae Wind
ows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:32.928","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"filename":"C:\\Program Files\\Tableau\\Tableau 9.3\\bin\\boo
st_thread-vc120-mt-1_56.dll"}}
{"ts":"2016-09-29T16:41:32.928","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"filename":"C:\\Program Files\\Tableau\\Tableau 9.3\\bin\\boo
st_chrono-vc120-mt-1_56.dll"}}
{"ts":"2016-09-29T16:41:32.928","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"7.48.0","filename":"C:\\Program Files\\Tablea
u\\Tableau 9.3\\bin\\libcurl.dll","product-name":"The cURL library","product-ver
sion":"7.48.0"}}
{"ts":"2016-09-29T16:41:32.928","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\WLDAP32.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.928","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\Normaliz.dll","product-name":"Microsoft\u00ae Windo
ws\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.928","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"1.0.2h","filename":"C:\\Program Files\\Tablea
u\\Tableau 9.3\\bin\\TABLIBEAY32.dll","product-name":"The OpenSSL Toolkit","prod
uct-version":"1.0.2h"}}
{"ts":"2016-09-29T16:41:32.928","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"1.0.2h","filename":"C:\\Program Files\\Tablea
u\\Tableau 9.3\\bin\\TABSSLEAY32.dll","product-name":"The OpenSSL Toolkit","prod
uct-version":"1.0.2h"}}
{"ts":"2016-09-29T16:41:32.928","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\Secur32.dll","product-name":"Microsoft\u00ae Win
dows\u00ae Operating System","product-version":"6.1.7601.17514"}}

{"ts":"2016-09-29T16:41:32.929","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\SSPICLI.DLL","product-name":"Microsoft\u00ae Win
dows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:32.929","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\WINTRUST.dll","product-name":"Microsoft\u00ae Wi
ndows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:32.929","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tabui.dll","product-name":"Tableau 9.3","product
-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:32.929","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"5.4.1.0","filename":"C:\\Program Files\\Table
au\\Tableau 9.3\\bin\\Qt5PrintSupport.dll","product-name":"Qt5","product-version
":"5.4.1.0"}}
{"ts":"2016-09-29T16:41:32.929","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"5.4.1.0","filename":"C:\\Program Files\\Table
au\\Tableau 9.3\\bin\\Qt5Widgets.dll","product-name":"Qt5","product-version":"5.
4.1.0"}}
{"ts":"2016-09-29T16:41:32.930","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\WINSPOOL.DRV","product-name":"Microsoft\u00ae Windo
ws\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.930","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\COMDLG32.dll","product-name":"Microsoft\u00ae Windo
ws\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.930","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"5.82 (win7_rtm.090713-1255)","filename":"C:\\
Windows\\WinSxS\\amd64_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7
601.17514_none_a4d6a923711520a9\\COMCTL32.dll","product-name":"Microsoft\u00ae W
indows\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.930","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"5.4.1.0","filename":"C:\\Program Files\\Table
au\\Tableau 9.3\\bin\\Qt5WebKit.dll","product-name":"Qt5","product-version":"5.4
.1.0"}}
{"ts":"2016-09-29T16:41:32.931","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\WINMM.dll","product-name":"Microsoft\u00ae Windows\
u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.931","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"5.4.1.0","filename":"C:\\Program Files\\Table
au\\Tableau 9.3\\bin\\Qt5Sensors.dll","product-name":"Qt5","product-version":"5.
4.1.0"}}
{"ts":"2016-09-29T16:41:32.931","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"5.4.1.0","filename":"C:\\Program Files\\Table
au\\Tableau 9.3\\bin\\Qt5Positioning.dll","product-name":"Qt5","product-version"

:"5.4.1.0"}}
{"ts":"2016-09-29T16:41:32.931","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"5.4.1.0","filename":"C:\\Program Files\\Table
au\\Tableau 9.3\\bin\\Qt5Multimedia.dll","product-name":"Qt5","product-version":
"5.4.1.0"}}
{"ts":"2016-09-29T16:41:32.931","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"filename":"C:\\Program Files\\Tableau\\Tableau 9.3\\bin\\lib
EGL.dll"}}
{"ts":"2016-09-29T16:41:32.931","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"5.4.1.0","filename":"C:\\Program Files\\Table
au\\Tableau 9.3\\bin\\Qt5WebKitWidgets.dll","product-name":"Qt5","product-versio
n":"5.4.1.0"}}
{"ts":"2016-09-29T16:41:32.931","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"5.4.1.0","filename":"C:\\Program Files\\Table
au\\Tableau 9.3\\bin\\Qt5MultimediaWidgets.dll","product-name":"Qt5","product-ve
rsion":"5.4.1.0"}}
{"ts":"2016-09-29T16:41:32.931","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"5.4.1.0","filename":"C:\\Program Files\\Table
au\\Tableau 9.3\\bin\\Qt5OpenGL.dll","product-name":"Qt5","product-version":"5.4
.1.0"}}
{"ts":"2016-09-29T16:41:32.932","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tabdata.dll","product-name":"Tableau 9.3","produ
ct-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:32.932","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tabquerycore.dll","product-name":"Tableau 9.3","
product-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:32.932","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tabdatamodel.dll","product-name":"Tableau 9.3","
product-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:32.932","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tabfileformat.dll","product-name":"Tableau 9.3",
"product-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:32.932","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tabquery.dll","product-name":"Tableau 9.3","prod
uct-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:32.932","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"filename":"C:\\Program Files\\Tableau\\Tableau 9.3\\bin\\boo
st_date_time-vc120-mt-1_56.dll"}}
{"ts":"2016-09-29T16:41:32.933","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\MSWSOCK.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.933","pid":78016,"tid":"13074","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tabvizql.dll","product-name":"Tableau 9.3","prod
uct-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:32.933","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tabtransforms.dll","product-name":"Tableau 9.3",
"product-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:32.933","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"0000.0.0.0","filename":"C:\\Program Files\\Ta
bleau\\Tableau 9.3\\bin\\tabrtcore.dll","product-name":"Tableau Runtime 0.0","pr
oduct-version":"0000.0.0.0"}}
{"ts":"2016-09-29T16:41:32.933","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tabwbfileformat.dll","product-name":"Tableau 9.3
","product-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:32.933","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tabvizqlmodel.dll","product-name":"Tableau 9.3",
"product-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:32.933","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tabworkbook.dll","product-name":"Tableau 9.3","p
roduct-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:32.934","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"5.4.1.0","filename":"C:\\Program Files\\Table
au\\Tableau 9.3\\bin\\Qt5WinExtras.dll","product-name":"Qt5","product-version":"
5.4.1.0"}}
{"ts":"2016-09-29T16:41:32.934","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"filename":"C:\\Program Files\\Tableau\\Tableau 9.3\\bin\\geo
s.dll"}}
{"ts":"2016-09-29T16:41:32.934","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"filename":"C:\\Program Files\\Tableau\\Tableau 9.3\\bin\\lib
hyphenate.dll"}}
{"ts":"2016-09-29T16:41:32.934","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"0000.0.0.0","filename":"C:\\Program Files\\Ta
bleau\\Tableau 9.3\\bin\\tabrtmaker.dll","product-name":"Tableau Runtime 0.0","p
roduct-version":"0000.0.0.0"}}
{"ts":"2016-09-29T16:41:32.934","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"0000.0.0.0","filename":"C:\\Program Files\\Ta
bleau\\Tableau 9.3\\bin\\tabrtvm.dll","product-name":"Tableau Runtime 0.0","prod
uct-version":"0000.0.0.0"}}
{"ts":"2016-09-29T16:41:32.934","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\WinSxS\\amd64_microsoft.windows.gdiplus_6595b64144ccf1df_1
.1.7601.17514_none_2b24536c71ed437a\\gdiplus.dll","product-name":"Microsoft\u00a
e Windows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:32.935","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dll-

version-info","v":{"file-version":"11.00.9600.16428 (winblue_gdr.131013-1700)","
filename":"C:\\Windows\\system32\\WININET.dll","product-name":"Internet Explorer
","product-version":"11.00.9600.16428"}}
{"ts":"2016-09-29T16:41:32.935","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.2.9200.16492 (win8_gdr_oobssr.130113-0015)"
,"filename":"C:\\Windows\\system32\\api-ms-win-downlevel-user32-l1-1-0.dll","pro
duct-name":"Microsoft\u00ae Windows\u00ae Operating System","product-version":"6
.2.9200.16492"}}
{"ts":"2016-09-29T16:41:32.936","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.2.9200.16492 (win8_gdr_oobssr.130113-0015)"
,"filename":"C:\\Windows\\system32\\api-ms-win-downlevel-shlwapi-l1-1-0.dll","pr
oduct-name":"Microsoft\u00ae Windows\u00ae Operating System","product-version":"
6.2.9200.16492"}}
{"ts":"2016-09-29T16:41:32.936","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.2.9200.16492 (win8_gdr_oobssr.130113-0015)"
,"filename":"C:\\Windows\\system32\\api-ms-win-downlevel-version-l1-1-0.dll","pr
oduct-name":"Microsoft\u00ae Windows\u00ae Operating System","product-version":"
6.2.9200.16492"}}
{"ts":"2016-09-29T16:41:32.936","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.2.9200.16492 (win8_gdr_oobssr.130113-0015)"
,"filename":"C:\\Windows\\system32\\api-ms-win-downlevel-normaliz-l1-1-0.dll","p
roduct-name":"Microsoft\u00ae Windows\u00ae Operating System","product-version":
"6.2.9200.16492"}}
{"ts":"2016-09-29T16:41:32.937","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"11.00.9600.17840 (winblue_r11.150522-0826)","
filename":"C:\\Windows\\system32\\iertutil.dll","product-name":"Internet Explore
r","product-version":"11.00.9600.17840"}}
{"ts":"2016-09-29T16:41:32.937","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.2.9200.16492 (win8_gdr_oobssr.130113-0015)"
,"filename":"C:\\Windows\\system32\\api-ms-win-downlevel-advapi32-l1-1-0.dll","p
roduct-name":"Microsoft\u00ae Windows\u00ae Operating System","product-version":
"6.2.9200.16492"}}
{"ts":"2016-09-29T16:41:32.937","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\USERENV.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.938","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\profapi.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.939","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"11.00.9600.16428 (winblue_gdr.131013-1700)","
filename":"C:\\Windows\\system32\\urlmon.dll","product-name":"Internet Explorer"
,"product-version":"11.00.9600.16428"}}
{"ts":"2016-09-29T16:41:32.939","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.2.9200.16492 (win8_gdr_oobssr.130113-0015)"
,"filename":"C:\\Windows\\system32\\api-ms-win-downlevel-ole32-l1-1-0.dll","prod
uct-name":"Microsoft\u00ae Windows\u00ae Operating System","product-version":"6.
2.9200.16492"}}
{"ts":"2016-09-29T16:41:32.939","pid":78016,"tid":"13074","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tabdoc.dll","product-name":"Tableau 9.3","produc
t-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:32.939","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tabgeosearch.dll","product-name":"Tableau 9.3","
product-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:32.939","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"3.6.5.4","filename":"C:\\Program Files\\Table
au\\Tableau 9.3\\bin\\libxl.dll","product-name":"LibXL","product-version":"3.6.5
.4"}}
{"ts":"2016-09-29T16:41:32.939","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tabrender.dll","product-name":"Tableau 9.3","pro
duct-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:32.939","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tabdesktopui.dll","product-name":"Tableau 9.3","
product-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:32.939","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tabwidgets.dll","product-name":"Tableau 9.3","pr
oduct-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:32.939","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tabmixins.dll","product-name":"Tableau 9.3","pro
duct-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:32.940","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"13.0.325.0503","filename":"C:\\Program Files\
\Tableau\\Tableau 9.3\\bin\\STATRN64.dll","product-name":"Stat/Transfer","produc
t-version":"13.0.325.0503"}}
{"ts":"2016-09-29T16:41:32.940","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"1.9","filename":"C:\\Program Files\\Tableau\\
Tableau 9.3\\bin\\iconv.x64\\iconv.dll","product-name":"libiconv: character set
conversion library","product-version":"1.9"}}
{"ts":"2016-09-29T16:41:32.940","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\ODBC32.dll","product-name":"Microsoft\u00ae Wind
ows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:32.940","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"filename":"C:\\Program Files\\Tableau\\Tableau 9.3\\bin\\qsc
intilla2.dll"}}
{"ts":"2016-09-29T16:41:32.940","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\dhcpcsvc.DLL","product-name":"Microsoft\u00ae Windo
ws\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.940","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dll-

version-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\NETAPI32.dll","product-name":"Microsoft\u00ae Wi
ndows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:32.940","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\netutils.dll","product-name":"Microsoft\u00ae Wi
ndows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:32.940","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\srvcli.dll","product-name":"Microsoft\u00ae Wind
ows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:32.941","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\wkscli.dll","product-name":"Microsoft\u00ae Wind
ows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:32.941","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tabdialog.dll","product-name":"Tableau 9.3","pro
duct-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:32.941","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\cryptbase.dll","product-name":"Microsoft\u00ae Wind
ows\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.941","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\odbcint.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.941","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"5.4.1.0","filename":"C:\\Program Files\\Table
au\\Tableau 9.3\\bin\\plugins\\platforms\\qwindows.dll","product-name":"Qt5","pr
oduct-version":"5.4.1.0"}}
{"ts":"2016-09-29T16:41:32.942","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.2.9200.16492 (win8_gdr_oobssr.130113-0015)"
,"filename":"C:\\Windows\\system32\\DWrite.dll","product-name":"Microsoft\u00ae
Windows\u00ae Operating System","product-version":"6.2.9200.16492"}}
{"ts":"2016-09-29T16:41:32.942","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"5.4.1.0","filename":"C:\\Program Files\\Table
au\\Tableau 9.3\\bin\\plugins\\imageformats\\qgif.dll","product-name":"Qt5","pro
duct-version":"5.4.1.0"}}
{"ts":"2016-09-29T16:41:32.942","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"5.4.1.0","filename":"C:\\Program Files\\Table
au\\Tableau 9.3\\bin\\plugins\\imageformats\\qico.dll","product-name":"Qt5","pro
duct-version":"5.4.1.0"}}
{"ts":"2016-09-29T16:41:32.942","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"5.4.1.0","filename":"C:\\Program Files\\Table
au\\Tableau 9.3\\bin\\plugins\\imageformats\\qjpeg.dll","product-name":"Qt5","pr
oduct-version":"5.4.1.0"}}
{"ts":"2016-09-29T16:41:32.942","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dll-

version-info","v":{"file-version":"5.4.1.0","filename":"C:\\Program Files\\Table
au\\Tableau 9.3\\bin\\plugins\\imageformats\\qsvg.dll","product-name":"Qt5","pro
duct-version":"5.4.1.0"}}
{"ts":"2016-09-29T16:41:32.942","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"5.4.1.0","filename":"C:\\Program Files\\Table
au\\Tableau 9.3\\bin\\Qt5Svg.dll","product-name":"Qt5","product-version":"5.4.1.
0"}}
{"ts":"2016-09-29T16:41:32.942","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"5.4.1.0","filename":"C:\\Program Files\\Table
au\\Tableau 9.3\\bin\\plugins\\imageformats\\qtiff.dll","product-name":"Qt5","pr
oduct-version":"5.4.1.0"}}
{"ts":"2016-09-29T16:41:32.942","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\CRYPTSP.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.943","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\rsaenh.dll","product-name":"Microsoft\u00ae Windows
\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:32.943","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"filename":"C:\\Program Files\\Tableau\\Tableau 9.3\\bin\\cap
i.dll"}}
{"ts":"2016-09-29T16:41:32.944","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Program Files\\Common Files\\System\\Ado\\msado15.dll","product-nam
e":"Microsoft\u00ae Windows\u00ae Operating System","product-version":"6.1.7601.
17514"}}
{"ts":"2016-09-29T16:41:32.944","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"loca
le-info","v":{"calendar":"Gregorian (localized) calendar","country":"United Stat
es","country-en":"United States","description":"default-user-locale","language":
"English (United States)","language-en":"English","lcid":"409","long-date":"M-DY","long-date-format":"dddd, MMMM dd, yyyy","samples":"AM=AM,Mon=Mon,Jan=Jan,/=/
","short-date":"M-D-Y","short-date-format":"M/d/yyyy","short-date-year":"yyyy","
sort":"Default","time-format":"h:mm:ss tt"}}
{"ts":"2016-09-29T16:41:32.944","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"loca
le-info","v":{"calendar":"Gregorian (localized) calendar","country":"United Stat
es","country-en":"United States","description":"default-system-locale","language
":"English (United States)","language-en":"English","lcid":"409","long-date":"MD-Y","long-date-format":"dddd, MMMM dd, yyyy","samples":"AM=AM,Mon=Mon,Jan=Jan,/
=/","short-date":"M-D-Y","short-date-format":"M/d/yyyy","short-date-year":"yyyy"
,"sort":"Default","time-format":"h:mm:ss tt"}}
{"ts":"2016-09-29T16:41:32.944","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"loca
le-info","v":{"calendar":"Gregorian (localized) calendar","country":"United Stat
es","country-en":"United States","description":"tableau-ui-locale","language":"E
nglish (United States)","language-en":"English","lcid":"409","long-date":"M-D-Y"
,"long-date-format":"dddd, MMMM dd, yyyy","samples":"AM=AM,Mon=Mon,Jan=Jan,/=/",
"short-date":"M-D-Y","short-date-format":"M/d/yyyy","short-date-year":"yyyy","so
rt":"Default","time-format":"h:mm:ss tt"}}
{"ts":"2016-09-29T16:41:32.946","pid":78016,"tid":"13074","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Context::Context Calling flxActCommonLibraryInit(NULL)."}

{"ts":"2016-09-29T16:41:33.592","pid":78016,"tid":"13074","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Context::Context flxActCommonLibraryInit(NULL) call succeeded."}
{"ts":"2016-09-29T16:41:33.601","pid":78016,"tid":"13074","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"The following 1 errors occurred while parsing Preference file\"C:\\Users\\
Vissu\\Documents\\My Tableau Repository\\Preferences.tps\":"}
{"ts":"2016-09-29T16:41:33.601","pid":78016,"tid":"13074","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"FATAL: Error parsing XML at line 12 of the file:\n mismatched tag\n"}
{"ts":"2016-09-29T16:41:33.604","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"AUTOUPDATE: Starting the download of the version manifest."}
{"ts":"2016-09-29T16:41:33.610","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"no-a
ppoption-overrides","v":{"msg":"All appoptions have their default values, no ove
rrides."}}
{"ts":"2016-09-29T16:41:33.614","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"setcollation","v":{"collation":"charset=0x0 root (LROOT)","column":"[Geographical].
[Geometry (generated)]"}}
{"ts":"2016-09-29T16:41:33.638","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Loaded connection limits: <connection-list>\n<connection class='redshift'>
\n<limit max='8' />\n</connection>\n<connection>\n<limit max='16' />\n</connecti
on>\n</connection-list>\n"}
{"ts":"2016-09-29T16:41:33.639","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Device Pixel Ratio: 1.0"}
{"ts":"2016-09-29T16:41:33.766","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Setting Client Render Mode: *Off*"}
{"ts":"2016-09-29T16:41:33.944","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:get-open-pane-sample-workbooks","name":"tabui:get-op
en-pane-sample-workbooks"}}
{"ts":"2016-09-29T16:41:33.963","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:get-open-pane-sample-workbooks","name":"tabui:get-o
pen-pane-sample-workbooks"}}
{"ts":"2016-09-29T16:41:34.457","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"AUTOUPDATE: Manifest download complete."}
{"ts":"2016-09-29T16:41:34.457","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"AUTOUPDATE: Starting to parse and check downloaded manifest for updates."}
{"ts":"2016-09-29T16:41:34.457","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"AUTOUPDATE: Version 9300.16.0907.1515 is available."}
{"ts":"2016-09-29T16:41:34.839","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DPI Scale Factor 125%"}
{"ts":"2016-09-29T16:41:34.931","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"TD27-8B10-0660-83F2-DC81 is the best so far"}
{"ts":"2016-09-29T16:41:35.200","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:41:35.200","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi

n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:41:35.201","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:35.201","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:41:35.201","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:35.201","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:35.201","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:35.201","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:35.201","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:35.201","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:35.201","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:35.201","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:41:35.205","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:35.208","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.006}}
{"ts":"2016-09-29T16:41:35.208","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.007 sec"}
{"ts":"2016-09-29T16:41:35.208","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.007,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:41:35.429","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:41:35.430","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:41:35.430","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:35.430","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:41:35.430","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:35.430","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp

ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:35.430","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:35.430","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:35.430","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:35.430","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:35.430","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:35.430","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:41:35.430","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:35.431","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:35.431","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.001 sec"}
{"ts":"2016-09-29T16:41:35.431","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.001,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:41:35.730","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"BEGIN GetUniqueID"}
{"ts":"2016-09-29T16:41:36.142","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"END GetUniqueID"}
{"ts":"2016-09-29T16:41:36.159","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"BEGIN GetUniqueID"}
{"ts":"2016-09-29T16:41:36.159","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"END GetUniqueID"}
{"ts":"2016-09-29T16:41:36.159","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"BEGIN GetUniqueID"}
{"ts":"2016-09-29T16:41:36.159","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"END GetUniqueID"}
{"ts":"2016-09-29T16:41:36.159","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"BEGIN GetUniqueID"}
{"ts":"2016-09-29T16:41:36.159","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"END GetUniqueID"}
{"ts":"2016-09-29T16:41:36.159","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"BEGIN GetUniqueID"}
{"ts":"2016-09-29T16:41:36.159","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"

,"v":"END GetUniqueID"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Trusted Storage contents:"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"--------------------------"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"UMN1: C8DDC1307EF03977FB71832044813241BEA6241C"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"UMN2: 341F1BD44AC7FBF013213492AA6F92142C68981F"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Trust Flags: FULLY TRUSTED"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Status:
Enabled"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Product key:
"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Fulfillment ID: LOCAL_TRIAL_FID_446"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Expiration:
29-jul-2016"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Features line(s):"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"\r\n\r\nINCREMENT TableauServerCapacity tableau 2018.1216 permanent 1 \\\r
\n\tVENDOR_STRING=EntitlementID=;INTERACTOR=10;VIEWER=0;FulfillmentID=;Activatio
nID=;OEMNAME=;GUEST=;GBRAND=;CORES=;SINGLE_MACHINE= \\\r\n\tISSUER=\"Tableau Sof
tware\" ISSUED=16-dec-2015 START=15-dec-2015 \\\r\n\tTS_OK ONE_TS_OK SIGN=\"0D33
9B39 A114 F56D 3B70 6B0A 91F1 5EF9 \\\r\n\t131B 2A6E 7B39 54BE F014 7083 E889 0
78E E101 07CB 3F9D A581 \\\r\n\t6D88 DC19 AAA6 F08E 0DA2 ABA4 F4AD AD5E CE79 3DF
3\"\r\nINCREMENT TableauServer tableau 2018.1216 permanent 1 \\\r\n\tVENDOR_STRI
NG=EntitlementID=;EDITION=Standard;CAP=REG:STANDARD,WARN:14;DC_STD=default;DC_CA
P=;MAX_USERS=25;TRIALVER=9.3;FulfillmentID=;ActivationID=;OEMNAME=;MAP_STD=defau
lt;MAP_CAP=;OFFLINE= \\\r\n\tISSUER=\"Tableau Software\" ISSUED=16-dec-2015 STAR
T=15-dec-2015 \\\r\n\tTS_OK ONE_TS_OK SIGN=\"1C8F 8BDC E56F 6AD1 209D 15CA F491
15B4 \\\r\n\tC0EA FF08 F9A7 880B E9C9 045D B2BF 0BBC 8732 913E FFBD 496E \\\r\n\
tDBD1 E934 63AB 8F90 B179 F2CD FC24 DC6C 19ED 6C76\"\r\n"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"--------------------------"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Trust Flags: FULLY TRUSTED"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Status:
Enabled"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Product key:
"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"

,"v":"Fulfillment ID: LOCAL_TRIAL_FID_18"}


{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Expiration:
28-jun-2016"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Features line(s):"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"\r\n\r\nINCREMENT TableauInitializer tableau 1.0 permanent 1 ISSUER=\"Tabl
eau \\\r\n\tSoftware\" ISSUED=12-aug-2008 START=11-aug-2008 ONE_TS_OK \\\r\n\tSI
GN=\"101F 157E DD09 DE23 A590 476D 2430 2808 27DC E3D2 49D7 \\\r\n\tFFAC 4E8B EF
09 170F 0093 57A9 6761 B476 1E66 17BD FDF1 1391 \\\r\n\t5620 B92E 4B59 A9F1 9041
CE80 6ACF\"\r\n"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"--------------------------"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Trust Flags: FULLY TRUSTED"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Status:
Enabled"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Product key:
TD27-8B10-0660-83F2-DC81"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Fulfillment ID: FID__6c2d926b_1554a840943_629b"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Expiration:
27-Jun-2017"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Features line(s):"}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"INCREMENT TableauDesktop tableau 2017.0627 27-jun-2017 1 \\\r\n\tVENDOR_ST
RING=EntitlementID=e447-220f-5190-adf9-3b1a-e9db;EDITION=Professional;CAP=REG:SH
ORT;DC_STD=default;DC_CAP=;TRIALVER=;FulfillmentID=FID__6c2d926b_1554a840943_629
b;ActivationID=TD27-8B10-0660-83F2-DC81;OEMNAME=;GRACE=;MAP_STD=default;MAP_CAP=
;OFFLINE= \\\r\n\tISSUER=\"Tableau Software\" ISSUED=27-jun-2016 \\\r\n\tNOTICE=
\"efn:tft,cid:70132000001HD7n,ls:Tableau for \\\r\n\tTeaching,lsd:TFT - Free Stu
dent Edition\" START=26-jun-2016 \\\r\n\tTS_OK SIGN=\"0042 16E0 B13D 76FE B776 A
D5D D838 B6BD BC34 D51A \\\r\n\t51DB 62E8 A6F1 FBFB 2BE7 1D66 4188 EFEA 8F33 C8F
7 B1FF 0FAC \\\r\n\t99EA 51F5 A3EB EE97 2E68 2350 BBF9 50EC\""}
{"ts":"2016-09-29T16:41:36.337","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"--------------------------"}
{"ts":"2016-09-29T16:41:36.720","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"--------------------------"}
{"ts":"2016-09-29T16:41:36.720","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"All Entitlements:"}
{"ts":"2016-09-29T16:41:36.720","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"--------------------------"}
{"ts":"2016-09-29T16:41:36.720","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"

,"v":"Entitlement ID:
e447-220f-5190-adf9-3b1a-e9db"}
{"ts":"2016-09-29T16:41:36.720","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Latest Key:
TD27-8B10-0660-83F2-DC81"}
{"ts":"2016-09-29T16:41:36.720","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Latest Fulfillment: FID__6c2d926b_1554a840943_629b"}
{"ts":"2016-09-29T16:41:36.721","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Maintenance Date: 27-Jun-2017"}
{"ts":"2016-09-29T16:41:36.721","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"All fulfillments:"}
{"ts":"2016-09-29T16:41:36.721","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" TD27-8B10-0660-83F2-DC81 27-Jun-2017"}
{"ts":"2016-09-29T16:41:36.721","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"--------------------------"}
{"ts":"2016-09-29T16:41:36.721","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Current license state:
LicenseOK"}
{"ts":"2016-09-29T16:41:36.721","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Current serial number:
TD27-8B10-0660-83F2-DC81"}
{"ts":"2016-09-29T16:41:36.721","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Current fulfillment ID:
FID__6c2d926b_1554a840943_629b"}
{"ts":"2016-09-29T16:41:36.721","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Current registration state: complete / not needed"}
{"ts":"2016-09-29T16:41:36.721","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Current registration form: SHORT"}
{"ts":"2016-09-29T16:41:36.721","pid":78016,"tid":"121fc","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"--------------------------"}
{"ts":"2016-09-29T16:41:37.106","pid":78016,"tid":"12984","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"TD27-8B10-0660-83F2-DC81 is the best so far"}
{"ts":"2016-09-29T16:41:37.470","pid":78016,"tid":"12984","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"BEGIN GetUniqueID"}
{"ts":"2016-09-29T16:41:37.492","pid":78016,"tid":"12984","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"END GetUniqueID"}
{"ts":"2016-09-29T16:41:37.492","pid":78016,"tid":"12984","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"BEGIN GetUniqueID"}
{"ts":"2016-09-29T16:41:37.492","pid":78016,"tid":"12984","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"END GetUniqueID"}
{"ts":"2016-09-29T16:41:37.492","pid":78016,"tid":"12984","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"BEGIN GetUniqueID"}
{"ts":"2016-09-29T16:41:37.492","pid":78016,"tid":"12984","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"END GetUniqueID"}
{"ts":"2016-09-29T16:41:37.492","pid":78016,"tid":"12984","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"

,"v":"BEGIN GetUniqueID"}
{"ts":"2016-09-29T16:41:37.492","pid":78016,"tid":"12984","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"END GetUniqueID"}
{"ts":"2016-09-29T16:41:37.492","pid":78016,"tid":"12984","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"BEGIN GetUniqueID"}
{"ts":"2016-09-29T16:41:37.492","pid":78016,"tid":"12984","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"END GetUniqueID"}
{"ts":"2016-09-29T16:41:37.492","pid":78016,"tid":"12984","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"BEGIN GetUniqueID"}
{"ts":"2016-09-29T16:41:37.492","pid":78016,"tid":"12984","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"END GetUniqueID"}
{"ts":"2016-09-29T16:41:37.492","pid":78016,"tid":"12984","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"BEGIN GetUniqueID"}
{"ts":"2016-09-29T16:41:37.492","pid":78016,"tid":"12984","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"END GetUniqueID"}
{"ts":"2016-09-29T16:41:37.493","pid":78016,"tid":"12984","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"BEGIN GetUniqueID"}
{"ts":"2016-09-29T16:41:37.493","pid":78016,"tid":"12984","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"END GetUniqueID"}
{"ts":"2016-09-29T16:41:37.493","pid":78016,"tid":"12984","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"BEGIN GetUniqueID"}
{"ts":"2016-09-29T16:41:37.493","pid":78016,"tid":"12984","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"END GetUniqueID"}
{"ts":"2016-09-29T16:41:38.237","pid":78016,"tid":"13074","sev":"warn","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"AUTOUPDATE: Download and install was selected."}
{"ts":"2016-09-29T16:41:38.240","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"AUTOUPDATE: Starting download of update."}
{"ts":"2016-09-29T16:41:46.860","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:create-connection-ui datasource-type=\"exceldirect\"
","name":"tabui:create-connection-ui"}}
{"ts":"2016-09-29T16:41:49.093","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-c
onnect","v":{"attr":{":locale":"1033","class":"excel-direct","cleaning":"no","co
mpat":"no","filename":"C:\\Users\\Vissu\\Downloads\\Sample - Superstore Sales (E
xcel).xls","name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l","password":"","ser
ver":"","validate":"no"},"caption":"Sample - Superstore Sales (Excel)","name":"e
xcel-direct.0s0w8bc1somq6z110noi81jfj70l"}}
{"ts":"2016-09-29T16:41:49.093","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-c
onnect-data-connection","v":{"attr":{":locale":"1033","class":"excel-direct","cl
eaning":"no","compat":"no","filename":"C:\\Users\\Vissu\\Downloads\\Sample - Sup
erstore Sales (Excel).xls","name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l","p
assword":"","server":"","validate":"no"},"caption":"Sample - Superstore Sales (E
xcel)","name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l"}}
{"ts":"2016-09-29T16:41:49.104","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"cons

truct-protocol-group","v":{"attributes":{":locale":"1033","class":"excel-direct"
,"cleaning":"no","compat":"no","dataRefreshTime":"","filename":"C:\\Users\\Vissu
\\Downloads\\Sample - Superstore Sales (Excel).xls","interpretationMode":"0","va
lidate":"no"},"closed-protocols-count":"0","connection-limit":"1","group-id":"0"
,"in-construction-count":"0","protocols-count":"0","this":"0x000000000da46f60"}}
{"ts":"2016-09-29T16:41:49.114","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::constructor : elapsed = 1 msec."}
{"ts":"2016-09-29T16:41:49.125","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"prot
ocol-added-to-group","v":{"group":{"attributes":{":locale":"1033","class":"excel
-direct","cleaning":"no","compat":"no","dataRefreshTime":"","filename":"C:\\User
s\\Vissu\\Downloads\\Sample - Superstore Sales (Excel).xls","interpretationMode"
:"0","validate":"no"},"closed-protocols-count":"0","connection-limit":"1","group
-id":"0","in-construction-count":"0","protocols-count":"1","this":"0x000000000da
46f60"},"protocol-id":"0"}}
{"ts":"2016-09-29T16:41:49.136","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"11.13.1.2 build 173302","filename":"C:\\Progr
am Files\\Tableau\\Tableau 9.3\\bin\\tabfnp.dll","product-name":"FlexNet Publish
er (64 bit)","product-version":"11.13.1.2 build 173302"}}
{"ts":"2016-09-29T16:41:49.137","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\IPHLPAPI.DLL","product-name":"Microsoft\u00ae Windo
ws\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.137","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\WINNSI.DLL","product-name":"Microsoft\u00ae Windows
\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.137","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\snmpapi.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.137","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"7.0.0.0 (win7_rtm.090713-1255)","filename":"C
:\\Windows\\system32\\OLEACC.dll","product-name":"Microsoft\u00ae Windows\u00ae
Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.138","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\System32\\wshtcpip.dll","product-name":"Microsoft\u00ae Windo
ws\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.138","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"2001.12.8530.16385 (win7_rtm.090713-1255)","f
ilename":"C:\\Windows\\system32\\CLBCatQ.DLL","product-name":"Microsoft\u00ae Wi
ndows\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.138","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\wbem\\wbemprox.dll","product-name":"Microsoft\u00ae
Windows\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.138","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\wbemcomn.dll","product-name":"Microsoft\u00ae Wi

ndows\u00ae Operating System","product-version":"6.1.7601.17514"}}


{"ts":"2016-09-29T16:41:49.139","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\RpcRtRemote.dll","product-name":"Microsoft\u00ae
Windows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:49.139","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\wbem\\wbemsvc.dll","product-name":"Microsoft\u00ae
Windows\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.139","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\wbem\\fastprox.dll","product-name":"Microsoft\u00ae
Windows\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.139","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\NTDSAPI.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.140","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\winhttp.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.141","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\webio.dll","product-name":"Microsoft\u00ae Windo
ws\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:49.141","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tabres.dll","product-name":"Tableau 9.3","produc
t-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:49.141","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\dhcpcsvc6.DLL","product-name":"Microsoft\u00ae Wind
ows\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.142","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\credssp.dll","product-name":"Microsoft\u00ae Win
dows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:49.142","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\System32\\wship6.dll","product-name":"Microsoft\u00ae Windows
\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.142","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"3,1,0,1","filename":"C:\\Program Files\\Bonjo
ur\\mdnsNSP.dll","product-name":"Bonjour","product-version":"3,1,0,1"}}
{"ts":"2016-09-29T16:41:49.142","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\rasadhlp.dll","product-name":"Microsoft\u00ae Windo
ws\u00ae Operating System","product-version":"6.1.7600.16385"}}

{"ts":"2016-09-29T16:41:49.142","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\System32\\fwpuclnt.dll","product-name":"Microsoft\u00ae Windo
ws\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.143","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\CRYPTUI.DLL","product-name":"Microsoft\u00ae Win
dows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:49.144","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\GPAPI.dll","product-name":"Microsoft\u00ae Windows\
u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.144","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\icmp.Dll","product-name":"Microsoft\u00ae Windows\u
00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.144","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\NLAapi.dll","product-name":"Microsoft\u00ae Wind
ows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:49.144","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\napinsp.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.144","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\pnrpnsp.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.145","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\wshbth.dll","product-name":"Microsoft\u00ae Wind
ows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:49.145","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\System32\\winrnr.dll","product-name":"Microsoft\u00ae Windows
\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.145","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\ncrypt.dll","product-name":"Microsoft\u00ae Windows
\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.145","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\bcrypt.dll","product-name":"Microsoft\u00ae Windows
\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.146","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\bcryptprimitives.dll","product-name":"Microsoft\
u00ae Windows\u00ae Operating System","product-version":"6.1.7601.17514"}}

{"ts":"2016-09-29T16:41:49.146","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\cryptnet.dll","product-name":"Microsoft\u00ae Windo
ws\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.146","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\SensApi.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.146","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\Cabinet.dll","product-name":"Microsoft\u00ae Win
dows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:49.146","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\DEVRTL.dll","product-name":"Microsoft\u00ae Windows
\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.146","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.10 (win7_rtm.090713-1255)","filename":"C:\\
Windows\\WinSxS\\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.76
01.17514_none_fa396087175ac9ac\\comctl32.dll","product-name":"Microsoft\u00ae Wi
ndows\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.147","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"7.00.7600.16385 (win7_rtm.090713-1255)","file
name":"C:\\Windows\\system32\\propsys.dll","product-name":"Windows\u00ae Search"
,"product-version":"7.00.7600.16385"}}
{"ts":"2016-09-29T16:41:49.147","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\ntmarta.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.147","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"1.3.1000.0","filename":"C:\\Windows\\system32
\\XmlLite.dll","product-name":"Microsoft XML Core Services","product-version":"1
.3.1000.0"}}
{"ts":"2016-09-29T16:41:49.148","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\LINKINFO.dll","product-name":"Microsoft\u00ae Windo
ws\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.149","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Program Files\\Common Files\\microsoft shared\\ink\\tiptsf.dll","produ
ct-name":"Microsoft\u00ae Windows\u00ae Operating System","product-version":"6.1
.7600.16385"}}
{"ts":"2016-09-29T16:41:49.149","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\explorerframe.dll","product-name":"Microsoft\u00ae
Windows\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.149","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen

ame":"C:\\Windows\\system32\\DUser.dll","product-name":"Microsoft\u00ae Windows\
u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.150","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\DUI70.dll","product-name":"Microsoft\u00ae Windows\
u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.150","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.2.9200.16492 (win8_gdr_oobssr.130113-0015)"
,"filename":"C:\\Windows\\system32\\WindowsCodecs.dll","product-name":"Microsoft
\u00ae Windows\u00ae Operating System","product-version":"6.2.9200.16492"}}
{"ts":"2016-09-29T16:41:49.151","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\apphelp.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.151","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"17.3.5951.0827","filename":"C:\\Users\\Vissu\
\AppData\\Local\\Microsoft\\OneDrive\\17.3.5951.0827\\amd64\\FileSyncShell64.dll
","product-name":"Microsoft OneDrive","product-version":"17.3.5951.0827"}}
{"ts":"2016-09-29T16:41:49.151","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"16.0.6701.1036","filename":"C:\\Program Files
(x86)\\Microsoft Office\\root\\VFS\\ProgramFilesX64\\Microsoft Office\\Office16
\\GROOVEEX.DLL","product-name":"Microsoft Office 2016","product-version":"16.0.6
701.1036"}}
{"ts":"2016-09-29T16:41:49.151","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"14.00.23918.0 built by: VCTOOLSREL","filename
":"C:\\Windows\\system32\\VCRUNTIME140.dll","product-name":"Microsoft\u00ae Visu
al Studio\u00ae 2015","product-version":"14.00.23918.0"}}
{"ts":"2016-09-29T16:41:49.152","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"10.0.10240.16390 (th1_st1.150714-1601)","file
name":"C:\\Windows\\system32\\api-ms-win-crt-runtime-l1-1-0.dll","product-name":
"Microsoft\u00ae Windows\u00ae Operating System","product-version":"10.0.10240.1
6390"}}
{"ts":"2016-09-29T16:41:49.152","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"10.0.10240.16390 (th1_st1.150714-1601)","file
name":"C:\\Windows\\system32\\ucrtbase.DLL","product-name":"Microsoft\u00ae Wind
ows\u00ae Operating System","product-version":"10.0.10240.16390"}}
{"ts":"2016-09-29T16:41:49.152","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"10.0.10240.16390 (th1_st1.150714-1601)","file
name":"C:\\Windows\\system32\\api-ms-win-core-timezone-l1-1-0.dll","product-name
":"Microsoft\u00ae Windows\u00ae Operating System","product-version":"10.0.10240
.16390"}}
{"ts":"2016-09-29T16:41:49.152","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"10.0.10240.16390 (th1_st1.150714-1601)","file
name":"C:\\Windows\\system32\\api-ms-win-core-file-l2-1-0.dll","product-name":"M
icrosoft\u00ae Windows\u00ae Operating System","product-version":"10.0.10240.163
90"}}
{"ts":"2016-09-29T16:41:49.153","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"10.0.10240.16390 (th1_st1.150714-1601)","file
name":"C:\\Windows\\system32\\api-ms-win-core-localization-l1-2-0.dll","product-

name":"Microsoft\u00ae Windows\u00ae Operating System","product-version":"10.0.1


0240.16390"}}
{"ts":"2016-09-29T16:41:49.153","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"10.0.10240.16390 (th1_st1.150714-1601)","file
name":"C:\\Windows\\system32\\api-ms-win-core-synch-l1-2-0.dll","product-name":"
Microsoft\u00ae Windows\u00ae Operating System","product-version":"10.0.10240.16
390"}}
{"ts":"2016-09-29T16:41:49.153","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"10.0.10240.16390 (th1_st1.150714-1601)","file
name":"C:\\Windows\\system32\\api-ms-win-core-processthreads-l1-1-1.dll","produc
t-name":"Microsoft\u00ae Windows\u00ae Operating System","product-version":"10.0
.10240.16390"}}
{"ts":"2016-09-29T16:41:49.153","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"10.0.10240.16390 (th1_st1.150714-1601)","file
name":"C:\\Windows\\system32\\api-ms-win-core-file-l1-2-0.dll","product-name":"M
icrosoft\u00ae Windows\u00ae Operating System","product-version":"10.0.10240.163
90"}}
{"ts":"2016-09-29T16:41:49.153","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"10.0.10240.16390 (th1_st1.150714-1601)","file
name":"C:\\Windows\\system32\\api-ms-win-crt-string-l1-1-0.dll","product-name":"
Microsoft\u00ae Windows\u00ae Operating System","product-version":"10.0.10240.16
390"}}
{"ts":"2016-09-29T16:41:49.154","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"10.0.10240.16390 (th1_st1.150714-1601)","file
name":"C:\\Windows\\system32\\api-ms-win-crt-heap-l1-1-0.dll","product-name":"Mi
crosoft\u00ae Windows\u00ae Operating System","product-version":"10.0.10240.1639
0"}}
{"ts":"2016-09-29T16:41:49.154","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"10.0.10240.16390 (th1_st1.150714-1601)","file
name":"C:\\Windows\\system32\\api-ms-win-crt-stdio-l1-1-0.dll","product-name":"M
icrosoft\u00ae Windows\u00ae Operating System","product-version":"10.0.10240.163
90"}}
{"ts":"2016-09-29T16:41:49.154","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"10.0.10240.16390 (th1_st1.150714-1601)","file
name":"C:\\Windows\\system32\\api-ms-win-crt-convert-l1-1-0.dll","product-name":
"Microsoft\u00ae Windows\u00ae Operating System","product-version":"10.0.10240.1
6390"}}
{"ts":"2016-09-29T16:41:49.154","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"14.00.23918.0 built by: VCTOOLSREL","filename
":"C:\\Windows\\system32\\MSVCP140.dll","product-name":"Microsoft\u00ae Visual S
tudio\u00ae 2015","product-version":"14.00.23918.0"}}
{"ts":"2016-09-29T16:41:49.154","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"10.0.10240.16390 (th1_st1.150714-1601)","file
name":"C:\\Windows\\system32\\api-ms-win-crt-locale-l1-1-0.dll","product-name":"
Microsoft\u00ae Windows\u00ae Operating System","product-version":"10.0.10240.16
390"}}
{"ts":"2016-09-29T16:41:49.155","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"10.0.10240.16390 (th1_st1.150714-1601)","file
name":"C:\\Windows\\system32\\api-ms-win-crt-math-l1-1-0.dll","product-name":"Mi
crosoft\u00ae Windows\u00ae Operating System","product-version":"10.0.10240.1639

0"}}
{"ts":"2016-09-29T16:41:49.155","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"10.0.10240.16390 (th1_st1.150714-1601)","file
name":"C:\\Windows\\system32\\api-ms-win-crt-multibyte-l1-1-0.dll","product-name
":"Microsoft\u00ae Windows\u00ae Operating System","product-version":"10.0.10240
.16390"}}
{"ts":"2016-09-29T16:41:49.155","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"10.0.10240.16390 (th1_st1.150714-1601)","file
name":"C:\\Windows\\system32\\api-ms-win-crt-time-l1-1-0.dll","product-name":"Mi
crosoft\u00ae Windows\u00ae Operating System","product-version":"10.0.10240.1639
0"}}
{"ts":"2016-09-29T16:41:49.155","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"10.0.10240.16390 (th1_st1.150714-1601)","file
name":"C:\\Windows\\system32\\api-ms-win-crt-filesystem-l1-1-0.dll","product-nam
e":"Microsoft\u00ae Windows\u00ae Operating System","product-version":"10.0.1024
0.16390"}}
{"ts":"2016-09-29T16:41:49.155","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"10.0.10240.16390 (th1_st1.150714-1601)","file
name":"C:\\Windows\\system32\\api-ms-win-crt-environment-l1-1-0.dll","product-na
me":"Microsoft\u00ae Windows\u00ae Operating System","product-version":"10.0.102
40.16390"}}
{"ts":"2016-09-29T16:41:49.156","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"10.0.10240.16390 (th1_st1.150714-1601)","file
name":"C:\\Windows\\system32\\api-ms-win-crt-utility-l1-1-0.dll","product-name":
"Microsoft\u00ae Windows\u00ae Operating System","product-version":"10.0.10240.1
6390"}}
{"ts":"2016-09-29T16:41:49.156","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"5.0.7601.17514","filename":"C:\\Windows\\syst
em32\\msi.dll","product-name":"Windows Installer - Unicode","product-version":"5
.0.7601.17514"}}
{"ts":"2016-09-29T16:41:49.157","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"filename":"C:\\Program Files (x86)\\Microsoft Office\\root\\
VFS\\ProgramFilesX64\\Microsoft Office\\Office16\\1033\\GrooveIntlResource.dll"}
}
{"ts":"2016-09-29T16:41:49.157","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"12.3.3154.0","filename":"C:\\Program Files\\A
VAST Software\\Avast\\ashShA64.dll","product-name":"Avast Antivirus ","product-v
ersion":"12.3.3154.0"}}
{"ts":"2016-09-29T16:41:49.157","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\WTSAPI32.dll","product-name":"Microsoft\u00ae Windo
ws\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.178","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\EhStorShell.dll","product-name":"Microsoft\u00ae Wi
ndows\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.179","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\System32\\cscui.dll","product-name":"Microsoft\u00ae Windows\

u00ae Operating System","product-version":"6.1.7600.16385"}}


{"ts":"2016-09-29T16:41:49.179","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\System32\\CSCDLL.dll","product-name":"Microsoft\u00ae Wind
ows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:49.179","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\CSCAPI.dll","product-name":"Microsoft\u00ae Wind
ows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:49.179","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\IconCodecService.dll","product-name":"Microsoft\u00
ae Windows\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.179","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"3.10.349.0","filename":"C:\\Windows\\system32
\\msls31.dll","product-name":"Microsoft\u00ae Line Services","product-version":"
3.10"}}
{"ts":"2016-09-29T16:41:49.180","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"7.00.7601.17514 (win7sp1_rtm.101119-1850)","f
ilename":"C:\\Windows\\System32\\StructuredQuery.dll","product-name":"Windows\u0
0ae Search","product-version":"7.00.7601.17514"}}
{"ts":"2016-09-29T16:41:49.180","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\actxprxy.dll","product-name":"Microsoft\u00ae Wi
ndows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:49.180","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"11.00.9600.17840 (winblue_r11.150522-0826)","
filename":"C:\\Program Files\\Internet Explorer\\ieproxy.dll","product-name":"In
ternet Explorer","product-version":"11.00.9600.17840"}}
{"ts":"2016-09-29T16:41:49.180","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.2.9200.16492 (win8_gdr_oobssr.130113-0015)"
,"filename":"C:\\Windows\\system32\\api-ms-win-downlevel-shlwapi-l2-1-0.dll","pr
oduct-name":"Microsoft\u00ae Windows\u00ae Operating System","product-version":"
6.2.9200.16492"}}
{"ts":"2016-09-29T16:41:49.201","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\SearchFolder.dll","product-name":"Microsoft\u00ae W
indows\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.202","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\ntshrui.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.203","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\slc.dll","product-name":"Microsoft\u00ae Windows\u0
0ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.203","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen

ame":"C:\\Windows\\system32\\thumbcache.dll","product-name":"Microsoft\u00ae Win
dows\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.204","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\SHDOCVW.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.205","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"11.00.9600.16428 (winblue_gdr.131013-1700)","
filename":"C:\\Windows\\system32\\ieframe.DLL","product-name":"Internet Explorer
","product-version":"11.00.9600.16428"}}
{"ts":"2016-09-29T16:41:49.206","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.2.9200.16492 (win8_gdr_oobssr.130113-0015)"
,"filename":"C:\\Windows\\system32\\api-ms-win-downlevel-shell32-l1-1-0.dll","pr
oduct-name":"Microsoft\u00ae Windows\u00ae Operating System","product-version":"
6.2.9200.16492"}}
{"ts":"2016-09-29T16:41:49.207","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\NetworkExplorer.dll","product-name":"Microsoft\u00a
e Windows\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.207","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\system32\\samcli.dll","product-name":"Microsoft\u00ae Wind
ows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:49.207","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\SAMLIB.dll","product-name":"Microsoft\u00ae Windows
\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.207","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\System32\\drprov.dll","product-name":"Microsoft\u00ae Windows
\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.208","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\System32\\WINSTA.dll","product-name":"Microsoft\u00ae Wind
ows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:49.208","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\System32\\ntlanman.dll","product-name":"Microsoft\u00ae Windo
ws\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.208","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7601.17514 (win7sp1_rtm.101119-1850)","fi
lename":"C:\\Windows\\System32\\davclnt.dll","product-name":"Microsoft\u00ae Win
dows\u00ae Operating System","product-version":"6.1.7601.17514"}}
{"ts":"2016-09-29T16:41:49.208","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\System32\\DAVHLPR.dll","product-name":"Microsoft\u00ae Window
s\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.210","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dll-

version-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\wpdshext.dll","product-name":"Microsoft\u00ae Windo
ws\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.211","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\PortableDeviceApi.dll","product-name":"Microsoft\u0
0ae Windows\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.211","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\PortableDeviceTypes.dll","product-name":"Microsoft\
u00ae Windows\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.212","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"6.1.7600.16385 (win7_rtm.090713-1255)","filen
ame":"C:\\Windows\\system32\\EhStorAPI.dll","product-name":"Microsoft\u00ae Wind
ows\u00ae Operating System","product-version":"6.1.7600.16385"}}
{"ts":"2016-09-29T16:41:49.215","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tdeapi.dll","product-name":"Tableau Data Engine
API 9.3","product-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:49.217","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"9300.16.0811.1521","filename":"C:\\Program Fi
les\\Tableau\\Tableau 9.3\\bin\\tdeserver64.exe","product-name":"Tableau Data En
gine 9.3","product-version":"9300.16.0811.1521"}}
{"ts":"2016-09-29T16:41:49.711","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"cons
truct-protocol","v":{"attributes":{"class":"dataengine","dbname":"","server":""}
,"created":"9/29/2016 4:41:49 PM","created-elapsed":0.574,"disconnected":false,"
id":1,"this":"0x000000000b368c00"}}
{"ts":"2016-09-29T16:41:49.711","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":1,"query":"(create database \"C:\\\\Users\\\\Vissu\\
\\AppData\\\\Local\\\\Temp\\\\TableauTemp\\\\#TableauTemp_0dm5du00be1zxl1cpdk271
dckos6.tde\")","query-hash":390527052}}
{"ts":"2016-09-29T16:41:49.712","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session1"}
{"ts":"2016-09-29T16:41:49.990","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.279,"protocol-id":1,"query":"(create database \
"C:\\\\Users\\\\Vissu\\\\AppData\\\\Local\\\\Temp\\\\TableauTemp\\\\#TableauTemp
_0dm5du00be1zxl1cpdk271dckos6.tde\")","query-hash":390527052,"rows":0}}
{"ts":"2016-09-29T16:41:49.990","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dest
ruct-protocol","v":{"attributes":{"class":"dataengine","dbname":"","server":""},
"created":"9/29/2016 4:41:49 PM","created-elapsed":0.574,"disconnected":false,"i
d":1,"this":"0x000000000b368c00"}}
{"ts":"2016-09-29T16:41:49.990","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"cons
truct-protocol-group","v":{"attributes":{"class":"dataengine","dbname":"C:\\User
s\\Vissu\\AppData\\Local\\Temp\\TableauTemp\\#TableauTemp_0dm5du00be1zxl1cpdk271
dckos6.tde","server":""},"closed-protocols-count":"0","connection-limit":"16","g
roup-id":"1","in-construction-count":"0","protocols-count":"0","this":"0x0000000
00da473e0"}}
{"ts":"2016-09-29T16:41:49.992","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"cons

truct-protocol","v":{"attributes":{":thread-session":"1","class":"dataengine","d
bname":"C:\\Users\\Vissu\\AppData\\Local\\Temp\\TableauTemp\\#TableauTemp_0dm5du
00be1zxl1cpdk271dckos6.tde","server":""},"created":"9/29/2016 4:41:49 PM","creat
ed-elapsed":0.001,"disconnected":false,"id":2,"this":"0x000000000b368c00"}}
{"ts":"2016-09-29T16:41:49.992","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"prot
ocol-added-to-group","v":{"group":{"attributes":{"class":"dataengine","dbname":"
C:\\Users\\Vissu\\AppData\\Local\\Temp\\TableauTemp\\#TableauTemp_0dm5du00be1zxl
1cpdk271dckos6.tde","server":""},"closed-protocols-count":"0","connection-limit"
:"16","group-id":"1","in-construction-count":"0","protocols-count":"1","this":"0
x000000000da473e0"},"protocol-id":"2"}}
{"ts":"2016-09-29T16:41:49.994","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create schema [TableauTemp])","query-has
h":3304230416}}
{"ts":"2016-09-29T16:41:49.994","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:50.008","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.014,"protocol-id":2,"query":"(create schema [Ta
bleauTemp])","query-hash":3304230416,"rows":0}}
{"ts":"2016-09-29T16:41:50.009","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Metadata timestamp was not set, using Now() for m_metadataTimestamp)"}
{"ts":"2016-09-29T16:41:50.009","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect-data-connection","v":{"caption":"Sample - Superstore Sales (Excel)","
elapsed":0.916,"name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l"}}
{"ts":"2016-09-29T16:41:50.009","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-l
oad-metadata","v":{"attr":{":locale":"1033","class":"excel-direct","cleaning":"n
o","compat":"no","dataRefreshTime":"","filename":"C:\\Users\\Vissu\\Downloads\\S
ample - Superstore Sales (Excel).xls","interpretationMode":"0","name":"excel-dir
ect.0s0w8bc1somq6z110noi81jfj70l","password":"","server":"","validate":"no"},"ca
ption":"Sample - Superstore Sales (Excel)","name":"excel-direct.0s0w8bc1somq6z11
0noi81jfj70l"}}
{"ts":"2016-09-29T16:41:50.009","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-load-metadata","v":{"caption":"Sample - Superstore Sales (Excel)","elapsed":0
,"name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l"}}
{"ts":"2016-09-29T16:41:50.009","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect","v":{"caption":"Sample - Superstore Sales (Excel)","elapsed":0.916,"
name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l"}}
{"ts":"2016-09-29T16:41:50.011","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"setcollation","v":{"collation":"charset=0x0 root (LROOT)","column":"[Geographical].
[Geometry (generated)]"}}
{"ts":"2016-09-29T16:41:50.018","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-p
arser-connect","v":{"attr":{":locale":"1024","caption":"","class":"firebird","db
name":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\GEOCODING
.FDB","local-data":"standard","name":"AreaCode","password":"","username":"sysdba
"},"caption":"AreaCode","name":"AreaCode"}}
{"ts":"2016-09-29T16:41:50.018","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-c
onnect-data-connection","v":{"attr":{":locale":"1024","caption":"","class":"fire
bird","dbname":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\
GEOCODING.FDB","local-data":"standard","name":"AreaCode","password":"","username

":"sysdba"},"caption":"AreaCode","name":"AreaCode"}}
{"ts":"2016-09-29T16:41:50.019","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"cons
truct-protocol-group","v":{"attributes":{"class":"firebird","dbname":"C:\\Users\
\Vissu\\Documents\\My Tableau Repository\\Local Data\\GEOCODING.FDB","password":
"","server":"","username":"sysdba"},"closed-protocols-count":"0","connection-lim
it":"16","group-id":"2","in-construction-count":"0","protocols-count":"0","this"
:"0x000000000dc34380"}}
{"ts":"2016-09-29T16:41:50.035","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"WI-V2.5.2.26540","filename":"C:\\Program File
s\\Tableau\\Tableau 9.3\\bin\\fbclient.dll","product-name":"Firebird SQL Server"
,"product-version":"2.5.2.26540"}}
{"ts":"2016-09-29T16:41:50.035","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"8.00.50727.6229","filename":"C:\\Windows\\Win
SxS\\amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6229_none_88dcc0bf2fb1b
808\\MSVCR80.dll","product-name":"Microsoft\u00ae Visual Studio\u00ae 2005","pro
duct-version":"8.00.50727.6229"}}
{"ts":"2016-09-29T16:41:50.035","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"3, 0, 0, 0","filename":"C:\\Program Files\\Ta
bleau\\Tableau 9.3\\bin\\icuuc30.dll","product-name":"International Components f
or Unicode","product-version":"3, 0, 0, 0"}}
{"ts":"2016-09-29T16:41:50.035","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"dllversion-info","v":{"file-version":"3, 0, 0, 0","filename":"C:\\Program Files\\Ta
bleau\\Tableau 9.3\\bin\\icudt30.dll","product-name":"International Components f
or Unicode","product-version":"3, 0, 0, 0"}}
{"ts":"2016-09-29T16:41:50.063","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":3,"query":"select tbl.rdb$relation_name\nfrom rdb$re
lations tbl\nwhere tbl.rdb$relation_name like '#Tableau_3_4507BC5A20-BD68-0E4307
209F6F_%'\norder by 1","query-hash":97009465}}
{"ts":"2016-09-29T16:41:50.072","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"quer
y-plan","v":{"plan":"\nPLAN (TBL ORDER RDB$INDEX_0 INDEX (RDB$INDEX_0))","protoc
ol":"d7b7000"}}
{"ts":"2016-09-29T16:41:50.072","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":1,"elapsed":0.009,"protocol-id":3,"query":"select tbl.rdb$rel
ation_name\nfrom rdb$relations tbl\nwhere tbl.rdb$relation_name like '#Tableau_3
_4507BC5A20-BD68-0E4307209F6F_%'\norder by 1","query-hash":97009465,"rows":0}}
{"ts":"2016-09-29T16:41:50.072","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"cons
truct-protocol","v":{"attributes":{":thread-session":"2","class":"firebird","dbn
ame":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\GEOCODING.
FDB","password":"","server":"","username":"sysdba"},"created":"9/29/2016 4:41:50
PM","created-elapsed":0.053,"disconnected":false,"id":3,"this":"0x000000000d7b7
000"}}
{"ts":"2016-09-29T16:41:50.072","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"prot
ocol-added-to-group","v":{"group":{"attributes":{"class":"firebird","dbname":"C:
\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\GEOCODING.FDB","pa
ssword":"","server":"","username":"sysdba"},"closed-protocols-count":"0","connec
tion-limit":"16","group-id":"2","in-construction-count":"0","protocols-count":"1
","this":"0x000000000dc34380"},"protocol-id":"3"}}
{"ts":"2016-09-29T16:41:50.076","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"1","key-hash":"1085251751","key-size-b":"

76","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.078","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"1","key-hash":"2409682504","key-size-b":"
110","outcome":"hit","value-size-b":"1064"}}
{"ts":"2016-09-29T16:41:50.078","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"1064","elapsed-ms":"0","outcome":"do
ne","uncompressed-size-b":"5374"}}
{"ts":"2016-09-29T16:41:50.079","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"5","elapsed-ms":"3","freshness-ts"
:"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metadat
a","result-ts":"2123344934739000","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.080","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"1","key-hash":"219155932","key-size-b":"8
0","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.082","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"1","key-hash":"2686277139","key-size-b":"
114","outcome":"hit","value-size-b":"951"}}
{"ts":"2016-09-29T16:41:50.082","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"951","elapsed-ms":"0","outcome":"don
e","uncompressed-size-b":"5022"}}
{"ts":"2016-09-29T16:41:50.083","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"5","elapsed-ms":"3","freshness-ts"
:"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metadat
a","result-ts":"2123344934739070","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.086","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"1","key-hash":"1697906586","key-size-b":"
80","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.087","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"1","key-hash":"2049489285","key-size-b":"
114","outcome":"hit","value-size-b":"514"}}
{"ts":"2016-09-29T16:41:50.087","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"514","elapsed-ms":"0","outcome":"don
e","uncompressed-size-b":"1282"}}
{"ts":"2016-09-29T16:41:50.087","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"1","elapsed-ms":"2","freshness-ts"
:"2086575552000000","key-hash":"711176264","outcome":"hit","query-kind":"metadat
a","result-ts":"2123359486842320","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.088","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"1897651160","key-size-b":"
82","outcome":"miss"}}
{"ts":"2016-09-29T16:41:50.088","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","elapsed-ms":"0","key-hash":"4206806421","outcome"
:"miss-no-entry","query-kind":"metadata"}}
{"ts":"2016-09-29T16:41:50.088","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect-data-connection","v":{"caption":"AreaCode","elapsed":0.069,"name":"Ar
eaCode"}}

{"ts":"2016-09-29T16:41:50.088","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-l
oad-metadata","v":{"attr":{":locale":"1024","caption":"","class":"firebird","dbn
ame":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\GEOCODING.
FDB","local-data":"standard","name":"AreaCode","password":"","server":"","userna
me":"sysdba"},"caption":"AreaCode","name":"AreaCode"}}
{"ts":"2016-09-29T16:41:50.088","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-load-metadata","v":{"caption":"AreaCode","elapsed":0,"name":"AreaCode"}}
{"ts":"2016-09-29T16:41:50.088","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect","v":{"caption":"AreaCode","elapsed":0.07,"name":"AreaCode"}}
{"ts":"2016-09-29T16:41:50.088","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-parser-connect","v":{"caption":"AreaCode","elapsed":0.07,"name":"AreaCode"}}
{"ts":"2016-09-29T16:41:50.162","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-p
arser-connect","v":{"attr":{":locale":"1024","caption":"","class":"firebird","db
name":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\GEOCODING
.FDB","local-data":"standard","name":"City","password":"","username":"sysdba"},"
caption":"City","name":"City"}}
{"ts":"2016-09-29T16:41:50.162","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-c
onnect-data-connection","v":{"attr":{":locale":"1024","caption":"","class":"fire
bird","dbname":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\
GEOCODING.FDB","local-data":"standard","name":"City","password":"","username":"s
ysdba"},"caption":"City","name":"City"}}
{"ts":"2016-09-29T16:41:50.171","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"8","key-hash":"641712561","key-size-b":"8
2","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.182","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"10","key-hash":"1416761796","key-size-b":
"116","outcome":"hit","value-size-b":"1135"}}
{"ts":"2016-09-29T16:41:50.182","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"1135","elapsed-ms":"0","outcome":"do
ne","uncompressed-size-b":"6774"}}
{"ts":"2016-09-29T16:41:50.183","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"6","elapsed-ms":"20","freshness-ts
":"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metada
ta","result-ts":"2123344934739290","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.184","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"1","key-hash":"364219744","key-size-b":"7
8","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.186","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"1","key-hash":"3655656751","key-size-b":"
112","outcome":"hit","value-size-b":"874"}}
{"ts":"2016-09-29T16:41:50.186","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"874","elapsed-ms":"0","outcome":"don
e","uncompressed-size-b":"4014"}}
{"ts":"2016-09-29T16:41:50.186","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"4","elapsed-ms":"3","freshness-ts"
:"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metadat

a","result-ts":"2123344934739330","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.188","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"1060103642","key-size-b":"
80","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.189","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"1","key-hash":"2544349824","key-size-b":"
114","outcome":"hit","value-size-b":"950"}}
{"ts":"2016-09-29T16:41:50.189","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"950","elapsed-ms":"0","outcome":"don
e","uncompressed-size-b":"4998"}}
{"ts":"2016-09-29T16:41:50.190","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"5","elapsed-ms":"3","freshness-ts"
:"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metadat
a","result-ts":"2123344934739380","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.191","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"1897651160","key-size-b":"
82","outcome":"miss"}}
{"ts":"2016-09-29T16:41:50.191","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","elapsed-ms":"0","key-hash":"4206806421","outcome"
:"miss-no-entry","query-kind":"metadata"}}
{"ts":"2016-09-29T16:41:50.191","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect-data-connection","v":{"caption":"City","elapsed":0.029,"name":"City"}
}
{"ts":"2016-09-29T16:41:50.191","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-l
oad-metadata","v":{"attr":{":locale":"1024","caption":"","class":"firebird","dbn
ame":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\GEOCODING.
FDB","local-data":"standard","name":"City","password":"","server":"","username":
"sysdba"},"caption":"City","name":"City"}}
{"ts":"2016-09-29T16:41:50.191","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-load-metadata","v":{"caption":"City","elapsed":0,"name":"City"}}
{"ts":"2016-09-29T16:41:50.191","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect","v":{"caption":"City","elapsed":0.029,"name":"City"}}
{"ts":"2016-09-29T16:41:50.191","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-parser-connect","v":{"caption":"City","elapsed":0.029,"name":"City"}}
{"ts":"2016-09-29T16:41:50.207","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-p
arser-connect","v":{"attr":{":locale":"1024","caption":"","class":"firebird","db
name":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\GEOCODING
.FDB","local-data":"standard","name":"CMSA","password":"","username":"sysdba"},"
caption":"CMSA","name":"CMSA"}}
{"ts":"2016-09-29T16:41:50.207","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-c
onnect-data-connection","v":{"attr":{":locale":"1024","caption":"","class":"fire
bird","dbname":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\
GEOCODING.FDB","local-data":"standard","name":"CMSA","password":"","username":"s
ysdba"},"caption":"CMSA","name":"CMSA"}}
{"ts":"2016-09-29T16:41:50.216","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"8","key-hash":"2845200271","key-size-b":"

78","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.217","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"1","key-hash":"287580885","key-size-b":"1
12","outcome":"hit","value-size-b":"1137"}}
{"ts":"2016-09-29T16:41:50.217","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"1137","elapsed-ms":"0","outcome":"do
ne","uncompressed-size-b":"6774"}}
{"ts":"2016-09-29T16:41:50.218","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"6","elapsed-ms":"10","freshness-ts
":"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metada
ta","result-ts":"2123344934739550","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.228","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"10","key-hash":"3009805960","key-size-b":
"78","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.239","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"10","key-hash":"2136852317","key-size-b":
"112","outcome":"hit","value-size-b":"876"}}
{"ts":"2016-09-29T16:41:50.239","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"876","elapsed-ms":"0","outcome":"don
e","uncompressed-size-b":"4018"}}
{"ts":"2016-09-29T16:41:50.240","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"4","elapsed-ms":"21","freshness-ts
":"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metada
ta","result-ts":"2123344934739590","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.242","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"1","key-hash":"2136912240","key-size-b":"
78","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.243","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"1","key-hash":"3015804378","key-size-b":"
112","outcome":"hit","value-size-b":"1126"}}
{"ts":"2016-09-29T16:41:50.243","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"1126","elapsed-ms":"0","outcome":"do
ne","uncompressed-size-b":"6308"}}
{"ts":"2016-09-29T16:41:50.244","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"6","elapsed-ms":"3","freshness-ts"
:"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metadat
a","result-ts":"2123344934739630","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.244","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"1897651160","key-size-b":"
82","outcome":"miss"}}
{"ts":"2016-09-29T16:41:50.244","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","elapsed-ms":"0","key-hash":"4206806421","outcome"
:"miss-no-entry","query-kind":"metadata"}}
{"ts":"2016-09-29T16:41:50.245","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect-data-connection","v":{"caption":"CMSA","elapsed":0.037,"name":"CMSA"}
}

{"ts":"2016-09-29T16:41:50.245","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-l
oad-metadata","v":{"attr":{":locale":"1024","caption":"","class":"firebird","dbn
ame":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\GEOCODING.
FDB","local-data":"standard","name":"CMSA","password":"","server":"","username":
"sysdba"},"caption":"CMSA","name":"CMSA"}}
{"ts":"2016-09-29T16:41:50.245","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-load-metadata","v":{"caption":"CMSA","elapsed":0,"name":"CMSA"}}
{"ts":"2016-09-29T16:41:50.245","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect","v":{"caption":"CMSA","elapsed":0.038,"name":"CMSA"}}
{"ts":"2016-09-29T16:41:50.245","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-parser-connect","v":{"caption":"CMSA","elapsed":0.038,"name":"CMSA"}}
{"ts":"2016-09-29T16:41:50.253","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-p
arser-connect","v":{"attr":{":locale":"1024","caption":"","class":"firebird","db
name":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\GEOCODING
.FDB","local-data":"standard","name":"Congress","password":"","username":"sysdba
"},"caption":"Congress","name":"Congress"}}
{"ts":"2016-09-29T16:41:50.253","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-c
onnect-data-connection","v":{"attr":{":locale":"1024","caption":"","class":"fire
bird","dbname":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\
GEOCODING.FDB","local-data":"standard","name":"Congress","password":"","username
":"sysdba"},"caption":"Congress","name":"Congress"}}
{"ts":"2016-09-29T16:41:50.256","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"1","key-hash":"3885979411","key-size-b":"
80","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.257","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"1","key-hash":"3305507818","key-size-b":"
114","outcome":"hit","value-size-b":"1134"}}
{"ts":"2016-09-29T16:41:50.258","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"1134","elapsed-ms":"0","outcome":"do
ne","uncompressed-size-b":"6798"}}
{"ts":"2016-09-29T16:41:50.258","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"6","elapsed-ms":"3","freshness-ts"
:"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metadat
a","result-ts":"2123344934739790","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.260","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"2215780374","key-size-b":"
78","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.261","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"1","key-hash":"1046000438","key-size-b":"
112","outcome":"hit","value-size-b":"879"}}
{"ts":"2016-09-29T16:41:50.261","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"879","elapsed-ms":"0","outcome":"don
e","uncompressed-size-b":"4030"}}
{"ts":"2016-09-29T16:41:50.262","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"4","elapsed-ms":"2","freshness-ts"
:"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metadat

a","result-ts":"2123344934739830","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.263","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"1","key-hash":"447956860","key-size-b":"7
8","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.265","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"1","key-hash":"780086625","key-size-b":"1
12","outcome":"hit","value-size-b":"1128"}}
{"ts":"2016-09-29T16:41:50.265","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"1128","elapsed-ms":"0","outcome":"do
ne","uncompressed-size-b":"6332"}}
{"ts":"2016-09-29T16:41:50.265","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"6","elapsed-ms":"3","freshness-ts"
:"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metadat
a","result-ts":"2123344934739870","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.266","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"1897651160","key-size-b":"
82","outcome":"miss"}}
{"ts":"2016-09-29T16:41:50.266","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","elapsed-ms":"0","key-hash":"4206806421","outcome"
:"miss-no-entry","query-kind":"metadata"}}
{"ts":"2016-09-29T16:41:50.266","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect-data-connection","v":{"caption":"Congress","elapsed":0.013,"name":"Co
ngress"}}
{"ts":"2016-09-29T16:41:50.266","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-l
oad-metadata","v":{"attr":{":locale":"1024","caption":"","class":"firebird","dbn
ame":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\GEOCODING.
FDB","local-data":"standard","name":"Congress","password":"","server":"","userna
me":"sysdba"},"caption":"Congress","name":"Congress"}}
{"ts":"2016-09-29T16:41:50.267","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-load-metadata","v":{"caption":"Congress","elapsed":0,"name":"Congress"}}
{"ts":"2016-09-29T16:41:50.267","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect","v":{"caption":"Congress","elapsed":0.013,"name":"Congress"}}
{"ts":"2016-09-29T16:41:50.267","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-parser-connect","v":{"caption":"Congress","elapsed":0.013,"name":"Congress"}}
{"ts":"2016-09-29T16:41:50.283","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-p
arser-connect","v":{"attr":{":locale":"1024","caption":"","class":"firebird","db
name":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\GEOCODING
.FDB","local-data":"standard","name":"Country","password":"","username":"sysdba"
},"caption":"Country","name":"Country"}}
{"ts":"2016-09-29T16:41:50.283","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-c
onnect-data-connection","v":{"attr":{":locale":"1024","caption":"","class":"fire
bird","dbname":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\
GEOCODING.FDB","local-data":"standard","name":"Country","password":"","username"
:"sysdba"},"caption":"Country","name":"Country"}}
{"ts":"2016-09-29T16:41:50.294","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"9","key-hash":"1292348783","key-size-b":"

78","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.305","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"11","key-hash":"2094453678","key-size-b":
"112","outcome":"hit","value-size-b":"1044"}}
{"ts":"2016-09-29T16:41:50.305","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"1044","elapsed-ms":"0","outcome":"do
ne","uncompressed-size-b":"7352"}}
{"ts":"2016-09-29T16:41:50.306","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"6","elapsed-ms":"21","freshness-ts
":"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metada
ta","result-ts":"2123344934740010","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.307","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"1086817741","key-size-b":"
80","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.328","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"21","key-hash":"95632065","key-size-b":"1
14","outcome":"hit","value-size-b":"1138"}}
{"ts":"2016-09-29T16:41:50.328","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"1138","elapsed-ms":"0","outcome":"do
ne","uncompressed-size-b":"6792"}}
{"ts":"2016-09-29T16:41:50.329","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"6","elapsed-ms":"22","freshness-ts
":"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metada
ta","result-ts":"2123344934740050","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.330","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"3641419176","key-size-b":"
80","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.339","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"9","key-hash":"984356927","key-size-b":"1
14","outcome":"hit","value-size-b":"1126"}}
{"ts":"2016-09-29T16:41:50.339","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"1126","elapsed-ms":"0","outcome":"do
ne","uncompressed-size-b":"6326"}}
{"ts":"2016-09-29T16:41:50.340","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"6","elapsed-ms":"10","freshness-ts
":"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metada
ta","result-ts":"2123344934740080","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.341","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"1897651160","key-size-b":"
82","outcome":"miss"}}
{"ts":"2016-09-29T16:41:50.341","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","elapsed-ms":"0","key-hash":"4206806421","outcome"
:"miss-no-entry","query-kind":"metadata"}}
{"ts":"2016-09-29T16:41:50.342","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect-data-connection","v":{"caption":"Country","elapsed":0.058,"name":"Cou
ntry"}}

{"ts":"2016-09-29T16:41:50.342","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-l
oad-metadata","v":{"attr":{":locale":"1024","caption":"","class":"firebird","dbn
ame":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\GEOCODING.
FDB","local-data":"standard","name":"Country","password":"","server":"","usernam
e":"sysdba"},"caption":"Country","name":"Country"}}
{"ts":"2016-09-29T16:41:50.342","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-load-metadata","v":{"caption":"Country","elapsed":0,"name":"Country"}}
{"ts":"2016-09-29T16:41:50.342","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect","v":{"caption":"Country","elapsed":0.058,"name":"Country"}}
{"ts":"2016-09-29T16:41:50.342","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-parser-connect","v":{"caption":"Country","elapsed":0.058,"name":"Country"}}
{"ts":"2016-09-29T16:41:50.351","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-p
arser-connect","v":{"attr":{":locale":"1024","caption":"","class":"firebird","db
name":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\GEOCODING
.FDB","local-data":"standard","name":"County","password":"","username":"sysdba"}
,"caption":"County","name":"County"}}
{"ts":"2016-09-29T16:41:50.351","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-c
onnect-data-connection","v":{"attr":{":locale":"1024","caption":"","class":"fire
bird","dbname":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\
GEOCODING.FDB","local-data":"standard","name":"County","password":"","username":
"sysdba"},"caption":"County","name":"County"}}
{"ts":"2016-09-29T16:41:50.353","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"1","key-hash":"89821210","key-size-b":"82
","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.355","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"1","key-hash":"184969259","key-size-b":"1
16","outcome":"hit","value-size-b":"1137"}}
{"ts":"2016-09-29T16:41:50.355","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"1137","elapsed-ms":"0","outcome":"do
ne","uncompressed-size-b":"6786"}}
{"ts":"2016-09-29T16:41:50.356","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"6","elapsed-ms":"4","freshness-ts"
:"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metadat
a","result-ts":"2123344934740220","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.357","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"679627136","key-size-b":"8
0","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.368","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"10","key-hash":"1020066885","key-size-b":
"114","outcome":"hit","value-size-b":"873"}}
{"ts":"2016-09-29T16:41:50.368","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"873","elapsed-ms":"0","outcome":"don
e","uncompressed-size-b":"4022"}}
{"ts":"2016-09-29T16:41:50.369","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"4","elapsed-ms":"12","freshness-ts
":"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metada

ta","result-ts":"2123344934740250","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.370","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"613301957","key-size-b":"7
8","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.381","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"11","key-hash":"3347558041","key-size-b":
"112","outcome":"hit","value-size-b":"1122"}}
{"ts":"2016-09-29T16:41:50.381","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"1122","elapsed-ms":"0","outcome":"do
ne","uncompressed-size-b":"6320"}}
{"ts":"2016-09-29T16:41:50.382","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"6","elapsed-ms":"12","freshness-ts
":"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metada
ta","result-ts":"2123344934740290","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.382","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"1897651160","key-size-b":"
82","outcome":"miss"}}
{"ts":"2016-09-29T16:41:50.382","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","elapsed-ms":"0","key-hash":"4206806421","outcome"
:"miss-no-entry","query-kind":"metadata"}}
{"ts":"2016-09-29T16:41:50.383","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect-data-connection","v":{"caption":"County","elapsed":0.031,"name":"Coun
ty"}}
{"ts":"2016-09-29T16:41:50.383","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-l
oad-metadata","v":{"attr":{":locale":"1024","caption":"","class":"firebird","dbn
ame":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\GEOCODING.
FDB","local-data":"standard","name":"County","password":"","server":"","username
":"sysdba"},"caption":"County","name":"County"}}
{"ts":"2016-09-29T16:41:50.383","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-load-metadata","v":{"caption":"County","elapsed":0,"name":"County"}}
{"ts":"2016-09-29T16:41:50.383","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect","v":{"caption":"County","elapsed":0.031,"name":"County"}}
{"ts":"2016-09-29T16:41:50.383","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-parser-connect","v":{"caption":"County","elapsed":0.031,"name":"County"}}
{"ts":"2016-09-29T16:41:50.393","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-p
arser-connect","v":{"attr":{":locale":"1024","caption":"","class":"firebird","db
name":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\GEOCODING
.FDB","local-data":"{BADAE154-B4DA-47ED-8024-48D2A90D8994}","name":"New Microsof
t Excel Worksheet","password":"","username":"sysdba"},"caption":"New Microsoft E
xcel Worksheet","name":"New Microsoft Excel Worksheet"}}
{"ts":"2016-09-29T16:41:50.393","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-c
onnect-data-connection","v":{"attr":{":locale":"1024","caption":"","class":"fire
bird","dbname":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\
GEOCODING.FDB","local-data":"{BADAE154-B4DA-47ED-8024-48D2A90D8994}","name":"New
Microsoft Excel Worksheet","password":"","username":"sysdba"},"caption":"New Mi
crosoft Excel Worksheet","name":"New Microsoft Excel Worksheet"}}
{"ts":"2016-09-29T16:41:50.403","pid":78016,"tid":"12c58","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"9","key-hash":"3777226384","key-size-b":"
78","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.404","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"1","key-hash":"298700114","key-size-b":"1
12","outcome":"hit","value-size-b":"882"}}
{"ts":"2016-09-29T16:41:50.404","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"882","elapsed-ms":"0","outcome":"don
e","uncompressed-size-b":"3788"}}
{"ts":"2016-09-29T16:41:50.405","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"3","elapsed-ms":"11","freshness-ts
":"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metada
ta","result-ts":"2123344934740420","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.406","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"937027430","key-size-b":"8
0","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.408","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"1","key-hash":"832007306","key-size-b":"1
14","outcome":"hit","value-size-b":"930"}}
{"ts":"2016-09-29T16:41:50.408","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"930","elapsed-ms":"0","outcome":"don
e","uncompressed-size-b":"4142"}}
{"ts":"2016-09-29T16:41:50.408","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"4","elapsed-ms":"2","freshness-ts"
:"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metadat
a","result-ts":"2123344934740450","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.409","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"1897651160","key-size-b":"
82","outcome":"miss"}}
{"ts":"2016-09-29T16:41:50.409","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","elapsed-ms":"0","key-hash":"4206806421","outcome"
:"miss-no-entry","query-kind":"metadata"}}
{"ts":"2016-09-29T16:41:50.409","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect-data-connection","v":{"caption":"New Microsoft Excel Worksheet","elap
sed":0.015,"name":"New Microsoft Excel Worksheet"}}
{"ts":"2016-09-29T16:41:50.409","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-l
oad-metadata","v":{"attr":{":locale":"1024","caption":"","class":"firebird","dbn
ame":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\GEOCODING.
FDB","local-data":"{BADAE154-B4DA-47ED-8024-48D2A90D8994}","name":"New Microsoft
Excel Worksheet","password":"","server":"","username":"sysdba"},"caption":"New
Microsoft Excel Worksheet","name":"New Microsoft Excel Worksheet"}}
{"ts":"2016-09-29T16:41:50.409","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-load-metadata","v":{"caption":"New Microsoft Excel Worksheet","elapsed":0,"na
me":"New Microsoft Excel Worksheet"}}
{"ts":"2016-09-29T16:41:50.409","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect","v":{"caption":"New Microsoft Excel Worksheet","elapsed":0.016,"name
":"New Microsoft Excel Worksheet"}}

{"ts":"2016-09-29T16:41:50.409","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-parser-connect","v":{"caption":"New Microsoft Excel Worksheet","elapsed":0.01
6,"name":"New Microsoft Excel Worksheet"}}
{"ts":"2016-09-29T16:41:50.417","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-p
arser-connect","v":{"attr":{":locale":"1024","caption":"","class":"firebird","db
name":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\GEOCODING
.FDB","local-data":"standard","name":"State","password":"","username":"sysdba"},
"caption":"State","name":"State"}}
{"ts":"2016-09-29T16:41:50.417","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-c
onnect-data-connection","v":{"attr":{":locale":"1024","caption":"","class":"fire
bird","dbname":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\
GEOCODING.FDB","local-data":"standard","name":"State","password":"","username":"
sysdba"},"caption":"State","name":"State"}}
{"ts":"2016-09-29T16:41:50.418","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"1023608874","key-size-b":"
82","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.419","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"1","key-hash":"4159967732","key-size-b":"
116","outcome":"hit","value-size-b":"1136"}}
{"ts":"2016-09-29T16:41:50.419","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"1136","elapsed-ms":"0","outcome":"do
ne","uncompressed-size-b":"6780"}}
{"ts":"2016-09-29T16:41:50.420","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"6","elapsed-ms":"3","freshness-ts"
:"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metadat
a","result-ts":"2123344934740580","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.422","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"1","key-hash":"3403880723","key-size-b":"
78","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.423","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"1","key-hash":"2142309214","key-size-b":"
112","outcome":"hit","value-size-b":"879"}}
{"ts":"2016-09-29T16:41:50.423","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"879","elapsed-ms":"0","outcome":"don
e","uncompressed-size-b":"4022"}}
{"ts":"2016-09-29T16:41:50.424","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"4","elapsed-ms":"3","freshness-ts"
:"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metadat
a","result-ts":"2123344934740620","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.425","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"853970660","key-size-b":"8
0","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.427","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"1","key-hash":"2330867282","key-size-b":"
114","outcome":"hit","value-size-b":"1120"}}
{"ts":"2016-09-29T16:41:50.427","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib

-uncompress-data","v":{"compressed-size-b":"1120","elapsed-ms":"0","outcome":"do
ne","uncompressed-size-b":"6314"}}
{"ts":"2016-09-29T16:41:50.427","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"6","elapsed-ms":"3","freshness-ts"
:"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metadat
a","result-ts":"2123344934740650","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.428","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"1897651160","key-size-b":"
82","outcome":"miss"}}
{"ts":"2016-09-29T16:41:50.428","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","elapsed-ms":"0","key-hash":"4206806421","outcome"
:"miss-no-entry","query-kind":"metadata"}}
{"ts":"2016-09-29T16:41:50.428","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect-data-connection","v":{"caption":"State","elapsed":0.011,"name":"State
"}}
{"ts":"2016-09-29T16:41:50.428","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-l
oad-metadata","v":{"attr":{":locale":"1024","caption":"","class":"firebird","dbn
ame":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\GEOCODING.
FDB","local-data":"standard","name":"State","password":"","server":"","username"
:"sysdba"},"caption":"State","name":"State"}}
{"ts":"2016-09-29T16:41:50.429","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-load-metadata","v":{"caption":"State","elapsed":0,"name":"State"}}
{"ts":"2016-09-29T16:41:50.429","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect","v":{"caption":"State","elapsed":0.012,"name":"State"}}
{"ts":"2016-09-29T16:41:50.429","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-parser-connect","v":{"caption":"State","elapsed":0.012,"name":"State"}}
{"ts":"2016-09-29T16:41:50.436","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-p
arser-connect","v":{"attr":{":locale":"1024","caption":"","class":"firebird","db
name":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\GEOCODING
.FDB","local-data":"standard","name":"ZipCode","password":"","username":"sysdba"
},"caption":"ZipCode","name":"ZipCode"}}
{"ts":"2016-09-29T16:41:50.436","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-c
onnect-data-connection","v":{"attr":{":locale":"1024","caption":"","class":"fire
bird","dbname":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\
GEOCODING.FDB","local-data":"standard","name":"ZipCode","password":"","username"
:"sysdba"},"caption":"ZipCode","name":"ZipCode"}}
{"ts":"2016-09-29T16:41:50.437","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"2967845163","key-size-b":"
82","outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.439","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDRV1Z","elapsed-ms":"1","key-hash":"4289894574","key-size-b":"
116","outcome":"hit","value-size-b":"1278"}}
{"ts":"2016-09-29T16:41:50.439","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"1278","elapsed-ms":"0","outcome":"do
ne","uncompressed-size-b":"8664"}}
{"ts":"2016-09-29T16:41:50.440","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqc-

load","v":{"class":"firebird","column-count":"8","elapsed-ms":"3","freshness-ts"
:"2086575552000000","key-hash":"290714814","outcome":"hit","query-kind":"metadat
a","result-ts":"2123344934740790","row-count":"0"}}
{"ts":"2016-09-29T16:41:50.440","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"1897651160","key-size-b":"
82","outcome":"miss"}}
{"ts":"2016-09-29T16:41:50.440","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","elapsed-ms":"0","key-hash":"4206806421","outcome"
:"miss-no-entry","query-kind":"metadata"}}
{"ts":"2016-09-29T16:41:50.441","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect-data-connection","v":{"caption":"ZipCode","elapsed":0.004,"name":"Zip
Code"}}
{"ts":"2016-09-29T16:41:50.441","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-l
oad-metadata","v":{"attr":{":locale":"1024","caption":"","class":"firebird","dbn
ame":"C:\\Users\\Vissu\\Documents\\My Tableau Repository\\Local Data\\GEOCODING.
FDB","local-data":"standard","name":"ZipCode","password":"","server":"","usernam
e":"sysdba"},"caption":"ZipCode","name":"ZipCode"}}
{"ts":"2016-09-29T16:41:50.441","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-load-metadata","v":{"caption":"ZipCode","elapsed":0,"name":"ZipCode"}}
{"ts":"2016-09-29T16:41:50.441","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect","v":{"caption":"ZipCode","elapsed":0.005,"name":"ZipCode"}}
{"ts":"2016-09-29T16:41:50.441","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-parser-connect","v":{"caption":"ZipCode","elapsed":0.005,"name":"ZipCode"}}
{"ts":"2016-09-29T16:41:50.447","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":3,"query":"select tbl.rdb$relation_name\nfrom rdb$re
lations tbl\nwhere tbl.rdb$system_flag = 0\n and tbl.rdb$relation_name not like
'#Tableau_%'\norder by 1","query-hash":576287529}}
{"ts":"2016-09-29T16:41:50.448","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"quer
y-plan","v":{"plan":"\nPLAN (TBL ORDER RDB$INDEX_0)","protocol":"d7b7000"}}
{"ts":"2016-09-29T16:41:50.448","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":1,"elapsed":0.001,"protocol-id":3,"query":"select tbl.rdb$rel
ation_name\nfrom rdb$relations tbl\nwhere tbl.rdb$system_flag = 0\n and tbl.rdb
$relation_name not like '#Tableau_%'\norder by 1","query-hash":576287529,"rows":
26}}
{"ts":"2016-09-29T16:41:50.448","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":3,"query":"SELECT \"ID\", \"Name\", \"Detail\", \"Pa
rentID\"\nFROM \"Hierarchies\"\nWHERE \"Name\" = 'AreaCode'","query-hash":909035
489}}
{"ts":"2016-09-29T16:41:50.469","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"quer
y-plan","v":{"plan":"\nPLAN (Hierarchies NATURAL)","protocol":"d7b7000"}}
{"ts":"2016-09-29T16:41:50.469","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":4,"elapsed":0.021,"protocol-id":3,"query":"SELECT \"ID\", \"N
ame\", \"Detail\", \"ParentID\"\nFROM \"Hierarchies\"\nWHERE \"Name\" = 'AreaCod
e'","query-hash":909035489,"rows":1}}
{"ts":"2016-09-29T16:41:50.469","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":3,"query":"select tbl.rdb$relation_name\nfrom rdb$re

lations tbl\nwhere tbl.rdb$system_flag = 0\n and tbl.rdb$relation_name not like


'#Tableau_%'\norder by 1","query-hash":576287529}}
{"ts":"2016-09-29T16:41:50.469","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"quer
y-plan","v":{"plan":"\nPLAN (TBL ORDER RDB$INDEX_0)","protocol":"d7b7000"}}
{"ts":"2016-09-29T16:41:50.470","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":1,"elapsed":0.001,"protocol-id":3,"query":"select tbl.rdb$rel
ation_name\nfrom rdb$relations tbl\nwhere tbl.rdb$system_flag = 0\n and tbl.rdb
$relation_name not like '#Tableau_%'\norder by 1","query-hash":576287529,"rows":
26}}
{"ts":"2016-09-29T16:41:50.470","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":3,"query":"SELECT \"ID\", \"Name\", \"Detail\", \"Pa
rentID\"\nFROM \"Hierarchies\"\nWHERE \"Name\" = 'CMSA'","query-hash":3079570705
}}
{"ts":"2016-09-29T16:41:50.470","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"quer
y-plan","v":{"plan":"\nPLAN (Hierarchies NATURAL)","protocol":"d7b7000"}}
{"ts":"2016-09-29T16:41:50.470","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":4,"elapsed":0.001,"protocol-id":3,"query":"SELECT \"ID\", \"N
ame\", \"Detail\", \"ParentID\"\nFROM \"Hierarchies\"\nWHERE \"Name\" = 'CMSA'",
"query-hash":3079570705,"rows":1}}
{"ts":"2016-09-29T16:41:50.471","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":3,"query":"select tbl.rdb$relation_name\nfrom rdb$re
lations tbl\nwhere tbl.rdb$system_flag = 0\n and tbl.rdb$relation_name not like
'#Tableau_%'\norder by 1","query-hash":576287529}}
{"ts":"2016-09-29T16:41:50.471","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"quer
y-plan","v":{"plan":"\nPLAN (TBL ORDER RDB$INDEX_0)","protocol":"d7b7000"}}
{"ts":"2016-09-29T16:41:50.471","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":1,"elapsed":0,"protocol-id":3,"query":"select tbl.rdb$relatio
n_name\nfrom rdb$relations tbl\nwhere tbl.rdb$system_flag = 0\n and tbl.rdb$rel
ation_name not like '#Tableau_%'\norder by 1","query-hash":576287529,"rows":26}}
{"ts":"2016-09-29T16:41:50.471","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":3,"query":"SELECT \"ID\", \"Name\", \"Detail\", \"Pa
rentID\"\nFROM \"Hierarchies\"\nWHERE \"Name\" = 'City'","query-hash":1824009135
}}
{"ts":"2016-09-29T16:41:50.471","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"quer
y-plan","v":{"plan":"\nPLAN (Hierarchies NATURAL)","protocol":"d7b7000"}}
{"ts":"2016-09-29T16:41:50.471","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":4,"elapsed":0,"protocol-id":3,"query":"SELECT \"ID\", \"Name\
", \"Detail\", \"ParentID\"\nFROM \"Hierarchies\"\nWHERE \"Name\" = 'City'","que
ry-hash":1824009135,"rows":1}}
{"ts":"2016-09-29T16:41:50.472","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":3,"query":"select tbl.rdb$relation_name\nfrom rdb$re
lations tbl\nwhere tbl.rdb$system_flag = 0\n and tbl.rdb$relation_name not like
'#Tableau_%'\norder by 1","query-hash":576287529}}
{"ts":"2016-09-29T16:41:50.472","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"quer
y-plan","v":{"plan":"\nPLAN (TBL ORDER RDB$INDEX_0)","protocol":"d7b7000"}}
{"ts":"2016-09-29T16:41:50.472","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"end-

query","v":{"cols":1,"elapsed":0,"protocol-id":3,"query":"select tbl.rdb$relatio
n_name\nfrom rdb$relations tbl\nwhere tbl.rdb$system_flag = 0\n and tbl.rdb$rel
ation_name not like '#Tableau_%'\norder by 1","query-hash":576287529,"rows":26}}
{"ts":"2016-09-29T16:41:50.472","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":3,"query":"SELECT \"ID\", \"Name\", \"Detail\", \"Pa
rentID\"\nFROM \"Hierarchies\"\nWHERE \"Name\" = 'Congress'","query-hash":342843
5034}}
{"ts":"2016-09-29T16:41:50.472","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"quer
y-plan","v":{"plan":"\nPLAN (Hierarchies NATURAL)","protocol":"d7b7000"}}
{"ts":"2016-09-29T16:41:50.472","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":4,"elapsed":0,"protocol-id":3,"query":"SELECT \"ID\", \"Name\
", \"Detail\", \"ParentID\"\nFROM \"Hierarchies\"\nWHERE \"Name\" = 'Congress'",
"query-hash":3428435034,"rows":1}}
{"ts":"2016-09-29T16:41:50.472","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":3,"query":"select tbl.rdb$relation_name\nfrom rdb$re
lations tbl\nwhere tbl.rdb$system_flag = 0\n and tbl.rdb$relation_name not like
'#Tableau_%'\norder by 1","query-hash":576287529}}
{"ts":"2016-09-29T16:41:50.473","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"quer
y-plan","v":{"plan":"\nPLAN (TBL ORDER RDB$INDEX_0)","protocol":"d7b7000"}}
{"ts":"2016-09-29T16:41:50.473","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":1,"elapsed":0,"protocol-id":3,"query":"select tbl.rdb$relatio
n_name\nfrom rdb$relations tbl\nwhere tbl.rdb$system_flag = 0\n and tbl.rdb$rel
ation_name not like '#Tableau_%'\norder by 1","query-hash":576287529,"rows":26}}
{"ts":"2016-09-29T16:41:50.513","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AQTV3Z","elapsed-ms":"1","key-hash":"493950","key-size-b":"80",
"outcome":"hit","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:50.514","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AQRV3Z","elapsed-ms":"1","key-hash":"153919450","key-size-b":"1
14","outcome":"hit","value-size-b":"2261"}}
{"ts":"2016-09-29T16:41:50.514","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-uncompress-data","v":{"compressed-size-b":"2261","elapsed-ms":"0","outcome":"do
ne","uncompressed-size-b":"17574"}}
{"ts":"2016-09-29T16:41:50.516","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AbstractQueryHistoryV2Z","elapsed-ms":"1","key-hash":"216134611
3","key-size-b":"142","outcome":"hit","value-size-b":"30184"}}
{"ts":"2016-09-29T16:41:50.562","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AbstractQueryHistoryV2Z","elapsed-ms":"45","key-hash":"2161346
113","key-size-b":"142","load-time-ms":"500","lower-bound-ms":"20","outcome":"do
ne","value-size-b":"30184"}}
{"ts":"2016-09-29T16:41:50.562","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"firebird","column-count":"1","elapsed-ms":"50","freshness-ts
":"2086575552000000","key-hash":"1106478784","outcome":"hit","query-kind":"abstr
act","result-ts":"2123347489171890","row-count":"1"}}
{"ts":"2016-09-29T16:41:50.562","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":3,"query":"SELECT \"ID\", \"Name\", \"Detail\", \"Pa
rentID\"\nFROM \"Hierarchies\"\nWHERE \"Name\" = 'Country'","query-hash":5101039
63}}

{"ts":"2016-09-29T16:41:50.562","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"quer
y-plan","v":{"plan":"\nPLAN (Hierarchies NATURAL)","protocol":"d7b7000"}}
{"ts":"2016-09-29T16:41:50.563","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":4,"elapsed":0.001,"protocol-id":3,"query":"SELECT \"ID\", \"N
ame\", \"Detail\", \"ParentID\"\nFROM \"Hierarchies\"\nWHERE \"Name\" = 'Country
'","query-hash":510103963,"rows":0}}
{"ts":"2016-09-29T16:41:50.563","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":3,"query":"select tbl.rdb$relation_name\nfrom rdb$re
lations tbl\nwhere tbl.rdb$system_flag = 0\n and tbl.rdb$relation_name not like
'#Tableau_%'\norder by 1","query-hash":576287529}}
{"ts":"2016-09-29T16:41:50.563","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"quer
y-plan","v":{"plan":"\nPLAN (TBL ORDER RDB$INDEX_0)","protocol":"d7b7000"}}
{"ts":"2016-09-29T16:41:50.563","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":1,"elapsed":0.001,"protocol-id":3,"query":"select tbl.rdb$rel
ation_name\nfrom rdb$relations tbl\nwhere tbl.rdb$system_flag = 0\n and tbl.rdb
$relation_name not like '#Tableau_%'\norder by 1","query-hash":576287529,"rows":
26}}
{"ts":"2016-09-29T16:41:50.564","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":3,"query":"SELECT \"ID\", \"Name\", \"Detail\", \"Pa
rentID\"\nFROM \"Hierarchies\"\nWHERE \"Name\" = 'County'","query-hash":38186717
70}}
{"ts":"2016-09-29T16:41:50.564","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"quer
y-plan","v":{"plan":"\nPLAN (Hierarchies NATURAL)","protocol":"d7b7000"}}
{"ts":"2016-09-29T16:41:50.564","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":4,"elapsed":0,"protocol-id":3,"query":"SELECT \"ID\", \"Name\
", \"Detail\", \"ParentID\"\nFROM \"Hierarchies\"\nWHERE \"Name\" = 'County'","q
uery-hash":3818671770,"rows":1}}
{"ts":"2016-09-29T16:41:50.564","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":3,"query":"select tbl.rdb$relation_name\nfrom rdb$re
lations tbl\nwhere tbl.rdb$system_flag = 0\n and tbl.rdb$relation_name not like
'#Tableau_%'\norder by 1","query-hash":576287529}}
{"ts":"2016-09-29T16:41:50.564","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"quer
y-plan","v":{"plan":"\nPLAN (TBL ORDER RDB$INDEX_0)","protocol":"d7b7000"}}
{"ts":"2016-09-29T16:41:50.565","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":1,"elapsed":0.001,"protocol-id":3,"query":"select tbl.rdb$rel
ation_name\nfrom rdb$relations tbl\nwhere tbl.rdb$system_flag = 0\n and tbl.rdb
$relation_name not like '#Tableau_%'\norder by 1","query-hash":576287529,"rows":
26}}
{"ts":"2016-09-29T16:41:50.565","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":3,"query":"SELECT \"ID\", \"Name\", \"Detail\", \"Pa
rentID\"\nFROM \"Hierarchies\"\nWHERE \"Name\" = 'New Microsoft Excel Worksheet'
","query-hash":1793190001}}
{"ts":"2016-09-29T16:41:50.565","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"quer
y-plan","v":{"plan":"\nPLAN (Hierarchies NATURAL)","protocol":"d7b7000"}}
{"ts":"2016-09-29T16:41:50.565","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":4,"elapsed":0.001,"protocol-id":3,"query":"SELECT \"ID\", \"N

ame\", \"Detail\", \"ParentID\"\nFROM \"Hierarchies\"\nWHERE \"Name\" = 'New Mic


rosoft Excel Worksheet'","query-hash":1793190001,"rows":0}}
{"ts":"2016-09-29T16:41:50.566","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":3,"query":"select tbl.rdb$relation_name\nfrom rdb$re
lations tbl\nwhere tbl.rdb$system_flag = 0\n and tbl.rdb$relation_name not like
'#Tableau_%'\norder by 1","query-hash":576287529}}
{"ts":"2016-09-29T16:41:50.566","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"quer
y-plan","v":{"plan":"\nPLAN (TBL ORDER RDB$INDEX_0)","protocol":"d7b7000"}}
{"ts":"2016-09-29T16:41:50.566","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":1,"elapsed":0,"protocol-id":3,"query":"select tbl.rdb$relatio
n_name\nfrom rdb$relations tbl\nwhere tbl.rdb$system_flag = 0\n and tbl.rdb$rel
ation_name not like '#Tableau_%'\norder by 1","query-hash":576287529,"rows":26}}
{"ts":"2016-09-29T16:41:50.566","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":3,"query":"SELECT \"ID\", \"Name\", \"Detail\", \"Pa
rentID\"\nFROM \"Hierarchies\"\nWHERE \"Name\" = 'State'","query-hash":191559146
8}}
{"ts":"2016-09-29T16:41:50.566","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"quer
y-plan","v":{"plan":"\nPLAN (Hierarchies NATURAL)","protocol":"d7b7000"}}
{"ts":"2016-09-29T16:41:50.567","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":4,"elapsed":0.001,"protocol-id":3,"query":"SELECT \"ID\", \"N
ame\", \"Detail\", \"ParentID\"\nFROM \"Hierarchies\"\nWHERE \"Name\" = 'State'"
,"query-hash":1915591468,"rows":1}}
{"ts":"2016-09-29T16:41:50.567","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":3,"query":"select tbl.rdb$relation_name\nfrom rdb$re
lations tbl\nwhere tbl.rdb$system_flag = 0\n and tbl.rdb$relation_name not like
'#Tableau_%'\norder by 1","query-hash":576287529}}
{"ts":"2016-09-29T16:41:50.567","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"quer
y-plan","v":{"plan":"\nPLAN (TBL ORDER RDB$INDEX_0)","protocol":"d7b7000"}}
{"ts":"2016-09-29T16:41:50.567","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":1,"elapsed":0,"protocol-id":3,"query":"select tbl.rdb$relatio
n_name\nfrom rdb$relations tbl\nwhere tbl.rdb$system_flag = 0\n and tbl.rdb$rel
ation_name not like '#Tableau_%'\norder by 1","query-hash":576287529,"rows":26}}
{"ts":"2016-09-29T16:41:50.567","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":3,"query":"SELECT \"ID\", \"Name\", \"Detail\", \"Pa
rentID\"\nFROM \"Hierarchies\"\nWHERE \"Name\" = 'ZipCode'","query-hash":2065520
627}}
{"ts":"2016-09-29T16:41:50.567","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"quer
y-plan","v":{"plan":"\nPLAN (Hierarchies NATURAL)","protocol":"d7b7000"}}
{"ts":"2016-09-29T16:41:50.568","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":4,"elapsed":0.001,"protocol-id":3,"query":"SELECT \"ID\", \"N
ame\", \"Detail\", \"ParentID\"\nFROM \"Hierarchies\"\nWHERE \"Name\" = 'ZipCode
'","query-hash":2065520627,"rows":1}}
{"ts":"2016-09-29T16:41:50.624","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-p
arser-connect","v":{"attr":{":locale":"1033","caption":"Sample - Superstore Sale
s (Excel)","class":"excel-direct","cleaning":"no","compat":"no","dataRefreshTime
":"","filename":"C:\\Users\\Vissu\\Downloads\\Sample - Superstore Sales (Excel).
xls","interpretationMode":"0","name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l"

,"password":"","server":"","validate":"no"},"caption":"Sample - Superstore Sales


(Excel)","name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l"}}
{"ts":"2016-09-29T16:41:50.624","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-c
onnect","v":{"attr":{":locale":"1033","caption":"Sample - Superstore Sales (Exce
l)","class":"excel-direct","cleaning":"no","compat":"no","dataRefreshTime":"","f
ilename":"C:\\Users\\Vissu\\Downloads\\Sample - Superstore Sales (Excel).xls","i
nterpretationMode":"0","name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l","passw
ord":"","server":"","validate":"no"},"caption":"Sample - Superstore Sales (Excel
)","name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l"}}
{"ts":"2016-09-29T16:41:50.624","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-c
onnect-data-connection","v":{"attr":{":locale":"1033","caption":"Sample - Supers
tore Sales (Excel)","class":"excel-direct","cleaning":"no","compat":"no","dataRe
freshTime":"","filename":"C:\\Users\\Vissu\\Downloads\\Sample - Superstore Sales
(Excel).xls","interpretationMode":"0","name":"excel-direct.0s0w8bc1somq6z110noi
81jfj70l","password":"","server":"","validate":"no"},"caption":"Sample - Superst
ore Sales (Excel)","name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l"}}
{"ts":"2016-09-29T16:41:50.624","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Metadata timestamp was not set, using Now() for m_metadataTimestamp)"}
{"ts":"2016-09-29T16:41:50.624","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect-data-connection","v":{"caption":"Sample - Superstore Sales (Excel)","
elapsed":0,"name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l"}}
{"ts":"2016-09-29T16:41:50.624","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-l
oad-metadata","v":{"attr":{":locale":"1033","caption":"Sample - Superstore Sales
(Excel)","class":"excel-direct","cleaning":"no","compat":"no","dataRefreshTime"
:"","filename":"C:\\Users\\Vissu\\Downloads\\Sample - Superstore Sales (Excel).x
ls","interpretationMode":"0","name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l",
"password":"","server":"","validate":"no"},"caption":"Sample - Superstore Sales
(Excel)","name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l"}}
{"ts":"2016-09-29T16:41:50.624","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-load-metadata","v":{"caption":"Sample - Superstore Sales (Excel)","elapsed":0
,"name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l"}}
{"ts":"2016-09-29T16:41:50.624","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect","v":{"caption":"Sample - Superstore Sales (Excel)","elapsed":0,"name
":"excel-direct.0s0w8bc1somq6z110noi81jfj70l"}}
{"ts":"2016-09-29T16:41:50.624","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-parser-connect","v":{"caption":"Sample - Superstore Sales (Excel)","elapsed":
0,"name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l"}}
{"ts":"2016-09-29T16:41:50.676","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelReaderProtocol::NormalizeConnectionInfo : elapsed = 0 msec."}
{"ts":"2016-09-29T16:41:50.676","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelReaderProtocol::NormalizeConnectionInfo : elapsed = 0 msec."}
{"ts":"2016-09-29T16:41:50.676","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"cons
truct-protocol-group","v":{"attributes":{":locale":"1033","class":"excel-reader"
,"cleaning":"no","compat":"no","dataRefreshTime":"","filename":"C:\\Users\\Vissu
\\Downloads\\Sample - Superstore Sales (Excel).xls","interpretationMode":"0","re
moteId":"0","validate":"no"},"closed-protocols-count":"0","connection-limit":"16
","group-id":"3","in-construction-count":"0","protocols-count":"0","this":"0x000
000000dc34800"}}
{"ts":"2016-09-29T16:41:50.677","pid":78016,"tid":"130b0","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"\"C:\\Program Files\\Tableau\\Tableau 9.3\\bin\\tabprotosrv.exe\" -s \"tab
.pipe://./pipe/{EDD3D8ED-FB55-47B8-A340-7FB128EA688D}\" -c \"tab.pipe://./pipe/{
3A1C1C30-0E96-4CC1-B416-6673052C9718}\" -rpath \"C:\\Users\\Vissu\\Documents\\My
Tableau Repository\" -rlang en_US -e 1 -DLogLevel=info -DForceTestV1MetadataRew
riter=0 -lc en_US"}
{"ts":"2016-09-29T16:41:50.679","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExternalProtocol::LocalProtocolServer::CreateServerProcess: pid=80556"}
{"ts":"2016-09-29T16:41:51.421","pid":78016,"tid":"13af8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"cons
truct-protocol","v":{"attributes":{":locale":"1033",":thread-session":"3","class
":"excel-reader","cleaning":"no","compat":"no","dataRefreshTime":"","filename":"
C:\\Users\\Vissu\\Downloads\\Sample - Superstore Sales (Excel).xls","interpretat
ionMode":"0","remoteId":"0","validate":"no"},"created":"9/29/2016 4:41:50 PM","c
reated-elapsed":0.428,"disconnected":false,"id":4,"this":"0x000000000d6b5710"}}
{"ts":"2016-09-29T16:41:51.422","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"prot
ocol-added-to-group","v":{"group":{"attributes":{":locale":"1033","class":"excel
-reader","cleaning":"no","compat":"no","dataRefreshTime":"","filename":"C:\\User
s\\Vissu\\Downloads\\Sample - Superstore Sales (Excel).xls","interpretationMode"
:"0","remoteId":"0","validate":"no"},"closed-protocols-count":"0","connection-li
mit":"16","group-id":"3","in-construction-count":"0","protocols-count":"1","this
":"0x000000000dc34800"},"protocol-id":"4"}}
{"ts":"2016-09-29T16:41:51.423","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelReaderProtocol::NormalizeConnectionInfo : elapsed = 0 msec."}
{"ts":"2016-09-29T16:41:51.440","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::EnumerateTables : elapsed = 764 msec."}
{"ts":"2016-09-29T16:41:51.440","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:create-connection-ui datasource-type=\"exceldirect\
"","name":"tabui:create-connection-ui"}}
{"ts":"2016-09-29T16:41:51.471","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:set-worksheet-sidepane-mode mode=\"data\"","name":"t
abui:set-worksheet-sidepane-mode"}}
{"ts":"2016-09-29T16:41:51.471","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:set-worksheet-sidepane-mode mode=\"data\"","name":"
tabui:set-worksheet-sidepane-mode"}}
{"ts":"2016-09-29T16:41:51.548","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:get-data-preview-window-pres-model begin-data-sourc
e-pres-model-update=\"false\" clear-view=\"false\" end-data-source-pres-model-up
date=\"true\" show-data-grid-inline-rename=\"false\"","name":"tabdoc:get-data-pr
eview-window-pres-model"}}
{"ts":"2016-09-29T16:41:51.549","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:get-data-preview-window-pres-model begin-data-sour
ce-pres-model-update=\"false\" clear-view=\"false\" end-data-source-pres-model-u
pdate=\"true\" show-data-grid-inline-rename=\"false\"","name":"tabdoc:get-data-p
review-window-pres-model"}}
{"ts":"2016-09-29T16:41:54.299","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:connection-add-new-table-ui table-names=[\"[Orders$]
\"]","name":"tabui:connection-add-new-table-ui"}}
{"ts":"2016-09-29T16:41:54.305","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l

oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"410379615","key-size-b":"7
8","outcome":"miss"}}
{"ts":"2016-09-29T16:41:54.305","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"excel-direct","elapsed-ms":"0","key-hash":"290714814","outco
me":"miss-no-entry","query-kind":"metadata"}}
{"ts":"2016-09-29T16:41:54.305","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [TableauTemp].[Orders$]"}
{"ts":"2016-09-29T16:41:54.305","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:41:54.305","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":4,"query":"<relation name='Orders' table='[Orders$]'
type='table' />\n","query-hash":965903106}}
{"ts":"2016-09-29T16:41:54.309","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":22,"elapsed":0.004,"protocol-id":4,"query":"<relation name='O
rders' table='[Orders$]' type='table' />\n","query-hash":965903106,"rows":0}}
{"ts":"2016-09-29T16:41:54.309","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"read
-metadata","v":{"attributes":{":locale":"1033",":thread-session":"3","class":"ex
cel-reader","cleaning":"no","compat":"no","dataRefreshTime":"","filename":"C:\\U
sers\\Vissu\\Downloads\\Sample - Superstore Sales (Excel).xls","interpretationMo
de":"0","remoteId":"0","validate":"no"},"elapsed":0.005,"group-id":3,"id":4,"met
adata-records":22,"query":"<relation name='Orders' table='[Orders$]' type='table
' />\n"}}
{"ts":"2016-09-29T16:41:54.309","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"column-count":"22","outcome":"ignore-speculative","query-kind":"met
adata","query-latency-ms":"1000","row-count":"0","value-size-b":"-1"}}
{"ts":"2016-09-29T16:41:54.310","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelReaderProtocol::NormalizeConnectionInfo : elapsed = 0 msec."}
{"ts":"2016-09-29T16:41:54.310","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::ReadMetadata : Columns: 22 ; Integer= 3 ; Real= 6; St
ring = 10 ; DateTime = 0 ; Boolean = 0; Date = 2; Tuple = 0; DataValueSize=16"}
{"ts":"2016-09-29T16:41:54.310","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::ReadMetadata : elapsed = 5 msec."}
{"ts":"2016-09-29T16:41:54.310","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:41:54.310","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:41:54.310","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"column-count":"22","outcome":"ignore-speculative","query-kind":"met
adata","query-latency-ms":"1000","row-count":"0","value-size-b":"-1"}}
{"ts":"2016-09-29T16:41:54.310","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelReaderProtocol::NormalizeConnectionInfo : elapsed = 0 msec."}
{"ts":"2016-09-29T16:41:54.310","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [TableauTemp].[Orders$]"}
{"ts":"2016-09-29T16:41:54.310","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"

,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}


{"ts":"2016-09-29T16:41:54.310","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::ReadMetadata : Columns: 22 ; Integer= 3 ; Real= 6; St
ring = 10 ; DateTime = 0 ; Boolean = 0; Date = 2; Tuple = 0; DataValueSize=16"}
{"ts":"2016-09-29T16:41:54.310","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::ReadMetadata : elapsed = 0 msec."}
{"ts":"2016-09-29T16:41:54.311","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"410379615","key-size-b":"7
8","outcome":"miss"}}
{"ts":"2016-09-29T16:41:54.312","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-compress-data","v":{"compressed-size-b":"1940","elapsed-ms":"0","outcome":"done
","uncompressed-size-b":"22060"}}
{"ts":"2016-09-29T16:41:54.312","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"class":"excel-direct","column-count":"22","elapsed-ms":"1","key-has
h":"290714814","key-size-b":"0","outcome":"try-store","query-kind":"metadata","q
uery-latency-ms":"1000","row-count":"0","value-size-b":"-1"}}
{"ts":"2016-09-29T16:41:54.314","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-p
arser-connect","v":{"attr":{":locale":"1033","caption":"Sample - Superstore Sale
s (Excel)","class":"excel-direct","cleaning":"no","compat":"no","dataRefreshTime
":"","filename":"C:\\Users\\Vissu\\Downloads\\Sample - Superstore Sales (Excel).
xls","interpretationMode":"0","name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l"
,"password":"","server":"","validate":"no"},"caption":"Sample - Superstore Sales
(Excel)","name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l"}}
{"ts":"2016-09-29T16:41:54.314","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-c
onnect","v":{"attr":{":locale":"1033","caption":"Sample - Superstore Sales (Exce
l)","class":"excel-direct","cleaning":"no","compat":"no","dataRefreshTime":"","f
ilename":"C:\\Users\\Vissu\\Downloads\\Sample - Superstore Sales (Excel).xls","i
nterpretationMode":"0","name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l","passw
ord":"","server":"","validate":"no"},"caption":"Sample - Superstore Sales (Excel
)","name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l"}}
{"ts":"2016-09-29T16:41:54.314","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-c
onnect-data-connection","v":{"attr":{":locale":"1033","caption":"Sample - Supers
tore Sales (Excel)","class":"excel-direct","cleaning":"no","compat":"no","dataRe
freshTime":"","filename":"C:\\Users\\Vissu\\Downloads\\Sample - Superstore Sales
(Excel).xls","interpretationMode":"0","name":"excel-direct.0s0w8bc1somq6z110noi
81jfj70l","password":"","server":"","validate":"no"},"caption":"Sample - Superst
ore Sales (Excel)","name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l"}}
{"ts":"2016-09-29T16:41:54.318","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::ReadMetadata : Columns: 22 ; Integer= 3 ; Real= 6; St
ring = 10 ; DateTime = 0 ; Boolean = 0; Date = 2; Tuple = 0; DataValueSize=16"}
{"ts":"2016-09-29T16:41:54.318","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::ReadMetadata : elapsed = 1 msec."}
{"ts":"2016-09-29T16:41:54.318","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"column-count":"22","outcome":"ignore-speculative","query-kind":"met
adata","query-latency-ms":"1000","row-count":"0","value-size-b":"-1"}}
{"ts":"2016-09-29T16:41:54.318","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelReaderProtocol::NormalizeConnectionInfo : elapsed = 0 msec."}
{"ts":"2016-09-29T16:41:54.319","pid":78016,"tid":"13074","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect-data-connection","v":{"caption":"Sample - Superstore Sales (Excel)","


elapsed":0.004,"name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l"}}
{"ts":"2016-09-29T16:41:54.319","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-l
oad-metadata","v":{"attr":{":locale":"1033","caption":"Sample - Superstore Sales
(Excel)","class":"excel-direct","cleaning":"no","compat":"no","dataRefreshTime"
:"","filename":"C:\\Users\\Vissu\\Downloads\\Sample - Superstore Sales (Excel).x
ls","interpretationMode":"0","name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l",
"password":"","server":"","validate":"no"},"caption":"Sample - Superstore Sales
(Excel)","name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l"}}
{"ts":"2016-09-29T16:41:54.319","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-i
nterpret-metadata","v":{"name":"[Row ID]","remote-type":"I8"}}
{"ts":"2016-09-29T16:41:54.319","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-i
nterpret-metadata","v":{"name":"[Order ID]","remote-type":"I8"}}
{"ts":"2016-09-29T16:41:54.319","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-i
nterpret-metadata","v":{"name":"[Order Date]","remote-type":"DATE"}}
{"ts":"2016-09-29T16:41:54.319","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-i
nterpret-metadata","v":{"collation":"charset=0x0 en_US (LEN_RUS_S2)","name":"[Or
der Priority]","remote-type":"WSTR"}}
{"ts":"2016-09-29T16:41:54.319","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-i
nterpret-metadata","v":{"name":"[Order Quantity]","remote-type":"I8"}}
{"ts":"2016-09-29T16:41:54.319","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-i
nterpret-metadata","v":{"name":"[Sales]","precision":15,"remote-type":"R8","scal
e":-1}}
{"ts":"2016-09-29T16:41:54.319","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-i
nterpret-metadata","v":{"name":"[Discount]","precision":15,"remote-type":"R8","s
cale":-1}}
{"ts":"2016-09-29T16:41:54.319","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-i
nterpret-metadata","v":{"collation":"charset=0x0 en_US (LEN_RUS_S2)","name":"[Sh
ip Mode]","remote-type":"WSTR"}}
{"ts":"2016-09-29T16:41:54.319","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-i
nterpret-metadata","v":{"name":"[Profit]","precision":15,"remote-type":"R8","sca
le":-1}}
{"ts":"2016-09-29T16:41:54.319","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-i
nterpret-metadata","v":{"name":"[Unit Price]","precision":15,"remote-type":"R8",
"scale":-1}}
{"ts":"2016-09-29T16:41:54.319","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-i
nterpret-metadata","v":{"name":"[Shipping Cost]","precision":15,"remote-type":"R
8","scale":-1}}
{"ts":"2016-09-29T16:41:54.319","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-i
nterpret-metadata","v":{"collation":"charset=0x0 en_US (LEN_RUS_S2)","name":"[Cu
stomer Name]","remote-type":"WSTR"}}
{"ts":"2016-09-29T16:41:54.319","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-i
nterpret-metadata","v":{"collation":"charset=0x0 en_US (LEN_RUS_S2)","name":"[Pr
ovince]","remote-type":"WSTR"}}
{"ts":"2016-09-29T16:41:54.319","pid":78016,"tid":"13074","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-i
nterpret-metadata","v":{"collation":"charset=0x0 en_US (LEN_RUS_S2)","name":"[Re
gion]","remote-type":"WSTR"}}
{"ts":"2016-09-29T16:41:54.319","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-i
nterpret-metadata","v":{"collation":"charset=0x0 en_US (LEN_RUS_S2)","name":"[Cu
stomer Segment]","remote-type":"WSTR"}}
{"ts":"2016-09-29T16:41:54.319","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-i
nterpret-metadata","v":{"collation":"charset=0x0 en_US (LEN_RUS_S2)","name":"[Pr
oduct Category]","remote-type":"WSTR"}}
{"ts":"2016-09-29T16:41:54.319","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-i
nterpret-metadata","v":{"collation":"charset=0x0 en_US (LEN_RUS_S2)","name":"[Pr
oduct Sub-Category]","remote-type":"WSTR"}}
{"ts":"2016-09-29T16:41:54.320","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-i
nterpret-metadata","v":{"collation":"charset=0x0 en_US (LEN_RUS_S2)","name":"[Pr
oduct Name]","remote-type":"WSTR"}}
{"ts":"2016-09-29T16:41:54.320","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-i
nterpret-metadata","v":{"collation":"charset=0x0 en_US (LEN_RUS_S2)","name":"[Pr
oduct Container]","remote-type":"WSTR"}}
{"ts":"2016-09-29T16:41:54.320","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-i
nterpret-metadata","v":{"name":"[Product Base Margin]","precision":15,"remote-ty
pe":"R8","scale":-1}}
{"ts":"2016-09-29T16:41:54.320","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ds-i
nterpret-metadata","v":{"name":"[Ship Date]","remote-type":"DATE"}}
{"ts":"2016-09-29T16:41:54.320","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-load-metadata","v":{"caption":"Sample - Superstore Sales (Excel)","elapsed":0
,"name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l"}}
{"ts":"2016-09-29T16:41:54.320","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-connect","v":{"caption":"Sample - Superstore Sales (Excel)","elapsed":0.005,"
name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l"}}
{"ts":"2016-09-29T16:41:54.320","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endds-parser-connect","v":{"caption":"Sample - Superstore Sales (Excel)","elapsed":
0.005,"name":"excel-direct.0s0w8bc1somq6z110noi81jfj70l"}}
{"ts":"2016-09-29T16:41:54.358","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:connection-add-new-table-ui table-names=[\"[Orders$
]\"]","name":"tabui:connection-add-new-table-ui"}}
{"ts":"2016-09-29T16:41:54.358","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:get-data-preview-window-pres-model begin-data-sourc
e-pres-model-update=\"false\" clear-view=\"false\" end-data-source-pres-model-up
date=\"true\" show-data-grid-inline-rename=\"false\"","name":"tabdoc:get-data-pr
eview-window-pres-model"}}
{"ts":"2016-09-29T16:41:54.359","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:get-data-preview-window-pres-model begin-data-sour
ce-pres-model-update=\"false\" clear-view=\"false\" end-data-source-pres-model-u
pdate=\"true\" show-data-grid-inline-rename=\"false\"","name":"tabdoc:get-data-p
review-window-pres-model"}}
{"ts":"2016-09-29T16:41:54.361","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm

and-pre","v":{"args":"tabdoc:get-data-preview-window-pres-model begin-data-sourc
e-pres-model-update=\"true\" clear-view=\"false\" end-data-source-pres-model-upd
ate=\"false\" show-data-grid-inline-rename=\"false\"","name":"tabdoc:get-data-pr
eview-window-pres-model"}}
{"ts":"2016-09-29T16:41:54.361","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:get-data-preview-window-pres-model begin-data-sour
ce-pres-model-update=\"true\" clear-view=\"false\" end-data-source-pres-model-up
date=\"false\" show-data-grid-inline-rename=\"false\"","name":"tabdoc:get-data-p
review-window-pres-model"}}
{"ts":"2016-09-29T16:41:54.374","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:get-data-preview-window-pres-model begin-data-sourc
e-pres-model-update=\"false\" clear-view=\"false\" end-data-source-pres-model-up
date=\"true\" show-data-grid-inline-rename=\"false\"","name":"tabdoc:get-data-pr
eview-window-pres-model"}}
{"ts":"2016-09-29T16:41:54.374","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:get-data-preview-window-pres-model begin-data-sour
ce-pres-model-update=\"false\" clear-view=\"false\" end-data-source-pres-model-u
pdate=\"true\" show-data-grid-inline-rename=\"false\"","name":"tabdoc:get-data-p
review-window-pres-model"}}
{"ts":"2016-09-29T16:41:54.376","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:get-data-preview-window-pres-model begin-data-sourc
e-pres-model-update=\"true\" clear-view=\"false\" end-data-source-pres-model-upd
ate=\"false\" show-data-grid-inline-rename=\"false\"","name":"tabdoc:get-data-pr
eview-window-pres-model"}}
{"ts":"2016-09-29T16:41:54.376","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:get-data-preview-window-pres-model begin-data-sour
ce-pres-model-update=\"true\" clear-view=\"false\" end-data-source-pres-model-up
date=\"false\" show-data-grid-inline-rename=\"false\"","name":"tabdoc:get-data-p
review-window-pres-model"}}
{"ts":"2016-09-29T16:41:54.422","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"115949920","key-size-b":"8
0","outcome":"miss"}}
{"ts":"2016-09-29T16:41:54.423","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"excel-direct","elapsed-ms":"0","key-hash":"290714814","outco
me":"miss-no-entry","query-kind":"metadata"}}
{"ts":"2016-09-29T16:41:54.423","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [TableauTemp].[Orders$]"}
{"ts":"2016-09-29T16:41:54.423","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:41:54.423","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":4,"query":"<relation name='Orders' table='[Orders$]'
type='table'>\n <columns gridOrigin='A1:U8400:no:A1:U8400:0' header='yes' outc
ome='2'>\n </columns>\n</relation>\n","query-hash":108238852}}
{"ts":"2016-09-29T16:41:54.429","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":22,"elapsed":0.006,"protocol-id":4,"query":"<relation name='O
rders' table='[Orders$]' type='table'>\n <columns gridOrigin='A1:U8400:no:A1:U8
400:0' header='yes' outcome='2'>\n </columns>\n</relation>\n","query-hash":1082
38852,"rows":0}}
{"ts":"2016-09-29T16:41:54.429","pid":78016,"tid":"119e8","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"read
-metadata","v":{"attributes":{":locale":"1033",":thread-session":"3","class":"ex
cel-reader","cleaning":"no","compat":"no","dataRefreshTime":"","filename":"C:\\U
sers\\Vissu\\Downloads\\Sample - Superstore Sales (Excel).xls","interpretationMo
de":"0","remoteId":"0","validate":"no"},"elapsed":0.006,"group-id":3,"id":4,"met
adata-records":22,"query":"<relation name='Orders' table='[Orders$]' type='table
'>\n <columns gridOrigin='A1:U8400:no:A1:U8400:0' header='yes' outcome='2'>\n
</columns>\n</relation>\n"}}
{"ts":"2016-09-29T16:41:54.429","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"column-count":"22","outcome":"ignore-speculative","query-kind":"met
adata","query-latency-ms":"1000","row-count":"0","value-size-b":"-1"}}
{"ts":"2016-09-29T16:41:54.429","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelReaderProtocol::NormalizeConnectionInfo : elapsed = 0 msec."}
{"ts":"2016-09-29T16:41:54.429","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::ReadMetadata : Columns: 22 ; Integer= 3 ; Real= 6; St
ring = 10 ; DateTime = 0 ; Boolean = 0; Date = 2; Tuple = 0; DataValueSize=16"}
{"ts":"2016-09-29T16:41:54.429","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::ReadMetadata : elapsed = 6 msec."}
{"ts":"2016-09-29T16:41:54.430","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:41:54.430","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:41:54.430","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"column-count":"22","outcome":"ignore-speculative","query-kind":"met
adata","query-latency-ms":"1000","row-count":"0","value-size-b":"-1"}}
{"ts":"2016-09-29T16:41:54.430","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelReaderProtocol::NormalizeConnectionInfo : elapsed = 0 msec."}
{"ts":"2016-09-29T16:41:54.430","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [TableauTemp].[Orders$]"}
{"ts":"2016-09-29T16:41:54.430","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:41:54.431","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::ReadMetadata : Columns: 22 ; Integer= 3 ; Real= 6; St
ring = 10 ; DateTime = 0 ; Boolean = 0; Date = 2; Tuple = 0; DataValueSize=16"}
{"ts":"2016-09-29T16:41:54.431","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::ReadMetadata : elapsed = 1 msec."}
{"ts":"2016-09-29T16:41:54.435","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"MDTV1Z","elapsed-ms":"0","key-hash":"115949920","key-size-b":"8
0","outcome":"miss"}}
{"ts":"2016-09-29T16:41:54.436","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-compress-data","v":{"compressed-size-b":"1942","elapsed-ms":"0","outcome":"done
","uncompressed-size-b":"22062"}}
{"ts":"2016-09-29T16:41:54.436","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"class":"excel-direct","column-count":"22","elapsed-ms":"2","key-has
h":"290714814","key-size-b":"0","outcome":"try-store","query-kind":"metadata","q

uery-latency-ms":"1000","row-count":"0","value-size-b":"-1"}}
{"ts":"2016-09-29T16:41:54.637","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"MDRV1Z","elapsed-ms":"200","key-hash":"401156739","key-size-b"
:"114","load-time-ms":"250","lower-bound-ms":"20","outcome":"fail","problem":"ti
meout","value-size-b":"1942"}}
{"ts":"2016-09-29T16:41:54.637","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AQTV3Z","elapsed-ms":"0","key-hash":"868835135","key-size-b":"7
8","outcome":"miss"}}
{"ts":"2016-09-29T16:41:54.637","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"excel-direct","elapsed-ms":"201","key-hash":"2921297804","ou
tcome":"miss-no-entry","query-kind":"abstract"}}
{"ts":"2016-09-29T16:41:54.639","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"MDTV1Z","elapsed-ms":"200","key-hash":"115949920","key-size-b"
:"80","load-time-ms":"250","lower-bound-ms":"20","outcome":"fail","problem":"tim
eout","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:54.729","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Time required for generating check sum of file C:\\Users\\Vissu\\Downloads
\\Sample - Superstore Sales (Excel).xls in shadow extracts: 0.074 seconds"}
{"ts":"2016-09-29T16:41:54.729","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Shadow extract file name: C:\\Users\\Vissu\\AppData\\Local\\Tableau\\Cachi
ng\\TemporaryExtracts\\5070ba7b14ff34c1ee7348d10175ea55647cd3a3b2c61a4d21bc9aa3c
051bab0.ttde"}
{"ts":"2016-09-29T16:41:54.731","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:41:54.733","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 2 msec."}
{"ts":"2016-09-29T16:41:54.733","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::ReadFilteredMetadata : Query: : <relation name='Orde
rs' table='[Orders$]' type='table'>\n <columns gridOrigin='A1:U8400:no:A1:U8400
:0' header='yes' outcome='2'>\n
<column datatype='integer' name='Row ID' ordi
nal='0' />\n
<column datatype='integer' name='Order ID' ordinal='1' />\n
<
column datatype='date' name='Order Date' ordinal='2' />\n
<column datatype='s
tring' name='Order Priority' ordinal='3' />\n
<column datatype='integer' name
='Order Quantity' ordinal='4' />\n
<column datatype='real' name='Sales' ordin
al='5' />\n
<column datatype='real' name='Discount' ordinal='6' />\n
<colu
mn datatype='string' name='Ship Mode' ordinal='7' />\n
<column datatype='real
' name='Profit' ordinal='8' />\n
<column datatype='real' name='Unit Price' or
dinal='9' />\n
<column datatype='real' name='Shipping Cost' ordinal='10' />\n
<column datatype='string' name='Customer Name' ordinal='11' />\n
<column
datatype='string' name='Province' ordinal='12' />\n
<column datatype='string'
name='Region' ordinal='13' />\n
<column datatype='string' name='Customer Seg
ment' ordinal='14' />\n
<column datatype='string' name='Product Category' ord
inal='15' />\n
<column datatype='string' name='Product Sub-Category' ordinal=
'16' />\n
<column datatype='string' name='Product Name' ordinal='17' />\n
<column datatype='string' name='Product Container' ordinal='18' />\n
<column
datatype='real' name='Product Base Margin' ordinal='19' />\n
<column datatype
='date' name='Ship Date' ordinal='20' />\n </columns>\n</relation>\n"}
{"ts":"2016-09-29T16:41:54.734","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::ReadFilteredMetadata : Metadata: 21 "}
{"ts":"2016-09-29T16:41:54.734","pid":78016,"tid":"12c58","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::ReadFilteredMetadata : elapsed = 0 msec."}
{"ts":"2016-09-29T16:41:54.734","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::MaterialiseCacheTableImpl : Creating table : Orders
$"}
{"ts":"2016-09-29T16:41:54.734","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create table [TableauTemp].[Orders$])","
query-hash":1696555609}}
{"ts":"2016-09-29T16:41:54.737","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:54.777","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.044,"protocol-id":2,"query":"(create table [Tab
leauTemp].[Orders$])","query-hash":1696555609,"rows":0}}
{"ts":"2016-09-29T16:41:54.778","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create column [TableauTemp].[Orders$].[R
ow ID] ( ( \"builtin\" \"bigint\" ) ( \"factory\" \"builtin\" ) ( \"ordinal\" \"
0\" ) ) )","query-hash":2087938703}}
{"ts":"2016-09-29T16:41:54.778","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:54.814","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.037,"protocol-id":2,"query":"(create column [Ta
bleauTemp].[Orders$].[Row ID] ( ( \"builtin\" \"bigint\" ) ( \"factory\" \"built
in\" ) ( \"ordinal\" \"0\" ) ) )","query-hash":2087938703,"rows":0}}
{"ts":"2016-09-29T16:41:54.814","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create column [TableauTemp].[Orders$].[O
rder ID] ( ( \"builtin\" \"bigint\" ) ( \"factory\" \"builtin\" ) ( \"ordinal\"
\"1\" ) ) )","query-hash":1904018843}}
{"ts":"2016-09-29T16:41:54.815","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:54.829","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.014,"protocol-id":2,"query":"(create column [Ta
bleauTemp].[Orders$].[Order ID] ( ( \"builtin\" \"bigint\" ) ( \"factory\" \"bui
ltin\" ) ( \"ordinal\" \"1\" ) ) )","query-hash":1904018843,"rows":0}}
{"ts":"2016-09-29T16:41:54.829","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create column [TableauTemp].[Orders$].[O
rder Date] ( ( \"builtin\" \"date\" ) ( \"factory\" \"builtin\" ) ( \"ordinal\"
\"2\" ) ) )","query-hash":2819587630}}
{"ts":"2016-09-29T16:41:54.829","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:54.843","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.014,"protocol-id":2,"query":"(create column [Ta
bleauTemp].[Orders$].[Order Date] ( ( \"builtin\" \"date\" ) ( \"factory\" \"bui
ltin\" ) ( \"ordinal\" \"2\" ) ) )","query-hash":2819587630,"rows":0}}
{"ts":"2016-09-29T16:41:54.843","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create column [TableauTemp].[Orders$].[O
rder Priority] ( ( \"collation\" \"en_US_CI\" ) ( \"compression\" \"heap\" ) ( \

"factory\" \"varchar\" ) ( \"ordinal\" \"3\" ) ( \"scale\" \"1\" ) ( \"storagewi


dth\" \"8\" ) ) )","query-hash":3993590139}}
{"ts":"2016-09-29T16:41:54.843","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:54.861","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.018,"protocol-id":2,"query":"(create column [Ta
bleauTemp].[Orders$].[Order Priority] ( ( \"collation\" \"en_US_CI\" ) ( \"compr
ession\" \"heap\" ) ( \"factory\" \"varchar\" ) ( \"ordinal\" \"3\" ) ( \"scale\
" \"1\" ) ( \"storagewidth\" \"8\" ) ) )","query-hash":3993590139,"rows":0}}
{"ts":"2016-09-29T16:41:54.861","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create column [TableauTemp].[Orders$].[O
rder Quantity] ( ( \"builtin\" \"bigint\" ) ( \"factory\" \"builtin\" ) ( \"ordi
nal\" \"4\" ) ) )","query-hash":3758045883}}
{"ts":"2016-09-29T16:41:54.861","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:54.879","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.018,"protocol-id":2,"query":"(create column [Ta
bleauTemp].[Orders$].[Order Quantity] ( ( \"builtin\" \"bigint\" ) ( \"factory\"
\"builtin\" ) ( \"ordinal\" \"4\" ) ) )","query-hash":3758045883,"rows":0}}
{"ts":"2016-09-29T16:41:54.879","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create column [TableauTemp].[Orders$].[S
ales] ( ( \"builtin\" \"double\" ) ( \"factory\" \"builtin\" ) ( \"ordinal\" \"5
\" ) ) )","query-hash":812970192}}
{"ts":"2016-09-29T16:41:54.879","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:54.899","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.02,"protocol-id":2,"query":"(create column [Tab
leauTemp].[Orders$].[Sales] ( ( \"builtin\" \"double\" ) ( \"factory\" \"builtin
\" ) ( \"ordinal\" \"5\" ) ) )","query-hash":812970192,"rows":0}}
{"ts":"2016-09-29T16:41:54.899","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create column [TableauTemp].[Orders$].[D
iscount] ( ( \"builtin\" \"double\" ) ( \"factory\" \"builtin\" ) ( \"ordinal\"
\"6\" ) ) )","query-hash":1234062748}}
{"ts":"2016-09-29T16:41:54.899","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:54.918","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.019,"protocol-id":2,"query":"(create column [Ta
bleauTemp].[Orders$].[Discount] ( ( \"builtin\" \"double\" ) ( \"factory\" \"bui
ltin\" ) ( \"ordinal\" \"6\" ) ) )","query-hash":1234062748,"rows":0}}
{"ts":"2016-09-29T16:41:54.919","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create column [TableauTemp].[Orders$].[S
hip Mode] ( ( \"collation\" \"en_US_CI\" ) ( \"compression\" \"heap\" ) ( \"fact
ory\" \"varchar\" ) ( \"ordinal\" \"7\" ) ( \"scale\" \"1\" ) ( \"storagewidth\"
\"8\" ) ) )","query-hash":2058798764}}
{"ts":"2016-09-29T16:41:54.946","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:54.970","pid":78016,"tid":"12c58","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.051,"protocol-id":2,"query":"(create column [Ta


bleauTemp].[Orders$].[Ship Mode] ( ( \"collation\" \"en_US_CI\" ) ( \"compressio
n\" \"heap\" ) ( \"factory\" \"varchar\" ) ( \"ordinal\" \"7\" ) ( \"scale\" \"1
\" ) ( \"storagewidth\" \"8\" ) ) )","query-hash":2058798764,"rows":0}}
{"ts":"2016-09-29T16:41:54.970","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create column [TableauTemp].[Orders$].[P
rofit] ( ( \"builtin\" \"double\" ) ( \"factory\" \"builtin\" ) ( \"ordinal\" \"
8\" ) ) )","query-hash":3362098629}}
{"ts":"2016-09-29T16:41:54.971","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:54.985","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.015,"protocol-id":2,"query":"(create column [Ta
bleauTemp].[Orders$].[Profit] ( ( \"builtin\" \"double\" ) ( \"factory\" \"built
in\" ) ( \"ordinal\" \"8\" ) ) )","query-hash":3362098629,"rows":0}}
{"ts":"2016-09-29T16:41:54.985","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create column [TableauTemp].[Orders$].[U
nit Price] ( ( \"builtin\" \"double\" ) ( \"factory\" \"builtin\" ) ( \"ordinal\
" \"9\" ) ) )","query-hash":190023337}}
{"ts":"2016-09-29T16:41:54.986","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:54.999","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.014,"protocol-id":2,"query":"(create column [Ta
bleauTemp].[Orders$].[Unit Price] ( ( \"builtin\" \"double\" ) ( \"factory\" \"b
uiltin\" ) ( \"ordinal\" \"9\" ) ) )","query-hash":190023337,"rows":0}}
{"ts":"2016-09-29T16:41:54.999","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create column [TableauTemp].[Orders$].[S
hipping Cost] ( ( \"builtin\" \"double\" ) ( \"factory\" \"builtin\" ) ( \"ordin
al\" \"10\" ) ) )","query-hash":2846008097}}
{"ts":"2016-09-29T16:41:55.000","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:55.014","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.015,"protocol-id":2,"query":"(create column [Ta
bleauTemp].[Orders$].[Shipping Cost] ( ( \"builtin\" \"double\" ) ( \"factory\"
\"builtin\" ) ( \"ordinal\" \"10\" ) ) )","query-hash":2846008097,"rows":0}}
{"ts":"2016-09-29T16:41:55.014","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create column [TableauTemp].[Orders$].[C
ustomer Name] ( ( \"collation\" \"en_US_CI\" ) ( \"compression\" \"heap\" ) ( \"
factory\" \"varchar\" ) ( \"ordinal\" \"11\" ) ( \"scale\" \"1\" ) ( \"storagewi
dth\" \"8\" ) ) )","query-hash":828220509}}
{"ts":"2016-09-29T16:41:55.014","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:55.030","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.016,"protocol-id":2,"query":"(create column [Ta
bleauTemp].[Orders$].[Customer Name] ( ( \"collation\" \"en_US_CI\" ) ( \"compre
ssion\" \"heap\" ) ( \"factory\" \"varchar\" ) ( \"ordinal\" \"11\" ) ( \"scale\
" \"1\" ) ( \"storagewidth\" \"8\" ) ) )","query-hash":828220509,"rows":0}}
{"ts":"2016-09-29T16:41:55.030","pid":78016,"tid":"12c58","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create column [TableauTemp].[Orders$].[P
rovince] ( ( \"collation\" \"en_US_CI\" ) ( \"compression\" \"heap\" ) ( \"facto
ry\" \"varchar\" ) ( \"ordinal\" \"12\" ) ( \"scale\" \"1\" ) ( \"storagewidth\"
\"8\" ) ) )","query-hash":3563599310}}
{"ts":"2016-09-29T16:41:55.030","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:55.048","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.018,"protocol-id":2,"query":"(create column [Ta
bleauTemp].[Orders$].[Province] ( ( \"collation\" \"en_US_CI\" ) ( \"compression
\" \"heap\" ) ( \"factory\" \"varchar\" ) ( \"ordinal\" \"12\" ) ( \"scale\" \"1
\" ) ( \"storagewidth\" \"8\" ) ) )","query-hash":3563599310,"rows":0}}
{"ts":"2016-09-29T16:41:55.048","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create column [TableauTemp].[Orders$].[R
egion] ( ( \"collation\" \"en_US_CI\" ) ( \"compression\" \"heap\" ) ( \"factory
\" \"varchar\" ) ( \"ordinal\" \"13\" ) ( \"scale\" \"1\" ) ( \"storagewidth\" \
"8\" ) ) )","query-hash":2492330732}}
{"ts":"2016-09-29T16:41:55.048","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:55.062","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.014,"protocol-id":2,"query":"(create column [Ta
bleauTemp].[Orders$].[Region] ( ( \"collation\" \"en_US_CI\" ) ( \"compression\"
\"heap\" ) ( \"factory\" \"varchar\" ) ( \"ordinal\" \"13\" ) ( \"scale\" \"1\"
) ( \"storagewidth\" \"8\" ) ) )","query-hash":2492330732,"rows":0}}
{"ts":"2016-09-29T16:41:55.062","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create column [TableauTemp].[Orders$].[C
ustomer Segment] ( ( \"collation\" \"en_US_CI\" ) ( \"compression\" \"heap\" ) (
\"factory\" \"varchar\" ) ( \"ordinal\" \"14\" ) ( \"scale\" \"1\" ) ( \"storag
ewidth\" \"8\" ) ) )","query-hash":1139153833}}
{"ts":"2016-09-29T16:41:55.062","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:55.078","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.016,"protocol-id":2,"query":"(create column [Ta
bleauTemp].[Orders$].[Customer Segment] ( ( \"collation\" \"en_US_CI\" ) ( \"com
pression\" \"heap\" ) ( \"factory\" \"varchar\" ) ( \"ordinal\" \"14\" ) ( \"sca
le\" \"1\" ) ( \"storagewidth\" \"8\" ) ) )","query-hash":1139153833,"rows":0}}
{"ts":"2016-09-29T16:41:55.078","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create column [TableauTemp].[Orders$].[P
roduct Category] ( ( \"collation\" \"en_US_CI\" ) ( \"compression\" \"heap\" ) (
\"factory\" \"varchar\" ) ( \"ordinal\" \"15\" ) ( \"scale\" \"1\" ) ( \"storag
ewidth\" \"8\" ) ) )","query-hash":2006221043}}
{"ts":"2016-09-29T16:41:55.078","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:55.093","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.015,"protocol-id":2,"query":"(create column [Ta
bleauTemp].[Orders$].[Product Category] ( ( \"collation\" \"en_US_CI\" ) ( \"com
pression\" \"heap\" ) ( \"factory\" \"varchar\" ) ( \"ordinal\" \"15\" ) ( \"sca
le\" \"1\" ) ( \"storagewidth\" \"8\" ) ) )","query-hash":2006221043,"rows":0}}
{"ts":"2016-09-29T16:41:55.093","pid":78016,"tid":"12c58","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create column [TableauTemp].[Orders$].[P
roduct Sub-Category] ( ( \"collation\" \"en_US_CI\" ) ( \"compression\" \"heap\"
) ( \"factory\" \"varchar\" ) ( \"ordinal\" \"16\" ) ( \"scale\" \"1\" ) ( \"st
oragewidth\" \"8\" ) ) )","query-hash":950493002}}
{"ts":"2016-09-29T16:41:55.094","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:55.108","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.015,"protocol-id":2,"query":"(create column [Ta
bleauTemp].[Orders$].[Product Sub-Category] ( ( \"collation\" \"en_US_CI\" ) ( \
"compression\" \"heap\" ) ( \"factory\" \"varchar\" ) ( \"ordinal\" \"16\" ) ( \
"scale\" \"1\" ) ( \"storagewidth\" \"8\" ) ) )","query-hash":950493002,"rows":0
}}
{"ts":"2016-09-29T16:41:55.108","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create column [TableauTemp].[Orders$].[P
roduct Name] ( ( \"collation\" \"en_US_CI\" ) ( \"compression\" \"heap\" ) ( \"f
actory\" \"varchar\" ) ( \"ordinal\" \"17\" ) ( \"scale\" \"1\" ) ( \"storagewid
th\" \"8\" ) ) )","query-hash":69041794}}
{"ts":"2016-09-29T16:41:55.108","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:55.124","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.016,"protocol-id":2,"query":"(create column [Ta
bleauTemp].[Orders$].[Product Name] ( ( \"collation\" \"en_US_CI\" ) ( \"compres
sion\" \"heap\" ) ( \"factory\" \"varchar\" ) ( \"ordinal\" \"17\" ) ( \"scale\"
\"1\" ) ( \"storagewidth\" \"8\" ) ) )","query-hash":69041794,"rows":0}}
{"ts":"2016-09-29T16:41:55.124","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create column [TableauTemp].[Orders$].[P
roduct Container] ( ( \"collation\" \"en_US_CI\" ) ( \"compression\" \"heap\" )
( \"factory\" \"varchar\" ) ( \"ordinal\" \"18\" ) ( \"scale\" \"1\" ) ( \"stora
gewidth\" \"8\" ) ) )","query-hash":3179822217}}
{"ts":"2016-09-29T16:41:55.124","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:55.142","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.018,"protocol-id":2,"query":"(create column [Ta
bleauTemp].[Orders$].[Product Container] ( ( \"collation\" \"en_US_CI\" ) ( \"co
mpression\" \"heap\" ) ( \"factory\" \"varchar\" ) ( \"ordinal\" \"18\" ) ( \"sc
ale\" \"1\" ) ( \"storagewidth\" \"8\" ) ) )","query-hash":3179822217,"rows":0}}
{"ts":"2016-09-29T16:41:55.142","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create column [TableauTemp].[Orders$].[P
roduct Base Margin] ( ( \"builtin\" \"double\" ) ( \"factory\" \"builtin\" ) ( \
"ordinal\" \"19\" ) ) )","query-hash":2004612703}}
{"ts":"2016-09-29T16:41:55.142","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:55.161","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.019,"protocol-id":2,"query":"(create column [Ta
bleauTemp].[Orders$].[Product Base Margin] ( ( \"builtin\" \"double\" ) ( \"fact
ory\" \"builtin\" ) ( \"ordinal\" \"19\" ) ) )","query-hash":2004612703,"rows":0
}}
{"ts":"2016-09-29T16:41:55.161","pid":78016,"tid":"12c58","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(create column [TableauTemp].[Orders$].[S
hip Date] ( ( \"builtin\" \"date\" ) ( \"factory\" \"builtin\" ) ( \"ordinal\" \
"20\" ) ) )","query-hash":74389493}}
{"ts":"2016-09-29T16:41:55.161","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:55.177","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":0,"elapsed":0.016,"protocol-id":2,"query":"(create column [Ta
bleauTemp].[Orders$].[Ship Date] ( ( \"builtin\" \"date\" ) ( \"factory\" \"buil
tin\" ) ( \"ordinal\" \"20\" ) ) )","query-hash":74389493,"rows":0}}
{"ts":"2016-09-29T16:41:55.177","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::MaterialiseCacheTableImpl : table created successfull
y"}
{"ts":"2016-09-29T16:41:55.178","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":4,"query":"<relation name='Orders' table='[Orders$]'
type='table'>\n <columns gridOrigin='A1:U8400:no:A1:U8400:0' header='yes' outc
ome='2'>\n
<column datatype='integer' name='Row ID' ordinal='0' />\n
<colu
mn datatype='integer' name='Order ID' ordinal='1' />\n
<column datatype='date
' name='Order Date' ordinal='2' />\n
<column datatype='string' name='Order Pr
iority' ordinal='3' />\n
<column datatype='integer' name='Order Quantity' ord
inal='4' />\n
<column datatype='real' name='Sales' ordinal='5' />\n
<colum
n datatype='real' name='Discount' ordinal='6' />\n
<column datatype='string'
name='Ship Mode' ordinal='7' />\n
<column datatype='real' name='Profit' ordin
al='8' />\n
<column datatype='real' name='Unit Price' ordinal='9' />\n
<co
lumn datatype='real' name='Shipping Cost' ordinal='10' />\n
<column datatype=
'string' name='Customer Name' ordinal='11' />\n
<column datatype='string' nam
e='Province' ordinal='12' />\n
<column datatype='string' name='Region' ordina
l='13' />\n
<column datatype='string' name='Customer Segment' ordinal='14' />
\n
<column datatype='string' name='Product Category' ordinal='15' />\n
<co
lumn datatype='string' name='Product Sub-Category' ordinal='16' />\n
<column
datatype='string' name='Product Name' ordinal='17' />\n
<column datatype='str
ing' name='Product Container' ordinal='18' />\n
<column datatype='real' name=
'Product Base Margin' ordinal='19' />\n
<column datatype='date' name='Ship Da
te' ordinal='20' />\n </columns>\n</relation>\n","query-hash":1728058191}}
{"ts":"2016-09-29T16:41:55.360","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"MDTV1Z","elapsed-ms":"200","key-hash":"410379615","key-size-b"
:"78","load-time-ms":"250","lower-bound-ms":"20","outcome":"fail","problem":"tim
eout","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:55.451","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"MDRV1Z","elapsed-ms":"200","key-hash":"725640997","key-size-b"
:"112","load-time-ms":"250","lower-bound-ms":"20","outcome":"fail","problem":"ti
meout","value-size-b":"1940"}}
{"ts":"2016-09-29T16:41:55.490","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:switch-to-document validation-mode=\"prevent-validat
ion\"","name":"tabui:switch-to-document"}}
{"ts":"2016-09-29T16:41:55.505","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":21,"elapsed":0.327,"protocol-id":4,"query":"<relation name='O
rders' table='[Orders$]' type='table'>\n <columns gridOrigin='A1:U8400:no:A1:U8
400:0' header='yes' outcome='2'>\n
<column datatype='integer' name='Row ID' o
rdinal='0' />\n
<column datatype='integer' name='Order ID' ordinal='1' />\n
<column datatype='date' name='Order Date' ordinal='2' />\n
<column datatype
='string' name='Order Priority' ordinal='3' />\n
<column datatype='integer' n

ame='Order Quantity' ordinal='4' />\n


<column datatype='real' name='Sales' or
dinal='5' />\n
<column datatype='real' name='Discount' ordinal='6' />\n
<c
olumn datatype='string' name='Ship Mode' ordinal='7' />\n
<column datatype='r
eal' name='Profit' ordinal='8' />\n
<column datatype='real' name='Unit Price'
ordinal='9' />\n
<column datatype='real' name='Shipping Cost' ordinal='10' /
>\n
<column datatype='string' name='Customer Name' ordinal='11' />\n
<colu
mn datatype='string' name='Province' ordinal='12' />\n
<column datatype='stri
ng' name='Region' ordinal='13' />\n
<column datatype='string' name='Customer
Segment' ordinal='14' />\n
<column datatype='string' name='Product Category'
ordinal='15' />\n
<column datatype='string' name='Product Sub-Category' ordin
al='16' />\n
<column datatype='string' name='Product Name' ordinal='17' />\n
<column datatype='string' name='Product Container' ordinal='18' />\n
<colu
mn datatype='real' name='Product Base Margin' ordinal='19' />\n
<column datat
ype='date' name='Ship Date' ordinal='20' />\n </columns>\n</relation>\n","query
-hash":1728058191,"rows":8399}}
{"ts":"2016-09-29T16:41:55.559","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:switch-to-document validation-mode=\"prevent-valida
tion\"","name":"tabui:switch-to-document"}}
{"ts":"2016-09-29T16:41:55.574","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:41:55.574","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:41:55.575","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:55.575","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:41:55.575","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:55.575","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:55.575","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:55.575","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:55.575","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:55.575","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:55.575","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:55.575","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:41:55.575","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:41:55.576","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"end-

visual-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:41:55.576","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.002 sec"}
{"ts":"2016-09-29T16:41:55.576","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.002,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:41:55.636","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:41:55.637","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using Qt"}
{"ts":"2016-09-29T16:41:55.652","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:41:55.718","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:41:55.828","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::MaterialiseCacheTableImpl : elapsed = 1095 msec."}
{"ts":"2016-09-29T16:41:55.828","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:41:55.828","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:41:55.829","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(restrict\n (top\n
(project\n
(t
able [TableauTemp].[Orders$])\n
(\n
([Number of Records] 1)\n
)\n
)\n
()\n
1000)\n ([Customer Name] [Customer Segment] [Discount]
[Number of Records] [Order Date] [Order ID] [Order Priority] [Order Quantity] [
Product Base Margin] [Product Category] [Product Container] [Product Name] [Prod
uct Sub-Category] [Profit] [Province] [Region] [Row ID] [Sales] [Ship Date] [Shi
p Mode] [Shipping Cost] [Unit Price])\n )\n","query-hash":1211130078}}
{"ts":"2016-09-29T16:41:55.829","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:41:55.858","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":22,"elapsed":0.029,"protocol-id":2,"query":"(restrict\n (top
\n
(project\n
(table [TableauTemp].[Orders$])\n
(\n
([Number
of Records] 1)\n
)\n
)\n
()\n
1000)\n ([Customer Name] [Cust
omer Segment] [Discount] [Number of Records] [Order Date] [Order ID] [Order Prio
rity] [Order Quantity] [Product Base Margin] [Product Category] [Product Contain
er] [Product Name] [Product Sub-Category] [Profit] [Province] [Region] [Row ID]
[Sales] [Ship Date] [Ship Mode] [Shipping Cost] [Unit Price])\n )\n","query-has
h":1211130078,"rows":1000}}
{"ts":"2016-09-29T16:41:55.860","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"NQTV1Z","elapsed-ms":"0","key-hash":"3289325806","key-size-b":"
80","outcome":"miss"}}
{"ts":"2016-09-29T16:41:55.863","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqclog-cache-key","v":{"cache-key":"<aq-cache-key are-all-local-sorts-supported='tr
ue' has-agg-measure-filters='false' has-lod-calcs='false' has-user-reference='fa
lse' start-of-week='sunday' version='9.3'>\n <query aggregation='false' caching
='normal' hierarchize-rows='false' include-empty='false'>\n
<fields>\n
<

field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Customer Name]' />\n


<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Customer Segmen
t]' />\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Discou
nt]' />\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Numbe
r of Records]' />\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj7
0l].[Order Date]' />\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81j
fj70l].[Order ID]' />\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81
jfj70l].[Order Priority]' />\n
<field column='[excel-direct.0s0w8bc1somq6z1
10noi81jfj70l].[Order Quantity]' />\n
<field column='[excel-direct.0s0w8bc1
somq6z110noi81jfj70l].[Product Base Margin]' />\n
<field column='[excel-dir
ect.0s0w8bc1somq6z110noi81jfj70l].[Product Category]' />\n
<field column='[
excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Product Container]' />\n
<field
column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Product Name]' />\n
<
field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Product Sub-Category]
' />\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Profit]'
/>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Province]
' />\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Region]'
/>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Row ID]'
/>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Sales]' />
\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Ship Date]'
/>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Ship Mode]
' />\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Shipping
Cost]' />\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Un
it Price]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l]
.[Customer Name]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81
jfj70l].[Customer Segment]' />\n
<output column='[excel-direct.0s0w8bc1somq
6z110noi81jfj70l].[Discount]' />\n
<output column='[excel-direct.0s0w8bc1so
mq6z110noi81jfj70l].[Number of Records]' />\n
<output column='[excel-direct
.0s0w8bc1somq6z110noi81jfj70l].[Order Date]' />\n
<output column='[excel-di
rect.0s0w8bc1somq6z110noi81jfj70l].[Order ID]' />\n
<output column='[exceldirect.0s0w8bc1somq6z110noi81jfj70l].[Order Priority]' />\n
<output column=
'[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order Quantity]' />\n
<output
column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Product Base Margin]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Product Categ
ory]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Pro
duct Container]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81j
fj70l].[Product Name]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110
noi81jfj70l].[Product Sub-Category]' />\n
<output column='[excel-direct.0s0
w8bc1somq6z110noi81jfj70l].[Profit]' />\n
<output column='[excel-direct.0s0
w8bc1somq6z110noi81jfj70l].[Province]' />\n
<output column='[excel-direct.0
s0w8bc1somq6z110noi81jfj70l].[Region]' />\n
<output column='[excel-direct.0
s0w8bc1somq6z110noi81jfj70l].[Row ID]' />\n
<output column='[excel-direct.0
s0w8bc1somq6z110noi81jfj70l].[Sales]' />\n
<output column='[excel-direct.0s
0w8bc1somq6z110noi81jfj70l].[Ship Date]' />\n
<output column='[excel-direct
.0s0w8bc1somq6z110noi81jfj70l].[Ship Mode]' />\n
<output column='[excel-dir
ect.0s0w8bc1somq6z110noi81jfj70l].[Shipping Cost]' />\n
<output column='[ex
cel-direct.0s0w8bc1somq6z110noi81jfj70l].[Unit Price]' />\n
</fields>\n
<t
op count='1000' units='records' />\n </query>\n <relation-xml>&lt;relation nam
e=&apos;Orders&apos; table=&apos;[Orders$]&apos; type=&apos;table&apos;&gt;&#10;
&lt;columns gridOrigin=&apos;A1:U8400:no:A1:U8400:0&apos; header=&apos;yes&apo
s; outcome=&apos;2&apos;&gt;&#10;
&lt;column datatype=&apos;integer&apos; nam
e=&apos;Row ID&apos; ordinal=&apos;0&apos; /&gt;&#10;
&lt;column datatype=&ap
os;integer&apos; name=&apos;Order ID&apos; ordinal=&apos;1&apos; /&gt;&#10;
&
lt;column datatype=&apos;date&apos; name=&apos;Order Date&apos; ordinal=&apos;2&
apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Order Prio
rity&apos; ordinal=&apos;3&apos; /&gt;&#10;
&lt;column datatype=&apos;integer
&apos; name=&apos;Order Quantity&apos; ordinal=&apos;4&apos; /&gt;&#10;
&lt;c
olumn datatype=&apos;real&apos; name=&apos;Sales&apos; ordinal=&apos;5&apos; /&g
t;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Discount&apos; ordina
l=&apos;6&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;

Ship Mode&apos; ordinal=&apos;7&apos; /&gt;&#10;


&lt;column datatype=&apos;re
al&apos; name=&apos;Profit&apos; ordinal=&apos;8&apos; /&gt;&#10;
&lt;column
datatype=&apos;real&apos; name=&apos;Unit Price&apos; ordinal=&apos;9&apos; /&gt
;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Shipping Cost&apos; or
dinal=&apos;10&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&
apos;Customer Name&apos; ordinal=&apos;11&apos; /&gt;&#10;
&lt;column datatyp
e=&apos;string&apos; name=&apos;Province&apos; ordinal=&apos;12&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Region&apos; ordinal=&apos
;13&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Custom
er Segment&apos; ordinal=&apos;14&apos; /&gt;&#10;
&lt;column datatype=&apos;
string&apos; name=&apos;Product Category&apos; ordinal=&apos;15&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Product Sub-Category&apos;
ordinal=&apos;16&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; nam
e=&apos;Product Name&apos; ordinal=&apos;17&apos; /&gt;&#10;
&lt;column datat
ype=&apos;string&apos; name=&apos;Product Container&apos; ordinal=&apos;18&apos;
/&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Product Base Marg
in&apos; ordinal=&apos;19&apos; /&gt;&#10;
&lt;column datatype=&apos;date&apo
s; name=&apos;Ship Date&apos; ordinal=&apos;20&apos; /&gt;&#10; &lt;/columns&gt
;&#10;&lt;/relation&gt;&#10;</relation-xml>\n <relation-names>\n
<relation-n
ame key='[Customer Name]' value='[Orders].[Customer Name]' />\n
<relation-nam
e key='[Customer Segment]' value='[Orders].[Customer Segment]' />\n
<relation
-name key='[Discount]' value='[Orders].[Discount]' />\n
<relation-name key='[
Order Date]' value='[Orders].[Order Date]' />\n
<relation-name key='[Order ID
]' value='[Orders].[Order ID]' />\n
<relation-name key='[Order Priority]' val
ue='[Orders].[Order Priority]' />\n
<relation-name key='[Order Quantity]' val
ue='[Orders].[Order Quantity]' />\n
<relation-name key='[Product Base Margin]
' value='[Orders].[Product Base Margin]' />\n
<relation-name key='[Product Ca
tegory]' value='[Orders].[Product Category]' />\n
<relation-name key='[Produc
t Container]' value='[Orders].[Product Container]' />\n
<relation-name key='[
Product Name]' value='[Orders].[Product Name]' />\n
<relation-name key='[Prod
uct Sub-Category]' value='[Orders].[Product Sub-Category]' />\n
<relation-nam
e key='[Profit]' value='[Orders].[Profit]' />\n
<relation-name key='[Province
]' value='[Orders].[Province]' />\n
<relation-name key='[Region]' value='[Ord
ers].[Region]' />\n
<relation-name key='[Row ID]' value='[Orders].[Row ID]' /
>\n
<relation-name key='[Sales]' value='[Orders].[Sales]' />\n
<relation-n
ame key='[Ship Date]' value='[Orders].[Ship Date]' />\n
<relation-name key='[
Ship Mode]' value='[Orders].[Ship Mode]' />\n
<relation-name key='[Shipping C
ost]' value='[Orders].[Shipping Cost]' />\n
<relation-name key='[Unit Price]'
value='[Orders].[Unit Price]' />\n </relation-names>\n <bindings>\n
<bindi
ng key='[Customer Name]' value='Customer Name' />\n
<binding key='[Customer S
egment]' value='Customer Segment' />\n
<binding key='[Discount]' value='Disco
unt' />\n
<binding key='[Number of Records]' value='Number of Records' />\n
<binding key='[Order Date]' value='Order Date' />\n
<binding key='[Order ID
]' value='Order ID' />\n
<binding key='[Order Priority]' value='Order Priorit
y' />\n
<binding key='[Order Quantity]' value='Order Quantity' />\n
<bindi
ng key='[Product Base Margin]' value='Product Base Margin' />\n
<binding key=
'[Product Category]' value='Product Category' />\n
<binding key='[Product Con
tainer]' value='Product Container' />\n
<binding key='[Product Name]' value='
Product Name' />\n
<binding key='[Product Sub-Category]' value='Product Sub-C
ategory' />\n
<binding key='[Profit]' value='Profit' />\n
<binding key='[P
rovince]' value='Province' />\n
<binding key='[Region]' value='Region' />\n
<binding key='[Row ID]' value='Row ID' />\n
<binding key='[Sales]' value='S
ales' />\n
<binding key='[Ship Date]' value='Ship Date' />\n
<binding key=
'[Ship Mode]' value='Ship Mode' />\n
<binding key='[Shipping Cost]' value='Sh
ipping Cost' />\n
<binding key='[Unit Price]' value='Unit Price' />\n </bind
ings>\n <lod>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Custome
r Name]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Custo
mer Segment]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[
Discount]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Num
ber of Records]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l

].[Order Date]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l]
.[Order ID]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[O
rder Priority]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l]
.[Order Quantity]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj7
0l].[Product Base Margin]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110n
oi81jfj70l].[Product Category]</column>\n
<column>[excel-direct.0s0w8bc1somq6
z110noi81jfj70l].[Product Container]</column>\n
<column>[excel-direct.0s0w8bc
1somq6z110noi81jfj70l].[Product Name]</column>\n
<column>[excel-direct.0s0w8b
c1somq6z110noi81jfj70l].[Product Sub-Category]</column>\n
<column>[excel-dire
ct.0s0w8bc1somq6z110noi81jfj70l].[Profit]</column>\n
<column>[excel-direct.0s
0w8bc1somq6z110noi81jfj70l].[Province]</column>\n
<column>[excel-direct.0s0w8
bc1somq6z110noi81jfj70l].[Region]</column>\n
<column>[excel-direct.0s0w8bc1so
mq6z110noi81jfj70l].[Row ID]</column>\n
<column>[excel-direct.0s0w8bc1somq6z1
10noi81jfj70l].[Sales]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi8
1jfj70l].[Ship Date]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81j
fj70l].[Ship Mode]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj
70l].[Shipping Cost]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81j
fj70l].[Unit Price]</column>\n </lod>\n <measure-filter-lod>\n
<column>[exc
el-direct.0s0w8bc1somq6z110noi81jfj70l].[Customer Name]</column>\n
<column>[e
xcel-direct.0s0w8bc1somq6z110noi81jfj70l].[Customer Segment]</column>\n
<colu
mn>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Discount]</column>\n
<column>
[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Number of Records]</column>\n
<c
olumn>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order Date]</column>\n
<co
lumn>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order ID]</column>\n
<colum
n>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order Priority]</column>\n
<co
lumn>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order Quantity]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Product Base Margin]</colum
n>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Product Category]</
column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Product Contai
ner]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Product
Name]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Product
Sub-Category]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l]
.[Profit]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Pro
vince]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Region
]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Row ID]</co
lumn>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Sales]</column>\
n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Ship Date]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Ship Mode]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Shipping Cost]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Unit Price]</column>\n
</measure-filter-lod>\n <output>\n
<column>[excel-direct.0s0w8bc1somq6z110no
i81jfj70l].[Customer Name]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110
noi81jfj70l].[Customer Segment]</column>\n
<column>[excel-direct.0s0w8bc1somq
6z110noi81jfj70l].[Discount]</column>\n
<column>[excel-direct.0s0w8bc1somq6z1
10noi81jfj70l].[Number of Records]</column>\n
<column>[excel-direct.0s0w8bc1s
omq6z110noi81jfj70l].[Order Date]</column>\n
<column>[excel-direct.0s0w8bc1so
mq6z110noi81jfj70l].[Order ID]</column>\n
<column>[excel-direct.0s0w8bc1somq6
z110noi81jfj70l].[Order Priority]</column>\n
<column>[excel-direct.0s0w8bc1so
mq6z110noi81jfj70l].[Order Quantity]</column>\n
<column>[excel-direct.0s0w8bc
1somq6z110noi81jfj70l].[Product Base Margin]</column>\n
<column>[excel-direct
.0s0w8bc1somq6z110noi81jfj70l].[Product Category]</column>\n
<column>[excel-d
irect.0s0w8bc1somq6z110noi81jfj70l].[Product Container]</column>\n
<column>[e
xcel-direct.0s0w8bc1somq6z110noi81jfj70l].[Product Name]</column>\n
<column>[
excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Product Sub-Category]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Profit]</column>\n
<colu
mn>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Province]</column>\n
<column>
[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Region]</column>\n
<column>[exce
l-direct.0s0w8bc1somq6z110noi81jfj70l].[Row ID]</column>\n
<column>[excel-dir
ect.0s0w8bc1somq6z110noi81jfj70l].[Sales]</column>\n
<column>[excel-direct.0s
0w8bc1somq6z110noi81jfj70l].[Ship Date]</column>\n
<column>[excel-direct.0s0w

8bc1somq6z110noi81jfj70l].[Ship Mode]</column>\n
<column>[excel-direct.0s0w8b
c1somq6z110noi81jfj70l].[Shipping Cost]</column>\n
<column>[excel-direct.0s0w
8bc1somq6z110noi81jfj70l].[Unit Price]</column>\n </output>\n <aggregates />\n
<slicers />\n <filtered />\n <local-filters />\n <calculations>\n
<calcu
lation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Customer Name]' form
ula='' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].
[Customer Segment]' formula='' />\n
<calculation column='[excel-direct.0s0w8b
c1somq6z110noi81jfj70l].[Discount]' formula='' />\n
<calculation column='[exc
el-direct.0s0w8bc1somq6z110noi81jfj70l].[Number of Records]' formula='1' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order Date]'
formula='' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj7
0l].[Order ID]' formula='' />\n
<calculation column='[excel-direct.0s0w8bc1so
mq6z110noi81jfj70l].[Order Priority]' formula='' />\n
<calculation column='[e
xcel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order Quantity]' formula='' />\n
<
calculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Product Base Ma
rgin]' formula='' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z110no
i81jfj70l].[Product Category]' formula='' />\n
<calculation column='[excel-di
rect.0s0w8bc1somq6z110noi81jfj70l].[Product Container]' formula='' />\n
<calc
ulation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Product Name]' form
ula='' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].
[Product Sub-Category]' formula='' />\n
<calculation column='[excel-direct.0s
0w8bc1somq6z110noi81jfj70l].[Profit]' formula='' />\n
<calculation column='[e
xcel-direct.0s0w8bc1somq6z110noi81jfj70l].[Province]' formula='' />\n
<calcul
ation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Region]' formula='' /
>\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Row ID]
' formula='' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81jf
j70l].[Sales]' formula='' />\n
<calculation column='[excel-direct.0s0w8bc1som
q6z110noi81jfj70l].[Ship Date]' formula='' />\n
<calculation column='[excel-d
irect.0s0w8bc1somq6z110noi81jfj70l].[Ship Mode]' formula='' />\n
<calculation
column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Shipping Cost]' formula=''
/>\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Unit
Price]' formula='' />\n </calculations>\n <agg-types>\n
<agg-type column='[
excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Customer Name]' type='None' />\n
<agg-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Customer Segment]
' type='None' />\n
<agg-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj7
0l].[Discount]' type='None' />\n
<agg-type column='[excel-direct.0s0w8bc1somq
6z110noi81jfj70l].[Number of Records]' type='None' />\n
<agg-type column='[ex
cel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order Date]' type='None' />\n
<aggtype column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order ID]' type='None'
/>\n
<agg-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order Pr
iority]' type='None' />\n
<agg-type column='[excel-direct.0s0w8bc1somq6z110no
i81jfj70l].[Order Quantity]' type='None' />\n
<agg-type column='[excel-direct
.0s0w8bc1somq6z110noi81jfj70l].[Product Base Margin]' type='None' />\n
<agg-t
ype column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Product Category]' type
='None' />\n
<agg-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[P
roduct Container]' type='None' />\n
<agg-type column='[excel-direct.0s0w8bc1s
omq6z110noi81jfj70l].[Product Name]' type='None' />\n
<agg-type column='[exce
l-direct.0s0w8bc1somq6z110noi81jfj70l].[Product Sub-Category]' type='None' />\n
<agg-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Profit]' type=
'None' />\n
<agg-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Pr
ovince]' type='None' />\n
<agg-type column='[excel-direct.0s0w8bc1somq6z110no
i81jfj70l].[Region]' type='None' />\n
<agg-type column='[excel-direct.0s0w8bc
1somq6z110noi81jfj70l].[Row ID]' type='None' />\n
<agg-type column='[excel-di
rect.0s0w8bc1somq6z110noi81jfj70l].[Sales]' type='None' />\n
<agg-type column
='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Ship Date]' type='None' />\n
<
agg-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Ship Mode]' type='
None' />\n
<agg-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Shi
pping Cost]' type='None' />\n
<agg-type column='[excel-direct.0s0w8bc1somq6z1
10noi81jfj70l].[Unit Price]' type='None' />\n </agg-types>\n <data-types>\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Customer Name]'

type='string' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jf
j70l].[Customer Segment]' type='string' />\n
<data-type column='[excel-direct
.0s0w8bc1somq6z110noi81jfj70l].[Discount]' type='real' />\n
<data-type column
='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Number of Records]' type='integer
' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order
Date]' type='date' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi
81jfj70l].[Order ID]' type='integer' />\n
<data-type column='[excel-direct.0s
0w8bc1somq6z110noi81jfj70l].[Order Priority]' type='string' />\n
<data-type c
olumn='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order Quantity]' type='integ
er' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Prod
uct Base Margin]' type='real' />\n
<data-type column='[excel-direct.0s0w8bc1s
omq6z110noi81jfj70l].[Product Category]' type='string' />\n
<data-type column
='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Product Container]' type='string'
/>\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Product
Name]' type='string' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110
noi81jfj70l].[Product Sub-Category]' type='string' />\n
<data-type column='[e
xcel-direct.0s0w8bc1somq6z110noi81jfj70l].[Profit]' type='real' />\n
<data-ty
pe column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Province]' type='string'
/>\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Region]
' type='string' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81j
fj70l].[Row ID]' type='integer' />\n
<data-type column='[excel-direct.0s0w8bc
1somq6z110noi81jfj70l].[Sales]' type='real' />\n
<data-type column='[excel-di
rect.0s0w8bc1somq6z110noi81jfj70l].[Ship Date]' type='date' />\n
<data-type c
olumn='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Ship Mode]' type='string' />
\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Shipping C
ost]' type='real' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi8
1jfj70l].[Unit Price]' type='real' />\n </data-types>\n <current-user displayname='' name='' short-domain-qualified-name='' type='user' />\n</aq-cache-key>\n
","column-count":"22","key-hash":"2921297804","key-size-b":"42958","query-kind":
"abstract","query-latency-ms":"1439","row-count":"1000","value-size-b":"652602"}
}
{"ts":"2016-09-29T16:41:55.864","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AQTV3Z","elapsed-ms":"0","key-hash":"868835135","key-size-b":"7
8","outcome":"miss"}}
{"ts":"2016-09-29T16:41:55.870","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-compress-data","v":{"compressed-size-b":"115234","elapsed-ms":"7","outcome":"do
ne","uncompressed-size-b":"586568"}}
{"ts":"2016-09-29T16:41:55.871","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"class":"excel-direct","column-count":"22","elapsed-ms":"10","key-ha
sh":"1211130078","key-size-b":"946","outcome":"try-store","query-kind":"native",
"query-latency-ms":"28","row-count":"1000","value-size-b":"652602"}}
{"ts":"2016-09-29T16:41:55.874","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-compress-data","v":{"compressed-size-b":"117488","elapsed-ms":"7","outcome":"do
ne","uncompressed-size-b":"631652"}}
{"ts":"2016-09-29T16:41:56.374","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"class":"excel-direct","column-count":"22","elapsed-ms":"509","key-h
ash":"2921297804","key-size-b":"42958","outcome":"try-store","query-kind":"abstr
act","query-latency-ms":"1439","row-count":"1000","value-size-b":"652602"}}
{"ts":"2016-09-29T16:41:56.374","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AbstractQueryHistoryV2Z","elapsed-ms":"0","key-hash":"386894654
7","key-size-b":"124","outcome":"miss"}}
{"ts":"2016-09-29T16:41:57.972","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}

{"ts":"2016-09-29T16:41:57.972","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using Qt"}
{"ts":"2016-09-29T16:41:57.981","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:41:58.029","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:41:58.451","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AQTV3Z","elapsed-ms":"200","key-hash":"868835135","key-size-b"
:"78","load-time-ms":"250","lower-bound-ms":"20","outcome":"fail","problem":"tim
eout","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:58.648","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AQRV3Z","elapsed-ms":"200","key-hash":"3135084273","key-size-b
":"112","load-time-ms":"250","lower-bound-ms":"20","outcome":"fail","problem":"t
imeout","value-size-b":"117488"}}
{"ts":"2016-09-29T16:41:59.078","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"NQTV1Z","elapsed-ms":"200","key-hash":"3289325806","key-size-b
":"80","load-time-ms":"28","lower-bound-ms":"20","outcome":"fail","problem":"tim
eout","value-size-b":"9"}}
{"ts":"2016-09-29T16:41:59.098","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"NQRV1Z","elapsed-ms":"200","key-hash":"3864124150","key-size-b
":"114","load-time-ms":"28","lower-bound-ms":"20","outcome":"fail","problem":"ti
meout","value-size-b":"115234"}}
{"ts":"2016-09-29T16:42:00.037","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: invoking the context menu."}
{"ts":"2016-09-29T16:42:03.493","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: context menu event loop returned."}
{"ts":"2016-09-29T16:42:03.549","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:create-calculation-ui use-selector=\"false\"","name"
:"tabui:create-calculation-ui"}}
{"ts":"2016-09-29T16:42:03.549","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:create-calc datasource=\"excel-direct.0s0w8bc1somq6
z110noi81jfj70l\"","name":"tabdoc:create-calc"}}
{"ts":"2016-09-29T16:42:03.552","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:create-calc datasource=\"excel-direct.0s0w8bc1somq
6z110noi81jfj70l\"","name":"tabdoc:create-calc"}}
{"ts":"2016-09-29T16:42:03.588","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:create-calculation-ui use-selector=\"false\"","name
":"tabui:create-calculation-ui"}}
{"ts":"2016-09-29T16:42:33.804","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED [Cu
stomer Name]:MIN([Order Date])}\" calculation={\"datasource\": \"excel-direct.0s
0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \"Calculation1\",\"pending
-calc-name\": \"Calculation_5489888009455513600\",\"scope-isolation\": true,\"ca
lculation-formula\": \"\",\"fn\": \"\",\"fn-source\": \"\",\"calculation-depende
ncies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-role\": \"
dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\": 0,\"style

-token-list\":[],\"error-string\": \"\",\"error-info-list\":[],\"expression-func
-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func-sig\": \"ABS(number)\
",\"func-tooltip\": \"Returns the absolute value of a number\",\"help-contents\"
: \"Returns the absolute value of the given number. \\n\\nExample: ABS(-7) = 7\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-tooltip\": \"Returns t
he arc cosine of a number\",\"help-contents\": \"Returns the arc cosine of a num
ber. The result is in radians. \\n\\nExample: ACOS(-1) = 3.14159265358979\",\"f
unc-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n
ame\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN <then> END\",\"func-t
ooltip\": \"Performs a logical conjunction on two expressions\",\"help-contents\
": \"Performs a logical conjunction on two expressions\",\"func-grps\":[\"logic\
"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ASCII\",\"func-si
g\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASCII code for the first
character in a string\",\"help-contents\": \"Returns the ASCII code value of the
first character in a string. \\n\\nExample: ASCII(\\\"authors\\\") = 97\",\"fun
c-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name
\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\": \"Returns the arc
sine of a number\",\"help-contents\": \"Returns the arc sine of a number. The r
esult is in radians. \\n\\nExample: ASIN(1) = 1.5707963267949\",\"func-grps\":[\
"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ATAN
\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Returns the arc tangent of
a number\",\"help-contents\": \"Returns the arc tangent of a number. The resul
t is in radians. \\n\\nExample: ATAN(180) = 1.5652408283942\",\"func-grps\":[\"
num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ATAN2
\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tooltip\": \"Returns the a
rc tangent of two numbers\",\"help-contents\": \"Returns the arc tangent of two
given numbers (x and y). The result is in radians. \\n\\nExample: ATAN2(2, 1) =
1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\
"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig\": \"ATTR(expression)
\",\"func-tooltip\": \"Returns the value of the expression if it has one value f
or all rows\",\"help-contents\": \"Returns the value of the given expression if
it only has a single value for all rows in the group, otherwise it displays an a
sterisk (*). Null values are ignored.\\n\\nExample: ATTR([Market])\",\"func-grps
\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\"
: \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip\": \"Returns the aver
age of the values in the expression\",\"help-contents\": \"Returns the average o
f all the values in the expression. AVG can be used with numeric fields only. Nu
ll values are ignored.\\n\\nExample: AVG([Profit])\",\"func-grps\":[\"agg\"],\"f
unc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CASE\",\"func-s
ig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"functooltip\": \"Performs logical tests and returns the appropriate value\",\"help-c
ontents\": \"Finds the first <value> that matches <expr> and returns the corresp
onding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WH
EN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"func-sig\": \"CEILING(nu
mber)\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or g
reater value\",\"help-contents\": \"Rounds a number to the nearest integer of eq
ual or greater value. \\n\\nExample: CEILING(3.1415) = 4\",\"func-grps\":[\"num\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CHAR\",\"
func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts an integer ASCII code
into a character\",\"help-contents\": \"Converts the given integer ASCII code i
nto a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-grps\":[\"str\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CONTAINS\",\"func-s
ig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"Returns true if a stri
ng contains the specified substring\",\"help-contents\": \"Returns true if the s
tring contains the substring. \\n\\nExample: CONTAINS(\\\"Calculation\\\", \\\"a
lcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],
\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\": \"COS(angle)\",\"functooltip\": \"Returns the cosine of an angle specified in radians\",\"help-conten

ts\": \"Returns the cosine of an angle. Specify the angle in radians.\\n\\nExamp


le: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"func-sig\": \"COT(angl
e)\",\"func-tooltip\": \"Returns the cotangent of an angle specified in radians\
",\"help-contents\": \"Returns the cotangent of an angle. Specify the angle in r
adians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"num\"],\"func-arg-types
\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\",\"func-sig\": \"COUN
T(expression)\",\"func-tooltip\": \"Returns the number of items in the expressio
n\",\"help-contents\": \"Returns the number of items in a group. NULL values are
not counted.\\n\\nExample: COUNT([Customer ID])\",\"func-grps\":[\"agg\"],\"fun
c-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"COUNTD\",\"fun
c-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Returns the number of distin
ct items in the expression\",\"help-contents\": \"Returns the number of distinct
items in a group. NULL values are not counted. Each unique value is counted on
ly once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"agg\"],\"func-arg-typ
es\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"DATE\",\"func-sig\": \"
DATE(expression)\",\"func-tooltip\": \"Returns a date from a number\",\"help-con
tents\": \"Returns a date given a number, string, or date expression. \\n\\nExa
mple: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote that the quotation mar
ks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\"],\"has-v
ar-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"DATEADD(date_part, inte
rval, date)\",\"func-tooltip\": \"Returns the specified date incremented by the
specified amount\",\"help-contents\": \"Adds an increment to the specified date
and returns the new date. The increment is defined by the interval and the date_
part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM\
",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"integer\",\"datetime
\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"func-sig\": \"DATEDIFF(da
te_part, start_date, end_date, [start_of_week])\",\"func-tooltip\": \"Returns th
e difference between two dates\",\"help-contents\": \"Returns the difference bet
ween two dates where start_date is subtracted from end_date. The difference is e
xpressed in units of date_part. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DAT
EDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\",\"func-grps\":[\"dat
e\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetime\",\"locstr\"],\"hasvar-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \"DATENAME(date_part, d
ate, [start_of_week])\",\"func-tooltip\": \"Returns a part of the specified date
as a string\",\"help-contents\": \"Returns a part of the given date as a string
, where the part is defined by date_part. If start_of_week is omitted, the week
start day is determined by the start day configured for the data source.\\n\\nEx
ample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"func-grps\":[\"date\"
],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": fals
e},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(format, string)\",\"func-t
ooltip\": \"Converts a string to a date\",\"help-contents\": \"Converts a string
to a date in the specified format. \\n\\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\\
\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"func-grps\":[\"date\"],\
"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": false},{\"name\": \"DAT
EPART\",\"func-sig\": \"DATEPART(date_part, date, [start_of_week])\",\"func-tool
tip\": \"Returns the specified part of a date as an integer\",\"help-contents\":
\"Returns a part of the given date as an integer where the part is defined by d
ate_part. If start_of_week is omitted, the week start day is determined by the s
tart day configured for the data source.\\n\\nExample: DATEPART('month', #2004-0
4-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\
",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETIME\",\"func-sig\": \"D
ATETIME(expression)\",\"func-tooltip\": \"Returns a datetime from a number\",\"h
elp-contents\": \"Returns a datetime given a number, string, or date expression.
\\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\") \\nNote that the quo
tation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"func-sig\": \"DATETRUNC(d
ate_part, date, [start_of_week])\",\"func-tooltip\": \"Truncates the specified d
ate to the specified accuracy\",\"help-contents\": \"Truncates the specified dat

e to the accuracy specified by the date_part and returns the new date. If start_
of_week is omitted, the week start day is determined by the start day configured
for the data source.\\n\\nExample: DATETRUNC('quarter', #2004-08-15#) = 2004-07
-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"date
time\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DAY\",\"func-sig\": \"D
AY(date)\",\"func-tooltip\": \"Returns the day part of the specified date as an
integer\",\"help-contents\": \"Returns the day of the given date as an integer.
\\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"date\"],\"func-arg-typ
es\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"DEGREES\",\"func-sig\"
: \"DEGREES(number)\",\"func-tooltip\": \"Converts a value in radians to degrees
\",\"help-contents\": \"Converts a number in radians to degrees.\\n\\nExample: D
EGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"DIV(integer, integer)\
",\"func-tooltip\": \"Returns the integer part of a division operation\",\"helpcontents\": \"Returns the integer part of a division.\\n\\nExample: DIV(11, 2) =
5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer\",\"integer\"],\"hasvar-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <expr> THEN <then> [EL
SEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs
a logical test and returns an appropriate value\",\"help-contents\": \"Tests a s
eries of expressions returning the <then> value for the first true <expr>. \\n\\
nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven'
ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-arg
s\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF
<expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a log
ical test and returns an appropriate value\",\"help-contents\": \"Tests a series
of expressions returning the <then> value for the first true <expr>. \\n\\nExam
ple: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE
'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2>
THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical tes
t and returns an appropriate value\",\"help-contents\": \"Tests a series of expr
essions returning the <then> value for the first true <expr>. \\n\\nExample: IF
[Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss'
END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{
\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, substring)\",\"func-tool
tip\": \"Returns true if the specified string ends with the specified substring\
",\"help-contents\": \"Returns true if the string ends with the substring (trail
ing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Calculation\\\", \\\"ion
\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"h
as-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\": \"{ EXCLUDE [dim1[, d
im2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate ex
cluding the specified dimensions if present in the view.\",\"help-contents\": \"
Computes an aggregate excluding the specified dimensions if present in the view.
\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"nam
e\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\": \"Returns e raised
to the power of a number\",\"help-contents\": \"Returns e raised to the power of
the given number. \\n\\nExample: EXP(5) = e^5\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FIND\",\"func-sig\
": \"FIND(string, substring, [start])\",\"func-tooltip\": \"Returns the position
of a substring within a string\",\"help-contents\": \"Returns the position of a
substring within a string, or 0 if the substring isn't found. If the start argu
ment is defined, any instances of substring that appear before the start positio
n are ignored. The first character in the string is position 1. \\n\\nExample: F
IND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FINDNTH
\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\",\"func-tooltip\": \"
Returns the position of the nth occurrence a substring within a string\",\"helpcontents\": \"Returns the position of the nth occurrence of a substring within a
string, or 0 if that occurrence of the substring isn't found. The first charact
er in the string is position 1. \\n\\nExample: FINDNTH(\\\"Calculation\\\", \\\"

a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"re
al\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func-sig\": \"FIRST()\",\"
func-tooltip\": \"Returns the number of rows from to the first row in the partit
ion\",\"help-contents\": \"Returns the number of rows from the current row to th
e first row in the partition.\\n\\nExample (current row index is 3 of 7):\\nFIRS
T( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": fa
lse},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[, dim2]...] : aggregateexpression }\",\"func-tooltip\": \"Computes an aggregate using only the specifie
d dimensions.\",\"help-contents\": \"Computes an aggregate using only the specif
ied dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\"
: false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expression)\",\"func-tooltip
\": \"Returns a float from an expression\",\"help-contents\": \"Returns a float
given an expression of any type. This function requires unformatted numbers whic
h means exclude commas and other symbols. \\n\\nExample: FLOAT(\\\"3\\\")= 3.00
0\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\":
false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\",\"func-tooltip\": \"
Rounds a number to the nearest integer of equal or lesser value\",\"help-content
s\": \"Rounds a number to the nearest integer of equal or lesser value. \\n\\nEx
ample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-sig\": \"FULLNAME()\",\
"func-tooltip\": \"Returns the full name for the current user\",\"help-contents\
": \"Returns the full name for the current user. This is the Tableau Server or T
ableau Online full name when the user is signed in; otherwise it is the local or
network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"HEXBINX\",\"func-sig\":
\"HEXBINX(number, number)\",\"func-tooltip\": \"Returns the x-coordinate of the
nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate to the xcoordinate of the nearest hexagonal bin. The bins have side length 1, so the inp
uts may need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"func-arg-ty
pes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"HEXBINY\",\"func
-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Returns the y-coordinate
of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate t
o the y-coordinate of the nearest hexagonal bin. The bins have side length 1, so
the inputs may need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"fun
c-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"IF\",\"f
unc-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else
>] END\",\"func-tooltip\": \"Performs a logical test and returns an appropriate
value\",\"help-contents\": \"Tests a series of expressions returning the <then>
value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable
' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\
"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IFNULL\",\"func-s
ig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns expression1 if not nu
ll\",\"help-contents\": \"Returns <expr1> if it is not null, otherwise returns <
expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\":[\"logic\"],\"func-a
rg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"IIF\"
,\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func-tooltip\": \"Evaluate
s a Boolean expression and returns one of two values\",\"help-contents\": \"Chec
ks whether a condition is met, and returns one value if TRUE, another value if F
ALSE, and an optional third value or NULL if unknown. \\n\\nExample: IIF([Profit
] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boole
an\",\"real\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"INCLUDE\"
,\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-t
ooltip\": \"Computes an aggregate using the specified dimensions and the view di
mensions.\",\"help-contents\": \"Computes an aggregate using the specified dimen
sions and the view dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\
"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\": \"INDEX()\",\"func-to
oltip\": \"Returns the index of the current row in the partition\",\"help-conten
ts\": \"Returns the index of the current row in the partition.\\n\\nExample (for
the first row in the partition): INDEX( ) = 1\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT\",\"func-sig\": \"INT

(expression)\",\"func-tooltip\": \"Evaluates an expression and returns an intege


r\",\"help-contents\": \"Returns an integer given an expression. This function t
runcates results to the closest integer toward zero. \\n\\nExample: INT(8.0/3.0)
= 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\
"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-sig\": \"ISDATE(string)
\",\"func-tooltip\": \"Returns true if the string is a valid date\",\"help-conte
nts\": \"Returns true if a given string is a valid date. \\n\\nExample: ISDATE(
\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date\",\"logic\"],\"func-a
rg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"ISFULLNAME\",\"func-s
ig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns true if the current use
r's full name matches the specified name\",\"help-contents\": \"Returns true if
the current user's full name matches the specified full name, or false if it doe
s not match. This function uses the Tableau Server or Tableau Online full name w
hen the user is signed in; otherwise it uses the local or network full name for
the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locst
r\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"func-sig\": \"ISMEMBER
OF(string)\",\"func-tooltip\": \"Returns true if the current user is a member of
the specified group\",\"help-contents\": \"Returns true if the current user is
a member of the given group, false otherwise. This uses the Tableau Server to r
esolve group membership if logged on, otherwise it always returns false.\",\"fun
c-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"
name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"func-tooltip\": \"Retu
rns true if the specified expression is null\",\"help-contents\": \"Returns true
if the expression does not contain valid data (Null).\\n\\nExample: ISNULL([Pro
fit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\"],\"has-var-arg
s\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUSERNAME(string)\",\"fun
c-tooltip\": \"Returns true if the current user's name matches the specified use
r name\",\"help-contents\": \"Returns true if the current user's username matche
s the specified username, or false if it does not match. This function uses the
Tableau Server or Tableau Online username when the user is signed in; otherwise
it uses the local or network username for the Tableau Desktop user.\",\"func-grp
s\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\
": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"Returns the number of r
ows to the last row in the partition\",\"help-contents\": \"Returns the number o
f rows from the current row to the last row in the partition.\\n\\nExample (curr
ent row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[\"table\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"func-sig\": \"LEFT(str
ing, num_chars)\",\"func-tooltip\": \"Returns the specified number of characters
from the start of a string\",\"help-contents\": \"Returns the specified number
of characters from the start of the given string. \\n\\nExample: LEFT(\\\"Calcu
lation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"st
r\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",\"func-sig\": \"LEN(st
ring)\",\"func-tooltip\": \"Returns the number of characters in a string\",\"hel
p-contents\": \"Returns the number of characters in the given string. \\n\\nExam
ple: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\"],\"func-arg-types\":
[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"func-sig\": \"LN(number)\
",\"func-tooltip\": \"Returns the natural logarithm of a number\",\"help-content
s\": \"Returns the natural logarithm of the given number. Returns Null if the nu
mber is less than or equal to 0.\\n\\nExample: LN(EXP(5)) = 5\",\"func-grps\":[\
"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"LOG\
",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\": \"Returns the logarith
m of a number for the given base\",\"help-contents\": \"Returns the logarithm of
a number for the given base. If the base value is omitted, base 10 is used.\\n\
\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"func-grps\":[\"num\"],
\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"LOO
KUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"func-tooltip\": \"Returns
the value of the expression in a row offset from current row\",\"help-contents\
": \"Returns the value of the given expression in a target row, specified as a r
elative offset from the current row. Use FIRST()+n and LAST()-n for a target rel
ative to the first/last rows in the partition. If offset is omitted, the Compare

To row may be set on the field menu. Returns NULL if the target row cannot be d
etermined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) + 2) = SUM(Profit) in t
he third row of the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"LOWER\",\"func-sig\
": \"LOWER(string)\",\"func-tooltip\": \"Returns a string in all lowercase chara
cters\",\"help-contents\": \"Converts a text string to all lowercase letters. \\
n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"func-grps\":[\"str\"],
\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LTRIM\",\"fun
c-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a string with leading spa
ces removed\",\"help-contents\": \"Returns the string with any leading spaces re
moved. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\"\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"MAKEDAT
E\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-tooltip\": \"Returns a d
ate value constructed from a year, a month and a day of the month.\",\"help-cont
ents\": \"Returns a date value constructed from a year, a month and a day of the
month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-grps\":[\"cast\"],\"fun
c-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"
name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date, time)\",\"func-toolt
ip\": \"Returns a datetime by combining a date and a time\",\"help-contents\": \
"Returns a date and time value given a date expression and a time expression. \
\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"func-grps\":[\"cast\"],
\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\": false},{\"name\": \
"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)\",\"func-tooltip\": \
"Returns a time value constructed from hours, minutes and seconds.\",\"help-cont
ents\": \"Returns a time value constructed from hours, minutes and seconds. \\n
\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast\"],\"func-arg-types\"
:[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"MAX
\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",\"func-tooltip\": \"Re
turns the maximum of an expression\",\"help-contents\": \"Returns the maximum of
a single expression across all records or the maximum of two expressions for ea
ch record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\"num\",\"str\",\"date\
",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": fa
lse},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expression)\",\"func-tooltip\"
: \"Returns the median of an expression\",\"help-contents\": \"Returns the media
n of a single expression. MEDIAN can be used with numeric fields only. Null valu
es are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-grps\":[\"agg\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"MID\",\"func-sig\":
\"MID(string,start,[length])\",\"func-tooltip\": \"Returns the characters from
the middle of a text string\",\"help-contents\": \"Returns the characters from t
he middle of a text string given a starting position and a length. The first cha
racter in the string is position 1. If the length is not included, all character
s to the end of the string are returned. If the length is included, up to that m
any characters are returned. \\n\\nExample: MID(\\\"Tableau Software\\\",9) = \\
\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\",2,4) = \\\"able\\\"\"
,\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\",\"real\"],\"has-va
r-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(expression) or MIN(expr1
, expr2)\",\"func-tooltip\": \"Returns the minimum of an expression\",\"help-con
tents\": \"Returns the minimum of an expression across all records or the minimu
m of two expressions for each record. \\n\\nExample: MIN([Profit])\",\"func-grp
s\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"
real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"func-sig\": \"MONTH(date
)\",\"func-tooltip\": \"Returns the month part of the specified date as an integ
er\",\"help-contents\": \"Returns the month of a given date as an integer. \\n\
\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\"
:[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\",\"func-sig\": \"IF N
OT <expr> THEN <then> END\",\"func-tooltip\": \"Performs logical negation on an
expression\",\"help-contents\": \"Performs logical negation on an expression\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Returns the current date
and time\",\"help-contents\": \"Returns the current date and time. \\n\\nExampl

e: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"],\"func-arg-types\":[


],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\": \"IF <expr1> OR <expr
2> THEN <then> END\",\"func-tooltip\": \"Performs a logical disjunction on two e
xpressions\",\"help-contents\": \"Performs a logical disjunction on two expressi
ons\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{
\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expression, number)\",\"func
-tooltip\": \"Returns the percentile value at the specified number\",\"help-cont
ents\": \"Aggregate calculation that returns the percentile value from the given
expression corresponding to the specified number. Valid values for the number a
re 0 through 1. PERCENTILE([expression], 0.50) will always return the median val
ue in the expression.\\n\\nExample: PERCENTILE([Sales], 0.90)\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-var-args\": false},{\"na
me\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Returns the numeric cons
tant pi\",\"help-contents\": \"Returns the numeric constant pi.\\n\\nExample: PI
() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(number,power)\",\"func
-tooltip\": \"Raises the number to the specified power\",\"help-contents\": \"Re
turns the result of a number raised to the given power. \\n\\nExample: POWER(5,2
) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"
has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"func-sig\": \"PREVIOUS_VA
LUE(expression)\",\"func-tooltip\": \"Returns the value of this calculation in t
he previous row\",\"help-contents\": \"Returns the value of this calculation in
the previous row. Returns the given expression if the current row is the first r
ow of the partition.\\n\\nExample: SUM([Profit]) + PREVIOUS_VALUE(0) = running s
um of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(1) = running product o
f SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has
-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \"RADIANS(number)\",\"f
unc-tooltip\": \"Converts a number in degrees to radians\",\"help-contents\": \"
Converts a number in degrees to radians.\",\"func-grps\":[\"num\"],\"func-arg-ty
pes\":[\"real\"],\"has-var-args\": false},{\"name\": \"RANK\",\"func-sig\": \"RA
NK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the competition ran
k for the current partition row\",\"help-contents\": \"Returns the standard comp
etition rank for the current row in the partition. Identical values are assigned
an identical rank. Use the optional 'asc' | 'desc' argument to specify ascendin
g or descending order. The default order is descending.\\n\\nWith this function,
the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 4) in ascending order
.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_DENSE\"
,\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Re
turns the dense rank for the current partition row\",\"help-contents\": \"Return
s the dense rank for the current row in the partition. Identical values are assi
gned an identical rank, but no gaps are inserted into the number sequence. Use t
he optional 'asc' | 'desc' argument to specify ascending or descending order. Th
e default order is descending.\\n\\nWith this function, the set of values (6, 9,
9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\n\\nExample: RANK_DENS
E(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"lo
cstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIED\",\"func-sig\": \"RA
NK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the modifi
ed competition rank for the current partition row\",\"help-contents\": \"Returns
the modified competition rank for the current row in the partition. Identical v
alues are assigned an identical rank. Use the optional 'asc' | 'desc' argument t
o specify ascending or descending order. The default order is descending.\\n\\nW
ith this function, the set of values (6, 9, 9, 14) would be ranked (1, 3, 3, 4)
in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velocity]))\",\"func-grps\"
:[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false
},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERCENTILE(expression, ['a
sc'|'desc'])\",\"func-tooltip\": \"Returns the percentile rank for the current p
artition row\",\"help-contents\": \"Returns the percentile rank for the current
row in the partition. Use the optional 'asc' | 'desc' argument to specify ascend
ing or descending order. The default order is ascending.\\n\\nWith this function

, the set of values (6, 9, 9, 14) would be ranked (25, 75, 75, 100) in ascending
order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"nam
e\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expression, ['asc'|'desc'])\",\
"func-tooltip\": \"Returns the unique rank for the current partition row\",\"hel
p-contents\": \"Returns the unique rank for the current row in the partition. Id
entical values are assigned different ranks. Use the optional 'asc' | 'desc' arg
ument to specify ascending or descending order. The default order is descending.
\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2,
3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1 for the first row in
the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locs
tr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT\",\"func-sig\": \"REG
EXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns the portion of a stri
ng matching the capturing group in a regular expression\",\"help-contents\": \"R
eturns a substring of the given string that matches the capturing group within t
he regular expression pattern. The regular expression pattern requires exactly
one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 123', '[a-z]+\\\\s+(\\\\
d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"h
as-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"func-sig\": \"REGEXP_E
XTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"Returns a substring of
a string using a regular expression pattern\",\"help-contents\": \"Returns a sub
string of the given string using the regular expression pattern. The substring
is matched to the nth capturing group, where n is the given index. \\n\\nExample
: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)', 2) = '123'\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locint\"],\"has-var-args\":
false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP_MATCH(string, pattern
)\",\"func-tooltip\": \"Returns true if a string matches a regular expression\",
\"help-contents\": \"Returns true if a substring of the provided string matches
the regular expression pattern. \\n\\nExample: REGEXP_MATCH('-([1234].[ The.Mark
et ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') = true\",\"func-grps\":[
\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\"
: \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string, pattern, replacement
)\",\"func-tooltip\": \"Returns a string where substrings matching a regular exp
ression are replaced\",\"help-contents\": \"Returns a copy of the given string w
here the matching pattern is substituted with the replacement string. \\n\\nExam
ple: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"na
me\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substring, replacement)\",\"fu
nc-tooltip\": \"Replaces all instances of a substring within a string\",\"help-c
ontents\": \"Returns a string in which every occurrence of the substring is repl
aced with the replacement string. If the substring is not found, the string is u
nchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"ion\\\", \\\"ed\\\") =
\\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\
",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\"func-sig\": \"RIGHT(s
tring, num_chars)\",\"func-tooltip\": \"Returns the specified number of characte
rs from the end of a string\",\"help-contents\": \"Returns the specified number
of characters from the end of the given string. \\n\\nExample: RIGHT(\\\"Calcul
ation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str
\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\",\"func-sig\": \"ROUND
(number, [decimals])\",\"func-tooltip\": \"Rounds a number to the specified numb
er of places\",\"help-contents\": \"Rounds a number to the nearest integer or to
a specified number of decimal places. \\n\\nExample: ROUND(3.1415, 1) = 3.1\",\
"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\":
false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\",\"func-tooltip\": \"
Returns a string with trailing spaces removed\",\"help-contents\": \"Returns the
string with any trailing spaces removed. \\n\\nExample: RTRIM(\\\"Market \\\")
= \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-v
ar-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\": \"RUNNING_AVG(express
ion)\",\"func-tooltip\": \"Returns the running average of an expression\",\"help
-contents\": \"Returns the running average of the given expression, from the fir

st row in the partition to the current row.\\n\\nExample: RUNNING_AVG(SUM([Profi


t])) = running average of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING_COUNT\",\"func-sig
\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Returns the running count
of an expression\",\"help-contents\": \"Returns the running count of the given e
xpression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profit)\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUN
NING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"func-tooltip\": \"Returns
the running maximum of an expression\",\"help-contents\": \"Returns the running
maximum of the given expression, from the first row in the partition to the cur
rent row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = running maximum of Profit\\
n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum of SUM(Profit)\",\"fun
c-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{
\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expression)\",\"func-toolt
ip\": \"Returns the running minimum of an expression\",\"help-contents\": \"Retu
rns the running minimum of the given expression, from the first row in the parti
tion to the current row.\\n\\nExample: RUNNING_MIN(MIN([Profit])) = running mini
mum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = running minimum of SUM(
Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"RUNNING_SUM(expression)
\",\"func-tooltip\": \"Returns the running sum of an expression\",\"help-content
s\": \"Returns the running sum of the given expression, from the first row in th
e partition to the current row.\\n\\nExample: RUNNING_SUM(SUM([Profit])) = runni
ng sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])) = running count of P
rofit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-arg
s\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCRIPT_BOOL(string, expre
ssion, ...)\",\"func-tooltip\": \"Returns a Boolean result from an R expression\
",\"help-contents\": \"Returns a Boolean result from a given R expression. The R
expression is passed directly to a running Rserve instance. Use .arg# in the R
expression to reference parameters. In the following example, .arg1 is equal to
SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.arg1)\\\", SUM([Profit]
))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": tr
ue},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(string, expression, ...
)\",\"func-tooltip\": \"Returns an integer result from an R expression\",\"helpcontents\": \"Returns an integer result from a given R expression. The R express
ion is passed directly to a running Rserve instance. Use .arg# in the R expressi
on to reference parameters. In the following example, .arg1 is equal to SUM([Pro
fit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)\\\", SUM([Profit]))\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},
{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(string, expression, ...)\
",\"func-tooltip\": \"Returns a numeric result from an R expression\",\"help-con
tents\": \"Returns a numeric result from a given R expression. The R expression
is passed directly to a running Rserve instance. Use .arg# in the R expression t
o reference parameters. In the following example, .arg1 is equal to SUM([Profit]
). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Profit]))\",\"func-grps\
":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"
SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression, ...)\",\"func-toolti
p\": \"Returns a string result from an R expression\",\"help-contents\": \"Retur
ns a string result from a given R expression. The R expression is passed directl
y to a running Rserve instance. Use .arg# in the R expression to reference param
eters. In the following example, .arg1 is equal to ATTR([Region]). \\n\\nExample
: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\",\"func-grps\":[\"tab
le\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SIGN\",\
"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns 1 for a positive numbe
r\",\"help-contents\": \"Returns the sign of a number: 1 if the number is positi
ve, zero if the number is zero, or -1 if the number is negative.\\n\\nExample: S
IGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-varargs\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angle)\",\"func-tooltip\":
\"Returns the sine of a number\",\"help-contents\": \"Returns the sine of an an

gle. Specify the angle in radians.\\n\\nExample: SIN(PI()/4) = 0.707106781186548


\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tooltip\": \"Returns the n
umber of rows in the partition\",\"help-contents\": \"Returns the number of rows
in the partition.\\n\\nExample (partition has 5 rows):\\nSIZE( ) = 5\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"SP
ACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"Returns a string conta
ining the specified number of spaces\",\"help-contents\": \"Returns a string com
posed of the specified number of repeated spaces. \\n\\nExample: SPACE(2) = \\\"
\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string, delimiter, token numb
er)\",\"func-tooltip\": \"Extracts a substring from a string\",\"help-contents\"
: \"Returns a substring from a string, as determined by a delimiter extracting t
he characters from the beginning or end of the string. \\n\\nExample: SPLIT('a-b
-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-', -2) = 'c'\",\"func-grp
s\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"locint\"],\"has-var-args\
": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)\",\"func-tooltip\": \
"Returns the square root of a number\",\"help-contents\": \"Returns the square r
oot of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SQUARE\",\"func-sig\"
: \"SQUARE(number)\",\"func-tooltip\": \"Returns the square of a number\",\"help
-contents\": \"Returns the square of a given number. \\n\\nExample: SQUARE(5) =
25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(string, substring)\",\"
func-tooltip\": \"Returns true if the specified string starts with the specified
substring\",\"help-contents\": \"Returns true if the string starts with the sub
string. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\"Ca\\\") is true\",\"f
unc-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": fals
e},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\",\"func-tooltip\": \"
Returns the sample standard deviation for an expression\",\"help-contents\": \"R
eturns the sample standard deviation of the expression.\\n\\nExample: STDEV([Pro
fit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expression)\",\"func-tooltip
\": \"Returns the population standard deviation for an expression\",\"help-conte
nts\": \"Returns the population standard deviation of the expression.\\n\\nExamp
le: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"h
as-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"STR(expression)\",\"fun
c-tooltip\": \"Returns an expression as a string\",\"help-contents\": \"Returns
a string given an expression. \\n\\nExample: STR([Age]) returns all of the valu
es of the Age measure as strings.\",\"func-grps\":[\"cast\"],\"func-arg-types\":
[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",\"func-sig\": \"SUM(ex
pression)\",\"func-tooltip\": \"Returns the sum of values in an expression\",\"h
elp-contents\": \"Returns the sum of all the values in the expression. SUM can b
e used with numeric fields only. Null values are ignored.\\n\\nExample: SUM([Pro
fit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"func-tooltip\": \"Retur
ns the tangent of an angle specified in radians\",\"help-contents\": \"Returns t
he tangent of an angle. Specify the angle in radians.\\n\\nExample: TAN(PI()/4)
= 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2>
THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical te
st and returns an appropriate value\",\"help-contents\": \"Tests a series of exp
ressions returning the <then> value for the first true <expr>. \\n\\nExample: IF
[Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss'
END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},
{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tooltip\": \"Returns the c
urrent date\",\"help-contents\": \"Returns the current date. \\n\\nExample: TOD
AY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"has-var-arg
s\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(expression)\",\"func-tool
tip\": \"Returns the total for an expression within the partition\",\"help-conte

nts\": \"Returns the total for the given expression.\\n\\nExample: TOTAL(AVG([Pr


ofit])) = AVG(Profit) for all database rows that contribute to the partition\",\
"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": fals
e},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"func-tooltip\": \"Return
s a string with leading and trailing spaces removed\",\"help-contents\": \"Retur
ns the string with both leading and trailing spaces removed. \\n\\nExample: TRIM
(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",\"func-sig\": \"UPPER(
string)\",\"func-tooltip\": \"Returns a string in all uppercase characters\",\"h
elp-contents\": \"Converts a text string to all uppercase letters. \\n\\nExample
: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\"],\"has-var-args\": false},{\"name\": \"USERDOMAIN\",\"func-sig\
": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain for the current user\
",\"help-contents\": \"Returns the domain for the current user when the user is
signed on to Tableau Server. Returns the Windows domain if the Tableau Desktop u
ser is on a domain. Otherwise this function returns a null string.\",\"func-grps
\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"USERNA
ME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Returns the user name for
the current user\",\"help-contents\": \"Returns the username for the current use
r. This is the Tableau Server or Tableau Online username when the user is signed
in; otherwise it is the local or network username for the Tableau Desktop user.
\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"na
me\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-tooltip\": \"Returns the
sample variance for an expression\",\"help-contents\": \"Returns the sample vari
ance of the expression.\\n\\nExample: VAR([Profit])\",\"func-grps\":[\"agg\"],\"
func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"VARP\",\"funcsig\": \"VARP(expression)\",\"func-tooltip\": \"Returns the population variance
for an expression\",\"help-contents\": \"Returns the population variance of the
expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-ty
pes\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHEN\",\"func-sig\": \"CA
SE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"func-tooltip\":
\"Performs logical tests and returns the appropriate value\",\"help-contents\":
\"Finds the first <value> that matches <expr> and returns the corresponding <re
turn>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018I
I\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\": \"WINDOW_AVG(expres
sion, [start, end])\",\"func-tooltip\": \"Returns the average of the values with
in the window\",\"help-contents\": \"Returns the average of the expression withi
n the window. The window is defined as offsets from the current row. Use FIRST(
)+n and LAST()-n for offsets from the first or last row in the partition. If st
art and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_AVG(
SUM([Profit]), -2, 0) = average of SUM(Profit) from the two previous rows to the
current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\
",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_COUNT\",\"func-sig\"
: \"WINDOW_COUNT(expression, [start, end])\",\"func-tooltip\": \"Returns the num
ber of items within the window\",\"help-contents\": \"Returns the count of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Profit) from the two previ
ous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"re
al\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MAX\"
,\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"func-tooltip\": \"Retu
rns the maximum within the window\",\"help-contents\": \"Returns the maximum of
the expression within the window. The window is defined as offsets from the cur
rent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in t
he partition. If start and end are omitted, the entire partition is used.\\n\\n
Example: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Profit from the two previ
ous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([Profit]), -2, 0) = max
imum of SUM(Profit) from the two previous rows to the current row\",\"func-grps\

":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var
-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\": \"WINDOW_MEDIAN(expre
ssion, [start, end])\",\"func-tooltip\": \"Returns the median within the window\
",\"help-contents\": \"Returns the median of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST()n for offsets from the first or last row in the partition. If start and end are
omitted, the entire partition is used.\\n\\nExample: WINDOW_MEDIAN(SUM([Profit]
), -2, 0) = median of SUM(Profit) from the two previous rows to the current row\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"
],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"func-sig\": \"WINDOW_MIN(
expression, [start, end])\",\"func-tooltip\": \"Returns the minimum within the w
indow\",\"help-contents\": \"Returns the minimum of the expression within the wi
ndow. The window is defined as offsets from the current row. Use FIRST()+n and
LAST()-n for offsets from the first or last row in the partition. If start and
end are omitted, the entire partition is used.\\n\\nExample: WINDOW_MIN(MIN([Pro
fit]), -2, 0) = minimum of Profit from the two previous rows to the current row\
\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \
"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(expression, number, [star
t, end])\",\"func-tooltip\": \"Returns the percentile value at the specified num
ber\",\"help-contents\": \"Returns the value corresponding to the specified perc
entile within the window. The window is defined as offsets from the current row
. Use FIRST()+n and LAST()-n for offsets from the first or last row in the parti
tion. If start and end are omitted, the entire partition is used.\\n\\nExample:
WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th percentile of SUM(Profi
t) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"f
unc-arg-types\":[\"real\",\"locreal\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW_STDEV(expression, [st
art, end])\",\"func-tooltip\": \"Returns the sample standard deviation within th
e window\",\"help-contents\": \"Returns the sample standard deviation of the exp
ression within the window. The window is defined as offsets from the current ro
w. Use FIRST()+n and LAST()-n for offsets from the first or last row in the part
ition. If start and end are omitted, the entire partition is used.\\n\\nExample
: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two pre
vious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STD
EVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, end])\",\"func-tooltip\"
: \"Returns the population standard deviation within the window\",\"help-content
s\": \"Returns the population standard deviation of the expression within the wi
ndow. The window is defined as offsets from the current row. Use FIRST()+n and
LAST()-n for offsets from the first or last row in the partition. If start and
end are omitted, the entire partition is used.\\n\\nExample: WINDOW_STDEVP(SUM([
Profit]), -2, 0) = std. dev. of SUM(Profit) from the two previous rows to the cu
rrent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\
"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_SUM\",\"func-sig\": \"W
INDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"Returns the sum of val
ues within the window\",\"help-contents\": \"Returns the sum of the expression w
ithin the window. The window is defined as offsets from the current row. Use FI
RST()+n and LAST()-n for offsets from the first or last row in the partition. I
f start and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_
SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the two previous rows to the
current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integ
er\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_VAR\",\"func-sig\
": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip\": \"Returns the samp
le variance within the window\",\"help-contents\": \"Returns the sample variance
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\\
n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the

two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-typ


es\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WI
NDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start, end])\",\"func-toolt
ip\": \"Returns the population variance within the window\",\"help-contents\": \
"Returns the population variance of the expression within the window. The windo
w is defined as offsets from the current row. Use FIRST()+n and LAST()-n for off
sets from the first or last row in the partition. If start and end are omitted,
the entire partition is used.\\n\\nExample: WINDOW_VARP(SUM([Profit]), -2, 0) =
variance of SUM(Profit) from the two previous rows to the current row\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-v
ar-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR(date)\",\"func-toolti
p\": \"Returns the year of the specified date as an integer\",\"help-contents\":
\"Returns the year of a given date as an integer. \\n\\nExample: YEAR(#2004-04
-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"hasvar-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(expression)\",\"func-too
ltip\": \"Returns the expression if it is not null\",\"help-contents\": \"Return
s <expression> if it is not null, otherwise returns zero. \\n\\nExample: ZN([Pr
ofit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false}]},\"calculation-context\": \"calculation-dialog\",\"use-par
ameters\": true} position=\"41\"","name":"tabdoc:calculation-auto-complete"}}
{"ts":"2016-09-29T16:42:33.804","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED [C
ustomer Name]:MIN([Order Date])}\" calculation={\"datasource\": \"excel-direct.0
s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \"Calculation1\",\"pendin
g-calc-name\": \"Calculation_5489888009455513600\",\"scope-isolation\": true,\"c
alculation-formula\": \"\",\"fn\": \"\",\"fn-source\": \"\",\"calculation-depend
encies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-role\": \
"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\": 0,\"styl
e-token-list\":[],\"error-string\": \"\",\"error-info-list\":[],\"expression-fun
c-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func-sig\": \"ABS(number)
\",\"func-tooltip\": \"Returns the absolute value of a number\",\"help-contents\
": \"Returns the absolute value of the given number. \\n\\nExample: ABS(-7) = 7\
",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false}
,{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-tooltip\": \"Returns
the arc cosine of a number\",\"help-contents\": \"Returns the arc cosine of a nu
mber. The result is in radians. \\n\\nExample: ACOS(-1) = 3.14159265358979\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"
name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN <then> END\",\"functooltip\": \"Performs a logical conjunction on two expressions\",\"help-contents
\": \"Performs a logical conjunction on two expressions\",\"func-grps\":[\"logic
\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ASCII\",\"func-s
ig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASCII code for the first
character in a string\",\"help-contents\": \"Returns the ASCII code value of th
e first character in a string. \\n\\nExample: ASCII(\\\"authors\\\") = 97\",\"fu
nc-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"nam
e\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\": \"Returns the arc
sine of a number\",\"help-contents\": \"Returns the arc sine of a number. The
result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267949\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ATA
N\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Returns the arc tangent o
f a number\",\"help-contents\": \"Returns the arc tangent of a number. The resu
lt is in radians. \\n\\nExample: ATAN(180) = 1.5652408283942\",\"func-grps\":[\
"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ATAN
2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tooltip\": \"Returns the
arc tangent of two numbers\",\"help-contents\": \"Returns the arc tangent of two
given numbers (x and y). The result is in radians. \\n\\nExample: ATAN2(2, 1)
= 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real
\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig\": \"ATTR(expression
)\",\"func-tooltip\": \"Returns the value of the expression if it has one value

for all rows\",\"help-contents\": \"Returns the value of the given expression if


it only has a single value for all rows in the group, otherwise it displays an
asterisk (*). Null values are ignored.\\n\\nExample: ATTR([Market])\",\"func-grp
s\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\
": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip\": \"Returns the ave
rage of the values in the expression\",\"help-contents\": \"Returns the average
of all the values in the expression. AVG can be used with numeric fields only. N
ull values are ignored.\\n\\nExample: AVG([Profit])\",\"func-grps\":[\"agg\"],\"
func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CASE\",\"funcsig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"func
-tooltip\": \"Performs logical tests and returns the appropriate value\",\"helpcontents\": \"Finds the first <value> that matches <expr> and returns the corres
ponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 W
HEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-type
s\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"func-sig\": \"CEILING(n
umber)\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or
greater value\",\"help-contents\": \"Rounds a number to the nearest integer of e
qual or greater value. \\n\\nExample: CEILING(3.1415) = 4\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CHAR\",\
"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts an integer ASCII cod
e into a character\",\"help-contents\": \"Converts the given integer ASCII code
into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-grps\":[\"str\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CONTAINS\",\"funcsig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"Returns true if a str
ing contains the specified substring\",\"help-contents\": \"Returns true if the
string contains the substring. \\n\\nExample: CONTAINS(\\\"Calculation\\\", \\\"
alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"]
,\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\": \"COS(angle)\",\"func
-tooltip\": \"Returns the cosine of an angle specified in radians\",\"help-conte
nts\": \"Returns the cosine of an angle. Specify the angle in radians.\\n\\nExam
ple: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"func-sig\": \"COT(ang
le)\",\"func-tooltip\": \"Returns the cotangent of an angle specified in radians
\",\"help-contents\": \"Returns the cotangent of an angle. Specify the angle in
radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"num\"],\"func-arg-type
s\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\",\"func-sig\": \"COU
NT(expression)\",\"func-tooltip\": \"Returns the number of items in the expressi
on\",\"help-contents\": \"Returns the number of items in a group. NULL values ar
e not counted.\\n\\nExample: COUNT([Customer ID])\",\"func-grps\":[\"agg\"],\"fu
nc-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"COUNTD\",\"fu
nc-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Returns the number of disti
nct items in the expression\",\"help-contents\": \"Returns the number of distinc
t items in a group. NULL values are not counted. Each unique value is counted o
nly once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"agg\"],\"func-arg-ty
pes\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"DATE\",\"func-sig\": \
"DATE(expression)\",\"func-tooltip\": \"Returns a date from a number\",\"help-co
ntents\": \"Returns a date given a number, string, or date expression. \\n\\nEx
ample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote that the quotation ma
rks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\"],\"hasvar-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"DATEADD(date_part, int
erval, date)\",\"func-tooltip\": \"Returns the specified date incremented by the
specified amount\",\"help-contents\": \"Adds an increment to the specified date
and returns the new date. The increment is defined by the interval and the date
_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM
\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"integer\",\"datetim
e\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"func-sig\": \"DATEDIFF(d
ate_part, start_date, end_date, [start_of_week])\",\"func-tooltip\": \"Returns t
he difference between two dates\",\"help-contents\": \"Returns the difference be
tween two dates where start_date is subtracted from end_date. The difference is
expressed in units of date_part. If start_of_week is omitted, the week start day

is determined by the start day configured for the data source.\\n\\nExample: DA


TEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\",\"func-grps\":[\"da
te\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetime\",\"locstr\"],\"has
-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \"DATENAME(date_part,
date, [start_of_week])\",\"func-tooltip\": \"Returns a part of the specified dat
e as a string\",\"help-contents\": \"Returns a part of the given date as a strin
g, where the part is defined by date_part. If start_of_week is omitted, the week
start day is determined by the start day configured for the data source.\\n\\nE
xample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"func-grps\":[\"date\
"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": fal
se},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(format, string)\",\"functooltip\": \"Converts a string to a date\",\"help-contents\": \"Converts a strin
g to a date in the specified format. \\n\\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\
\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"func-grps\":[\"date\"],
\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": false},{\"name\": \"DA
TEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_of_week])\",\"func-too
ltip\": \"Returns the specified part of a date as an integer\",\"help-contents\"
: \"Returns a part of the given date as an integer where the part is defined by
date_part. If start_of_week is omitted, the week start day is determined by the
start day configured for the data source.\\n\\nExample: DATEPART('month', #200404-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime
\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETIME\",\"func-sig\": \"
DATETIME(expression)\",\"func-tooltip\": \"Returns a datetime from a number\",\"
help-contents\": \"Returns a datetime given a number, string, or date expression
. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\") \\nNote that the qu
otation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str
\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"func-sig\": \"DATETRUNC(
date_part, date, [start_of_week])\",\"func-tooltip\": \"Truncates the specified
date to the specified accuracy\",\"help-contents\": \"Truncates the specified da
te to the accuracy specified by the date_part and returns the new date. If start
_of_week is omitted, the week start day is determined by the start day configure
d for the data source.\\n\\nExample: DATETRUNC('quarter', #2004-08-15#) = 2004-0
7-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"dat
etime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DAY\",\"func-sig\": \"
DAY(date)\",\"func-tooltip\": \"Returns the day part of the specified date as an
integer\",\"help-contents\": \"Returns the day of the given date as an integer.
\\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"date\"],\"func-arg-ty
pes\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"DEGREES\",\"func-sig\
": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value in radians to degree
s\",\"help-contents\": \"Converts a number in radians to degrees.\\n\\nExample:
DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"DIV(integer, integer)
\",\"func-tooltip\": \"Returns the integer part of a division operation\",\"help
-contents\": \"Returns the integer part of a division.\\n\\nExample: DIV(11, 2)
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has
-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <expr> THEN <then> [E
LSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs
a logical test and returns an appropriate value\",\"help-contents\": \"Tests a
series of expressions returning the <then> value for the first true <expr>. \\n\
\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven
' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-ar
gs\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF
<expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a lo
gical test and returns an appropriate value\",\"help-contents\": \"Tests a serie
s of expressions returning the <then> value for the first true <expr>. \\n\\nExa
mple: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELS
E 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2>
THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical te
st and returns an appropriate value\",\"help-contents\": \"Tests a series of exp

ressions returning the <then> value for the first true <expr>. \\n\\nExample: IF
[Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss'
END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},
{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, substring)\",\"func-too
ltip\": \"Returns true if the specified string ends with the specified substring
\",\"help-contents\": \"Returns true if the string ends with the substring (trai
ling whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Calculation\\\", \\\"io
n\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"
has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\": \"{ EXCLUDE [dim1[,
dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate e
xcluding the specified dimensions if present in the view.\",\"help-contents\": \
"Computes an aggregate excluding the specified dimensions if present in the view
.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"na
me\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\": \"Returns e raised
to the power of a number\",\"help-contents\": \"Returns e raised to the power o
f the given number. \\n\\nExample: EXP(5) = e^5\",\"func-grps\":[\"num\"],\"fun
c-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FIND\",\"func-sig
\": \"FIND(string, substring, [start])\",\"func-tooltip\": \"Returns the positio
n of a substring within a string\",\"help-contents\": \"Returns the position of
a substring within a string, or 0 if the substring isn't found. If the start arg
ument is defined, any instances of substring that appear before the start positi
on are ignored. The first character in the string is position 1. \\n\\nExample:
FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FINDNT
H\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\",\"func-tooltip\": \
"Returns the position of the nth occurrence a substring within a string\",\"help
-contents\": \"Returns the position of the nth occurrence of a substring within
a string, or 0 if that occurrence of the substring isn't found. The first charac
ter in the string is position 1. \\n\\nExample: FINDNTH(\\\"Calculation\\\", \\\
"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"r
eal\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func-sig\": \"FIRST()\",\
"func-tooltip\": \"Returns the number of rows from to the first row in the parti
tion\",\"help-contents\": \"Returns the number of rows from the current row to t
he first row in the partition.\\n\\nExample (current row index is 3 of 7):\\nFIR
ST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": f
alse},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[, dim2]...] : aggregate
-expression }\",\"func-tooltip\": \"Computes an aggregate using only the specifi
ed dimensions.\",\"help-contents\": \"Computes an aggregate using only the speci
fied dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expression)\",\"func-toolti
p\": \"Returns a float from an expression\",\"help-contents\": \"Returns a float
given an expression of any type. This function requires unformatted numbers whi
ch means exclude commas and other symbols. \\n\\nExample: FLOAT(\\\"3\\\")= 3.0
00\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\":
false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\",\"func-tooltip\": \
"Rounds a number to the nearest integer of equal or lesser value\",\"help-conten
ts\": \"Rounds a number to the nearest integer of equal or lesser value. \\n\\nE
xample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"
],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-sig\": \"FULLNAME()\",
\"func-tooltip\": \"Returns the full name for the current user\",\"help-contents
\": \"Returns the full name for the current user. This is the Tableau Server or
Tableau Online full name when the user is signed in; otherwise it is the local o
r network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"f
unc-arg-types\":[],\"has-var-args\": false},{\"name\": \"HEXBINX\",\"func-sig\":
\"HEXBINX(number, number)\",\"func-tooltip\": \"Returns the x-coordinate of the
nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate to the x
-coordinate of the nearest hexagonal bin. The bins have side length 1, so the in
puts may need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"func-arg-t
ypes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"HEXBINY\",\"fun
c-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Returns the y-coordinat

e of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate


to the y-coordinate of the nearest hexagonal bin. The bins have side length 1, s
o the inputs may need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"fu
nc-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"IF\",\"
func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <els
e>] END\",\"func-tooltip\": \"Performs a logical test and returns an appropriate
value\",\"help-contents\": \"Tests a series of expressions returning the <then>
value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitabl
e' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic
\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IFNULL\",\"funcsig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns expression1 if not n
ull\",\"help-contents\": \"Returns <expr1> if it is not null, otherwise returns
<expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\":[\"logic\"],\"funcarg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"IIF\
",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func-tooltip\": \"Evaluat
es a Boolean expression and returns one of two values\",\"help-contents\": \"Che
cks whether a condition is met, and returns one value if TRUE, another value if
FALSE, and an optional third value or NULL if unknown. \\n\\nExample: IIF([Profi
t] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"bool
ean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"INCLUDE\
",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"functooltip\": \"Computes an aggregate using the specified dimensions and the view d
imensions.\",\"help-contents\": \"Computes an aggregate using the specified dime
nsions and the view dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\": \"INDEX()\",\"func-t
ooltip\": \"Returns the index of the current row in the partition\",\"help-conte
nts\": \"Returns the index of the current row in the partition.\\n\\nExample (fo
r the first row in the partition): INDEX( ) = 1\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT\",\"func-sig\": \"IN
T(expression)\",\"func-tooltip\": \"Evaluates an expression and returns an integ
er\",\"help-contents\": \"Returns an integer given an expression. This function
truncates results to the closest integer toward zero. \\n\\nExample: INT(8.0/3.0
) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean
\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-sig\": \"ISDATE(string
)\",\"func-tooltip\": \"Returns true if the string is a valid date\",\"help-cont
ents\": \"Returns true if a given string is a valid date. \\n\\nExample: ISDATE
(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date\",\"logic\"],\"funcarg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"ISFULLNAME\",\"funcsig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns true if the current us
er's full name matches the specified name\",\"help-contents\": \"Returns true if
the current user's full name matches the specified full name, or false if it do
es not match. This function uses the Tableau Server or Tableau Online full name
when the user is signed in; otherwise it uses the local or network full name for
the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locs
tr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"func-sig\": \"ISMEMBE
ROF(string)\",\"func-tooltip\": \"Returns true if the current user is a member o
f the specified group\",\"help-contents\": \"Returns true if the current user is
a member of the given group, false otherwise. This uses the Tableau Server to
resolve group membership if logged on, otherwise it always returns false.\",\"fu
nc-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\
"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"func-tooltip\": \"Ret
urns true if the specified expression is null\",\"help-contents\": \"Returns tru
e if the expression does not contain valid data (Null).\\n\\nExample: ISNULL([Pr
ofit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\"],\"has-var-ar
gs\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUSERNAME(string)\",\"fu
nc-tooltip\": \"Returns true if the current user's name matches the specified us
er name\",\"help-contents\": \"Returns true if the current user's username match
es the specified username, or false if it does not match. This function uses the
Tableau Server or Tableau Online username when the user is signed in; otherwise
it uses the local or network username for the Tableau Desktop user.\",\"func-gr

ps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name
\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"Returns the number of
rows to the last row in the partition\",\"help-contents\": \"Returns the number
of rows from the current row to the last row in the partition.\\n\\nExample (cur
rent row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[\"table\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"func-sig\": \"LEFT(st
ring, num_chars)\",\"func-tooltip\": \"Returns the specified number of character
s from the start of a string\",\"help-contents\": \"Returns the specified number
of characters from the start of the given string. \\n\\nExample: LEFT(\\\"Calc
ulation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"s
tr\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",\"func-sig\": \"LEN(s
tring)\",\"func-tooltip\": \"Returns the number of characters in a string\",\"he
lp-contents\": \"Returns the number of characters in the given string. \\n\\nExa
mple: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"func-sig\": \"LN(number)
\",\"func-tooltip\": \"Returns the natural logarithm of a number\",\"help-conten
ts\": \"Returns the natural logarithm of the given number. Returns Null if the n
umber is less than or equal to 0.\\n\\nExample: LN(EXP(5)) = 5\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"LOG
\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\": \"Returns the logarit
hm of a number for the given base\",\"help-contents\": \"Returns the logarithm o
f a number for the given base. If the base value is omitted, base 10 is used.\\n
\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"func-grps\":[\"num\"]
,\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"LO
OKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"func-tooltip\": \"Return
s the value of the expression in a row offset from current row\",\"help-contents
\": \"Returns the value of the given expression in a target row, specified as a
relative offset from the current row. Use FIRST()+n and LAST()-n for a target re
lative to the first/last rows in the partition. If offset is omitted, the Compar
e To row may be set on the field menu. Returns NULL if the target row cannot be
determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) + 2) = SUM(Profit) in
the third row of the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"LOWER\",\"func-sig
\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string in all lowercase char
acters\",\"help-contents\": \"Converts a text string to all lowercase letters. \
\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LTRIM\",\"fu
nc-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a string with leading sp
aces removed\",\"help-contents\": \"Returns the string with any leading spaces r
emoved. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\"\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"MAKEDA
TE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-tooltip\": \"Returns a
date value constructed from a year, a month and a day of the month.\",\"help-con
tents\": \"Returns a date value constructed from a year, a month and a day of th
e month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-grps\":[\"cast\"],\"fu
nc-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date, time)\",\"func-tool
tip\": \"Returns a datetime by combining a date and a time\",\"help-contents\":
\"Returns a date and time value given a date expression and a time expression.
\\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"func-grps\":[\"cast\"]
,\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\": false},{\"name\":
\"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)\",\"func-tooltip\":
\"Returns a time value constructed from hours, minutes and seconds.\",\"help-con
tents\": \"Returns a time value constructed from hours, minutes and seconds. \\
n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast\"],\"func-arg-types\
":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"MA
X\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",\"func-tooltip\": \"R
eturns the maximum of an expression\",\"help-contents\": \"Returns the maximum o
f a single expression across all records or the maximum of two expressions for e
ach record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\"num\",\"str\",\"date

\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expression)\",\"func-tooltip\
": \"Returns the median of an expression\",\"help-contents\": \"Returns the medi
an of a single expression. MEDIAN can be used with numeric fields only. Null val
ues are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-grps\":[\"agg\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"MID\",\"func-sig\"
: \"MID(string,start,[length])\",\"func-tooltip\": \"Returns the characters from
the middle of a text string\",\"help-contents\": \"Returns the characters from
the middle of a text string given a starting position and a length. The first ch
aracter in the string is position 1. If the length is not included, all characte
rs to the end of the string are returned. If the length is included, up to that
many characters are returned. \\n\\nExample: MID(\\\"Tableau Software\\\",9) = \
\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\",2,4) = \\\"able\\\"\
",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\",\"real\"],\"has-v
ar-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(expression) or MIN(expr
1, expr2)\",\"func-tooltip\": \"Returns the minimum of an expression\",\"help-co
ntents\": \"Returns the minimum of an expression across all records or the minim
um of two expressions for each record. \\n\\nExample: MIN([Profit])\",\"func-gr
ps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\
"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"func-sig\": \"MONTH(dat
e)\",\"func-tooltip\": \"Returns the month part of the specified date as an inte
ger\",\"help-contents\": \"Returns the month of a given date as an integer. \\n
\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\
":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\",\"func-sig\": \"IF
NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs logical negation on an
expression\",\"help-contents\": \"Performs logical negation on an expression\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Returns the current date
and time\",\"help-contents\": \"Returns the current date and time. \\n\\nExamp
le: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"],\"func-arg-types\":
[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\": \"IF <expr1> OR <exp
r2> THEN <then> END\",\"func-tooltip\": \"Performs a logical disjunction on two
expressions\",\"help-contents\": \"Performs a logical disjunction on two express
ions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},
{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expression, number)\",\"fun
c-tooltip\": \"Returns the percentile value at the specified number\",\"help-con
tents\": \"Aggregate calculation that returns the percentile value from the give
n expression corresponding to the specified number. Valid values for the number
are 0 through 1. PERCENTILE([expression], 0.50) will always return the median va
lue in the expression.\\n\\nExample: PERCENTILE([Sales], 0.90)\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-var-args\": false},{\"n
ame\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Returns the numeric con
stant pi\",\"help-contents\": \"Returns the numeric constant pi.\\n\\nExample: P
I() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(number,power)\",\"fun
c-tooltip\": \"Raises the number to the specified power\",\"help-contents\": \"R
eturns the result of a number raised to the given power. \\n\\nExample: POWER(5,
2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\
"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"func-sig\": \"PREVIOUS_V
ALUE(expression)\",\"func-tooltip\": \"Returns the value of this calculation in
the previous row\",\"help-contents\": \"Returns the value of this calculation in
the previous row. Returns the given expression if the current row is the first
row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOUS_VALUE(0) = running
sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(1) = running product
of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \"RADIANS(number)\",\"
func-tooltip\": \"Converts a number in degrees to radians\",\"help-contents\": \
"Converts a number in degrees to radians.\",\"func-grps\":[\"num\"],\"func-arg-t
ypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"RANK\",\"func-sig\": \"R
ANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the competition ra

nk for the current partition row\",\"help-contents\": \"Returns the standard com


petition rank for the current row in the partition. Identical values are assigne
d an identical rank. Use the optional 'asc' | 'desc' argument to specify ascendi
ng or descending order. The default order is descending.\\n\\nWith this function
, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 4) in ascending orde
r.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_DENSE\
",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"R
eturns the dense rank for the current partition row\",\"help-contents\": \"Retur
ns the dense rank for the current row in the partition. Identical values are ass
igned an identical rank, but no gaps are inserted into the number sequence. Use
the optional 'asc' | 'desc' argument to specify ascending or descending order. T
he default order is descending.\\n\\nWith this function, the set of values (6, 9
, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\n\\nExample: RANK_DEN
SE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"l
ocstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIED\",\"func-sig\": \"R
ANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the modif
ied competition rank for the current partition row\",\"help-contents\": \"Return
s the modified competition rank for the current row in the partition. Identical
values are assigned an identical rank. Use the optional 'asc' | 'desc' argument
to specify ascending or descending order. The default order is descending.\\n\\n
With this function, the set of values (6, 9, 9, 14) would be ranked (1, 3, 3, 4)
in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velocity]))\",\"func-grps\
":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": fals
e},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERCENTILE(expression, ['
asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile rank for the current
partition row\",\"help-contents\": \"Returns the percentile rank for the current
row in the partition. Use the optional 'asc' | 'desc' argument to specify ascen
ding or descending order. The default order is ascending.\\n\\nWith this functio
n, the set of values (6, 9, 9, 14) would be ranked (25, 75, 75, 100) in ascendin
g order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\",\"func-grps\":[\"tab
le\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"na
me\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expression, ['asc'|'desc'])\",
\"func-tooltip\": \"Returns the unique rank for the current partition row\",\"he
lp-contents\": \"Returns the unique rank for the current row in the partition. I
dentical values are assigned different ranks. Use the optional 'asc' | 'desc' ar
gument to specify ascending or descending order. The default order is descending
.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2
, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1 for the first row in
the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"loc
str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT\",\"func-sig\": \"RE
GEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns the portion of a str
ing matching the capturing group in a regular expression\",\"help-contents\": \"
Returns a substring of the given string that matches the capturing group within
the regular expression pattern. The regular expression pattern requires exactly
one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 123', '[a-z]+\\\\s+(\\\
\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"
has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"func-sig\": \"REGEXP_
EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"Returns a substring of
a string using a regular expression pattern\",\"help-contents\": \"Returns a su
bstring of the given string using the regular expression pattern. The substring
is matched to the nth capturing group, where n is the given index. \\n\\nExampl
e: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)', 2) = '123'\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locint\"],\"has-var-args\"
: false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP_MATCH(string, patter
n)\",\"func-tooltip\": \"Returns true if a string matches a regular expression\"
,\"help-contents\": \"Returns true if a substring of the provided string matches
the regular expression pattern. \\n\\nExample: REGEXP_MATCH('-([1234].[ The.Mar
ket ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') = true\",\"func-grps\":
[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\

": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string, pattern, replacemen


t)\",\"func-tooltip\": \"Returns a string where substrings matching a regular ex
pression are replaced\",\"help-contents\": \"Returns a copy of the given string
where the matching pattern is substituted with the replacement string. \\n\\nExa
mple: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"n
ame\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substring, replacement)\",\"f
unc-tooltip\": \"Replaces all instances of a substring within a string\",\"helpcontents\": \"Returns a string in which every occurrence of the substring is rep
laced with the replacement string. If the substring is not found, the string is
unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"ion\\\", \\\"ed\\\")
= \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str
\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\"func-sig\": \"RIGHT(
string, num_chars)\",\"func-tooltip\": \"Returns the specified number of charact
ers from the end of a string\",\"help-contents\": \"Returns the specified number
of characters from the end of the given string. \\n\\nExample: RIGHT(\\\"Calcu
lation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"st
r\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\",\"func-sig\": \"ROUN
D(number, [decimals])\",\"func-tooltip\": \"Rounds a number to the specified num
ber of places\",\"help-contents\": \"Rounds a number to the nearest integer or t
o a specified number of decimal places. \\n\\nExample: ROUND(3.1415, 1) = 3.1\",
\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\":
false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\",\"func-tooltip\": \
"Returns a string with trailing spaces removed\",\"help-contents\": \"Returns th
e string with any trailing spaces removed. \\n\\nExample: RTRIM(\\\"Market \\\"
) = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"hasvar-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\": \"RUNNING_AVG(expres
sion)\",\"func-tooltip\": \"Returns the running average of an expression\",\"hel
p-contents\": \"Returns the running average of the given expression, from the fi
rst row in the partition to the current row.\\n\\nExample: RUNNING_AVG(SUM([Prof
it])) = running average of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING_COUNT\",\"func-si
g\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Returns the running count
of an expression\",\"help-contents\": \"Returns the running count of the given
expression, from the first row in the partition to the current row.\\n\\nExample
: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profit)\",\"func-grps\":[\
"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RU
NNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"func-tooltip\": \"Return
s the running maximum of an expression\",\"help-contents\": \"Returns the runnin
g maximum of the given expression, from the first row in the partition to the cu
rrent row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = running maximum of Profit\
\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum of SUM(Profit)\",\"fu
nc-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},
{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expression)\",\"func-tool
tip\": \"Returns the running minimum of an expression\",\"help-contents\": \"Ret
urns the running minimum of the given expression, from the first row in the part
ition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Profit])) = running min
imum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = running minimum of SUM
(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-varargs\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"RUNNING_SUM(expression
)\",\"func-tooltip\": \"Returns the running sum of an expression\",\"help-conten
ts\": \"Returns the running sum of the given expression, from the first row in t
he partition to the current row.\\n\\nExample: RUNNING_SUM(SUM([Profit])) = runn
ing sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])) = running count of
Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCRIPT_BOOL(string, expr
ession, ...)\",\"func-tooltip\": \"Returns a Boolean result from an R expression
\",\"help-contents\": \"Returns a Boolean result from a given R expression. The
R expression is passed directly to a running Rserve instance. Use .arg# in the R
expression to reference parameters. In the following example, .arg1 is equal to

SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.arg1)\\\", SUM([Profit


]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": t
rue},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(string, expression, ..
.)\",\"func-tooltip\": \"Returns an integer result from an R expression\",\"help
-contents\": \"Returns an integer result from a given R expression. The R expres
sion is passed directly to a running Rserve instance. Use .arg# in the R express
ion to reference parameters. In the following example, .arg1 is equal to SUM([Pr
ofit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)\\\", SUM([Profit]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true}
,{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(string, expression, ...)
\",\"func-tooltip\": \"Returns a numeric result from an R expression\",\"help-co
ntents\": \"Returns a numeric result from a given R expression. The R expression
is passed directly to a running Rserve instance. Use .arg# in the R expression
to reference parameters. In the following example, .arg1 is equal to SUM([Profit
]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Profit]))\",\"func-grps
\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \
"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression, ...)\",\"func-toolt
ip\": \"Returns a string result from an R expression\",\"help-contents\": \"Retu
rns a string result from a given R expression. The R expression is passed direct
ly to a running Rserve instance. Use .arg# in the R expression to reference para
meters. In the following example, .arg1 is equal to ATTR([Region]). \\n\\nExampl
e: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\",\"func-grps\":[\"ta
ble\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SIGN\",
\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns 1 for a positive numb
er\",\"help-contents\": \"Returns the sign of a number: 1 if the number is posit
ive, zero if the number is zero, or -1 if the number is negative.\\n\\nExample:
SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angle)\",\"func-tooltip\"
: \"Returns the sine of a number\",\"help-contents\": \"Returns the sine of an a
ngle. Specify the angle in radians.\\n\\nExample: SIN(PI()/4) = 0.70710678118654
8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tooltip\": \"Returns the
number of rows in the partition\",\"help-contents\": \"Returns the number of row
s in the partition.\\n\\nExample (partition has 5 rows):\\nSIZE( ) = 5\",\"funcgrps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"S
PACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"Returns a string cont
aining the specified number of spaces\",\"help-contents\": \"Returns a string co
mposed of the specified number of repeated spaces. \\n\\nExample: SPACE(2) = \\\
" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string, delimiter, token num
ber)\",\"func-tooltip\": \"Extracts a substring from a string\",\"help-contents\
": \"Returns a substring from a string, as determined by a delimiter extracting
the characters from the beginning or end of the string. \\n\\nExample: SPLIT('ab-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-', -2) = 'c'\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"locint\"],\"has-var-args
\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)\",\"func-tooltip\":
\"Returns the square root of a number\",\"help-contents\": \"Returns the square
root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps\":[\"num\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SQUARE\",\"func-sig\
": \"SQUARE(number)\",\"func-tooltip\": \"Returns the square of a number\",\"hel
p-contents\": \"Returns the square of a given number. \\n\\nExample: SQUARE(5) =
25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(string, substring)\",\
"func-tooltip\": \"Returns true if the specified string starts with the specifie
d substring\",\"help-contents\": \"Returns true if the string starts with the su
bstring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\"Ca\\\") is true\",\"
func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": fal
se},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\",\"func-tooltip\": \
"Returns the sample standard deviation for an expression\",\"help-contents\": \"
Returns the sample standard deviation of the expression.\\n\\nExample: STDEV([Pr

ofit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expression)\",\"func-toolti
p\": \"Returns the population standard deviation for an expression\",\"help-cont
ents\": \"Returns the population standard deviation of the expression.\\n\\nExam
ple: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"STR(expression)\",\"fu
nc-tooltip\": \"Returns an expression as a string\",\"help-contents\": \"Returns
a string given an expression. \\n\\nExample: STR([Age]) returns all of the val
ues of the Age measure as strings.\",\"func-grps\":[\"cast\"],\"func-arg-types\"
:[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",\"func-sig\": \"SUM(e
xpression)\",\"func-tooltip\": \"Returns the sum of values in an expression\",\"
help-contents\": \"Returns the sum of all the values in the expression. SUM can
be used with numeric fields only. Null values are ignored.\\n\\nExample: SUM([Pr
ofit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"func-tooltip\": \"Retu
rns the tangent of an angle specified in radians\",\"help-contents\": \"Returns
the tangent of an angle. Specify the angle in radians.\\n\\nExample: TAN(PI()/4)
= 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2
> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical t
est and returns an appropriate value\",\"help-contents\": \"Tests a series of ex
pressions returning the <then> value for the first true <expr>. \\n\\nExample: I
F [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss
' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false}
,{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tooltip\": \"Returns the
current date\",\"help-contents\": \"Returns the current date. \\n\\nExample: TO
DAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"has-var-ar
gs\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(expression)\",\"func-too
ltip\": \"Returns the total for an expression within the partition\",\"help-cont
ents\": \"Returns the total for the given expression.\\n\\nExample: TOTAL(AVG([P
rofit])) = AVG(Profit) for all database rows that contribute to the partition\",
\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": fal
se},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"func-tooltip\": \"Retur
ns a string with leading and trailing spaces removed\",\"help-contents\": \"Retu
rns the string with both leading and trailing spaces removed. \\n\\nExample: TRI
M(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"str\"],\"func-arg-types
\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",\"func-sig\": \"UPPER
(string)\",\"func-tooltip\": \"Returns a string in all uppercase characters\",\"
help-contents\": \"Converts a text string to all uppercase letters. \\n\\nExampl
e: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"USERDOMAIN\",\"func-sig
\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain for the current user
\",\"help-contents\": \"Returns the domain for the current user when the user is
signed on to Tableau Server. Returns the Windows domain if the Tableau Desktop
user is on a domain. Otherwise this function returns a null string.\",\"func-grp
s\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"USERN
AME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Returns the user name for
the current user\",\"help-contents\": \"Returns the username for the current us
er. This is the Tableau Server or Tableau Online username when the user is signe
d in; otherwise it is the local or network username for the Tableau Desktop user
.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"n
ame\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-tooltip\": \"Returns the
sample variance for an expression\",\"help-contents\": \"Returns the sample var
iance of the expression.\\n\\nExample: VAR([Profit])\",\"func-grps\":[\"agg\"],\
"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"VARP\",\"func
-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns the population variance
for an expression\",\"help-contents\": \"Returns the population variance of the
expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-t
ypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHEN\",\"func-sig\": \"C
ASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"func-tooltip\"

: \"Performs logical tests and returns the appropriate value\",\"help-contents\"


: \"Finds the first <value> that matches <expr> and returns the corresponding <r
eturn>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018
II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\": \"WINDOW_AVG(expre
ssion, [start, end])\",\"func-tooltip\": \"Returns the average of the values wit
hin the window\",\"help-contents\": \"Returns the average of the expression with
in the window. The window is defined as offsets from the current row. Use FIRST
()+n and LAST()-n for offsets from the first or last row in the partition. If s
tart and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_AVG
(SUM([Profit]), -2, 0) = average of SUM(Profit) from the two previous rows to th
e current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_COUNT\",\"func-sig\
": \"WINDOW_COUNT(expression, [start, end])\",\"func-tooltip\": \"Returns the nu
mber of items within the window\",\"help-contents\": \"Returns the count of the
expression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the p
artition. If start and end are omitted, the entire partition is used.\\n\\nExam
ple: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Profit) from the two prev
ious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"r
eal\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MAX\
",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"func-tooltip\": \"Ret
urns the maximum within the window\",\"help-contents\": \"Returns the maximum of
the expression within the window. The window is defined as offsets from the cu
rrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\\
nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Profit from the two prev
ious rows to the current row\\n\\nExample: WINDOW_MAX(SUM([Profit]), -2, 0) = ma
ximum of SUM(Profit) from the two previous rows to the current row\",\"func-grps
\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-va
r-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\": \"WINDOW_MEDIAN(expr
ession, [start, end])\",\"func-tooltip\": \"Returns the median within the window
\",\"help-contents\": \"Returns the median of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST()
-n for offsets from the first or last row in the partition. If start and end ar
e omitted, the entire partition is used.\\n\\nExample: WINDOW_MEDIAN(SUM([Profit
]), -2, 0) = median of SUM(Profit) from the two previous rows to the current row
\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\
"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"func-sig\": \"WINDOW_MIN
(expression, [start, end])\",\"func-tooltip\": \"Returns the minimum within the
window\",\"help-contents\": \"Returns the minimum of the expression within the w
indow. The window is defined as offsets from the current row. Use FIRST()+n and
LAST()-n for offsets from the first or last row in the partition. If start and
end are omitted, the entire partition is used.\\n\\nExample: WINDOW_MIN(MIN([Pr
ofit]), -2, 0) = minimum of Profit from the two previous rows to the current row
\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum of SUM(Profit) from th
e two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(expression, number, [sta
rt, end])\",\"func-tooltip\": \"Returns the percentile value at the specified nu
mber\",\"help-contents\": \"Returns the value corresponding to the specified per
centile within the window. The window is defined as offsets from the current ro
w. Use FIRST()+n and LAST()-n for offsets from the first or last row in the part
ition. If start and end are omitted, the entire partition is used.\\n\\nExample
: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th percentile of SUM(Prof
it) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"
func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integer\"],\"has-var-args\"
: false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW_STDEV(expression, [s
tart, end])\",\"func-tooltip\": \"Returns the sample standard deviation within t
he window\",\"help-contents\": \"Returns the sample standard deviation of the ex

pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two pr
evious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_ST
DEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, end])\",\"func-tooltip\
": \"Returns the population standard deviation within the window\",\"help-conten
ts\": \"Returns the population standard deviation of the expression within the w
indow. The window is defined as offsets from the current row. Use FIRST()+n and
LAST()-n for offsets from the first or last row in the partition. If start and
end are omitted, the entire partition is used.\\n\\nExample: WINDOW_STDEVP(SUM(
[Profit]), -2, 0) = std. dev. of SUM(Profit) from the two previous rows to the c
urrent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_SUM\",\"func-sig\": \"
WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"Returns the sum of va
lues within the window\",\"help-contents\": \"Returns the sum of the expression
within the window. The window is defined as offsets from the current row. Use F
IRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WINDOW
_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the two previous rows to th
e current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"inte
ger\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_VAR\",\"func-sig
\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip\": \"Returns the sam
ple variance within the window\",\"help-contents\": \"Returns the sample varianc
e of the expression within the window. The window is defined as offsets from th
e current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\
\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance of SUM(Profit) from th
e two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"W
INDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start, end])\",\"func-tool
tip\": \"Returns the population variance within the window\",\"help-contents\":
\"Returns the population variance of the expression within the window. The wind
ow is defined as offsets from the current row. Use FIRST()+n and LAST()-n for of
fsets from the first or last row in the partition. If start and end are omitted
, the entire partition is used.\\n\\nExample: WINDOW_VARP(SUM([Profit]), -2, 0)
= variance of SUM(Profit) from the two previous rows to the current row\",\"func
-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"hasvar-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR(date)\",\"func-toolt
ip\": \"Returns the year of the specified date as an integer\",\"help-contents\"
: \"Returns the year of a given date as an integer. \\n\\nExample: YEAR(#2004-0
4-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has
-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(expression)\",\"func-to
oltip\": \"Returns the expression if it is not null\",\"help-contents\": \"Retur
ns <expression> if it is not null, otherwise returns zero. \\n\\nExample: ZN([P
rofit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-types\":[\"integer\"],\"h
as-var-args\": false}]},\"calculation-context\": \"calculation-dialog\",\"use-pa
rameters\": true} position=\"41\"","name":"tabdoc:calculation-auto-complete"}}
{"ts":"2016-09-29T16:42:33.806","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED [Cu
stomer Name]:MIN([Order Date])}\" calculation={\"datasource\": \"excel-direct.0s
0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \"Calculation1\",\"pending
-calc-name\": \"Calculation_5489888009455513600\",\"scope-isolation\": true,\"ca
lculation-formula\": \"\",\"fn\": \"\",\"fn-source\": \"\",\"calculation-depende
ncies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-role\": \"
dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\": 0,\"style
-token-list\":[],\"error-string\": \"\",\"error-info-list\":[],\"expression-func
-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func-sig\": \"ABS(number)\

",\"func-tooltip\": \"Returns the absolute value of a number\",\"help-contents\"


: \"Returns the absolute value of the given number. \\n\\nExample: ABS(-7) = 7\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-tooltip\": \"Returns t
he arc cosine of a number\",\"help-contents\": \"Returns the arc cosine of a num
ber. The result is in radians. \\n\\nExample: ACOS(-1) = 3.14159265358979\",\"f
unc-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n
ame\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN <then> END\",\"func-t
ooltip\": \"Performs a logical conjunction on two expressions\",\"help-contents\
": \"Performs a logical conjunction on two expressions\",\"func-grps\":[\"logic\
"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ASCII\",\"func-si
g\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASCII code for the first
character in a string\",\"help-contents\": \"Returns the ASCII code value of the
first character in a string. \\n\\nExample: ASCII(\\\"authors\\\") = 97\",\"fun
c-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name
\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\": \"Returns the arc
sine of a number\",\"help-contents\": \"Returns the arc sine of a number. The r
esult is in radians. \\n\\nExample: ASIN(1) = 1.5707963267949\",\"func-grps\":[\
"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ATAN
\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Returns the arc tangent of
a number\",\"help-contents\": \"Returns the arc tangent of a number. The resul
t is in radians. \\n\\nExample: ATAN(180) = 1.5652408283942\",\"func-grps\":[\"
num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ATAN2
\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tooltip\": \"Returns the a
rc tangent of two numbers\",\"help-contents\": \"Returns the arc tangent of two
given numbers (x and y). The result is in radians. \\n\\nExample: ATAN2(2, 1) =
1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\
"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig\": \"ATTR(expression)
\",\"func-tooltip\": \"Returns the value of the expression if it has one value f
or all rows\",\"help-contents\": \"Returns the value of the given expression if
it only has a single value for all rows in the group, otherwise it displays an a
sterisk (*). Null values are ignored.\\n\\nExample: ATTR([Market])\",\"func-grps
\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\"
: \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip\": \"Returns the aver
age of the values in the expression\",\"help-contents\": \"Returns the average o
f all the values in the expression. AVG can be used with numeric fields only. Nu
ll values are ignored.\\n\\nExample: AVG([Profit])\",\"func-grps\":[\"agg\"],\"f
unc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CASE\",\"func-s
ig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"functooltip\": \"Performs logical tests and returns the appropriate value\",\"help-c
ontents\": \"Finds the first <value> that matches <expr> and returns the corresp
onding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WH
EN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"func-sig\": \"CEILING(nu
mber)\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or g
reater value\",\"help-contents\": \"Rounds a number to the nearest integer of eq
ual or greater value. \\n\\nExample: CEILING(3.1415) = 4\",\"func-grps\":[\"num\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CHAR\",\"
func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts an integer ASCII code
into a character\",\"help-contents\": \"Converts the given integer ASCII code i
nto a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-grps\":[\"str\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CONTAINS\",\"func-s
ig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"Returns true if a stri
ng contains the specified substring\",\"help-contents\": \"Returns true if the s
tring contains the substring. \\n\\nExample: CONTAINS(\\\"Calculation\\\", \\\"a
lcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],
\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\": \"COS(angle)\",\"functooltip\": \"Returns the cosine of an angle specified in radians\",\"help-conten
ts\": \"Returns the cosine of an angle. Specify the angle in radians.\\n\\nExamp
le: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\"

:[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"func-sig\": \"COT(angl


e)\",\"func-tooltip\": \"Returns the cotangent of an angle specified in radians\
",\"help-contents\": \"Returns the cotangent of an angle. Specify the angle in r
adians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"num\"],\"func-arg-types
\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\",\"func-sig\": \"COUN
T(expression)\",\"func-tooltip\": \"Returns the number of items in the expressio
n\",\"help-contents\": \"Returns the number of items in a group. NULL values are
not counted.\\n\\nExample: COUNT([Customer ID])\",\"func-grps\":[\"agg\"],\"fun
c-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"COUNTD\",\"fun
c-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Returns the number of distin
ct items in the expression\",\"help-contents\": \"Returns the number of distinct
items in a group. NULL values are not counted. Each unique value is counted on
ly once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"agg\"],\"func-arg-typ
es\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"DATE\",\"func-sig\": \"
DATE(expression)\",\"func-tooltip\": \"Returns a date from a number\",\"help-con
tents\": \"Returns a date given a number, string, or date expression. \\n\\nExa
mple: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote that the quotation mar
ks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\"],\"has-v
ar-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"DATEADD(date_part, inte
rval, date)\",\"func-tooltip\": \"Returns the specified date incremented by the
specified amount\",\"help-contents\": \"Adds an increment to the specified date
and returns the new date. The increment is defined by the interval and the date_
part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM\
",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"integer\",\"datetime
\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"func-sig\": \"DATEDIFF(da
te_part, start_date, end_date, [start_of_week])\",\"func-tooltip\": \"Returns th
e difference between two dates\",\"help-contents\": \"Returns the difference bet
ween two dates where start_date is subtracted from end_date. The difference is e
xpressed in units of date_part. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DAT
EDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\",\"func-grps\":[\"dat
e\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetime\",\"locstr\"],\"hasvar-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \"DATENAME(date_part, d
ate, [start_of_week])\",\"func-tooltip\": \"Returns a part of the specified date
as a string\",\"help-contents\": \"Returns a part of the given date as a string
, where the part is defined by date_part. If start_of_week is omitted, the week
start day is determined by the start day configured for the data source.\\n\\nEx
ample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"func-grps\":[\"date\"
],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": fals
e},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(format, string)\",\"func-t
ooltip\": \"Converts a string to a date\",\"help-contents\": \"Converts a string
to a date in the specified format. \\n\\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\\
\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"func-grps\":[\"date\"],\
"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": false},{\"name\": \"DAT
EPART\",\"func-sig\": \"DATEPART(date_part, date, [start_of_week])\",\"func-tool
tip\": \"Returns the specified part of a date as an integer\",\"help-contents\":
\"Returns a part of the given date as an integer where the part is defined by d
ate_part. If start_of_week is omitted, the week start day is determined by the s
tart day configured for the data source.\\n\\nExample: DATEPART('month', #2004-0
4-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\
",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETIME\",\"func-sig\": \"D
ATETIME(expression)\",\"func-tooltip\": \"Returns a datetime from a number\",\"h
elp-contents\": \"Returns a datetime given a number, string, or date expression.
\\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\") \\nNote that the quo
tation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"func-sig\": \"DATETRUNC(d
ate_part, date, [start_of_week])\",\"func-tooltip\": \"Truncates the specified d
ate to the specified accuracy\",\"help-contents\": \"Truncates the specified dat
e to the accuracy specified by the date_part and returns the new date. If start_
of_week is omitted, the week start day is determined by the start day configured

for the data source.\\n\\nExample: DATETRUNC('quarter', #2004-08-15#) = 2004-07


-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"date
time\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DAY\",\"func-sig\": \"D
AY(date)\",\"func-tooltip\": \"Returns the day part of the specified date as an
integer\",\"help-contents\": \"Returns the day of the given date as an integer.
\\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"date\"],\"func-arg-typ
es\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"DEGREES\",\"func-sig\"
: \"DEGREES(number)\",\"func-tooltip\": \"Converts a value in radians to degrees
\",\"help-contents\": \"Converts a number in radians to degrees.\\n\\nExample: D
EGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"DIV(integer, integer)\
",\"func-tooltip\": \"Returns the integer part of a division operation\",\"helpcontents\": \"Returns the integer part of a division.\\n\\nExample: DIV(11, 2) =
5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer\",\"integer\"],\"hasvar-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <expr> THEN <then> [EL
SEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs
a logical test and returns an appropriate value\",\"help-contents\": \"Tests a s
eries of expressions returning the <then> value for the first true <expr>. \\n\\
nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven'
ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-arg
s\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF
<expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a log
ical test and returns an appropriate value\",\"help-contents\": \"Tests a series
of expressions returning the <then> value for the first true <expr>. \\n\\nExam
ple: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE
'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2>
THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical tes
t and returns an appropriate value\",\"help-contents\": \"Tests a series of expr
essions returning the <then> value for the first true <expr>. \\n\\nExample: IF
[Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss'
END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{
\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, substring)\",\"func-tool
tip\": \"Returns true if the specified string ends with the specified substring\
",\"help-contents\": \"Returns true if the string ends with the substring (trail
ing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Calculation\\\", \\\"ion
\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"h
as-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\": \"{ EXCLUDE [dim1[, d
im2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate ex
cluding the specified dimensions if present in the view.\",\"help-contents\": \"
Computes an aggregate excluding the specified dimensions if present in the view.
\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"nam
e\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\": \"Returns e raised
to the power of a number\",\"help-contents\": \"Returns e raised to the power of
the given number. \\n\\nExample: EXP(5) = e^5\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FIND\",\"func-sig\
": \"FIND(string, substring, [start])\",\"func-tooltip\": \"Returns the position
of a substring within a string\",\"help-contents\": \"Returns the position of a
substring within a string, or 0 if the substring isn't found. If the start argu
ment is defined, any instances of substring that appear before the start positio
n are ignored. The first character in the string is position 1. \\n\\nExample: F
IND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FINDNTH
\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\",\"func-tooltip\": \"
Returns the position of the nth occurrence a substring within a string\",\"helpcontents\": \"Returns the position of the nth occurrence of a substring within a
string, or 0 if that occurrence of the substring isn't found. The first charact
er in the string is position 1. \\n\\nExample: FINDNTH(\\\"Calculation\\\", \\\"
a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"re
al\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func-sig\": \"FIRST()\",\"

func-tooltip\": \"Returns the number of rows from to the first row in the partit
ion\",\"help-contents\": \"Returns the number of rows from the current row to th
e first row in the partition.\\n\\nExample (current row index is 3 of 7):\\nFIRS
T( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": fa
lse},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[, dim2]...] : aggregateexpression }\",\"func-tooltip\": \"Computes an aggregate using only the specifie
d dimensions.\",\"help-contents\": \"Computes an aggregate using only the specif
ied dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\"
: false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expression)\",\"func-tooltip
\": \"Returns a float from an expression\",\"help-contents\": \"Returns a float
given an expression of any type. This function requires unformatted numbers whic
h means exclude commas and other symbols. \\n\\nExample: FLOAT(\\\"3\\\")= 3.00
0\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\":
false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\",\"func-tooltip\": \"
Rounds a number to the nearest integer of equal or lesser value\",\"help-content
s\": \"Rounds a number to the nearest integer of equal or lesser value. \\n\\nEx
ample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-sig\": \"FULLNAME()\",\
"func-tooltip\": \"Returns the full name for the current user\",\"help-contents\
": \"Returns the full name for the current user. This is the Tableau Server or T
ableau Online full name when the user is signed in; otherwise it is the local or
network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"HEXBINX\",\"func-sig\":
\"HEXBINX(number, number)\",\"func-tooltip\": \"Returns the x-coordinate of the
nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate to the xcoordinate of the nearest hexagonal bin. The bins have side length 1, so the inp
uts may need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"func-arg-ty
pes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"HEXBINY\",\"func
-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Returns the y-coordinate
of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate t
o the y-coordinate of the nearest hexagonal bin. The bins have side length 1, so
the inputs may need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"fun
c-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"IF\",\"f
unc-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else
>] END\",\"func-tooltip\": \"Performs a logical test and returns an appropriate
value\",\"help-contents\": \"Tests a series of expressions returning the <then>
value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable
' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\
"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IFNULL\",\"func-s
ig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns expression1 if not nu
ll\",\"help-contents\": \"Returns <expr1> if it is not null, otherwise returns <
expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\":[\"logic\"],\"func-a
rg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"IIF\"
,\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func-tooltip\": \"Evaluate
s a Boolean expression and returns one of two values\",\"help-contents\": \"Chec
ks whether a condition is met, and returns one value if TRUE, another value if F
ALSE, and an optional third value or NULL if unknown. \\n\\nExample: IIF([Profit
] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boole
an\",\"real\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"INCLUDE\"
,\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-t
ooltip\": \"Computes an aggregate using the specified dimensions and the view di
mensions.\",\"help-contents\": \"Computes an aggregate using the specified dimen
sions and the view dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\
"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\": \"INDEX()\",\"func-to
oltip\": \"Returns the index of the current row in the partition\",\"help-conten
ts\": \"Returns the index of the current row in the partition.\\n\\nExample (for
the first row in the partition): INDEX( ) = 1\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT\",\"func-sig\": \"INT
(expression)\",\"func-tooltip\": \"Evaluates an expression and returns an intege
r\",\"help-contents\": \"Returns an integer given an expression. This function t

runcates results to the closest integer toward zero. \\n\\nExample: INT(8.0/3.0)


= 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\
"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-sig\": \"ISDATE(string)
\",\"func-tooltip\": \"Returns true if the string is a valid date\",\"help-conte
nts\": \"Returns true if a given string is a valid date. \\n\\nExample: ISDATE(
\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date\",\"logic\"],\"func-a
rg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"ISFULLNAME\",\"func-s
ig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns true if the current use
r's full name matches the specified name\",\"help-contents\": \"Returns true if
the current user's full name matches the specified full name, or false if it doe
s not match. This function uses the Tableau Server or Tableau Online full name w
hen the user is signed in; otherwise it uses the local or network full name for
the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locst
r\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"func-sig\": \"ISMEMBER
OF(string)\",\"func-tooltip\": \"Returns true if the current user is a member of
the specified group\",\"help-contents\": \"Returns true if the current user is
a member of the given group, false otherwise. This uses the Tableau Server to r
esolve group membership if logged on, otherwise it always returns false.\",\"fun
c-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"
name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"func-tooltip\": \"Retu
rns true if the specified expression is null\",\"help-contents\": \"Returns true
if the expression does not contain valid data (Null).\\n\\nExample: ISNULL([Pro
fit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\"],\"has-var-arg
s\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUSERNAME(string)\",\"fun
c-tooltip\": \"Returns true if the current user's name matches the specified use
r name\",\"help-contents\": \"Returns true if the current user's username matche
s the specified username, or false if it does not match. This function uses the
Tableau Server or Tableau Online username when the user is signed in; otherwise
it uses the local or network username for the Tableau Desktop user.\",\"func-grp
s\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\
": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"Returns the number of r
ows to the last row in the partition\",\"help-contents\": \"Returns the number o
f rows from the current row to the last row in the partition.\\n\\nExample (curr
ent row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[\"table\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"func-sig\": \"LEFT(str
ing, num_chars)\",\"func-tooltip\": \"Returns the specified number of characters
from the start of a string\",\"help-contents\": \"Returns the specified number
of characters from the start of the given string. \\n\\nExample: LEFT(\\\"Calcu
lation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"st
r\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",\"func-sig\": \"LEN(st
ring)\",\"func-tooltip\": \"Returns the number of characters in a string\",\"hel
p-contents\": \"Returns the number of characters in the given string. \\n\\nExam
ple: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\"],\"func-arg-types\":
[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"func-sig\": \"LN(number)\
",\"func-tooltip\": \"Returns the natural logarithm of a number\",\"help-content
s\": \"Returns the natural logarithm of the given number. Returns Null if the nu
mber is less than or equal to 0.\\n\\nExample: LN(EXP(5)) = 5\",\"func-grps\":[\
"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"LOG\
",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\": \"Returns the logarith
m of a number for the given base\",\"help-contents\": \"Returns the logarithm of
a number for the given base. If the base value is omitted, base 10 is used.\\n\
\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"func-grps\":[\"num\"],
\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"LOO
KUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"func-tooltip\": \"Returns
the value of the expression in a row offset from current row\",\"help-contents\
": \"Returns the value of the given expression in a target row, specified as a r
elative offset from the current row. Use FIRST()+n and LAST()-n for a target rel
ative to the first/last rows in the partition. If offset is omitted, the Compare
To row may be set on the field menu. Returns NULL if the target row cannot be d
etermined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) + 2) = SUM(Profit) in t

he third row of the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"


integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"LOWER\",\"func-sig\
": \"LOWER(string)\",\"func-tooltip\": \"Returns a string in all lowercase chara
cters\",\"help-contents\": \"Converts a text string to all lowercase letters. \\
n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"func-grps\":[\"str\"],
\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LTRIM\",\"fun
c-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a string with leading spa
ces removed\",\"help-contents\": \"Returns the string with any leading spaces re
moved. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\"\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"MAKEDAT
E\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-tooltip\": \"Returns a d
ate value constructed from a year, a month and a day of the month.\",\"help-cont
ents\": \"Returns a date value constructed from a year, a month and a day of the
month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-grps\":[\"cast\"],\"fun
c-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"
name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date, time)\",\"func-toolt
ip\": \"Returns a datetime by combining a date and a time\",\"help-contents\": \
"Returns a date and time value given a date expression and a time expression. \
\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"func-grps\":[\"cast\"],
\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\": false},{\"name\": \
"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)\",\"func-tooltip\": \
"Returns a time value constructed from hours, minutes and seconds.\",\"help-cont
ents\": \"Returns a time value constructed from hours, minutes and seconds. \\n
\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast\"],\"func-arg-types\"
:[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"MAX
\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",\"func-tooltip\": \"Re
turns the maximum of an expression\",\"help-contents\": \"Returns the maximum of
a single expression across all records or the maximum of two expressions for ea
ch record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\"num\",\"str\",\"date\
",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": fa
lse},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expression)\",\"func-tooltip\"
: \"Returns the median of an expression\",\"help-contents\": \"Returns the media
n of a single expression. MEDIAN can be used with numeric fields only. Null valu
es are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-grps\":[\"agg\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"MID\",\"func-sig\":
\"MID(string,start,[length])\",\"func-tooltip\": \"Returns the characters from
the middle of a text string\",\"help-contents\": \"Returns the characters from t
he middle of a text string given a starting position and a length. The first cha
racter in the string is position 1. If the length is not included, all character
s to the end of the string are returned. If the length is included, up to that m
any characters are returned. \\n\\nExample: MID(\\\"Tableau Software\\\",9) = \\
\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\",2,4) = \\\"able\\\"\"
,\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\",\"real\"],\"has-va
r-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(expression) or MIN(expr1
, expr2)\",\"func-tooltip\": \"Returns the minimum of an expression\",\"help-con
tents\": \"Returns the minimum of an expression across all records or the minimu
m of two expressions for each record. \\n\\nExample: MIN([Profit])\",\"func-grp
s\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"
real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"func-sig\": \"MONTH(date
)\",\"func-tooltip\": \"Returns the month part of the specified date as an integ
er\",\"help-contents\": \"Returns the month of a given date as an integer. \\n\
\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\"
:[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\",\"func-sig\": \"IF N
OT <expr> THEN <then> END\",\"func-tooltip\": \"Performs logical negation on an
expression\",\"help-contents\": \"Performs logical negation on an expression\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Returns the current date
and time\",\"help-contents\": \"Returns the current date and time. \\n\\nExampl
e: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"],\"func-arg-types\":[
],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\": \"IF <expr1> OR <expr

2> THEN <then> END\",\"func-tooltip\": \"Performs a logical disjunction on two e


xpressions\",\"help-contents\": \"Performs a logical disjunction on two expressi
ons\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{
\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expression, number)\",\"func
-tooltip\": \"Returns the percentile value at the specified number\",\"help-cont
ents\": \"Aggregate calculation that returns the percentile value from the given
expression corresponding to the specified number. Valid values for the number a
re 0 through 1. PERCENTILE([expression], 0.50) will always return the median val
ue in the expression.\\n\\nExample: PERCENTILE([Sales], 0.90)\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-var-args\": false},{\"na
me\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Returns the numeric cons
tant pi\",\"help-contents\": \"Returns the numeric constant pi.\\n\\nExample: PI
() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(number,power)\",\"func
-tooltip\": \"Raises the number to the specified power\",\"help-contents\": \"Re
turns the result of a number raised to the given power. \\n\\nExample: POWER(5,2
) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"
has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"func-sig\": \"PREVIOUS_VA
LUE(expression)\",\"func-tooltip\": \"Returns the value of this calculation in t
he previous row\",\"help-contents\": \"Returns the value of this calculation in
the previous row. Returns the given expression if the current row is the first r
ow of the partition.\\n\\nExample: SUM([Profit]) + PREVIOUS_VALUE(0) = running s
um of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(1) = running product o
f SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has
-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \"RADIANS(number)\",\"f
unc-tooltip\": \"Converts a number in degrees to radians\",\"help-contents\": \"
Converts a number in degrees to radians.\",\"func-grps\":[\"num\"],\"func-arg-ty
pes\":[\"real\"],\"has-var-args\": false},{\"name\": \"RANK\",\"func-sig\": \"RA
NK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the competition ran
k for the current partition row\",\"help-contents\": \"Returns the standard comp
etition rank for the current row in the partition. Identical values are assigned
an identical rank. Use the optional 'asc' | 'desc' argument to specify ascendin
g or descending order. The default order is descending.\\n\\nWith this function,
the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 4) in ascending order
.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_DENSE\"
,\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Re
turns the dense rank for the current partition row\",\"help-contents\": \"Return
s the dense rank for the current row in the partition. Identical values are assi
gned an identical rank, but no gaps are inserted into the number sequence. Use t
he optional 'asc' | 'desc' argument to specify ascending or descending order. Th
e default order is descending.\\n\\nWith this function, the set of values (6, 9,
9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\n\\nExample: RANK_DENS
E(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"lo
cstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIED\",\"func-sig\": \"RA
NK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the modifi
ed competition rank for the current partition row\",\"help-contents\": \"Returns
the modified competition rank for the current row in the partition. Identical v
alues are assigned an identical rank. Use the optional 'asc' | 'desc' argument t
o specify ascending or descending order. The default order is descending.\\n\\nW
ith this function, the set of values (6, 9, 9, 14) would be ranked (1, 3, 3, 4)
in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velocity]))\",\"func-grps\"
:[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false
},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERCENTILE(expression, ['a
sc'|'desc'])\",\"func-tooltip\": \"Returns the percentile rank for the current p
artition row\",\"help-contents\": \"Returns the percentile rank for the current
row in the partition. Use the optional 'asc' | 'desc' argument to specify ascend
ing or descending order. The default order is ascending.\\n\\nWith this function
, the set of values (6, 9, 9, 14) would be ranked (25, 75, 75, 100) in ascending
order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\",\"func-grps\":[\"tabl

e\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"nam
e\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expression, ['asc'|'desc'])\",\
"func-tooltip\": \"Returns the unique rank for the current partition row\",\"hel
p-contents\": \"Returns the unique rank for the current row in the partition. Id
entical values are assigned different ranks. Use the optional 'asc' | 'desc' arg
ument to specify ascending or descending order. The default order is descending.
\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2,
3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1 for the first row in
the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locs
tr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT\",\"func-sig\": \"REG
EXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns the portion of a stri
ng matching the capturing group in a regular expression\",\"help-contents\": \"R
eturns a substring of the given string that matches the capturing group within t
he regular expression pattern. The regular expression pattern requires exactly
one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 123', '[a-z]+\\\\s+(\\\\
d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"h
as-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"func-sig\": \"REGEXP_E
XTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"Returns a substring of
a string using a regular expression pattern\",\"help-contents\": \"Returns a sub
string of the given string using the regular expression pattern. The substring
is matched to the nth capturing group, where n is the given index. \\n\\nExample
: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)', 2) = '123'\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locint\"],\"has-var-args\":
false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP_MATCH(string, pattern
)\",\"func-tooltip\": \"Returns true if a string matches a regular expression\",
\"help-contents\": \"Returns true if a substring of the provided string matches
the regular expression pattern. \\n\\nExample: REGEXP_MATCH('-([1234].[ The.Mark
et ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') = true\",\"func-grps\":[
\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\"
: \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string, pattern, replacement
)\",\"func-tooltip\": \"Returns a string where substrings matching a regular exp
ression are replaced\",\"help-contents\": \"Returns a copy of the given string w
here the matching pattern is substituted with the replacement string. \\n\\nExam
ple: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"na
me\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substring, replacement)\",\"fu
nc-tooltip\": \"Replaces all instances of a substring within a string\",\"help-c
ontents\": \"Returns a string in which every occurrence of the substring is repl
aced with the replacement string. If the substring is not found, the string is u
nchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"ion\\\", \\\"ed\\\") =
\\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\
",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\"func-sig\": \"RIGHT(s
tring, num_chars)\",\"func-tooltip\": \"Returns the specified number of characte
rs from the end of a string\",\"help-contents\": \"Returns the specified number
of characters from the end of the given string. \\n\\nExample: RIGHT(\\\"Calcul
ation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str
\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\",\"func-sig\": \"ROUND
(number, [decimals])\",\"func-tooltip\": \"Rounds a number to the specified numb
er of places\",\"help-contents\": \"Rounds a number to the nearest integer or to
a specified number of decimal places. \\n\\nExample: ROUND(3.1415, 1) = 3.1\",\
"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\":
false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\",\"func-tooltip\": \"
Returns a string with trailing spaces removed\",\"help-contents\": \"Returns the
string with any trailing spaces removed. \\n\\nExample: RTRIM(\\\"Market \\\")
= \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-v
ar-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\": \"RUNNING_AVG(express
ion)\",\"func-tooltip\": \"Returns the running average of an expression\",\"help
-contents\": \"Returns the running average of the given expression, from the fir
st row in the partition to the current row.\\n\\nExample: RUNNING_AVG(SUM([Profi
t])) = running average of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-typ

es\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING_COUNT\",\"func-sig


\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Returns the running count
of an expression\",\"help-contents\": \"Returns the running count of the given e
xpression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profit)\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUN
NING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"func-tooltip\": \"Returns
the running maximum of an expression\",\"help-contents\": \"Returns the running
maximum of the given expression, from the first row in the partition to the cur
rent row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = running maximum of Profit\\
n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum of SUM(Profit)\",\"fun
c-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{
\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expression)\",\"func-toolt
ip\": \"Returns the running minimum of an expression\",\"help-contents\": \"Retu
rns the running minimum of the given expression, from the first row in the parti
tion to the current row.\\n\\nExample: RUNNING_MIN(MIN([Profit])) = running mini
mum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = running minimum of SUM(
Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"RUNNING_SUM(expression)
\",\"func-tooltip\": \"Returns the running sum of an expression\",\"help-content
s\": \"Returns the running sum of the given expression, from the first row in th
e partition to the current row.\\n\\nExample: RUNNING_SUM(SUM([Profit])) = runni
ng sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])) = running count of P
rofit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-arg
s\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCRIPT_BOOL(string, expre
ssion, ...)\",\"func-tooltip\": \"Returns a Boolean result from an R expression\
",\"help-contents\": \"Returns a Boolean result from a given R expression. The R
expression is passed directly to a running Rserve instance. Use .arg# in the R
expression to reference parameters. In the following example, .arg1 is equal to
SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.arg1)\\\", SUM([Profit]
))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": tr
ue},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(string, expression, ...
)\",\"func-tooltip\": \"Returns an integer result from an R expression\",\"helpcontents\": \"Returns an integer result from a given R expression. The R express
ion is passed directly to a running Rserve instance. Use .arg# in the R expressi
on to reference parameters. In the following example, .arg1 is equal to SUM([Pro
fit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)\\\", SUM([Profit]))\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},
{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(string, expression, ...)\
",\"func-tooltip\": \"Returns a numeric result from an R expression\",\"help-con
tents\": \"Returns a numeric result from a given R expression. The R expression
is passed directly to a running Rserve instance. Use .arg# in the R expression t
o reference parameters. In the following example, .arg1 is equal to SUM([Profit]
). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Profit]))\",\"func-grps\
":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"
SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression, ...)\",\"func-toolti
p\": \"Returns a string result from an R expression\",\"help-contents\": \"Retur
ns a string result from a given R expression. The R expression is passed directl
y to a running Rserve instance. Use .arg# in the R expression to reference param
eters. In the following example, .arg1 is equal to ATTR([Region]). \\n\\nExample
: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\",\"func-grps\":[\"tab
le\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SIGN\",\
"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns 1 for a positive numbe
r\",\"help-contents\": \"Returns the sign of a number: 1 if the number is positi
ve, zero if the number is zero, or -1 if the number is negative.\\n\\nExample: S
IGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-varargs\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angle)\",\"func-tooltip\":
\"Returns the sine of a number\",\"help-contents\": \"Returns the sine of an an
gle. Specify the angle in radians.\\n\\nExample: SIN(PI()/4) = 0.707106781186548
\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false

},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tooltip\": \"Returns the n


umber of rows in the partition\",\"help-contents\": \"Returns the number of rows
in the partition.\\n\\nExample (partition has 5 rows):\\nSIZE( ) = 5\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"SP
ACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"Returns a string conta
ining the specified number of spaces\",\"help-contents\": \"Returns a string com
posed of the specified number of repeated spaces. \\n\\nExample: SPACE(2) = \\\"
\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string, delimiter, token numb
er)\",\"func-tooltip\": \"Extracts a substring from a string\",\"help-contents\"
: \"Returns a substring from a string, as determined by a delimiter extracting t
he characters from the beginning or end of the string. \\n\\nExample: SPLIT('a-b
-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-', -2) = 'c'\",\"func-grp
s\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"locint\"],\"has-var-args\
": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)\",\"func-tooltip\": \
"Returns the square root of a number\",\"help-contents\": \"Returns the square r
oot of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SQUARE\",\"func-sig\"
: \"SQUARE(number)\",\"func-tooltip\": \"Returns the square of a number\",\"help
-contents\": \"Returns the square of a given number. \\n\\nExample: SQUARE(5) =
25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(string, substring)\",\"
func-tooltip\": \"Returns true if the specified string starts with the specified
substring\",\"help-contents\": \"Returns true if the string starts with the sub
string. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\"Ca\\\") is true\",\"f
unc-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": fals
e},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\",\"func-tooltip\": \"
Returns the sample standard deviation for an expression\",\"help-contents\": \"R
eturns the sample standard deviation of the expression.\\n\\nExample: STDEV([Pro
fit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expression)\",\"func-tooltip
\": \"Returns the population standard deviation for an expression\",\"help-conte
nts\": \"Returns the population standard deviation of the expression.\\n\\nExamp
le: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"h
as-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"STR(expression)\",\"fun
c-tooltip\": \"Returns an expression as a string\",\"help-contents\": \"Returns
a string given an expression. \\n\\nExample: STR([Age]) returns all of the valu
es of the Age measure as strings.\",\"func-grps\":[\"cast\"],\"func-arg-types\":
[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",\"func-sig\": \"SUM(ex
pression)\",\"func-tooltip\": \"Returns the sum of values in an expression\",\"h
elp-contents\": \"Returns the sum of all the values in the expression. SUM can b
e used with numeric fields only. Null values are ignored.\\n\\nExample: SUM([Pro
fit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"func-tooltip\": \"Retur
ns the tangent of an angle specified in radians\",\"help-contents\": \"Returns t
he tangent of an angle. Specify the angle in radians.\\n\\nExample: TAN(PI()/4)
= 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2>
THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical te
st and returns an appropriate value\",\"help-contents\": \"Tests a series of exp
ressions returning the <then> value for the first true <expr>. \\n\\nExample: IF
[Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss'
END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},
{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tooltip\": \"Returns the c
urrent date\",\"help-contents\": \"Returns the current date. \\n\\nExample: TOD
AY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"has-var-arg
s\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(expression)\",\"func-tool
tip\": \"Returns the total for an expression within the partition\",\"help-conte
nts\": \"Returns the total for the given expression.\\n\\nExample: TOTAL(AVG([Pr
ofit])) = AVG(Profit) for all database rows that contribute to the partition\",\

"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": fals
e},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"func-tooltip\": \"Return
s a string with leading and trailing spaces removed\",\"help-contents\": \"Retur
ns the string with both leading and trailing spaces removed. \\n\\nExample: TRIM
(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",\"func-sig\": \"UPPER(
string)\",\"func-tooltip\": \"Returns a string in all uppercase characters\",\"h
elp-contents\": \"Converts a text string to all uppercase letters. \\n\\nExample
: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\"],\"has-var-args\": false},{\"name\": \"USERDOMAIN\",\"func-sig\
": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain for the current user\
",\"help-contents\": \"Returns the domain for the current user when the user is
signed on to Tableau Server. Returns the Windows domain if the Tableau Desktop u
ser is on a domain. Otherwise this function returns a null string.\",\"func-grps
\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"USERNA
ME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Returns the user name for
the current user\",\"help-contents\": \"Returns the username for the current use
r. This is the Tableau Server or Tableau Online username when the user is signed
in; otherwise it is the local or network username for the Tableau Desktop user.
\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"na
me\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-tooltip\": \"Returns the
sample variance for an expression\",\"help-contents\": \"Returns the sample vari
ance of the expression.\\n\\nExample: VAR([Profit])\",\"func-grps\":[\"agg\"],\"
func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"VARP\",\"funcsig\": \"VARP(expression)\",\"func-tooltip\": \"Returns the population variance
for an expression\",\"help-contents\": \"Returns the population variance of the
expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-ty
pes\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHEN\",\"func-sig\": \"CA
SE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"func-tooltip\":
\"Performs logical tests and returns the appropriate value\",\"help-contents\":
\"Finds the first <value> that matches <expr> and returns the corresponding <re
turn>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018I
I\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\": \"WINDOW_AVG(expres
sion, [start, end])\",\"func-tooltip\": \"Returns the average of the values with
in the window\",\"help-contents\": \"Returns the average of the expression withi
n the window. The window is defined as offsets from the current row. Use FIRST(
)+n and LAST()-n for offsets from the first or last row in the partition. If st
art and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_AVG(
SUM([Profit]), -2, 0) = average of SUM(Profit) from the two previous rows to the
current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\
",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_COUNT\",\"func-sig\"
: \"WINDOW_COUNT(expression, [start, end])\",\"func-tooltip\": \"Returns the num
ber of items within the window\",\"help-contents\": \"Returns the count of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Profit) from the two previ
ous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"re
al\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MAX\"
,\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"func-tooltip\": \"Retu
rns the maximum within the window\",\"help-contents\": \"Returns the maximum of
the expression within the window. The window is defined as offsets from the cur
rent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in t
he partition. If start and end are omitted, the entire partition is used.\\n\\n
Example: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Profit from the two previ
ous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([Profit]), -2, 0) = max
imum of SUM(Profit) from the two previous rows to the current row\",\"func-grps\
":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var
-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\": \"WINDOW_MEDIAN(expre

ssion, [start, end])\",\"func-tooltip\": \"Returns the median within the window\


",\"help-contents\": \"Returns the median of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST()n for offsets from the first or last row in the partition. If start and end are
omitted, the entire partition is used.\\n\\nExample: WINDOW_MEDIAN(SUM([Profit]
), -2, 0) = median of SUM(Profit) from the two previous rows to the current row\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"
],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"func-sig\": \"WINDOW_MIN(
expression, [start, end])\",\"func-tooltip\": \"Returns the minimum within the w
indow\",\"help-contents\": \"Returns the minimum of the expression within the wi
ndow. The window is defined as offsets from the current row. Use FIRST()+n and
LAST()-n for offsets from the first or last row in the partition. If start and
end are omitted, the entire partition is used.\\n\\nExample: WINDOW_MIN(MIN([Pro
fit]), -2, 0) = minimum of Profit from the two previous rows to the current row\
\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \
"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(expression, number, [star
t, end])\",\"func-tooltip\": \"Returns the percentile value at the specified num
ber\",\"help-contents\": \"Returns the value corresponding to the specified perc
entile within the window. The window is defined as offsets from the current row
. Use FIRST()+n and LAST()-n for offsets from the first or last row in the parti
tion. If start and end are omitted, the entire partition is used.\\n\\nExample:
WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th percentile of SUM(Profi
t) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"f
unc-arg-types\":[\"real\",\"locreal\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW_STDEV(expression, [st
art, end])\",\"func-tooltip\": \"Returns the sample standard deviation within th
e window\",\"help-contents\": \"Returns the sample standard deviation of the exp
ression within the window. The window is defined as offsets from the current ro
w. Use FIRST()+n and LAST()-n for offsets from the first or last row in the part
ition. If start and end are omitted, the entire partition is used.\\n\\nExample
: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two pre
vious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STD
EVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, end])\",\"func-tooltip\"
: \"Returns the population standard deviation within the window\",\"help-content
s\": \"Returns the population standard deviation of the expression within the wi
ndow. The window is defined as offsets from the current row. Use FIRST()+n and
LAST()-n for offsets from the first or last row in the partition. If start and
end are omitted, the entire partition is used.\\n\\nExample: WINDOW_STDEVP(SUM([
Profit]), -2, 0) = std. dev. of SUM(Profit) from the two previous rows to the cu
rrent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\
"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_SUM\",\"func-sig\": \"W
INDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"Returns the sum of val
ues within the window\",\"help-contents\": \"Returns the sum of the expression w
ithin the window. The window is defined as offsets from the current row. Use FI
RST()+n and LAST()-n for offsets from the first or last row in the partition. I
f start and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_
SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the two previous rows to the
current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integ
er\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_VAR\",\"func-sig\
": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip\": \"Returns the samp
le variance within the window\",\"help-contents\": \"Returns the sample variance
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\\
n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WI

NDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start, end])\",\"func-toolt


ip\": \"Returns the population variance within the window\",\"help-contents\": \
"Returns the population variance of the expression within the window. The windo
w is defined as offsets from the current row. Use FIRST()+n and LAST()-n for off
sets from the first or last row in the partition. If start and end are omitted,
the entire partition is used.\\n\\nExample: WINDOW_VARP(SUM([Profit]), -2, 0) =
variance of SUM(Profit) from the two previous rows to the current row\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-v
ar-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR(date)\",\"func-toolti
p\": \"Returns the year of the specified date as an integer\",\"help-contents\":
\"Returns the year of a given date as an integer. \\n\\nExample: YEAR(#2004-04
-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"hasvar-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(expression)\",\"func-too
ltip\": \"Returns the expression if it is not null\",\"help-contents\": \"Return
s <expression> if it is not null, otherwise returns zero. \\n\\nExample: ZN([Pr
ofit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false}]},\"calculation-context\": \"calculation-dialog\",\"use-par
ameters\": true} position=\"41\"","name":"tabdoc:calculation-auto-complete"}}
{"ts":"2016-09-29T16:42:33.806","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED [C
ustomer Name]:MIN([Order Date])}\" calculation={\"datasource\": \"excel-direct.0
s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \"Calculation1\",\"pendin
g-calc-name\": \"Calculation_5489888009455513600\",\"scope-isolation\": true,\"c
alculation-formula\": \"\",\"fn\": \"\",\"fn-source\": \"\",\"calculation-depend
encies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-role\": \
"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\": 0,\"styl
e-token-list\":[],\"error-string\": \"\",\"error-info-list\":[],\"expression-fun
c-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func-sig\": \"ABS(number)
\",\"func-tooltip\": \"Returns the absolute value of a number\",\"help-contents\
": \"Returns the absolute value of the given number. \\n\\nExample: ABS(-7) = 7\
",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false}
,{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-tooltip\": \"Returns
the arc cosine of a number\",\"help-contents\": \"Returns the arc cosine of a nu
mber. The result is in radians. \\n\\nExample: ACOS(-1) = 3.14159265358979\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"
name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN <then> END\",\"functooltip\": \"Performs a logical conjunction on two expressions\",\"help-contents
\": \"Performs a logical conjunction on two expressions\",\"func-grps\":[\"logic
\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ASCII\",\"func-s
ig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASCII code for the first
character in a string\",\"help-contents\": \"Returns the ASCII code value of th
e first character in a string. \\n\\nExample: ASCII(\\\"authors\\\") = 97\",\"fu
nc-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"nam
e\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\": \"Returns the arc
sine of a number\",\"help-contents\": \"Returns the arc sine of a number. The
result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267949\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ATA
N\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Returns the arc tangent o
f a number\",\"help-contents\": \"Returns the arc tangent of a number. The resu
lt is in radians. \\n\\nExample: ATAN(180) = 1.5652408283942\",\"func-grps\":[\
"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ATAN
2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tooltip\": \"Returns the
arc tangent of two numbers\",\"help-contents\": \"Returns the arc tangent of two
given numbers (x and y). The result is in radians. \\n\\nExample: ATAN2(2, 1)
= 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real
\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig\": \"ATTR(expression
)\",\"func-tooltip\": \"Returns the value of the expression if it has one value
for all rows\",\"help-contents\": \"Returns the value of the given expression if
it only has a single value for all rows in the group, otherwise it displays an

asterisk (*). Null values are ignored.\\n\\nExample: ATTR([Market])\",\"func-grp


s\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\
": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip\": \"Returns the ave
rage of the values in the expression\",\"help-contents\": \"Returns the average
of all the values in the expression. AVG can be used with numeric fields only. N
ull values are ignored.\\n\\nExample: AVG([Profit])\",\"func-grps\":[\"agg\"],\"
func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CASE\",\"funcsig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"func
-tooltip\": \"Performs logical tests and returns the appropriate value\",\"helpcontents\": \"Finds the first <value> that matches <expr> and returns the corres
ponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 W
HEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-type
s\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"func-sig\": \"CEILING(n
umber)\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or
greater value\",\"help-contents\": \"Rounds a number to the nearest integer of e
qual or greater value. \\n\\nExample: CEILING(3.1415) = 4\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CHAR\",\
"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts an integer ASCII cod
e into a character\",\"help-contents\": \"Converts the given integer ASCII code
into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-grps\":[\"str\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CONTAINS\",\"funcsig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"Returns true if a str
ing contains the specified substring\",\"help-contents\": \"Returns true if the
string contains the substring. \\n\\nExample: CONTAINS(\\\"Calculation\\\", \\\"
alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"]
,\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\": \"COS(angle)\",\"func
-tooltip\": \"Returns the cosine of an angle specified in radians\",\"help-conte
nts\": \"Returns the cosine of an angle. Specify the angle in radians.\\n\\nExam
ple: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"func-sig\": \"COT(ang
le)\",\"func-tooltip\": \"Returns the cotangent of an angle specified in radians
\",\"help-contents\": \"Returns the cotangent of an angle. Specify the angle in
radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"num\"],\"func-arg-type
s\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\",\"func-sig\": \"COU
NT(expression)\",\"func-tooltip\": \"Returns the number of items in the expressi
on\",\"help-contents\": \"Returns the number of items in a group. NULL values ar
e not counted.\\n\\nExample: COUNT([Customer ID])\",\"func-grps\":[\"agg\"],\"fu
nc-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"COUNTD\",\"fu
nc-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Returns the number of disti
nct items in the expression\",\"help-contents\": \"Returns the number of distinc
t items in a group. NULL values are not counted. Each unique value is counted o
nly once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"agg\"],\"func-arg-ty
pes\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"DATE\",\"func-sig\": \
"DATE(expression)\",\"func-tooltip\": \"Returns a date from a number\",\"help-co
ntents\": \"Returns a date given a number, string, or date expression. \\n\\nEx
ample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote that the quotation ma
rks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\"],\"hasvar-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"DATEADD(date_part, int
erval, date)\",\"func-tooltip\": \"Returns the specified date incremented by the
specified amount\",\"help-contents\": \"Adds an increment to the specified date
and returns the new date. The increment is defined by the interval and the date
_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM
\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"integer\",\"datetim
e\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"func-sig\": \"DATEDIFF(d
ate_part, start_date, end_date, [start_of_week])\",\"func-tooltip\": \"Returns t
he difference between two dates\",\"help-contents\": \"Returns the difference be
tween two dates where start_date is subtracted from end_date. The difference is
expressed in units of date_part. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DA
TEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\",\"func-grps\":[\"da

te\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetime\",\"locstr\"],\"has
-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \"DATENAME(date_part,
date, [start_of_week])\",\"func-tooltip\": \"Returns a part of the specified dat
e as a string\",\"help-contents\": \"Returns a part of the given date as a strin
g, where the part is defined by date_part. If start_of_week is omitted, the week
start day is determined by the start day configured for the data source.\\n\\nE
xample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"func-grps\":[\"date\
"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": fal
se},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(format, string)\",\"functooltip\": \"Converts a string to a date\",\"help-contents\": \"Converts a strin
g to a date in the specified format. \\n\\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\
\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"func-grps\":[\"date\"],
\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": false},{\"name\": \"DA
TEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_of_week])\",\"func-too
ltip\": \"Returns the specified part of a date as an integer\",\"help-contents\"
: \"Returns a part of the given date as an integer where the part is defined by
date_part. If start_of_week is omitted, the week start day is determined by the
start day configured for the data source.\\n\\nExample: DATEPART('month', #200404-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime
\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETIME\",\"func-sig\": \"
DATETIME(expression)\",\"func-tooltip\": \"Returns a datetime from a number\",\"
help-contents\": \"Returns a datetime given a number, string, or date expression
. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\") \\nNote that the qu
otation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str
\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"func-sig\": \"DATETRUNC(
date_part, date, [start_of_week])\",\"func-tooltip\": \"Truncates the specified
date to the specified accuracy\",\"help-contents\": \"Truncates the specified da
te to the accuracy specified by the date_part and returns the new date. If start
_of_week is omitted, the week start day is determined by the start day configure
d for the data source.\\n\\nExample: DATETRUNC('quarter', #2004-08-15#) = 2004-0
7-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"dat
etime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DAY\",\"func-sig\": \"
DAY(date)\",\"func-tooltip\": \"Returns the day part of the specified date as an
integer\",\"help-contents\": \"Returns the day of the given date as an integer.
\\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"date\"],\"func-arg-ty
pes\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"DEGREES\",\"func-sig\
": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value in radians to degree
s\",\"help-contents\": \"Converts a number in radians to degrees.\\n\\nExample:
DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"DIV(integer, integer)
\",\"func-tooltip\": \"Returns the integer part of a division operation\",\"help
-contents\": \"Returns the integer part of a division.\\n\\nExample: DIV(11, 2)
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has
-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <expr> THEN <then> [E
LSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs
a logical test and returns an appropriate value\",\"help-contents\": \"Tests a
series of expressions returning the <then> value for the first true <expr>. \\n\
\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven
' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-ar
gs\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF
<expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a lo
gical test and returns an appropriate value\",\"help-contents\": \"Tests a serie
s of expressions returning the <then> value for the first true <expr>. \\n\\nExa
mple: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELS
E 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2>
THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical te
st and returns an appropriate value\",\"help-contents\": \"Tests a series of exp
ressions returning the <then> value for the first true <expr>. \\n\\nExample: IF
[Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss'

END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},
{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, substring)\",\"func-too
ltip\": \"Returns true if the specified string ends with the specified substring
\",\"help-contents\": \"Returns true if the string ends with the substring (trai
ling whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Calculation\\\", \\\"io
n\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"
has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\": \"{ EXCLUDE [dim1[,
dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate e
xcluding the specified dimensions if present in the view.\",\"help-contents\": \
"Computes an aggregate excluding the specified dimensions if present in the view
.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"na
me\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\": \"Returns e raised
to the power of a number\",\"help-contents\": \"Returns e raised to the power o
f the given number. \\n\\nExample: EXP(5) = e^5\",\"func-grps\":[\"num\"],\"fun
c-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FIND\",\"func-sig
\": \"FIND(string, substring, [start])\",\"func-tooltip\": \"Returns the positio
n of a substring within a string\",\"help-contents\": \"Returns the position of
a substring within a string, or 0 if the substring isn't found. If the start arg
ument is defined, any instances of substring that appear before the start positi
on are ignored. The first character in the string is position 1. \\n\\nExample:
FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FINDNT
H\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\",\"func-tooltip\": \
"Returns the position of the nth occurrence a substring within a string\",\"help
-contents\": \"Returns the position of the nth occurrence of a substring within
a string, or 0 if that occurrence of the substring isn't found. The first charac
ter in the string is position 1. \\n\\nExample: FINDNTH(\\\"Calculation\\\", \\\
"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"r
eal\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func-sig\": \"FIRST()\",\
"func-tooltip\": \"Returns the number of rows from to the first row in the parti
tion\",\"help-contents\": \"Returns the number of rows from the current row to t
he first row in the partition.\\n\\nExample (current row index is 3 of 7):\\nFIR
ST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": f
alse},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[, dim2]...] : aggregate
-expression }\",\"func-tooltip\": \"Computes an aggregate using only the specifi
ed dimensions.\",\"help-contents\": \"Computes an aggregate using only the speci
fied dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expression)\",\"func-toolti
p\": \"Returns a float from an expression\",\"help-contents\": \"Returns a float
given an expression of any type. This function requires unformatted numbers whi
ch means exclude commas and other symbols. \\n\\nExample: FLOAT(\\\"3\\\")= 3.0
00\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\":
false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\",\"func-tooltip\": \
"Rounds a number to the nearest integer of equal or lesser value\",\"help-conten
ts\": \"Rounds a number to the nearest integer of equal or lesser value. \\n\\nE
xample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"
],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-sig\": \"FULLNAME()\",
\"func-tooltip\": \"Returns the full name for the current user\",\"help-contents
\": \"Returns the full name for the current user. This is the Tableau Server or
Tableau Online full name when the user is signed in; otherwise it is the local o
r network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"f
unc-arg-types\":[],\"has-var-args\": false},{\"name\": \"HEXBINX\",\"func-sig\":
\"HEXBINX(number, number)\",\"func-tooltip\": \"Returns the x-coordinate of the
nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate to the x
-coordinate of the nearest hexagonal bin. The bins have side length 1, so the in
puts may need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"func-arg-t
ypes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"HEXBINY\",\"fun
c-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Returns the y-coordinat
e of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate
to the y-coordinate of the nearest hexagonal bin. The bins have side length 1, s

o the inputs may need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"fu


nc-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"IF\",\"
func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <els
e>] END\",\"func-tooltip\": \"Performs a logical test and returns an appropriate
value\",\"help-contents\": \"Tests a series of expressions returning the <then>
value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitabl
e' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic
\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IFNULL\",\"funcsig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns expression1 if not n
ull\",\"help-contents\": \"Returns <expr1> if it is not null, otherwise returns
<expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\":[\"logic\"],\"funcarg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"IIF\
",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func-tooltip\": \"Evaluat
es a Boolean expression and returns one of two values\",\"help-contents\": \"Che
cks whether a condition is met, and returns one value if TRUE, another value if
FALSE, and an optional third value or NULL if unknown. \\n\\nExample: IIF([Profi
t] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"bool
ean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"INCLUDE\
",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"functooltip\": \"Computes an aggregate using the specified dimensions and the view d
imensions.\",\"help-contents\": \"Computes an aggregate using the specified dime
nsions and the view dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\": \"INDEX()\",\"func-t
ooltip\": \"Returns the index of the current row in the partition\",\"help-conte
nts\": \"Returns the index of the current row in the partition.\\n\\nExample (fo
r the first row in the partition): INDEX( ) = 1\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT\",\"func-sig\": \"IN
T(expression)\",\"func-tooltip\": \"Evaluates an expression and returns an integ
er\",\"help-contents\": \"Returns an integer given an expression. This function
truncates results to the closest integer toward zero. \\n\\nExample: INT(8.0/3.0
) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean
\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-sig\": \"ISDATE(string
)\",\"func-tooltip\": \"Returns true if the string is a valid date\",\"help-cont
ents\": \"Returns true if a given string is a valid date. \\n\\nExample: ISDATE
(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date\",\"logic\"],\"funcarg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"ISFULLNAME\",\"funcsig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns true if the current us
er's full name matches the specified name\",\"help-contents\": \"Returns true if
the current user's full name matches the specified full name, or false if it do
es not match. This function uses the Tableau Server or Tableau Online full name
when the user is signed in; otherwise it uses the local or network full name for
the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locs
tr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"func-sig\": \"ISMEMBE
ROF(string)\",\"func-tooltip\": \"Returns true if the current user is a member o
f the specified group\",\"help-contents\": \"Returns true if the current user is
a member of the given group, false otherwise. This uses the Tableau Server to
resolve group membership if logged on, otherwise it always returns false.\",\"fu
nc-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\
"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"func-tooltip\": \"Ret
urns true if the specified expression is null\",\"help-contents\": \"Returns tru
e if the expression does not contain valid data (Null).\\n\\nExample: ISNULL([Pr
ofit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\"],\"has-var-ar
gs\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUSERNAME(string)\",\"fu
nc-tooltip\": \"Returns true if the current user's name matches the specified us
er name\",\"help-contents\": \"Returns true if the current user's username match
es the specified username, or false if it does not match. This function uses the
Tableau Server or Tableau Online username when the user is signed in; otherwise
it uses the local or network username for the Tableau Desktop user.\",\"func-gr
ps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name
\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"Returns the number of

rows to the last row in the partition\",\"help-contents\": \"Returns the number


of rows from the current row to the last row in the partition.\\n\\nExample (cur
rent row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[\"table\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"func-sig\": \"LEFT(st
ring, num_chars)\",\"func-tooltip\": \"Returns the specified number of character
s from the start of a string\",\"help-contents\": \"Returns the specified number
of characters from the start of the given string. \\n\\nExample: LEFT(\\\"Calc
ulation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"s
tr\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",\"func-sig\": \"LEN(s
tring)\",\"func-tooltip\": \"Returns the number of characters in a string\",\"he
lp-contents\": \"Returns the number of characters in the given string. \\n\\nExa
mple: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"func-sig\": \"LN(number)
\",\"func-tooltip\": \"Returns the natural logarithm of a number\",\"help-conten
ts\": \"Returns the natural logarithm of the given number. Returns Null if the n
umber is less than or equal to 0.\\n\\nExample: LN(EXP(5)) = 5\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"LOG
\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\": \"Returns the logarit
hm of a number for the given base\",\"help-contents\": \"Returns the logarithm o
f a number for the given base. If the base value is omitted, base 10 is used.\\n
\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"func-grps\":[\"num\"]
,\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"LO
OKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"func-tooltip\": \"Return
s the value of the expression in a row offset from current row\",\"help-contents
\": \"Returns the value of the given expression in a target row, specified as a
relative offset from the current row. Use FIRST()+n and LAST()-n for a target re
lative to the first/last rows in the partition. If offset is omitted, the Compar
e To row may be set on the field menu. Returns NULL if the target row cannot be
determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) + 2) = SUM(Profit) in
the third row of the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"LOWER\",\"func-sig
\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string in all lowercase char
acters\",\"help-contents\": \"Converts a text string to all lowercase letters. \
\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LTRIM\",\"fu
nc-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a string with leading sp
aces removed\",\"help-contents\": \"Returns the string with any leading spaces r
emoved. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\"\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"MAKEDA
TE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-tooltip\": \"Returns a
date value constructed from a year, a month and a day of the month.\",\"help-con
tents\": \"Returns a date value constructed from a year, a month and a day of th
e month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-grps\":[\"cast\"],\"fu
nc-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date, time)\",\"func-tool
tip\": \"Returns a datetime by combining a date and a time\",\"help-contents\":
\"Returns a date and time value given a date expression and a time expression.
\\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"func-grps\":[\"cast\"]
,\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\": false},{\"name\":
\"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)\",\"func-tooltip\":
\"Returns a time value constructed from hours, minutes and seconds.\",\"help-con
tents\": \"Returns a time value constructed from hours, minutes and seconds. \\
n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast\"],\"func-arg-types\
":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"MA
X\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",\"func-tooltip\": \"R
eturns the maximum of an expression\",\"help-contents\": \"Returns the maximum o
f a single expression across all records or the maximum of two expressions for e
ach record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\"num\",\"str\",\"date
\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expression)\",\"func-tooltip\

": \"Returns the median of an expression\",\"help-contents\": \"Returns the medi


an of a single expression. MEDIAN can be used with numeric fields only. Null val
ues are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-grps\":[\"agg\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"MID\",\"func-sig\"
: \"MID(string,start,[length])\",\"func-tooltip\": \"Returns the characters from
the middle of a text string\",\"help-contents\": \"Returns the characters from
the middle of a text string given a starting position and a length. The first ch
aracter in the string is position 1. If the length is not included, all characte
rs to the end of the string are returned. If the length is included, up to that
many characters are returned. \\n\\nExample: MID(\\\"Tableau Software\\\",9) = \
\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\",2,4) = \\\"able\\\"\
",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\",\"real\"],\"has-v
ar-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(expression) or MIN(expr
1, expr2)\",\"func-tooltip\": \"Returns the minimum of an expression\",\"help-co
ntents\": \"Returns the minimum of an expression across all records or the minim
um of two expressions for each record. \\n\\nExample: MIN([Profit])\",\"func-gr
ps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\
"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"func-sig\": \"MONTH(dat
e)\",\"func-tooltip\": \"Returns the month part of the specified date as an inte
ger\",\"help-contents\": \"Returns the month of a given date as an integer. \\n
\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\
":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\",\"func-sig\": \"IF
NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs logical negation on an
expression\",\"help-contents\": \"Performs logical negation on an expression\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Returns the current date
and time\",\"help-contents\": \"Returns the current date and time. \\n\\nExamp
le: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"],\"func-arg-types\":
[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\": \"IF <expr1> OR <exp
r2> THEN <then> END\",\"func-tooltip\": \"Performs a logical disjunction on two
expressions\",\"help-contents\": \"Performs a logical disjunction on two express
ions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},
{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expression, number)\",\"fun
c-tooltip\": \"Returns the percentile value at the specified number\",\"help-con
tents\": \"Aggregate calculation that returns the percentile value from the give
n expression corresponding to the specified number. Valid values for the number
are 0 through 1. PERCENTILE([expression], 0.50) will always return the median va
lue in the expression.\\n\\nExample: PERCENTILE([Sales], 0.90)\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-var-args\": false},{\"n
ame\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Returns the numeric con
stant pi\",\"help-contents\": \"Returns the numeric constant pi.\\n\\nExample: P
I() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(number,power)\",\"fun
c-tooltip\": \"Raises the number to the specified power\",\"help-contents\": \"R
eturns the result of a number raised to the given power. \\n\\nExample: POWER(5,
2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\
"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"func-sig\": \"PREVIOUS_V
ALUE(expression)\",\"func-tooltip\": \"Returns the value of this calculation in
the previous row\",\"help-contents\": \"Returns the value of this calculation in
the previous row. Returns the given expression if the current row is the first
row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOUS_VALUE(0) = running
sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(1) = running product
of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \"RADIANS(number)\",\"
func-tooltip\": \"Converts a number in degrees to radians\",\"help-contents\": \
"Converts a number in degrees to radians.\",\"func-grps\":[\"num\"],\"func-arg-t
ypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"RANK\",\"func-sig\": \"R
ANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the competition ra
nk for the current partition row\",\"help-contents\": \"Returns the standard com
petition rank for the current row in the partition. Identical values are assigne

d an identical rank. Use the optional 'asc' | 'desc' argument to specify ascendi
ng or descending order. The default order is descending.\\n\\nWith this function
, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 4) in ascending orde
r.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_DENSE\
",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"R
eturns the dense rank for the current partition row\",\"help-contents\": \"Retur
ns the dense rank for the current row in the partition. Identical values are ass
igned an identical rank, but no gaps are inserted into the number sequence. Use
the optional 'asc' | 'desc' argument to specify ascending or descending order. T
he default order is descending.\\n\\nWith this function, the set of values (6, 9
, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\n\\nExample: RANK_DEN
SE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"l
ocstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIED\",\"func-sig\": \"R
ANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the modif
ied competition rank for the current partition row\",\"help-contents\": \"Return
s the modified competition rank for the current row in the partition. Identical
values are assigned an identical rank. Use the optional 'asc' | 'desc' argument
to specify ascending or descending order. The default order is descending.\\n\\n
With this function, the set of values (6, 9, 9, 14) would be ranked (1, 3, 3, 4)
in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velocity]))\",\"func-grps\
":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": fals
e},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERCENTILE(expression, ['
asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile rank for the current
partition row\",\"help-contents\": \"Returns the percentile rank for the current
row in the partition. Use the optional 'asc' | 'desc' argument to specify ascen
ding or descending order. The default order is ascending.\\n\\nWith this functio
n, the set of values (6, 9, 9, 14) would be ranked (25, 75, 75, 100) in ascendin
g order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\",\"func-grps\":[\"tab
le\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"na
me\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expression, ['asc'|'desc'])\",
\"func-tooltip\": \"Returns the unique rank for the current partition row\",\"he
lp-contents\": \"Returns the unique rank for the current row in the partition. I
dentical values are assigned different ranks. Use the optional 'asc' | 'desc' ar
gument to specify ascending or descending order. The default order is descending
.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2
, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1 for the first row in
the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"loc
str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT\",\"func-sig\": \"RE
GEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns the portion of a str
ing matching the capturing group in a regular expression\",\"help-contents\": \"
Returns a substring of the given string that matches the capturing group within
the regular expression pattern. The regular expression pattern requires exactly
one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 123', '[a-z]+\\\\s+(\\\
\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"
has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"func-sig\": \"REGEXP_
EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"Returns a substring of
a string using a regular expression pattern\",\"help-contents\": \"Returns a su
bstring of the given string using the regular expression pattern. The substring
is matched to the nth capturing group, where n is the given index. \\n\\nExampl
e: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)', 2) = '123'\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locint\"],\"has-var-args\"
: false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP_MATCH(string, patter
n)\",\"func-tooltip\": \"Returns true if a string matches a regular expression\"
,\"help-contents\": \"Returns true if a substring of the provided string matches
the regular expression pattern. \\n\\nExample: REGEXP_MATCH('-([1234].[ The.Mar
ket ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') = true\",\"func-grps\":
[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\
": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string, pattern, replacemen
t)\",\"func-tooltip\": \"Returns a string where substrings matching a regular ex

pression are replaced\",\"help-contents\": \"Returns a copy of the given string


where the matching pattern is substituted with the replacement string. \\n\\nExa
mple: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"n
ame\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substring, replacement)\",\"f
unc-tooltip\": \"Replaces all instances of a substring within a string\",\"helpcontents\": \"Returns a string in which every occurrence of the substring is rep
laced with the replacement string. If the substring is not found, the string is
unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"ion\\\", \\\"ed\\\")
= \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str
\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\"func-sig\": \"RIGHT(
string, num_chars)\",\"func-tooltip\": \"Returns the specified number of charact
ers from the end of a string\",\"help-contents\": \"Returns the specified number
of characters from the end of the given string. \\n\\nExample: RIGHT(\\\"Calcu
lation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"st
r\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\",\"func-sig\": \"ROUN
D(number, [decimals])\",\"func-tooltip\": \"Rounds a number to the specified num
ber of places\",\"help-contents\": \"Rounds a number to the nearest integer or t
o a specified number of decimal places. \\n\\nExample: ROUND(3.1415, 1) = 3.1\",
\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\":
false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\",\"func-tooltip\": \
"Returns a string with trailing spaces removed\",\"help-contents\": \"Returns th
e string with any trailing spaces removed. \\n\\nExample: RTRIM(\\\"Market \\\"
) = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"hasvar-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\": \"RUNNING_AVG(expres
sion)\",\"func-tooltip\": \"Returns the running average of an expression\",\"hel
p-contents\": \"Returns the running average of the given expression, from the fi
rst row in the partition to the current row.\\n\\nExample: RUNNING_AVG(SUM([Prof
it])) = running average of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING_COUNT\",\"func-si
g\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Returns the running count
of an expression\",\"help-contents\": \"Returns the running count of the given
expression, from the first row in the partition to the current row.\\n\\nExample
: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profit)\",\"func-grps\":[\
"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RU
NNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"func-tooltip\": \"Return
s the running maximum of an expression\",\"help-contents\": \"Returns the runnin
g maximum of the given expression, from the first row in the partition to the cu
rrent row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = running maximum of Profit\
\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum of SUM(Profit)\",\"fu
nc-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},
{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expression)\",\"func-tool
tip\": \"Returns the running minimum of an expression\",\"help-contents\": \"Ret
urns the running minimum of the given expression, from the first row in the part
ition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Profit])) = running min
imum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = running minimum of SUM
(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-varargs\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"RUNNING_SUM(expression
)\",\"func-tooltip\": \"Returns the running sum of an expression\",\"help-conten
ts\": \"Returns the running sum of the given expression, from the first row in t
he partition to the current row.\\n\\nExample: RUNNING_SUM(SUM([Profit])) = runn
ing sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])) = running count of
Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCRIPT_BOOL(string, expr
ession, ...)\",\"func-tooltip\": \"Returns a Boolean result from an R expression
\",\"help-contents\": \"Returns a Boolean result from a given R expression. The
R expression is passed directly to a running Rserve instance. Use .arg# in the R
expression to reference parameters. In the following example, .arg1 is equal to
SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.arg1)\\\", SUM([Profit
]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": t

rue},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(string, expression, ..


.)\",\"func-tooltip\": \"Returns an integer result from an R expression\",\"help
-contents\": \"Returns an integer result from a given R expression. The R expres
sion is passed directly to a running Rserve instance. Use .arg# in the R express
ion to reference parameters. In the following example, .arg1 is equal to SUM([Pr
ofit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)\\\", SUM([Profit]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true}
,{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(string, expression, ...)
\",\"func-tooltip\": \"Returns a numeric result from an R expression\",\"help-co
ntents\": \"Returns a numeric result from a given R expression. The R expression
is passed directly to a running Rserve instance. Use .arg# in the R expression
to reference parameters. In the following example, .arg1 is equal to SUM([Profit
]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Profit]))\",\"func-grps
\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \
"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression, ...)\",\"func-toolt
ip\": \"Returns a string result from an R expression\",\"help-contents\": \"Retu
rns a string result from a given R expression. The R expression is passed direct
ly to a running Rserve instance. Use .arg# in the R expression to reference para
meters. In the following example, .arg1 is equal to ATTR([Region]). \\n\\nExampl
e: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\",\"func-grps\":[\"ta
ble\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SIGN\",
\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns 1 for a positive numb
er\",\"help-contents\": \"Returns the sign of a number: 1 if the number is posit
ive, zero if the number is zero, or -1 if the number is negative.\\n\\nExample:
SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angle)\",\"func-tooltip\"
: \"Returns the sine of a number\",\"help-contents\": \"Returns the sine of an a
ngle. Specify the angle in radians.\\n\\nExample: SIN(PI()/4) = 0.70710678118654
8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tooltip\": \"Returns the
number of rows in the partition\",\"help-contents\": \"Returns the number of row
s in the partition.\\n\\nExample (partition has 5 rows):\\nSIZE( ) = 5\",\"funcgrps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"S
PACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"Returns a string cont
aining the specified number of spaces\",\"help-contents\": \"Returns a string co
mposed of the specified number of repeated spaces. \\n\\nExample: SPACE(2) = \\\
" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string, delimiter, token num
ber)\",\"func-tooltip\": \"Extracts a substring from a string\",\"help-contents\
": \"Returns a substring from a string, as determined by a delimiter extracting
the characters from the beginning or end of the string. \\n\\nExample: SPLIT('ab-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-', -2) = 'c'\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"locint\"],\"has-var-args
\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)\",\"func-tooltip\":
\"Returns the square root of a number\",\"help-contents\": \"Returns the square
root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps\":[\"num\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SQUARE\",\"func-sig\
": \"SQUARE(number)\",\"func-tooltip\": \"Returns the square of a number\",\"hel
p-contents\": \"Returns the square of a given number. \\n\\nExample: SQUARE(5) =
25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(string, substring)\",\
"func-tooltip\": \"Returns true if the specified string starts with the specifie
d substring\",\"help-contents\": \"Returns true if the string starts with the su
bstring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\"Ca\\\") is true\",\"
func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": fal
se},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\",\"func-tooltip\": \
"Returns the sample standard deviation for an expression\",\"help-contents\": \"
Returns the sample standard deviation of the expression.\\n\\nExample: STDEV([Pr
ofit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expression)\",\"func-toolti

p\": \"Returns the population standard deviation for an expression\",\"help-cont


ents\": \"Returns the population standard deviation of the expression.\\n\\nExam
ple: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"STR(expression)\",\"fu
nc-tooltip\": \"Returns an expression as a string\",\"help-contents\": \"Returns
a string given an expression. \\n\\nExample: STR([Age]) returns all of the val
ues of the Age measure as strings.\",\"func-grps\":[\"cast\"],\"func-arg-types\"
:[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",\"func-sig\": \"SUM(e
xpression)\",\"func-tooltip\": \"Returns the sum of values in an expression\",\"
help-contents\": \"Returns the sum of all the values in the expression. SUM can
be used with numeric fields only. Null values are ignored.\\n\\nExample: SUM([Pr
ofit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"func-tooltip\": \"Retu
rns the tangent of an angle specified in radians\",\"help-contents\": \"Returns
the tangent of an angle. Specify the angle in radians.\\n\\nExample: TAN(PI()/4)
= 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2
> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical t
est and returns an appropriate value\",\"help-contents\": \"Tests a series of ex
pressions returning the <then> value for the first true <expr>. \\n\\nExample: I
F [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss
' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false}
,{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tooltip\": \"Returns the
current date\",\"help-contents\": \"Returns the current date. \\n\\nExample: TO
DAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"has-var-ar
gs\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(expression)\",\"func-too
ltip\": \"Returns the total for an expression within the partition\",\"help-cont
ents\": \"Returns the total for the given expression.\\n\\nExample: TOTAL(AVG([P
rofit])) = AVG(Profit) for all database rows that contribute to the partition\",
\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": fal
se},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"func-tooltip\": \"Retur
ns a string with leading and trailing spaces removed\",\"help-contents\": \"Retu
rns the string with both leading and trailing spaces removed. \\n\\nExample: TRI
M(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"str\"],\"func-arg-types
\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",\"func-sig\": \"UPPER
(string)\",\"func-tooltip\": \"Returns a string in all uppercase characters\",\"
help-contents\": \"Converts a text string to all uppercase letters. \\n\\nExampl
e: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"USERDOMAIN\",\"func-sig
\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain for the current user
\",\"help-contents\": \"Returns the domain for the current user when the user is
signed on to Tableau Server. Returns the Windows domain if the Tableau Desktop
user is on a domain. Otherwise this function returns a null string.\",\"func-grp
s\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"USERN
AME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Returns the user name for
the current user\",\"help-contents\": \"Returns the username for the current us
er. This is the Tableau Server or Tableau Online username when the user is signe
d in; otherwise it is the local or network username for the Tableau Desktop user
.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"n
ame\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-tooltip\": \"Returns the
sample variance for an expression\",\"help-contents\": \"Returns the sample var
iance of the expression.\\n\\nExample: VAR([Profit])\",\"func-grps\":[\"agg\"],\
"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"VARP\",\"func
-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns the population variance
for an expression\",\"help-contents\": \"Returns the population variance of the
expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-t
ypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHEN\",\"func-sig\": \"C
ASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"func-tooltip\"
: \"Performs logical tests and returns the appropriate value\",\"help-contents\"
: \"Finds the first <value> that matches <expr> and returns the corresponding <r

eturn>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018


II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\": \"WINDOW_AVG(expre
ssion, [start, end])\",\"func-tooltip\": \"Returns the average of the values wit
hin the window\",\"help-contents\": \"Returns the average of the expression with
in the window. The window is defined as offsets from the current row. Use FIRST
()+n and LAST()-n for offsets from the first or last row in the partition. If s
tart and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_AVG
(SUM([Profit]), -2, 0) = average of SUM(Profit) from the two previous rows to th
e current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_COUNT\",\"func-sig\
": \"WINDOW_COUNT(expression, [start, end])\",\"func-tooltip\": \"Returns the nu
mber of items within the window\",\"help-contents\": \"Returns the count of the
expression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the p
artition. If start and end are omitted, the entire partition is used.\\n\\nExam
ple: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Profit) from the two prev
ious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"r
eal\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MAX\
",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"func-tooltip\": \"Ret
urns the maximum within the window\",\"help-contents\": \"Returns the maximum of
the expression within the window. The window is defined as offsets from the cu
rrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\\
nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Profit from the two prev
ious rows to the current row\\n\\nExample: WINDOW_MAX(SUM([Profit]), -2, 0) = ma
ximum of SUM(Profit) from the two previous rows to the current row\",\"func-grps
\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-va
r-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\": \"WINDOW_MEDIAN(expr
ession, [start, end])\",\"func-tooltip\": \"Returns the median within the window
\",\"help-contents\": \"Returns the median of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST()
-n for offsets from the first or last row in the partition. If start and end ar
e omitted, the entire partition is used.\\n\\nExample: WINDOW_MEDIAN(SUM([Profit
]), -2, 0) = median of SUM(Profit) from the two previous rows to the current row
\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\
"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"func-sig\": \"WINDOW_MIN
(expression, [start, end])\",\"func-tooltip\": \"Returns the minimum within the
window\",\"help-contents\": \"Returns the minimum of the expression within the w
indow. The window is defined as offsets from the current row. Use FIRST()+n and
LAST()-n for offsets from the first or last row in the partition. If start and
end are omitted, the entire partition is used.\\n\\nExample: WINDOW_MIN(MIN([Pr
ofit]), -2, 0) = minimum of Profit from the two previous rows to the current row
\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum of SUM(Profit) from th
e two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(expression, number, [sta
rt, end])\",\"func-tooltip\": \"Returns the percentile value at the specified nu
mber\",\"help-contents\": \"Returns the value corresponding to the specified per
centile within the window. The window is defined as offsets from the current ro
w. Use FIRST()+n and LAST()-n for offsets from the first or last row in the part
ition. If start and end are omitted, the entire partition is used.\\n\\nExample
: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th percentile of SUM(Prof
it) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"
func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integer\"],\"has-var-args\"
: false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW_STDEV(expression, [s
tart, end])\",\"func-tooltip\": \"Returns the sample standard deviation within t
he window\",\"help-contents\": \"Returns the sample standard deviation of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par

tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two pr
evious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_ST
DEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, end])\",\"func-tooltip\
": \"Returns the population standard deviation within the window\",\"help-conten
ts\": \"Returns the population standard deviation of the expression within the w
indow. The window is defined as offsets from the current row. Use FIRST()+n and
LAST()-n for offsets from the first or last row in the partition. If start and
end are omitted, the entire partition is used.\\n\\nExample: WINDOW_STDEVP(SUM(
[Profit]), -2, 0) = std. dev. of SUM(Profit) from the two previous rows to the c
urrent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_SUM\",\"func-sig\": \"
WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"Returns the sum of va
lues within the window\",\"help-contents\": \"Returns the sum of the expression
within the window. The window is defined as offsets from the current row. Use F
IRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WINDOW
_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the two previous rows to th
e current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"inte
ger\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_VAR\",\"func-sig
\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip\": \"Returns the sam
ple variance within the window\",\"help-contents\": \"Returns the sample varianc
e of the expression within the window. The window is defined as offsets from th
e current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\
\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance of SUM(Profit) from th
e two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"W
INDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start, end])\",\"func-tool
tip\": \"Returns the population variance within the window\",\"help-contents\":
\"Returns the population variance of the expression within the window. The wind
ow is defined as offsets from the current row. Use FIRST()+n and LAST()-n for of
fsets from the first or last row in the partition. If start and end are omitted
, the entire partition is used.\\n\\nExample: WINDOW_VARP(SUM([Profit]), -2, 0)
= variance of SUM(Profit) from the two previous rows to the current row\",\"func
-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"hasvar-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR(date)\",\"func-toolt
ip\": \"Returns the year of the specified date as an integer\",\"help-contents\"
: \"Returns the year of a given date as an integer. \\n\\nExample: YEAR(#2004-0
4-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has
-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(expression)\",\"func-to
oltip\": \"Returns the expression if it is not null\",\"help-contents\": \"Retur
ns <expression> if it is not null, otherwise returns zero. \\n\\nExample: ZN([P
rofit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-types\":[\"integer\"],\"h
as-var-args\": false}]},\"calculation-context\": \"calculation-dialog\",\"use-pa
rameters\": true} position=\"41\"","name":"tabdoc:calculation-auto-complete"}}
{"ts":"2016-09-29T16:42:35.807","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:apply-calculation is-full-styling=\"false\" updated
-calculation-caption=\"Calculation1\" updated-calculation-formula=\"{FIXED [Cust
omer Name]:MIN([Order Date])}\"","name":"tabdoc:apply-calculation"}}
{"ts":"2016-09-29T16:42:35.810","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:apply-calculation is-full-styling=\"false\" update
d-calculation-caption=\"Calculation1\" updated-calculation-formula=\"{FIXED [Cus
tomer Name]:MIN([Order Date])}\"","name":"tabdoc:apply-calculation"}}
{"ts":"2016-09-29T16:42:35.831","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}

{"ts":"2016-09-29T16:42:35.831","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:42:35.831","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0}}
{"ts":"2016-09-29T16:42:35.831","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:42:35.831","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:42:35.831","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:42:35.831","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:42:35.831","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:42:35.831","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:42:35.831","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0}}
{"ts":"2016-09-29T16:42:35.831","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0}}
{"ts":"2016-09-29T16:42:35.832","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:42:35.832","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:42:35.832","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0}}
{"ts":"2016-09-29T16:42:35.833","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.001 sec"}
{"ts":"2016-09-29T16:42:35.833","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.001,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:42:35.841","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:42:35.841","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using Qt"}
{"ts":"2016-09-29T16:42:35.846","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:42:35.877","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:42:36.942","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:clear-calculation-model","name":"tabdoc:clear-calcu

lation-model"}}
{"ts":"2016-09-29T16:42:36.942","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:clear-calculation-model","name":"tabdoc:clear-calcu
lation-model"}}
{"ts":"2016-09-29T16:42:36.942","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:clear-calculation-model","name":"tabdoc:clear-calc
ulation-model"}}
{"ts":"2016-09-29T16:42:36.942","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:clear-calculation-model","name":"tabdoc:clear-calc
ulation-model"}}
{"ts":"2016-09-29T16:42:50.056","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: invoking the context menu."}
{"ts":"2016-09-29T16:42:53.476","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: context menu event loop returned."}
{"ts":"2016-09-29T16:42:53.534","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:create-calculation-ui use-selector=\"false\"","name"
:"tabui:create-calculation-ui"}}
{"ts":"2016-09-29T16:42:53.534","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:create-calc datasource=\"excel-direct.0s0w8bc1somq6
z110noi81jfj70l\"","name":"tabdoc:create-calc"}}
{"ts":"2016-09-29T16:42:53.534","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:create-calc datasource=\"excel-direct.0s0w8bc1somq
6z110noi81jfj70l\"","name":"tabdoc:create-calc"}}
{"ts":"2016-09-29T16:42:53.552","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:create-calculation-ui use-selector=\"false\"","name
":"tabui:create-calculation-ui"}}
{"ts":"2016-09-29T16:42:55.665","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC(
'month',[Order Date])-DATETRUNC('month',[Calculation5])\" calculation={\"datasou
rce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \"
Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"scop
e-isolation\": true,\"calculation-formula\": \"\",\"fn\": \"\",\"fn-source\": \"
\",\"calculation-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": f
alse,\"folder-role\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc
-types-used\": 0,\"style-token-list\":[],\"error-string\": \"\",\"error-info-lis
t\":[],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"fu
nc-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a nu
mber\",\"help-contents\": \"Returns the absolute value of the given number. \\n\
\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"fun
c-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns
the arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1)
= 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has
-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> TH
EN <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two expres
sions\",\"help-contents\": \"Performs a logical conjunction on two expressions\"
,\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"nam
e\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the A
SCII code for the first character in a string\",\"help-contents\": \"Returns the
ASCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"a

uthors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-va
r-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-toolt
ip\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc
sine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.57079632
67949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Re
turns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent
of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.565240828
3942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-to
oltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns
the arc tangent of two given numbers (x and y). The result is in radians. \\n\
\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-t
ypes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-s
ig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expressi
on if it has one value for all rows\",\"help-contents\": \"Returns the value of
the given expression if it only has a single value for all rows in the group, ot
herwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR
([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-varargs\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-toolt
ip\": \"Returns the average of the values in the expression\",\"help-contents\":
\"Returns the average of all the values in the expression. AVG can be used with
numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"f
unc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n
ame\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [EL
SE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns the appr
opriate value\",\"help-contents\": \"Finds the first <value> that matches <expr>
and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN
\u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"l
ogic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"
func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the neare
st integer of equal or greater value\",\"help-contents\": \"Rounds a number to t
he nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4
\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Conver
ts an integer ASCII code into a character\",\"help-contents\": \"Converts the gi
ven integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"funcgrps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\":
\"Returns true if a string contains the specified substring\",\"help-contents\":
\"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\
\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\"
: \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in
radians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angl
e in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"n
um\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",
\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an ang
le specified in radians\",\"help-contents\": \"Returns the cotangent of an angle
. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\
"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUN
T\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number o
f items in the expression\",\"help-contents\": \"Returns the number of items in
a group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"fun
c-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"
name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Retu
rns the number of distinct items in the expression\",\"help-contents\": \"Return
s the number of distinct items in a group. NULL values are not counted. Each un
ique value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":
[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \

"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date fr


om a number\",\"help-contents\": \"Returns a date given a number, string, or dat
e expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNot
e that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-t
ypes\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \
"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified
date incremented by the specified amount\",\"help-contents\": \"Adds an incremen
t to the specified date and returns the new date. The increment is defined by th
e interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) =
2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\
",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"f
unc-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func
-tooltip\": \"Returns the difference between two dates\",\"help-contents\": \"Re
turns the difference between two dates where start_date is subtracted from end_d
ate. The difference is expressed in units of date_part. If start_of_week is omit
ted, the week start day is determined by the start day configured for the data s
ource.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = 3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datet
ime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\":
\"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a pa
rt of the specified date as a string\",\"help-contents\": \"Returns a part of th
e given date as a string, where the part is defined by date_part. If start_of_we
ek is omitted, the week start day is determined by the start day configured for
the data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\"
,\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"
],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(fo
rmat, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-content
s\": \"Converts a string to a date in the specified format. \\n\\nExample: DATEP
ARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"
func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\":
false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start
_of_week])\",\"func-tooltip\": \"Returns the specified part of a date as an inte
ger\",\"help-contents\": \"Returns a part of the given date as an integer where
the part is defined by date_part. If start_of_week is omitted, the week start da
y is determined by the start day configured for the data source.\\n\\nExample: D
ATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\"
:[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATE
TIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a date
time from a number\",\"help-contents\": \"Returns a datetime given a number, str
ing, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\
") \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"
func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"f
unc-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"T
runcates the specified date to the specified accuracy\",\"help-contents\": \"Tru
ncates the specified date to the accuracy specified by the date_part and returns
the new date. If start_of_week is omitted, the week start day is determined by
the start day configured for the data source.\\n\\nExample: DATETRUNC('quarter',
#2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-ty
pes\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \
"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of t
he specified date as an integer\",\"help-contents\": \"Returns the day of the gi
ven date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[
\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\":
\"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a val
ue in radians to degrees\",\"help-contents\": \"Converts a number in radians to
degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\":
\"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divi
sion operation\",\"help-contents\": \"Returns the integer part of a division.\\n
\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integ

er\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"I


F <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"fun
c-tooltip\": \"Performs a logical test and returns an appropriate value\",\"help
-contents\": \"Tests a series of expressions returning the <then> value for the
first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Prof
it] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <ex
pr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-too
ltip\": \"Performs a logical test and returns an appropriate value\",\"help-cont
ents\": \"Tests a series of expressions returning the <then> value for the first
true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =
0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\":
\"Performs a logical test and returns an appropriate value\",\"help-contents\":
\"Tests a series of expressions returning the <then> value for the first true <e
xpr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN
'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"
has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string,
substring)\",\"func-tooltip\": \"Returns true if the specified string ends with
the specified substring\",\"help-contents\": \"Returns true if the string ends w
ith the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"
Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types
\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\
": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"
Computes an aggregate excluding the specified dimensions if present in the view.
\",\"help-contents\": \"Computes an aggregate excluding the specified dimensions
if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-toolti
p\": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns
e raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\"
: \"Returns the position of a substring within a string\",\"help-contents\": \"R
eturns the position of a substring within a string, or 0 if the substring isn't
found. If the start argument is defined, any instances of substring that appear
before the start position are ignored. The first character in the string is posi
tion 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps
\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": fal
se},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence
)\",\"func-tooltip\": \"Returns the position of the nth occurrence a substring w
ithin a string\",\"help-contents\": \"Returns the position of the nth occurrence
of a substring within a string, or 0 if that occurrence of the substring isn't
found. The first character in the string is position 1. \\n\\nExample: FINDNTH(\
\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types
\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"fu
nc-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the
first row in the partition\",\"help-contents\": \"Returns the number of rows fr
om the current row to the first row in the partition.\\n\\nExample (current row
index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[
, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate
using only the specified dimensions.\",\"help-contents\": \"Computes an aggrega
te using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-typ
es\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expr
ession)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-conten
ts\": \"Returns a float given an expression of any type. This function requires
unformatted numbers which means exclude commas and other symbols. \\n\\nExample
: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boole
an\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number

)\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesse


r value\",\"help-contents\": \"Rounds a number to the nearest integer of equal o
r lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"fun
c-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func
-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current
user\",\"help-contents\": \"Returns the full name for the current user. This is
the Tableau Server or Tableau Online full name when the user is signed in; othe
rwise it is the local or network full name for the Tableau Desktop user.\",\"fun
c-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"
HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns
the x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x
,y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have s
ide length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\"
:[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"na
me\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"
Returns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Ma
ps an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bin
s have side length 1, so the inputs may need to be scaled appropriately.\",\"fun
c-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": fals
e},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN
<then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and
returns an appropriate value\",\"help-contents\": \"Tests a series of expressio
ns returning the <then> value for the first true <expr>. \\n\\nExample: IF [Prof
it] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\"
,\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"nam
e\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Retur
ns expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not n
ull, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grp
s\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"fu
nc-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",\
"help-contents\": \"Checks whether a condition is met, and returns one value if
TRUE, another value if FALSE, and an optional third value or NULL if unknown. \\
n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"f
unc-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false
},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate
-expression }\",\"func-tooltip\": \"Computes an aggregate using the specified di
mensions and the view dimensions.\",\"help-contents\": \"Computes an aggregate u
sing the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"]
,\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\
": \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the p
artition\",\"help-contents\": \"Returns the index of the current row in the part
ition.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"funcgrps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"I
NT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expressi
on and returns an integer\",\"help-contents\": \"Returns an integer given an exp
ression. This function truncates results to the closest integer toward zero. \\n
\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func
-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func
-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a v
alid date\",\"help-contents\": \"Returns true if a given string is a valid date.
\\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"da
te\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns
true if the current user's full name matches the specified name\",\"help-conten
ts\": \"Returns true if the current user's full name matches the specified full
name, or false if it does not match. This function uses the Tableau Server or Ta
bleau Online full name when the user is signed in; otherwise it uses the local o
r network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"f
unc-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",

\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the cur


rent user is a member of the specified group\",\"help-contents\": \"Returns true
if the current user is a member of the given group, false otherwise. This uses
the Tableau Server to resolve group membership if logged on, otherwise it alway
s returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"ha
s-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",
\"func-tooltip\": \"Returns true if the specified expression is null\",\"help-co
ntents\": \"Returns true if the expression does not contain valid data (Null).\\
n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"
boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"IS
USERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name m
atches the specified user name\",\"help-contents\": \"Returns true if the curren
t user's username matches the specified username, or false if it does not match.
This function uses the Tableau Server or Tableau Online username when the user
is signed in; otherwise it uses the local or network username for the Tableau De
sktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var
-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \
"Returns the number of rows to the last row in the partition\",\"help-contents\"
: \"Returns the number of rows from the current row to the last row in the parti
tion.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\"
:[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",
\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specif
ied number of characters from the start of a string\",\"help-contents\": \"Retur
ns the specified number of characters from the start of the given string. \\n\\
nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],
\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\
",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of charac
ters in a string\",\"help-contents\": \"Returns the number of characters in the
given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"f
unc-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a
number\",\"help-contents\": \"Returns the natural logarithm of the given number
. Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5)
) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\"
: \"Returns the logarithm of a number for the given base\",\"help-contents\": \"
Returns the logarithm of a number for the given base. If the base value is omitt
ed, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",
\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\":
false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"f
unc-tooltip\": \"Returns the value of the expression in a row offset from curren
t row\",\"help-contents\": \"Returns the value of the given expression in a targ
et row, specified as a relative offset from the current row. Use FIRST()+n and L
AST()-n for a target relative to the first/last rows in the partition. If offset
is omitted, the Compare To row may be set on the field menu. Returns NULL if th
e target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( )
+ 2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"
],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\
": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a strin
g in all lowercase characters\",\"help-contents\": \"Converts a text string to a
ll lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",
\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\
"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a
string with leading spaces removed\",\"help-contents\": \"Returns the string wi
th any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\
\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fal
se},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"functooltip\": \"Returns a date value constructed from a year, a month and a day of
the month.\",\"help-contents\": \"Returns a date value constructed from a year,
a month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func

-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"ha
s-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(da
te, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a tim
e\",\"help-contents\": \"Returns a date and time value given a date expression a
nd a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\
"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-arg
s\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, secon
d)\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes an
d seconds.\",\"help-contents\": \"Returns a time value constructed from hours, m
inutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"ca
st\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\
",\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\":
\"Returns the maximum of a single expression across all records or the maximum o
f two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":
[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real
\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expres
sion)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-content
s\": \"Returns the median of a single expression. MEDIAN can be used with numeri
c fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Retu
rns the characters from the middle of a text string\",\"help-contents\": \"Retur
ns the characters from the middle of a text string given a starting position and
a length. The first character in the string is position 1. If the length is not
included, all characters to the end of the string are returned. If the length i
s included, up to that many characters are returned. \\n\\nExample: MID(\\\"Tabl
eau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\
\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"r
eal\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(
expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an
expression\",\"help-contents\": \"Returns the minimum of an expression across a
ll records or the minimum of two expressions for each record. \\n\\nExample: MI
N([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"funcarg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"
func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the sp
ecified date as an integer\",\"help-contents\": \"Returns the month of a given d
ate as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"da
te\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NO
T\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs
logical negation on an expression\",\"help-contents\": \"Performs logical negat
ion on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"R
eturns the current date and time\",\"help-contents\": \"Returns the current date
and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date
\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\
": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logi
cal disjunction on two expressions\",\"help-contents\": \"Performs a logical dis
junction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"
has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expr
ession, number)\",\"func-tooltip\": \"Returns the percentile value at the specif
ied number\",\"help-contents\": \"Aggregate calculation that returns the percent
ile value from the given expression corresponding to the specified number. Valid
values for the number are 0 through 1. PERCENTILE([expression], 0.50) will alwa
ys return the median value in the expression.\\n\\nExample: PERCENTILE([Sales],
0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"hasvar-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"
Returns the numeric constant pi\",\"help-contents\": \"Returns the numeric const
ant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-a
rg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWE

R(number,power)\",\"func-tooltip\": \"Raises the number to the specified power\"


,\"help-contents\": \"Returns the result of a number raised to the given power.
\\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"f
unc-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value
of this calculation in the previous row\",\"help-contents\": \"Returns the value
of this calculation in the previous row. Returns the given expression if the cu
rrent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVI
OUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALU
E(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\":
\"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians
\",\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\"
:[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"R
ANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Ret
urns the competition rank for the current partition row\",\"help-contents\": \"R
eturns the standard competition rank for the current row in the partition. Ident
ical values are assigned an identical rank. Use the optional 'asc' | 'desc' argu
ment to specify ascending or descending order. The default order is descending.\
\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2,
2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\
"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{
\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\
",\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"h
elp-contents\": \"Returns the dense rank for the current row in the partition. I
dentical values are assigned an identical rank, but no gaps are inserted into th
e number sequence. Use the optional 'asc' | 'desc' argument to specify ascending
or descending order. The default order is descending.\\n\\nWith this function,
the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.
\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIF
IED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip
\": \"Returns the modified competition rank for the current partition row\",\"he
lp-contents\": \"Returns the modified competition rank for the current row in th
e partition. Identical values are assigned an identical rank. Use the optional '
asc' | 'desc' argument to specify ascending or descending order. The default ord
er is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Vel
ocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"]
,\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PE
RCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentil
e rank for the current partition row\",\"help-contents\": \"Returns the percenti
le rank for the current row in the partition. Use the optional 'asc' | 'desc' ar
gument to specify ascending or descending order. The default order is ascending.
\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 7
5, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))
\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-v
ar-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(express
ion, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the curre
nt partition row\",\"help-contents\": \"Returns the unique rank for the current
row in the partition. Identical values are assigned different ranks. Use the opt
ional 'asc' | 'desc' argument to specify ascending or descending order. The defa
ult order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14
) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() =
1 for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRA
CT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Retur
ns the portion of a string matching the capturing group in a regular expression\
",\"help-contents\": \"Returns a substring of the given string that matches the
capturing group within the regular expression pattern. The regular expression p

attern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc


123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types
\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",
\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \
"Returns a substring of a string using a regular expression pattern\",\"help-con
tents\": \"Returns a substring of the given string using the regular expression
pattern. The substring is matched to the nth capturing group, where n is the gi
ven index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)'
, 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"loc
int\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGE
XP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches
a regular expression\",\"help-contents\": \"Returns true if a substring of the
provided string matches the regular expression pattern. \\n\\nExample: REGEXP_MA
TCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])')
= true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-varargs\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(stri
ng, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substring
s matching a regular expression are replaced\",\"help-contents\": \"Returns a co
py of the given string where the matching pattern is substituted with the replac
ement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--12
3'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"hasvar-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substr
ing, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring wi
thin a string\",\"help-contents\": \"Returns a string in which every occurrence
of the substring is replaced with the replacement string. If the substring is no
t found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\
\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\"
,\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the spec
ified number of characters from the end of a string\",\"help-contents\": \"Retur
ns the specified number of characters from the end of the given string. \\n\\nE
xample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\
"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND
\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a numb
er to the specified number of places\",\"help-contents\": \"Rounds a number to t
he nearest integer or to a specified number of decimal places. \\n\\nExample: RO
UND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"re
al\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string
)\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-c
ontents\": \"Returns the string with any trailing spaces removed. \\n\\nExample
: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-t
ypes\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\
": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average o
f an expression\",\"help-contents\": \"Returns the running average of the given
expression, from the first row in the partition to the current row.\\n\\nExample
: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\
"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RU
NNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Re
turns the running count of an expression\",\"help-contents\": \"Returns the runn
ing count of the given expression, from the first row in the partition to the cu
rrent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Pro
fit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"f
unc-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\
": \"Returns the running maximum of the given expression, from the first row in
the partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = run
ning maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximu
m of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"
has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(ex
pression)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\

"help-contents\": \"Returns the running minimum of the given expression, from th


e first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([
Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) =
running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \
"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an exp
ression\",\"help-contents\": \"Returns the running sum of the given expression,
from the first row in the partition to the current row.\\n\\nExample: RUNNING_SU
M(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit
])) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"S
CRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean resu
lt from an R expression\",\"help-contents\": \"Returns a Boolean result from a g
iven R expression. The R expression is passed directly to a running Rserve insta
nce. Use .arg# in the R expression to reference parameters. In the following exa
mple, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(
.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str
\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT
(string, expression, ...)\",\"func-tooltip\": \"Returns an integer result from a
n R expression\",\"help-contents\": \"Returns an integer result from a given R e
xpression. The R expression is passed directly to a running Rserve instance. Use
.arg# in the R expression to reference parameters. In the following example, .a
rg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 *
5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],
\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(s
tring, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R
expression\",\"help-contents\": \"Returns a numeric result from a given R expre
ssion. The R expression is passed directly to a running Rserve instance. Use .ar
g# in the R expression to reference parameters. In the following example, .arg1
is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([
Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-arg
s\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expressi
on, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"
help-contents\": \"Returns a string result from a given R expression. The R expr
ession is passed directly to a running Rserve instance. Use .arg# in the R expre
ssion to reference parameters. In the following example, .arg1 is equal to ATTR(
[Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region])
)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": tru
e},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Return
s 1 for a positive number\",\"help-contents\": \"Returns the sign of a number: 1
if the number is positive, zero if the number is zero, or -1 if the number is n
egative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types
\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(an
gle)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"R
eturns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI(
)/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-to
oltip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Re
turns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\
\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\"
: false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\":
\"Returns a string containing the specified number of spaces\",\"help-contents\"
: \"Returns a string composed of the specified number of repeated spaces. \\n\\n
Example: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(strin
g, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a st
ring\",\"help-contents\": \"Returns a substring from a string, as determined by
a delimiter extracting the characters from the beginning or end of the string. \
\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-'
, -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"l

ocint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(numbe


r)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\"
: \"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-gr
ps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the squ
are of a number\",\"help-contents\": \"Returns the square of a given number. \\n
\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\
"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH
(string, substring)\",\"func-tooltip\": \"Returns true if the specified string s
tarts with the specified substring\",\"help-contents\": \"Returns true if the st
ring starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \
\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"
],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression
)\",\"func-tooltip\": \"Returns the sample standard deviation for an expression\
",\"help-contents\": \"Returns the sample standard deviation of the expression.\
\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expr
ession)\",\"func-tooltip\": \"Returns the population standard deviation for an e
xpression\",\"help-contents\": \"Returns the population standard deviation of th
e expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \
"STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"hel
p-contents\": \"Returns a string given an expression. \\n\\nExample: STR([Age])
returns all of the values of the Age measure as strings.\",\"func-grps\":[\"cas
t\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\
",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of value
s in an expression\",\"help-contents\": \"Returns the sum of all the values in t
he expression. SUM can be used with numeric fields only. Null values are ignored
.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\
"func-tooltip\": \"Returns the tangent of an angle specified in radians\",\"help
-contents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n
\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THE
N <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\":
\"Performs a logical test and returns an appropriate value\",\"help-contents\":
\"Tests a series of expressions returning the <then> value for the first true <
expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN
'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\
"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-to
oltip\": \"Returns the current date\",\"help-contents\": \"Returns the current d
ate. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(e
xpression)\",\"func-tooltip\": \"Returns the total for an expression within the
partition\",\"help-contents\": \"Returns the total for the given expression.\\n\
\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contrib
ute to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"
],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"
func-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"
help-contents\": \"Returns the string with both leading and trailing spaces remo
ved. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\
",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all up
percase characters\",\"help-contents\": \"Converts a text string to all uppercas
e letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps
\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"
USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the doma
in for the current user\",\"help-contents\": \"Returns the domain for the curren
t user when the user is signed on to Tableau Server. Returns the Windows domain
if the Tableau Desktop user is on a domain. Otherwise this function returns a nu

ll string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fa
lse},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Re
turns the user name for the current user\",\"help-contents\": \"Returns the user
name for the current user. This is the Tableau Server or Tableau Online username
when the user is signed in; otherwise it is the local or network username for t
he Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"hasvar-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-t
ooltip\": \"Returns the sample variance for an expression\",\"help-contents\": \
"Returns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"
func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"
name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns
the population variance for an expression\",\"help-contents\": \"Returns the pop
ulation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\"
:[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"W
HEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>]
END\",\"func-tooltip\": \"Performs logical tests and returns the appropriate va
lue\",\"help-contents\": \"Finds the first <value> that matches <expr> and retur
ns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u
2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"
func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-si
g\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the av
erage of the values within the window\",\"help-contents\": \"Returns the average
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\\
n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIN
DOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-tool
tip\": \"Returns the number of items within the window\",\"help-contents\": \"Re
turns the count of the expression within the window. The window is defined as o
ffsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fir
st or last row in the partition. If start and end are omitted, the entire parti
tion is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Pr
ofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{
\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",
\"func-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \
"Returns the maximum of the expression within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from th
e first or last row in the partition. If start and end are omitted, the entire
partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of P
rofit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM
([Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the cu
rrent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\
",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\
": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the m
edian within the window\",\"help-contents\": \"Returns the median of the express
ion within the window. The window is defined as offsets from the current row. U
se FIRST()+n and LAST()-n for offsets from the first or last row in the partitio
n. If start and end are omitted, the entire partition is used.\\n\\nExample: WI
NDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous
rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"
,\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"f
unc-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns
the minimum within the window\",\"help-contents\": \"Returns the minimum of the
expression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the p
artition. If start and end are omitted, the entire partition is used.\\n\\nExam
ple: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous

rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum


of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\
"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-arg
s\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(e
xpression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile va
lue at the specified number\",\"help-contents\": \"Returns the value correspondi
ng to the specified percentile within the window. The window is defined as offs
ets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partitio
n is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th
percentile of SUM(Profit) from the two previous rows to the current row\",\"fun
c-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"inte
ger\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WIND
OW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample stan
dard deviation within the window\",\"help-contents\": \"Returns the sample stand
ard deviation of the expression within the window. The window is defined as off
sets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partiti
on is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(
Profit) from the two previous rows to the current row\",\"func-grps\":[\"table\"
],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false}
,{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start,
end])\",\"func-tooltip\": \"Returns the population standard deviation within the
window\",\"help-contents\": \"Returns the population standard deviation of the
expression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the p
artition. If start and end are omitted, the entire partition is used.\\n\\nExam
ple: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW
_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\":
\"Returns the sum of values within the window\",\"help-contents\": \"Returns the
sum of the expression within the window. The window is defined as offsets from
the current row. Use FIRST()+n and LAST()-n for offsets from the first or last
row in the partition. If start and end are omitted, the entire partition is use
d.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"
WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-toolt
ip\": \"Returns the sample variance within the window\",\"help-contents\": \"Ret
urns the sample variance of the expression within the window. The window is def
ined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets fro
m the first or last row in the partition. If start and end are omitted, the ent
ire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\
"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\"
: false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [sta
rt, end])\",\"func-tooltip\": \"Returns the population variance within the windo
w\",\"help-contents\": \"Returns the population variance of the expression withi
n the window. The window is defined as offsets from the current row. Use FIRST(
)+n and LAST()-n for offsets from the first or last row in the partition. If st
art and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP
(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to t
he current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"intege
r\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YE
AR(date)\",\"func-tooltip\": \"Returns the year of the specified date as an inte
ger\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\
\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types
\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(
expression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"h

elp-contents\": \"Returns <expression> if it is not null, otherwise returns zero


. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-ty
pes\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calcul
ation-dialog\",\"use-parameters\": true} position=\"65\"","name":"tabdoc:calcula
tion-auto-complete"}}
{"ts":"2016-09-29T16:42:55.665","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC
('month',[Order Date])-DATETRUNC('month',[Calculation5])\" calculation={\"dataso
urce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \
"Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"sco
pe-isolation\": true,\"calculation-formula\": \"\",\"fn\": \"\",\"fn-source\": \
"\",\"calculation-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\":
false,\"folder-role\": \"dimensions\",\"has-table-calc-data\": false,\"table-cal
c-types-used\": 0,\"style-token-list\":[],\"error-string\": \"\",\"error-info-li
st\":[],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"f
unc-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a n
umber\",\"help-contents\": \"Returns the absolute value of the given number. \\n
\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"fu
nc-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Return
s the arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1)
= 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"ha
s-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> T
HEN <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two expre
ssions\",\"help-contents\": \"Performs a logical conjunction on two expressions\
",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"na
me\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the
ASCII code for the first character in a string\",\"help-contents\": \"Returns th
e ASCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"
authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-v
ar-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tool
tip\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc
sine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963
267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"R
eturns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangen
t of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.56524082
83942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-t
ooltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Return
s the arc tangent of two given numbers (x and y). The result is in radians. \\n
\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-argtypes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"funcsig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the express
ion if it has one value for all rows\",\"help-contents\": \"Returns the value of
the given expression if it only has a single value for all rows in the group, o
therwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATT
R([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var
-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tool
tip\": \"Returns the average of the values in the expression\",\"help-contents\"
: \"Returns the average of all the values in the expression. AVG can be used wit
h numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"
func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"
name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [E
LSE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns the app
ropriate value\",\"help-contents\": \"Finds the first <value> that matches <expr
> and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHE
N \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"
logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\

"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the near


est integer of equal or greater value\",\"help-contents\": \"Rounds a number to
the nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) =
4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Conve
rts an integer ASCII code into a character\",\"help-contents\": \"Converts the g
iven integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func
-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\":
\"Returns true if a string contains the specified substring\",\"help-contents\"
: \"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\
\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-t
ypes\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\
": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified i
n radians\",\"help-contents\": \"Returns the cosine of an angle. Specify the ang
le in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"
num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\"
,\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an an
gle specified in radians\",\"help-contents\": \"Returns the cotangent of an angl
e. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COU
NT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number
of items in the expression\",\"help-contents\": \"Returns the number of items in
a group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"fu
nc-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\
"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Ret
urns the number of distinct items in the expression\",\"help-contents\": \"Retur
ns the number of distinct items in a group. NULL values are not counted. Each u
nique value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\"
:[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\":
\"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date f
rom a number\",\"help-contents\": \"Returns a date given a number, string, or da
te expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNo
te that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-argtypes\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\":
\"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified
date incremented by the specified amount\",\"help-contents\": \"Adds an increme
nt to the specified date and returns the new date. The increment is defined by t
he interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#)
= 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr
\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"
func-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"fun
c-tooltip\": \"Returns the difference between two dates\",\"help-contents\": \"R
eturns the difference between two dates where start_date is subtracted from end_
date. The difference is expressed in units of date_part. If start_of_week is omi
tted, the week start day is determined by the start day configured for the data
source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') =
-3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"date
time\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\"
: \"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a p
art of the specified date as a string\",\"help-contents\": \"Returns a part of t
he given date as a string, where the part is defined by date_part. If start_of_w
eek is omitted, the week start day is determined by the start day configured for
the data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\
",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\
"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(f
ormat, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-conten
ts\": \"Converts a string to a date in the specified format. \\n\\nExample: DATE
PARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\
"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\"

: false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [star


t_of_week])\",\"func-tooltip\": \"Returns the specified part of a date as an int
eger\",\"help-contents\": \"Returns a part of the given date as an integer where
the part is defined by date_part. If start_of_week is omitted, the week start d
ay is determined by the start day configured for the data source.\\n\\nExample:
DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\
":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DAT
ETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a dat
etime from a number\",\"help-contents\": \"Returns a datetime given a number, st
ring, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\
\") \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\
"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"
func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"
Truncates the specified date to the specified accuracy\",\"help-contents\": \"Tr
uncates the specified date to the accuracy specified by the date_part and return
s the new date. If start_of_week is omitted, the week start day is determined by
the start day configured for the data source.\\n\\nExample: DATETRUNC('quarter'
, #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-t
ypes\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\":
\"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of
the specified date as an integer\",\"help-contents\": \"Returns the day of the g
iven date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":
[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\":
\"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a va
lue in radians to degrees\",\"help-contents\": \"Converts a number in radians to
degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\":
\"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a div
ision operation\",\"help-contents\": \"Returns the integer part of a division.\\
n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"inte
ger\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"
IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"fu
nc-tooltip\": \"Performs a logical test and returns an appropriate value\",\"hel
p-contents\": \"Tests a series of expressions returning the <then> value for the
first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Pro
fit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <e
xpr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-to
oltip\": \"Performs a logical test and returns an appropriate value\",\"help-con
tents\": \"Tests a series of expressions returning the <then> value for the firs
t true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit]
= 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-type
s\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THE
N <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\":
\"Performs a logical test and returns an appropriate value\",\"help-contents\":
\"Tests a series of expressions returning the <then> value for the first true <
expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN
'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\
"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string,
substring)\",\"func-tooltip\": \"Returns true if the specified string ends with
the specified substring\",\"help-contents\": \"Returns true if the string ends
with the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\
"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig
\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \
"Computes an aggregate excluding the specified dimensions if present in the view
.\",\"help-contents\": \"Computes an aggregate excluding the specified dimension
s if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"hasvar-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-toolt
ip\": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns

e raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"fun


c-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\
": \"Returns the position of a substring within a string\",\"help-contents\": \"
Returns the position of a substring within a string, or 0 if the substring isn't
found. If the start argument is defined, any instances of substring that appear
before the start position are ignored. The first character in the string is pos
ition 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grp
s\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": fa
lse},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrenc
e)\",\"func-tooltip\": \"Returns the position of the nth occurrence a substring
within a string\",\"help-contents\": \"Returns the position of the nth occurrenc
e of a substring within a string, or 0 if that occurrence of the substring isn't
found. The first character in the string is position 1. \\n\\nExample: FINDNTH(
\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"f
unc-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to th
e first row in the partition\",\"help-contents\": \"Returns the number of rows f
rom the current row to the first row in the partition.\\n\\nExample (current row
index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1
[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregat
e using only the specified dimensions.\",\"help-contents\": \"Computes an aggreg
ate using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(exp
ression)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-conte
nts\": \"Returns a float given an expression of any type. This function requires
unformatted numbers which means exclude commas and other symbols. \\n\\nExampl
e: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"bool
ean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(numbe
r)\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or less
er value\",\"help-contents\": \"Rounds a number to the nearest integer of equal
or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"fu
nc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"fun
c-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the curren
t user\",\"help-contents\": \"Returns the full name for the current user. This i
s the Tableau Server or Tableau Online full name when the user is signed in; oth
erwise it is the local or network full name for the Tableau Desktop user.\",\"fu
nc-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \
"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns
the x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (
x,y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have
side length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\
":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"n
ame\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \
"Returns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"M
aps an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bi
ns have side length 1, so the inputs may need to be scaled appropriately.\",\"fu
nc-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": fal
se},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN
<then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test an
d returns an appropriate value\",\"help-contents\": \"Tests a series of expressi
ons returning the <then> value for the first true <expr>. \\n\\nExample: IF [Pro
fit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\
",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"na
me\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Retu
rns expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not
null, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-gr
ps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"f

unc-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",


\"help-contents\": \"Checks whether a condition is met, and returns one value if
TRUE, another value if FALSE, and an optional third value or NULL if unknown. \
\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"
func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": fals
e},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregat
e-expression }\",\"func-tooltip\": \"Computes an aggregate using the specified d
imensions and the view dimensions.\",\"help-contents\": \"Computes an aggregate
using the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"
],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig
\": \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the
partition\",\"help-contents\": \"Returns the index of the current row in the par
tition.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func
-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"
INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an express
ion and returns an integer\",\"help-contents\": \"Returns an integer given an ex
pression. This function truncates results to the closest integer toward zero. \\
n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"fun
c-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"fun
c-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a
valid date\",\"help-contents\": \"Returns true if a given string is a valid date
. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"d
ate\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\"
: \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Return
s true if the current user's full name matches the specified name\",\"help-conte
nts\": \"Returns true if the current user's full name matches the specified full
name, or false if it does not match. This function uses the Tableau Server or T
ableau Online full name when the user is signed in; otherwise it uses the local
or network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"
func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\"
,\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the cu
rrent user is a member of the specified group\",\"help-contents\": \"Returns tru
e if the current user is a member of the given group, false otherwise. This use
s the Tableau Server to resolve group membership if logged on, otherwise it alwa
ys returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"h
as-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\"
,\"func-tooltip\": \"Returns true if the specified expression is null\",\"help-c
ontents\": \"Returns true if the expression does not contain valid data (Null).\
\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\
"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"I
SUSERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name
matches the specified user name\",\"help-contents\": \"Returns true if the curre
nt user's username matches the specified username, or false if it does not match
. This function uses the Tableau Server or Tableau Online username when the user
is signed in; otherwise it uses the local or network username for the Tableau D
esktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-va
r-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\":
\"Returns the number of rows to the last row in the partition\",\"help-contents\
": \"Returns the number of rows from the current row to the last row in the part
ition.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\
":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\"
,\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the speci
fied number of characters from the start of a string\",\"help-contents\": \"Retu
rns the specified number of characters from the start of the given string. \\n\
\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN
\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of chara
cters in a string\",\"help-contents\": \"Returns the number of characters in the
given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"

func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of


a number\",\"help-contents\": \"Returns the natural logarithm of the given numbe
r. Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5
)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\
": \"Returns the logarithm of a number for the given base\",\"help-contents\": \
"Returns the logarithm of a number for the given base. If the base value is omit
ted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\"
: false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"
func-tooltip\": \"Returns the value of the expression in a row offset from curre
nt row\",\"help-contents\": \"Returns the value of the given expression in a tar
get row, specified as a relative offset from the current row. Use FIRST()+n and
LAST()-n for a target relative to the first/last rows in the partition. If offse
t is omitted, the Compare To row may be set on the field menu. Returns NULL if t
he target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( )
+ 2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\
"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name
\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a stri
ng in all lowercase characters\",\"help-contents\": \"Converts a text string to
all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\"
,\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{
\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns
a string with leading spaces removed\",\"help-contents\": \"Returns the string w
ith any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales
\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fa
lse},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func
-tooltip\": \"Returns a date value constructed from a year, a month and a day of
the month.\",\"help-contents\": \"Returns a date value constructed from a year,
a month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"fun
c-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"h
as-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(d
ate, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a ti
me\",\"help-contents\": \"Returns a date and time value given a date expression
and a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",
\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-ar
gs\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, seco
nd)\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes a
nd seconds.\",\"help-contents\": \"Returns a time value constructed from hours,
minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"c
ast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\"
: false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)
\",\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\":
\"Returns the maximum of a single expression across all records or the maximum
of two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\"
:[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"rea
l\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expre
ssion)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-conten
ts\": \"Returns the median of a single expression. MEDIAN can be used with numer
ic fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Ret
urns the characters from the middle of a text string\",\"help-contents\": \"Retu
rns the characters from the middle of a text string given a starting position an
d a length. The first character in the string is position 1. If the length is no
t included, all characters to the end of the string are returned. If the length
is included, up to that many characters are returned. \\n\\nExample: MID(\\\"Tab
leau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\
\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"
real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN

(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of a


n expression\",\"help-contents\": \"Returns the minimum of an expression across
all records or the minimum of two expressions for each record. \\n\\nExample: M
IN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func
-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\
"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the s
pecified date as an integer\",\"help-contents\": \"Returns the month of a given
date as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"d
ate\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"N
OT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Perform
s logical negation on an expression\",\"help-contents\": \"Performs logical nega
tion on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"
Returns the current date and time\",\"help-contents\": \"Returns the current dat
e and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"dat
e\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig
\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a log
ical disjunction on two expressions\",\"help-contents\": \"Performs a logical di
sjunction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\
"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(exp
ression, number)\",\"func-tooltip\": \"Returns the percentile value at the speci
fied number\",\"help-contents\": \"Aggregate calculation that returns the percen
tile value from the given expression corresponding to the specified number. Vali
d values for the number are 0 through 1. PERCENTILE([expression], 0.50) will alw
ays return the median value in the expression.\\n\\nExample: PERCENTILE([Sales],
0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has
-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \
"Returns the numeric constant pi\",\"help-contents\": \"Returns the numeric cons
tant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"funcarg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POW
ER(number,power)\",\"func-tooltip\": \"Raises the number to the specified power\
",\"help-contents\": \"Returns the result of a number raised to the given power.
\\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types
\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"
func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value
of this calculation in the previous row\",\"help-contents\": \"Returns the valu
e of this calculation in the previous row. Returns the given expression if the c
urrent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREV
IOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VAL
UE(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\"
: \"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radian
s\",\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\
":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Re
turns the competition rank for the current partition row\",\"help-contents\": \"
Returns the standard competition rank for the current row in the partition. Iden
tical values are assigned an identical rank. Use the optional 'asc' | 'desc' arg
ument to specify ascending or descending order. The default order is descending.
\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2,
2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[
\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},
{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])
\",\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"
help-contents\": \"Returns the dense rank for the current row in the partition.
Identical values are assigned an identical rank, but no gaps are inserted into t
he number sequence. Use the optional 'asc' | 'desc' argument to specify ascendin
g or descending order. The default order is descending.\\n\\nWith this function,
the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order
.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-

types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODI


FIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-toolti
p\": \"Returns the modified competition rank for the current partition row\",\"h
elp-contents\": \"Returns the modified competition rank for the current row in t
he partition. Identical values are assigned an identical rank. Use the optional
'asc' | 'desc' argument to specify ascending or descending order. The default or
der is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) woul
d be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Ve
locity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"
],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_P
ERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percenti
le rank for the current partition row\",\"help-contents\": \"Returns the percent
ile rank for the current row in the partition. Use the optional 'asc' | 'desc' a
rgument to specify ascending or descending order. The default order is ascending
.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25,
75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score])
)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"hasvar-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expres
sion, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the curr
ent partition row\",\"help-contents\": \"Returns the unique rank for the current
row in the partition. Identical values are assigned different ranks. Use the op
tional 'asc' | 'desc' argument to specify ascending or descending order. The def
ault order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 1
4) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE()
= 1 for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTR
ACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Retu
rns the portion of a string matching the capturing group in a regular expression
\",\"help-contents\": \"Returns a substring of the given string that matches the
capturing group within the regular expression pattern. The regular expression
pattern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc
123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\"
,\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\":
\"Returns a substring of a string using a regular expression pattern\",\"help-co
ntents\": \"Returns a substring of the given string using the regular expression
pattern. The substring is matched to the nth capturing group, where n is the g
iven index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)
', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"lo
cint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REG
EXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matche
s a regular expression\",\"help-contents\": \"Returns true if a substring of the
provided string matches the regular expression pattern. \\n\\nExample: REGEXP_M
ATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])')
= true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var
-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(str
ing, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrin
gs matching a regular expression are replaced\",\"help-contents\": \"Returns a c
opy of the given string where the matching pattern is substituted with the repla
cement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--1
23'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has
-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, subst
ring, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring w
ithin a string\",\"help-contents\": \"Returns a string in which every occurrence
of the substring is replaced with the replacement string. If the substring is n
ot found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \
\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-ar
g-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\
",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the spe
cified number of characters from the end of a string\",\"help-contents\": \"Retu

rns the specified number of characters from the end of the given string. \\n\\n
Example: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],
\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUN
D\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a num
ber to the specified number of places\",\"help-contents\": \"Rounds a number to
the nearest integer or to a specified number of decimal places. \\n\\nExample: R
OUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"r
eal\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(strin
g)\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"helpcontents\": \"Returns the string with any trailing spaces removed. \\n\\nExampl
e: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig
\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average
of an expression\",\"help-contents\": \"Returns the running average of the given
expression, from the first row in the partition to the current row.\\n\\nExampl
e: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[
\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"R
UNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"R
eturns the running count of an expression\",\"help-contents\": \"Returns the run
ning count of the given expression, from the first row in the partition to the c
urrent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Pr
ofit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"
func-tooltip\": \"Returns the running maximum of an expression\",\"help-contents
\": \"Returns the running maximum of the given expression, from the first row in
the partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = ru
nning maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maxim
um of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\
"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(e
xpression)\",\"func-tooltip\": \"Returns the running minimum of an expression\",
\"help-contents\": \"Returns the running minimum of the given expression, from t
he first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN(
[Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit]))
= running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\":
\"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an ex
pression\",\"help-contents\": \"Returns the running sum of the given expression,
from the first row in the partition to the current row.\\n\\nExample: RUNNING_S
UM(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profi
t])) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"
SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean res
ult from an R expression\",\"help-contents\": \"Returns a Boolean result from a
given R expression. The R expression is passed directly to a running Rserve inst
ance. Use .arg# in the R expression to reference parameters. In the following ex
ample, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite
(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"st
r\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_IN
T(string, expression, ...)\",\"func-tooltip\": \"Returns an integer result from
an R expression\",\"help-contents\": \"Returns an integer result from a given R
expression. The R expression is passed directly to a running Rserve instance. Us
e .arg# in the R expression to reference parameters. In the following example, .
arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 *
5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"]
,\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(
string, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an
R expression\",\"help-contents\": \"Returns a numeric result from a given R expr
ession. The R expression is passed directly to a running Rserve instance. Use .a
rg# in the R expression to reference parameters. In the following example, .arg1
is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM(

[Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-ar
gs\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, express
ion, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\
"help-contents\": \"Returns a string result from a given R expression. The R exp
ression is passed directly to a running Rserve instance. Use .arg# in the R expr
ession to reference parameters. In the following example, .arg1 is equal to ATTR
([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]
))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": tr
ue},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Retur
ns 1 for a positive number\",\"help-contents\": \"Returns the sign of a number:
1 if the number is positive, zero if the number is zero, or -1 if the number is
negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-type
s\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(a
ngle)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"
Returns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI
()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"
],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-t
ooltip\": \"Returns the number of rows in the partition\",\"help-contents\": \"R
eturns the number of rows in the partition.\\n\\nExample (partition has 5 rows):
\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\":
\"Returns a string containing the specified number of spaces\",\"help-contents\
": \"Returns a string composed of the specified number of repeated spaces. \\n\\
nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"
real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(stri
ng, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a s
tring\",\"help-contents\": \"Returns a substring from a string, as determined by
a delimiter extracting the characters from the beginning or end of the string.
\\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"
locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(numb
er)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\
": \"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the sq
uare of a number\",\"help-contents\": \"Returns the square of a given number. \\
n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWIT
H(string, substring)\",\"func-tooltip\": \"Returns true if the specified string
starts with the specified substring\",\"help-contents\": \"Returns true if the s
tring starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\",
\\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\
"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expressio
n)\",\"func-tooltip\": \"Returns the sample standard deviation for an expression
\",\"help-contents\": \"Returns the sample standard deviation of the expression.
\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(exp
ression)\",\"func-tooltip\": \"Returns the population standard deviation for an
expression\",\"help-contents\": \"Returns the population standard deviation of t
he expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\":
\"STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"he
lp-contents\": \"Returns a string given an expression. \\n\\nExample: STR([Age]
) returns all of the values of the Age measure as strings.\",\"func-grps\":[\"ca
st\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM
\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of valu
es in an expression\",\"help-contents\": \"Returns the sum of all the values in
the expression. SUM can be used with numeric fields only. Null values are ignore
d.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",

\"func-tooltip\": \"Returns the tangent of an angle specified in radians\",\"hel


p-contents\": \"Returns the tangent of an angle. Specify the angle in radians.\\
n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> TH
EN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\"
: \"Performs a logical test and returns an appropriate value\",\"help-contents\"
: \"Tests a series of expressions returning the <then> value for the first true
<expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THE
N 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-t
ooltip\": \"Returns the current date\",\"help-contents\": \"Returns the current
date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(
expression)\",\"func-tooltip\": \"Returns the total for an expression within the
partition\",\"help-contents\": \"Returns the total for the given expression.\\n
\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contri
bute to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\
"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\
"func-tooltip\": \"Returns a string with leading and trailing spaces removed\",\
"help-contents\": \"Returns the string with both leading and trailing spaces rem
oved. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\
"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER
\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all u
ppercase characters\",\"help-contents\": \"Converts a text string to all upperca
se letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grp
s\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \
"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the dom
ain for the current user\",\"help-contents\": \"Returns the domain for the curre
nt user when the user is signed on to Tableau Server. Returns the Windows domain
if the Tableau Desktop user is on a domain. Otherwise this function returns a n
ull string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": f
alse},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"R
eturns the user name for the current user\",\"help-contents\": \"Returns the use
rname for the current user. This is the Tableau Server or Tableau Online usernam
e when the user is signed in; otherwise it is the local or network username for
the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has
-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"functooltip\": \"Returns the sample variance for an expression\",\"help-contents\":
\"Returns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\
"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\
"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns
the population variance for an expression\",\"help-contents\": \"Returns the po
pulation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\
":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>
] END\",\"func-tooltip\": \"Performs logical tests and returns the appropriate v
alue\",\"help-contents\": \"Finds the first <value> that matches <expr> and retu
rns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\
u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-s
ig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the a
verage of the values within the window\",\"help-contents\": \"Returns the averag
e of the expression within the window. The window is defined as offsets from th
e current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\
\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WI
NDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-too
ltip\": \"Returns the number of items within the window\",\"help-contents\": \"R

eturns the count of the expression within the window. The window is defined as
offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fi
rst or last row in the partition. If start and end are omitted, the entire part
ition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(P
rofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},
{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\"
,\"func-tooltip\": \"Returns the maximum within the window\",\"help-contents\":
\"Returns the maximum of the expression within the window. The window is define
d as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from t
he first or last row in the partition. If start and end are omitted, the entire
partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of
Profit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SU
M([Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the c
urrent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig
\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the
median within the window\",\"help-contents\": \"Returns the median of the expres
sion within the window. The window is defined as offsets from the current row.
Use FIRST()+n and LAST()-n for offsets from the first or last row in the partiti
on. If start and end are omitted, the entire partition is used.\\n\\nExample: W
INDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous
rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\
",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"
func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns
the minimum within the window\",\"help-contents\": \"Returns the minimum of the
expression within the window. The window is defined as offsets from the curren
t row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the
partition. If start and end are omitted, the entire partition is used.\\n\\nExa
mple: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous
rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimu
m of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[
\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(
expression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile v
alue at the specified number\",\"help-contents\": \"Returns the value correspond
ing to the specified percentile within the window. The window is defined as off
sets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partiti
on is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75t
h percentile of SUM(Profit) from the two previous rows to the current row\",\"fu
nc-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"int
eger\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WIN
DOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample sta
ndard deviation within the window\",\"help-contents\": \"Returns the sample stan
dard deviation of the expression within the window. The window is defined as of
fsets from the current row. Use FIRST()+n and LAST()-n for offsets from the firs
t or last row in the partition. If start and end are omitted, the entire partit
ion is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM
(Profit) from the two previous rows to the current row\",\"func-grps\":[\"table\
"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false
},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start,
end])\",\"func-tooltip\": \"Returns the population standard deviation within th
e window\",\"help-contents\": \"Returns the population standard deviation of the
expression within the window. The window is defined as offsets from the curren
t row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the
partition. If start and end are omitted, the entire partition is used.\\n\\nExa
mple: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDO

W_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\":


\"Returns the sum of values within the window\",\"help-contents\": \"Returns th
e sum of the expression within the window. The window is defined as offsets fro
m the current row. Use FIRST()+n and LAST()-n for offsets from the first or last
row in the partition. If start and end are omitted, the entire partition is us
ed.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \
"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tool
tip\": \"Returns the sample variance within the window\",\"help-contents\": \"Re
turns the sample variance of the expression within the window. The window is de
fined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets fr
om the first or last row in the partition. If start and end are omitted, the en
tire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = varianc
e of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[
\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\
": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [st
art, end])\",\"func-tooltip\": \"Returns the population variance within the wind
ow\",\"help-contents\": \"Returns the population variance of the expression with
in the window. The window is defined as offsets from the current row. Use FIRST
()+n and LAST()-n for offsets from the first or last row in the partition. If s
tart and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VAR
P(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to
the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integ
er\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"Y
EAR(date)\",\"func-tooltip\": \"Returns the year of the specified date as an int
eger\",\"help-contents\": \"Returns the year of a given date as an integer. \\n
\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-type
s\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN
(expression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"
help-contents\": \"Returns <expression> if it is not null, otherwise returns zer
o. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-t
ypes\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calcu
lation-dialog\",\"use-parameters\": true} position=\"65\"","name":"tabdoc:calcul
ation-auto-complete"}}
{"ts":"2016-09-29T16:42:55.666","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC(
'month',[Order Date])-DATETRUNC('month',[Calculation5])\" calculation={\"datasou
rce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \"
Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"scop
e-isolation\": true,\"calculation-formula\": \"\",\"fn\": \"\",\"fn-source\": \"
\",\"calculation-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": f
alse,\"folder-role\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc
-types-used\": 0,\"style-token-list\":[],\"error-string\": \"\",\"error-info-lis
t\":[],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"fu
nc-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a nu
mber\",\"help-contents\": \"Returns the absolute value of the given number. \\n\
\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"fun
c-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns
the arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1)
= 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has
-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> TH
EN <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two expres
sions\",\"help-contents\": \"Performs a logical conjunction on two expressions\"
,\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"nam
e\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the A
SCII code for the first character in a string\",\"help-contents\": \"Returns the
ASCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"a

uthors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-va
r-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-toolt
ip\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc
sine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.57079632
67949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Re
turns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent
of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.565240828
3942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-to
oltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns
the arc tangent of two given numbers (x and y). The result is in radians. \\n\
\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-t
ypes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-s
ig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expressi
on if it has one value for all rows\",\"help-contents\": \"Returns the value of
the given expression if it only has a single value for all rows in the group, ot
herwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR
([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-varargs\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-toolt
ip\": \"Returns the average of the values in the expression\",\"help-contents\":
\"Returns the average of all the values in the expression. AVG can be used with
numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"f
unc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n
ame\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [EL
SE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns the appr
opriate value\",\"help-contents\": \"Finds the first <value> that matches <expr>
and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN
\u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"l
ogic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"
func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the neare
st integer of equal or greater value\",\"help-contents\": \"Rounds a number to t
he nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4
\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Conver
ts an integer ASCII code into a character\",\"help-contents\": \"Converts the gi
ven integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"funcgrps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\":
\"Returns true if a string contains the specified substring\",\"help-contents\":
\"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\
\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\"
: \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in
radians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angl
e in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"n
um\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",
\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an ang
le specified in radians\",\"help-contents\": \"Returns the cotangent of an angle
. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\
"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUN
T\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number o
f items in the expression\",\"help-contents\": \"Returns the number of items in
a group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"fun
c-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"
name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Retu
rns the number of distinct items in the expression\",\"help-contents\": \"Return
s the number of distinct items in a group. NULL values are not counted. Each un
ique value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":
[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \

"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date fr


om a number\",\"help-contents\": \"Returns a date given a number, string, or dat
e expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNot
e that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-t
ypes\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \
"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified
date incremented by the specified amount\",\"help-contents\": \"Adds an incremen
t to the specified date and returns the new date. The increment is defined by th
e interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) =
2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\
",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"f
unc-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func
-tooltip\": \"Returns the difference between two dates\",\"help-contents\": \"Re
turns the difference between two dates where start_date is subtracted from end_d
ate. The difference is expressed in units of date_part. If start_of_week is omit
ted, the week start day is determined by the start day configured for the data s
ource.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = 3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datet
ime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\":
\"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a pa
rt of the specified date as a string\",\"help-contents\": \"Returns a part of th
e given date as a string, where the part is defined by date_part. If start_of_we
ek is omitted, the week start day is determined by the start day configured for
the data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\"
,\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"
],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(fo
rmat, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-content
s\": \"Converts a string to a date in the specified format. \\n\\nExample: DATEP
ARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"
func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\":
false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start
_of_week])\",\"func-tooltip\": \"Returns the specified part of a date as an inte
ger\",\"help-contents\": \"Returns a part of the given date as an integer where
the part is defined by date_part. If start_of_week is omitted, the week start da
y is determined by the start day configured for the data source.\\n\\nExample: D
ATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\"
:[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATE
TIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a date
time from a number\",\"help-contents\": \"Returns a datetime given a number, str
ing, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\
") \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"
func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"f
unc-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"T
runcates the specified date to the specified accuracy\",\"help-contents\": \"Tru
ncates the specified date to the accuracy specified by the date_part and returns
the new date. If start_of_week is omitted, the week start day is determined by
the start day configured for the data source.\\n\\nExample: DATETRUNC('quarter',
#2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-ty
pes\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \
"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of t
he specified date as an integer\",\"help-contents\": \"Returns the day of the gi
ven date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[
\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\":
\"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a val
ue in radians to degrees\",\"help-contents\": \"Converts a number in radians to
degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\":
\"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divi
sion operation\",\"help-contents\": \"Returns the integer part of a division.\\n
\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integ

er\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"I


F <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"fun
c-tooltip\": \"Performs a logical test and returns an appropriate value\",\"help
-contents\": \"Tests a series of expressions returning the <then> value for the
first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Prof
it] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <ex
pr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-too
ltip\": \"Performs a logical test and returns an appropriate value\",\"help-cont
ents\": \"Tests a series of expressions returning the <then> value for the first
true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =
0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\":
\"Performs a logical test and returns an appropriate value\",\"help-contents\":
\"Tests a series of expressions returning the <then> value for the first true <e
xpr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN
'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"
has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string,
substring)\",\"func-tooltip\": \"Returns true if the specified string ends with
the specified substring\",\"help-contents\": \"Returns true if the string ends w
ith the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"
Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types
\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\
": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"
Computes an aggregate excluding the specified dimensions if present in the view.
\",\"help-contents\": \"Computes an aggregate excluding the specified dimensions
if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-toolti
p\": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns
e raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\"
: \"Returns the position of a substring within a string\",\"help-contents\": \"R
eturns the position of a substring within a string, or 0 if the substring isn't
found. If the start argument is defined, any instances of substring that appear
before the start position are ignored. The first character in the string is posi
tion 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps
\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": fal
se},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence
)\",\"func-tooltip\": \"Returns the position of the nth occurrence a substring w
ithin a string\",\"help-contents\": \"Returns the position of the nth occurrence
of a substring within a string, or 0 if that occurrence of the substring isn't
found. The first character in the string is position 1. \\n\\nExample: FINDNTH(\
\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types
\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"fu
nc-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the
first row in the partition\",\"help-contents\": \"Returns the number of rows fr
om the current row to the first row in the partition.\\n\\nExample (current row
index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[
, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate
using only the specified dimensions.\",\"help-contents\": \"Computes an aggrega
te using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-typ
es\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expr
ession)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-conten
ts\": \"Returns a float given an expression of any type. This function requires
unformatted numbers which means exclude commas and other symbols. \\n\\nExample
: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boole
an\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number

)\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesse


r value\",\"help-contents\": \"Rounds a number to the nearest integer of equal o
r lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"fun
c-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func
-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current
user\",\"help-contents\": \"Returns the full name for the current user. This is
the Tableau Server or Tableau Online full name when the user is signed in; othe
rwise it is the local or network full name for the Tableau Desktop user.\",\"fun
c-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"
HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns
the x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x
,y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have s
ide length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\"
:[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"na
me\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"
Returns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Ma
ps an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bin
s have side length 1, so the inputs may need to be scaled appropriately.\",\"fun
c-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": fals
e},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN
<then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and
returns an appropriate value\",\"help-contents\": \"Tests a series of expressio
ns returning the <then> value for the first true <expr>. \\n\\nExample: IF [Prof
it] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\"
,\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"nam
e\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Retur
ns expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not n
ull, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grp
s\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"fu
nc-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",\
"help-contents\": \"Checks whether a condition is met, and returns one value if
TRUE, another value if FALSE, and an optional third value or NULL if unknown. \\
n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"f
unc-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false
},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate
-expression }\",\"func-tooltip\": \"Computes an aggregate using the specified di
mensions and the view dimensions.\",\"help-contents\": \"Computes an aggregate u
sing the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"]
,\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\
": \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the p
artition\",\"help-contents\": \"Returns the index of the current row in the part
ition.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"funcgrps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"I
NT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expressi
on and returns an integer\",\"help-contents\": \"Returns an integer given an exp
ression. This function truncates results to the closest integer toward zero. \\n
\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func
-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func
-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a v
alid date\",\"help-contents\": \"Returns true if a given string is a valid date.
\\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"da
te\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns
true if the current user's full name matches the specified name\",\"help-conten
ts\": \"Returns true if the current user's full name matches the specified full
name, or false if it does not match. This function uses the Tableau Server or Ta
bleau Online full name when the user is signed in; otherwise it uses the local o
r network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"f
unc-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",

\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the cur


rent user is a member of the specified group\",\"help-contents\": \"Returns true
if the current user is a member of the given group, false otherwise. This uses
the Tableau Server to resolve group membership if logged on, otherwise it alway
s returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"ha
s-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",
\"func-tooltip\": \"Returns true if the specified expression is null\",\"help-co
ntents\": \"Returns true if the expression does not contain valid data (Null).\\
n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"
boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"IS
USERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name m
atches the specified user name\",\"help-contents\": \"Returns true if the curren
t user's username matches the specified username, or false if it does not match.
This function uses the Tableau Server or Tableau Online username when the user
is signed in; otherwise it uses the local or network username for the Tableau De
sktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var
-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \
"Returns the number of rows to the last row in the partition\",\"help-contents\"
: \"Returns the number of rows from the current row to the last row in the parti
tion.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\"
:[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",
\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specif
ied number of characters from the start of a string\",\"help-contents\": \"Retur
ns the specified number of characters from the start of the given string. \\n\\
nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],
\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\
",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of charac
ters in a string\",\"help-contents\": \"Returns the number of characters in the
given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"f
unc-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a
number\",\"help-contents\": \"Returns the natural logarithm of the given number
. Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5)
) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\"
: \"Returns the logarithm of a number for the given base\",\"help-contents\": \"
Returns the logarithm of a number for the given base. If the base value is omitt
ed, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",
\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\":
false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"f
unc-tooltip\": \"Returns the value of the expression in a row offset from curren
t row\",\"help-contents\": \"Returns the value of the given expression in a targ
et row, specified as a relative offset from the current row. Use FIRST()+n and L
AST()-n for a target relative to the first/last rows in the partition. If offset
is omitted, the Compare To row may be set on the field menu. Returns NULL if th
e target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( )
+ 2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"
],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\
": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a strin
g in all lowercase characters\",\"help-contents\": \"Converts a text string to a
ll lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",
\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\
"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a
string with leading spaces removed\",\"help-contents\": \"Returns the string wi
th any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\
\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fal
se},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"functooltip\": \"Returns a date value constructed from a year, a month and a day of
the month.\",\"help-contents\": \"Returns a date value constructed from a year,
a month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func

-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"ha
s-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(da
te, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a tim
e\",\"help-contents\": \"Returns a date and time value given a date expression a
nd a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\
"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-arg
s\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, secon
d)\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes an
d seconds.\",\"help-contents\": \"Returns a time value constructed from hours, m
inutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"ca
st\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\
",\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\":
\"Returns the maximum of a single expression across all records or the maximum o
f two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":
[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real
\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expres
sion)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-content
s\": \"Returns the median of a single expression. MEDIAN can be used with numeri
c fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Retu
rns the characters from the middle of a text string\",\"help-contents\": \"Retur
ns the characters from the middle of a text string given a starting position and
a length. The first character in the string is position 1. If the length is not
included, all characters to the end of the string are returned. If the length i
s included, up to that many characters are returned. \\n\\nExample: MID(\\\"Tabl
eau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\
\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"r
eal\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(
expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an
expression\",\"help-contents\": \"Returns the minimum of an expression across a
ll records or the minimum of two expressions for each record. \\n\\nExample: MI
N([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"funcarg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"
func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the sp
ecified date as an integer\",\"help-contents\": \"Returns the month of a given d
ate as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"da
te\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NO
T\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs
logical negation on an expression\",\"help-contents\": \"Performs logical negat
ion on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"R
eturns the current date and time\",\"help-contents\": \"Returns the current date
and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date
\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\
": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logi
cal disjunction on two expressions\",\"help-contents\": \"Performs a logical dis
junction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"
has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expr
ession, number)\",\"func-tooltip\": \"Returns the percentile value at the specif
ied number\",\"help-contents\": \"Aggregate calculation that returns the percent
ile value from the given expression corresponding to the specified number. Valid
values for the number are 0 through 1. PERCENTILE([expression], 0.50) will alwa
ys return the median value in the expression.\\n\\nExample: PERCENTILE([Sales],
0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"hasvar-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"
Returns the numeric constant pi\",\"help-contents\": \"Returns the numeric const
ant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-a
rg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWE

R(number,power)\",\"func-tooltip\": \"Raises the number to the specified power\"


,\"help-contents\": \"Returns the result of a number raised to the given power.
\\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"f
unc-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value
of this calculation in the previous row\",\"help-contents\": \"Returns the value
of this calculation in the previous row. Returns the given expression if the cu
rrent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVI
OUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALU
E(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\":
\"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians
\",\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\"
:[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"R
ANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Ret
urns the competition rank for the current partition row\",\"help-contents\": \"R
eturns the standard competition rank for the current row in the partition. Ident
ical values are assigned an identical rank. Use the optional 'asc' | 'desc' argu
ment to specify ascending or descending order. The default order is descending.\
\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2,
2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\
"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{
\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\
",\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"h
elp-contents\": \"Returns the dense rank for the current row in the partition. I
dentical values are assigned an identical rank, but no gaps are inserted into th
e number sequence. Use the optional 'asc' | 'desc' argument to specify ascending
or descending order. The default order is descending.\\n\\nWith this function,
the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.
\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIF
IED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip
\": \"Returns the modified competition rank for the current partition row\",\"he
lp-contents\": \"Returns the modified competition rank for the current row in th
e partition. Identical values are assigned an identical rank. Use the optional '
asc' | 'desc' argument to specify ascending or descending order. The default ord
er is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Vel
ocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"]
,\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PE
RCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentil
e rank for the current partition row\",\"help-contents\": \"Returns the percenti
le rank for the current row in the partition. Use the optional 'asc' | 'desc' ar
gument to specify ascending or descending order. The default order is ascending.
\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 7
5, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))
\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-v
ar-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(express
ion, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the curre
nt partition row\",\"help-contents\": \"Returns the unique rank for the current
row in the partition. Identical values are assigned different ranks. Use the opt
ional 'asc' | 'desc' argument to specify ascending or descending order. The defa
ult order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14
) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() =
1 for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRA
CT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Retur
ns the portion of a string matching the capturing group in a regular expression\
",\"help-contents\": \"Returns a substring of the given string that matches the
capturing group within the regular expression pattern. The regular expression p

attern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc


123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types
\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",
\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \
"Returns a substring of a string using a regular expression pattern\",\"help-con
tents\": \"Returns a substring of the given string using the regular expression
pattern. The substring is matched to the nth capturing group, where n is the gi
ven index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)'
, 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"loc
int\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGE
XP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches
a regular expression\",\"help-contents\": \"Returns true if a substring of the
provided string matches the regular expression pattern. \\n\\nExample: REGEXP_MA
TCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])')
= true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-varargs\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(stri
ng, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substring
s matching a regular expression are replaced\",\"help-contents\": \"Returns a co
py of the given string where the matching pattern is substituted with the replac
ement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--12
3'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"hasvar-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substr
ing, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring wi
thin a string\",\"help-contents\": \"Returns a string in which every occurrence
of the substring is replaced with the replacement string. If the substring is no
t found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\
\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\"
,\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the spec
ified number of characters from the end of a string\",\"help-contents\": \"Retur
ns the specified number of characters from the end of the given string. \\n\\nE
xample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\
"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND
\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a numb
er to the specified number of places\",\"help-contents\": \"Rounds a number to t
he nearest integer or to a specified number of decimal places. \\n\\nExample: RO
UND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"re
al\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string
)\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-c
ontents\": \"Returns the string with any trailing spaces removed. \\n\\nExample
: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-t
ypes\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\
": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average o
f an expression\",\"help-contents\": \"Returns the running average of the given
expression, from the first row in the partition to the current row.\\n\\nExample
: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\
"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RU
NNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Re
turns the running count of an expression\",\"help-contents\": \"Returns the runn
ing count of the given expression, from the first row in the partition to the cu
rrent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Pro
fit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"f
unc-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\
": \"Returns the running maximum of the given expression, from the first row in
the partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = run
ning maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximu
m of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"
has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(ex
pression)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\

"help-contents\": \"Returns the running minimum of the given expression, from th


e first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([
Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) =
running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \
"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an exp
ression\",\"help-contents\": \"Returns the running sum of the given expression,
from the first row in the partition to the current row.\\n\\nExample: RUNNING_SU
M(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit
])) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"S
CRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean resu
lt from an R expression\",\"help-contents\": \"Returns a Boolean result from a g
iven R expression. The R expression is passed directly to a running Rserve insta
nce. Use .arg# in the R expression to reference parameters. In the following exa
mple, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(
.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str
\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT
(string, expression, ...)\",\"func-tooltip\": \"Returns an integer result from a
n R expression\",\"help-contents\": \"Returns an integer result from a given R e
xpression. The R expression is passed directly to a running Rserve instance. Use
.arg# in the R expression to reference parameters. In the following example, .a
rg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 *
5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],
\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(s
tring, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R
expression\",\"help-contents\": \"Returns a numeric result from a given R expre
ssion. The R expression is passed directly to a running Rserve instance. Use .ar
g# in the R expression to reference parameters. In the following example, .arg1
is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([
Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-arg
s\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expressi
on, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"
help-contents\": \"Returns a string result from a given R expression. The R expr
ession is passed directly to a running Rserve instance. Use .arg# in the R expre
ssion to reference parameters. In the following example, .arg1 is equal to ATTR(
[Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region])
)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": tru
e},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Return
s 1 for a positive number\",\"help-contents\": \"Returns the sign of a number: 1
if the number is positive, zero if the number is zero, or -1 if the number is n
egative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types
\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(an
gle)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"R
eturns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI(
)/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-to
oltip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Re
turns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\
\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\"
: false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\":
\"Returns a string containing the specified number of spaces\",\"help-contents\"
: \"Returns a string composed of the specified number of repeated spaces. \\n\\n
Example: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(strin
g, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a st
ring\",\"help-contents\": \"Returns a substring from a string, as determined by
a delimiter extracting the characters from the beginning or end of the string. \
\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-'
, -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"l

ocint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(numbe


r)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\"
: \"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-gr
ps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the squ
are of a number\",\"help-contents\": \"Returns the square of a given number. \\n
\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\
"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH
(string, substring)\",\"func-tooltip\": \"Returns true if the specified string s
tarts with the specified substring\",\"help-contents\": \"Returns true if the st
ring starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \
\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"
],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression
)\",\"func-tooltip\": \"Returns the sample standard deviation for an expression\
",\"help-contents\": \"Returns the sample standard deviation of the expression.\
\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expr
ession)\",\"func-tooltip\": \"Returns the population standard deviation for an e
xpression\",\"help-contents\": \"Returns the population standard deviation of th
e expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \
"STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"hel
p-contents\": \"Returns a string given an expression. \\n\\nExample: STR([Age])
returns all of the values of the Age measure as strings.\",\"func-grps\":[\"cas
t\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\
",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of value
s in an expression\",\"help-contents\": \"Returns the sum of all the values in t
he expression. SUM can be used with numeric fields only. Null values are ignored
.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\
"func-tooltip\": \"Returns the tangent of an angle specified in radians\",\"help
-contents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n
\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THE
N <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\":
\"Performs a logical test and returns an appropriate value\",\"help-contents\":
\"Tests a series of expressions returning the <then> value for the first true <
expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN
'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\
"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-to
oltip\": \"Returns the current date\",\"help-contents\": \"Returns the current d
ate. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(e
xpression)\",\"func-tooltip\": \"Returns the total for an expression within the
partition\",\"help-contents\": \"Returns the total for the given expression.\\n\
\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contrib
ute to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"
],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"
func-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"
help-contents\": \"Returns the string with both leading and trailing spaces remo
ved. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\
",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all up
percase characters\",\"help-contents\": \"Converts a text string to all uppercas
e letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps
\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"
USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the doma
in for the current user\",\"help-contents\": \"Returns the domain for the curren
t user when the user is signed on to Tableau Server. Returns the Windows domain
if the Tableau Desktop user is on a domain. Otherwise this function returns a nu

ll string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fa
lse},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Re
turns the user name for the current user\",\"help-contents\": \"Returns the user
name for the current user. This is the Tableau Server or Tableau Online username
when the user is signed in; otherwise it is the local or network username for t
he Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"hasvar-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-t
ooltip\": \"Returns the sample variance for an expression\",\"help-contents\": \
"Returns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"
func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"
name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns
the population variance for an expression\",\"help-contents\": \"Returns the pop
ulation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\"
:[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"W
HEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>]
END\",\"func-tooltip\": \"Performs logical tests and returns the appropriate va
lue\",\"help-contents\": \"Finds the first <value> that matches <expr> and retur
ns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u
2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"
func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-si
g\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the av
erage of the values within the window\",\"help-contents\": \"Returns the average
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\\
n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIN
DOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-tool
tip\": \"Returns the number of items within the window\",\"help-contents\": \"Re
turns the count of the expression within the window. The window is defined as o
ffsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fir
st or last row in the partition. If start and end are omitted, the entire parti
tion is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Pr
ofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{
\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",
\"func-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \
"Returns the maximum of the expression within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from th
e first or last row in the partition. If start and end are omitted, the entire
partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of P
rofit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM
([Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the cu
rrent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\
",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\
": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the m
edian within the window\",\"help-contents\": \"Returns the median of the express
ion within the window. The window is defined as offsets from the current row. U
se FIRST()+n and LAST()-n for offsets from the first or last row in the partitio
n. If start and end are omitted, the entire partition is used.\\n\\nExample: WI
NDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous
rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"
,\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"f
unc-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns
the minimum within the window\",\"help-contents\": \"Returns the minimum of the
expression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the p
artition. If start and end are omitted, the entire partition is used.\\n\\nExam
ple: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous

rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum


of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\
"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-arg
s\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(e
xpression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile va
lue at the specified number\",\"help-contents\": \"Returns the value correspondi
ng to the specified percentile within the window. The window is defined as offs
ets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partitio
n is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th
percentile of SUM(Profit) from the two previous rows to the current row\",\"fun
c-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"inte
ger\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WIND
OW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample stan
dard deviation within the window\",\"help-contents\": \"Returns the sample stand
ard deviation of the expression within the window. The window is defined as off
sets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partiti
on is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(
Profit) from the two previous rows to the current row\",\"func-grps\":[\"table\"
],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false}
,{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start,
end])\",\"func-tooltip\": \"Returns the population standard deviation within the
window\",\"help-contents\": \"Returns the population standard deviation of the
expression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the p
artition. If start and end are omitted, the entire partition is used.\\n\\nExam
ple: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW
_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\":
\"Returns the sum of values within the window\",\"help-contents\": \"Returns the
sum of the expression within the window. The window is defined as offsets from
the current row. Use FIRST()+n and LAST()-n for offsets from the first or last
row in the partition. If start and end are omitted, the entire partition is use
d.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"
WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-toolt
ip\": \"Returns the sample variance within the window\",\"help-contents\": \"Ret
urns the sample variance of the expression within the window. The window is def
ined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets fro
m the first or last row in the partition. If start and end are omitted, the ent
ire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\
"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\"
: false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [sta
rt, end])\",\"func-tooltip\": \"Returns the population variance within the windo
w\",\"help-contents\": \"Returns the population variance of the expression withi
n the window. The window is defined as offsets from the current row. Use FIRST(
)+n and LAST()-n for offsets from the first or last row in the partition. If st
art and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP
(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to t
he current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"intege
r\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YE
AR(date)\",\"func-tooltip\": \"Returns the year of the specified date as an inte
ger\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\
\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types
\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(
expression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"h

elp-contents\": \"Returns <expression> if it is not null, otherwise returns zero


. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-ty
pes\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calcul
ation-dialog\",\"use-parameters\": true} position=\"65\"","name":"tabdoc:calcula
tion-auto-complete"}}
{"ts":"2016-09-29T16:42:55.666","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC
('month',[Order Date])-DATETRUNC('month',[Calculation5])\" calculation={\"dataso
urce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \
"Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"sco
pe-isolation\": true,\"calculation-formula\": \"\",\"fn\": \"\",\"fn-source\": \
"\",\"calculation-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\":
false,\"folder-role\": \"dimensions\",\"has-table-calc-data\": false,\"table-cal
c-types-used\": 0,\"style-token-list\":[],\"error-string\": \"\",\"error-info-li
st\":[],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"f
unc-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a n
umber\",\"help-contents\": \"Returns the absolute value of the given number. \\n
\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"fu
nc-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Return
s the arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1)
= 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"ha
s-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> T
HEN <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two expre
ssions\",\"help-contents\": \"Performs a logical conjunction on two expressions\
",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"na
me\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the
ASCII code for the first character in a string\",\"help-contents\": \"Returns th
e ASCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"
authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-v
ar-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tool
tip\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc
sine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963
267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"R
eturns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangen
t of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.56524082
83942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-t
ooltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Return
s the arc tangent of two given numbers (x and y). The result is in radians. \\n
\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-argtypes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"funcsig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the express
ion if it has one value for all rows\",\"help-contents\": \"Returns the value of
the given expression if it only has a single value for all rows in the group, o
therwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATT
R([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var
-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tool
tip\": \"Returns the average of the values in the expression\",\"help-contents\"
: \"Returns the average of all the values in the expression. AVG can be used wit
h numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"
func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"
name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [E
LSE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns the app
ropriate value\",\"help-contents\": \"Finds the first <value> that matches <expr
> and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHE
N \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"
logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\

"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the near


est integer of equal or greater value\",\"help-contents\": \"Rounds a number to
the nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) =
4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Conve
rts an integer ASCII code into a character\",\"help-contents\": \"Converts the g
iven integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func
-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\":
\"Returns true if a string contains the specified substring\",\"help-contents\"
: \"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\
\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-t
ypes\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\
": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified i
n radians\",\"help-contents\": \"Returns the cosine of an angle. Specify the ang
le in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"
num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\"
,\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an an
gle specified in radians\",\"help-contents\": \"Returns the cotangent of an angl
e. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COU
NT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number
of items in the expression\",\"help-contents\": \"Returns the number of items in
a group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"fu
nc-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\
"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Ret
urns the number of distinct items in the expression\",\"help-contents\": \"Retur
ns the number of distinct items in a group. NULL values are not counted. Each u
nique value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\"
:[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\":
\"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date f
rom a number\",\"help-contents\": \"Returns a date given a number, string, or da
te expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNo
te that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-argtypes\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\":
\"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified
date incremented by the specified amount\",\"help-contents\": \"Adds an increme
nt to the specified date and returns the new date. The increment is defined by t
he interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#)
= 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr
\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"
func-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"fun
c-tooltip\": \"Returns the difference between two dates\",\"help-contents\": \"R
eturns the difference between two dates where start_date is subtracted from end_
date. The difference is expressed in units of date_part. If start_of_week is omi
tted, the week start day is determined by the start day configured for the data
source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') =
-3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"date
time\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\"
: \"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a p
art of the specified date as a string\",\"help-contents\": \"Returns a part of t
he given date as a string, where the part is defined by date_part. If start_of_w
eek is omitted, the week start day is determined by the start day configured for
the data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\
",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\
"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(f
ormat, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-conten
ts\": \"Converts a string to a date in the specified format. \\n\\nExample: DATE
PARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\
"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\"

: false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [star


t_of_week])\",\"func-tooltip\": \"Returns the specified part of a date as an int
eger\",\"help-contents\": \"Returns a part of the given date as an integer where
the part is defined by date_part. If start_of_week is omitted, the week start d
ay is determined by the start day configured for the data source.\\n\\nExample:
DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\
":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DAT
ETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a dat
etime from a number\",\"help-contents\": \"Returns a datetime given a number, st
ring, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\
\") \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\
"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"
func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"
Truncates the specified date to the specified accuracy\",\"help-contents\": \"Tr
uncates the specified date to the accuracy specified by the date_part and return
s the new date. If start_of_week is omitted, the week start day is determined by
the start day configured for the data source.\\n\\nExample: DATETRUNC('quarter'
, #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-t
ypes\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\":
\"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of
the specified date as an integer\",\"help-contents\": \"Returns the day of the g
iven date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":
[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\":
\"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a va
lue in radians to degrees\",\"help-contents\": \"Converts a number in radians to
degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\":
\"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a div
ision operation\",\"help-contents\": \"Returns the integer part of a division.\\
n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"inte
ger\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"
IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"fu
nc-tooltip\": \"Performs a logical test and returns an appropriate value\",\"hel
p-contents\": \"Tests a series of expressions returning the <then> value for the
first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Pro
fit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <e
xpr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-to
oltip\": \"Performs a logical test and returns an appropriate value\",\"help-con
tents\": \"Tests a series of expressions returning the <then> value for the firs
t true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit]
= 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-type
s\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THE
N <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\":
\"Performs a logical test and returns an appropriate value\",\"help-contents\":
\"Tests a series of expressions returning the <then> value for the first true <
expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN
'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\
"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string,
substring)\",\"func-tooltip\": \"Returns true if the specified string ends with
the specified substring\",\"help-contents\": \"Returns true if the string ends
with the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\
"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig
\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \
"Computes an aggregate excluding the specified dimensions if present in the view
.\",\"help-contents\": \"Computes an aggregate excluding the specified dimension
s if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"hasvar-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-toolt
ip\": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns

e raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"fun


c-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\
": \"Returns the position of a substring within a string\",\"help-contents\": \"
Returns the position of a substring within a string, or 0 if the substring isn't
found. If the start argument is defined, any instances of substring that appear
before the start position are ignored. The first character in the string is pos
ition 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grp
s\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": fa
lse},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrenc
e)\",\"func-tooltip\": \"Returns the position of the nth occurrence a substring
within a string\",\"help-contents\": \"Returns the position of the nth occurrenc
e of a substring within a string, or 0 if that occurrence of the substring isn't
found. The first character in the string is position 1. \\n\\nExample: FINDNTH(
\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"f
unc-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to th
e first row in the partition\",\"help-contents\": \"Returns the number of rows f
rom the current row to the first row in the partition.\\n\\nExample (current row
index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1
[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregat
e using only the specified dimensions.\",\"help-contents\": \"Computes an aggreg
ate using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(exp
ression)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-conte
nts\": \"Returns a float given an expression of any type. This function requires
unformatted numbers which means exclude commas and other symbols. \\n\\nExampl
e: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"bool
ean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(numbe
r)\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or less
er value\",\"help-contents\": \"Rounds a number to the nearest integer of equal
or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"fu
nc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"fun
c-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the curren
t user\",\"help-contents\": \"Returns the full name for the current user. This i
s the Tableau Server or Tableau Online full name when the user is signed in; oth
erwise it is the local or network full name for the Tableau Desktop user.\",\"fu
nc-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \
"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns
the x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (
x,y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have
side length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\
":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"n
ame\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \
"Returns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"M
aps an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bi
ns have side length 1, so the inputs may need to be scaled appropriately.\",\"fu
nc-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": fal
se},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN
<then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test an
d returns an appropriate value\",\"help-contents\": \"Tests a series of expressi
ons returning the <then> value for the first true <expr>. \\n\\nExample: IF [Pro
fit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\
",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"na
me\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Retu
rns expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not
null, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-gr
ps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"f

unc-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",


\"help-contents\": \"Checks whether a condition is met, and returns one value if
TRUE, another value if FALSE, and an optional third value or NULL if unknown. \
\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"
func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": fals
e},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregat
e-expression }\",\"func-tooltip\": \"Computes an aggregate using the specified d
imensions and the view dimensions.\",\"help-contents\": \"Computes an aggregate
using the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"
],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig
\": \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the
partition\",\"help-contents\": \"Returns the index of the current row in the par
tition.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func
-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"
INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an express
ion and returns an integer\",\"help-contents\": \"Returns an integer given an ex
pression. This function truncates results to the closest integer toward zero. \\
n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"fun
c-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"fun
c-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a
valid date\",\"help-contents\": \"Returns true if a given string is a valid date
. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"d
ate\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\"
: \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Return
s true if the current user's full name matches the specified name\",\"help-conte
nts\": \"Returns true if the current user's full name matches the specified full
name, or false if it does not match. This function uses the Tableau Server or T
ableau Online full name when the user is signed in; otherwise it uses the local
or network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"
func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\"
,\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the cu
rrent user is a member of the specified group\",\"help-contents\": \"Returns tru
e if the current user is a member of the given group, false otherwise. This use
s the Tableau Server to resolve group membership if logged on, otherwise it alwa
ys returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"h
as-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\"
,\"func-tooltip\": \"Returns true if the specified expression is null\",\"help-c
ontents\": \"Returns true if the expression does not contain valid data (Null).\
\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\
"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"I
SUSERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name
matches the specified user name\",\"help-contents\": \"Returns true if the curre
nt user's username matches the specified username, or false if it does not match
. This function uses the Tableau Server or Tableau Online username when the user
is signed in; otherwise it uses the local or network username for the Tableau D
esktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-va
r-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\":
\"Returns the number of rows to the last row in the partition\",\"help-contents\
": \"Returns the number of rows from the current row to the last row in the part
ition.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\
":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\"
,\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the speci
fied number of characters from the start of a string\",\"help-contents\": \"Retu
rns the specified number of characters from the start of the given string. \\n\
\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN
\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of chara
cters in a string\",\"help-contents\": \"Returns the number of characters in the
given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"

func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of


a number\",\"help-contents\": \"Returns the natural logarithm of the given numbe
r. Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5
)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\
": \"Returns the logarithm of a number for the given base\",\"help-contents\": \
"Returns the logarithm of a number for the given base. If the base value is omit
ted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\"
: false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"
func-tooltip\": \"Returns the value of the expression in a row offset from curre
nt row\",\"help-contents\": \"Returns the value of the given expression in a tar
get row, specified as a relative offset from the current row. Use FIRST()+n and
LAST()-n for a target relative to the first/last rows in the partition. If offse
t is omitted, the Compare To row may be set on the field menu. Returns NULL if t
he target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( )
+ 2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\
"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name
\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a stri
ng in all lowercase characters\",\"help-contents\": \"Converts a text string to
all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\"
,\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{
\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns
a string with leading spaces removed\",\"help-contents\": \"Returns the string w
ith any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales
\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fa
lse},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func
-tooltip\": \"Returns a date value constructed from a year, a month and a day of
the month.\",\"help-contents\": \"Returns a date value constructed from a year,
a month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"fun
c-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"h
as-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(d
ate, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a ti
me\",\"help-contents\": \"Returns a date and time value given a date expression
and a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",
\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-ar
gs\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, seco
nd)\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes a
nd seconds.\",\"help-contents\": \"Returns a time value constructed from hours,
minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"c
ast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\"
: false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)
\",\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\":
\"Returns the maximum of a single expression across all records or the maximum
of two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\"
:[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"rea
l\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expre
ssion)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-conten
ts\": \"Returns the median of a single expression. MEDIAN can be used with numer
ic fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Ret
urns the characters from the middle of a text string\",\"help-contents\": \"Retu
rns the characters from the middle of a text string given a starting position an
d a length. The first character in the string is position 1. If the length is no
t included, all characters to the end of the string are returned. If the length
is included, up to that many characters are returned. \\n\\nExample: MID(\\\"Tab
leau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\
\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"
real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN

(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of a


n expression\",\"help-contents\": \"Returns the minimum of an expression across
all records or the minimum of two expressions for each record. \\n\\nExample: M
IN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func
-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\
"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the s
pecified date as an integer\",\"help-contents\": \"Returns the month of a given
date as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"d
ate\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"N
OT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Perform
s logical negation on an expression\",\"help-contents\": \"Performs logical nega
tion on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"
Returns the current date and time\",\"help-contents\": \"Returns the current dat
e and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"dat
e\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig
\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a log
ical disjunction on two expressions\",\"help-contents\": \"Performs a logical di
sjunction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\
"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(exp
ression, number)\",\"func-tooltip\": \"Returns the percentile value at the speci
fied number\",\"help-contents\": \"Aggregate calculation that returns the percen
tile value from the given expression corresponding to the specified number. Vali
d values for the number are 0 through 1. PERCENTILE([expression], 0.50) will alw
ays return the median value in the expression.\\n\\nExample: PERCENTILE([Sales],
0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has
-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \
"Returns the numeric constant pi\",\"help-contents\": \"Returns the numeric cons
tant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"funcarg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POW
ER(number,power)\",\"func-tooltip\": \"Raises the number to the specified power\
",\"help-contents\": \"Returns the result of a number raised to the given power.
\\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types
\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"
func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value
of this calculation in the previous row\",\"help-contents\": \"Returns the valu
e of this calculation in the previous row. Returns the given expression if the c
urrent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREV
IOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VAL
UE(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\"
: \"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radian
s\",\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\
":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Re
turns the competition rank for the current partition row\",\"help-contents\": \"
Returns the standard competition rank for the current row in the partition. Iden
tical values are assigned an identical rank. Use the optional 'asc' | 'desc' arg
ument to specify ascending or descending order. The default order is descending.
\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2,
2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[
\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},
{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])
\",\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"
help-contents\": \"Returns the dense rank for the current row in the partition.
Identical values are assigned an identical rank, but no gaps are inserted into t
he number sequence. Use the optional 'asc' | 'desc' argument to specify ascendin
g or descending order. The default order is descending.\\n\\nWith this function,
the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order
.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-

types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODI


FIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-toolti
p\": \"Returns the modified competition rank for the current partition row\",\"h
elp-contents\": \"Returns the modified competition rank for the current row in t
he partition. Identical values are assigned an identical rank. Use the optional
'asc' | 'desc' argument to specify ascending or descending order. The default or
der is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) woul
d be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Ve
locity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"
],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_P
ERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percenti
le rank for the current partition row\",\"help-contents\": \"Returns the percent
ile rank for the current row in the partition. Use the optional 'asc' | 'desc' a
rgument to specify ascending or descending order. The default order is ascending
.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25,
75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score])
)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"hasvar-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expres
sion, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the curr
ent partition row\",\"help-contents\": \"Returns the unique rank for the current
row in the partition. Identical values are assigned different ranks. Use the op
tional 'asc' | 'desc' argument to specify ascending or descending order. The def
ault order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 1
4) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE()
= 1 for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTR
ACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Retu
rns the portion of a string matching the capturing group in a regular expression
\",\"help-contents\": \"Returns a substring of the given string that matches the
capturing group within the regular expression pattern. The regular expression
pattern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc
123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\"
,\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\":
\"Returns a substring of a string using a regular expression pattern\",\"help-co
ntents\": \"Returns a substring of the given string using the regular expression
pattern. The substring is matched to the nth capturing group, where n is the g
iven index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)
', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"lo
cint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REG
EXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matche
s a regular expression\",\"help-contents\": \"Returns true if a substring of the
provided string matches the regular expression pattern. \\n\\nExample: REGEXP_M
ATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])')
= true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var
-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(str
ing, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrin
gs matching a regular expression are replaced\",\"help-contents\": \"Returns a c
opy of the given string where the matching pattern is substituted with the repla
cement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--1
23'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has
-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, subst
ring, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring w
ithin a string\",\"help-contents\": \"Returns a string in which every occurrence
of the substring is replaced with the replacement string. If the substring is n
ot found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \
\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-ar
g-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\
",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the spe
cified number of characters from the end of a string\",\"help-contents\": \"Retu

rns the specified number of characters from the end of the given string. \\n\\n
Example: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],
\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUN
D\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a num
ber to the specified number of places\",\"help-contents\": \"Rounds a number to
the nearest integer or to a specified number of decimal places. \\n\\nExample: R
OUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"r
eal\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(strin
g)\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"helpcontents\": \"Returns the string with any trailing spaces removed. \\n\\nExampl
e: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig
\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average
of an expression\",\"help-contents\": \"Returns the running average of the given
expression, from the first row in the partition to the current row.\\n\\nExampl
e: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[
\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"R
UNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"R
eturns the running count of an expression\",\"help-contents\": \"Returns the run
ning count of the given expression, from the first row in the partition to the c
urrent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Pr
ofit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"
func-tooltip\": \"Returns the running maximum of an expression\",\"help-contents
\": \"Returns the running maximum of the given expression, from the first row in
the partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = ru
nning maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maxim
um of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\
"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(e
xpression)\",\"func-tooltip\": \"Returns the running minimum of an expression\",
\"help-contents\": \"Returns the running minimum of the given expression, from t
he first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN(
[Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit]))
= running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\":
\"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an ex
pression\",\"help-contents\": \"Returns the running sum of the given expression,
from the first row in the partition to the current row.\\n\\nExample: RUNNING_S
UM(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profi
t])) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"
SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean res
ult from an R expression\",\"help-contents\": \"Returns a Boolean result from a
given R expression. The R expression is passed directly to a running Rserve inst
ance. Use .arg# in the R expression to reference parameters. In the following ex
ample, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite
(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"st
r\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_IN
T(string, expression, ...)\",\"func-tooltip\": \"Returns an integer result from
an R expression\",\"help-contents\": \"Returns an integer result from a given R
expression. The R expression is passed directly to a running Rserve instance. Us
e .arg# in the R expression to reference parameters. In the following example, .
arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 *
5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"]
,\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(
string, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an
R expression\",\"help-contents\": \"Returns a numeric result from a given R expr
ession. The R expression is passed directly to a running Rserve instance. Use .a
rg# in the R expression to reference parameters. In the following example, .arg1
is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM(

[Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-ar
gs\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, express
ion, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\
"help-contents\": \"Returns a string result from a given R expression. The R exp
ression is passed directly to a running Rserve instance. Use .arg# in the R expr
ession to reference parameters. In the following example, .arg1 is equal to ATTR
([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]
))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": tr
ue},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Retur
ns 1 for a positive number\",\"help-contents\": \"Returns the sign of a number:
1 if the number is positive, zero if the number is zero, or -1 if the number is
negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-type
s\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(a
ngle)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"
Returns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI
()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"
],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-t
ooltip\": \"Returns the number of rows in the partition\",\"help-contents\": \"R
eturns the number of rows in the partition.\\n\\nExample (partition has 5 rows):
\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\":
\"Returns a string containing the specified number of spaces\",\"help-contents\
": \"Returns a string composed of the specified number of repeated spaces. \\n\\
nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"
real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(stri
ng, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a s
tring\",\"help-contents\": \"Returns a substring from a string, as determined by
a delimiter extracting the characters from the beginning or end of the string.
\\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"
locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(numb
er)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\
": \"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the sq
uare of a number\",\"help-contents\": \"Returns the square of a given number. \\
n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWIT
H(string, substring)\",\"func-tooltip\": \"Returns true if the specified string
starts with the specified substring\",\"help-contents\": \"Returns true if the s
tring starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\",
\\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\
"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expressio
n)\",\"func-tooltip\": \"Returns the sample standard deviation for an expression
\",\"help-contents\": \"Returns the sample standard deviation of the expression.
\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(exp
ression)\",\"func-tooltip\": \"Returns the population standard deviation for an
expression\",\"help-contents\": \"Returns the population standard deviation of t
he expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\":
\"STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"he
lp-contents\": \"Returns a string given an expression. \\n\\nExample: STR([Age]
) returns all of the values of the Age measure as strings.\",\"func-grps\":[\"ca
st\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM
\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of valu
es in an expression\",\"help-contents\": \"Returns the sum of all the values in
the expression. SUM can be used with numeric fields only. Null values are ignore
d.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",

\"func-tooltip\": \"Returns the tangent of an angle specified in radians\",\"hel


p-contents\": \"Returns the tangent of an angle. Specify the angle in radians.\\
n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> TH
EN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\"
: \"Performs a logical test and returns an appropriate value\",\"help-contents\"
: \"Tests a series of expressions returning the <then> value for the first true
<expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THE
N 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-t
ooltip\": \"Returns the current date\",\"help-contents\": \"Returns the current
date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(
expression)\",\"func-tooltip\": \"Returns the total for an expression within the
partition\",\"help-contents\": \"Returns the total for the given expression.\\n
\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contri
bute to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\
"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\
"func-tooltip\": \"Returns a string with leading and trailing spaces removed\",\
"help-contents\": \"Returns the string with both leading and trailing spaces rem
oved. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\
"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER
\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all u
ppercase characters\",\"help-contents\": \"Converts a text string to all upperca
se letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grp
s\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \
"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the dom
ain for the current user\",\"help-contents\": \"Returns the domain for the curre
nt user when the user is signed on to Tableau Server. Returns the Windows domain
if the Tableau Desktop user is on a domain. Otherwise this function returns a n
ull string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": f
alse},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"R
eturns the user name for the current user\",\"help-contents\": \"Returns the use
rname for the current user. This is the Tableau Server or Tableau Online usernam
e when the user is signed in; otherwise it is the local or network username for
the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has
-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"functooltip\": \"Returns the sample variance for an expression\",\"help-contents\":
\"Returns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\
"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\
"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns
the population variance for an expression\",\"help-contents\": \"Returns the po
pulation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\
":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>
] END\",\"func-tooltip\": \"Performs logical tests and returns the appropriate v
alue\",\"help-contents\": \"Finds the first <value> that matches <expr> and retu
rns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\
u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-s
ig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the a
verage of the values within the window\",\"help-contents\": \"Returns the averag
e of the expression within the window. The window is defined as offsets from th
e current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\
\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WI
NDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-too
ltip\": \"Returns the number of items within the window\",\"help-contents\": \"R

eturns the count of the expression within the window. The window is defined as
offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fi
rst or last row in the partition. If start and end are omitted, the entire part
ition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(P
rofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},
{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\"
,\"func-tooltip\": \"Returns the maximum within the window\",\"help-contents\":
\"Returns the maximum of the expression within the window. The window is define
d as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from t
he first or last row in the partition. If start and end are omitted, the entire
partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of
Profit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SU
M([Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the c
urrent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig
\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the
median within the window\",\"help-contents\": \"Returns the median of the expres
sion within the window. The window is defined as offsets from the current row.
Use FIRST()+n and LAST()-n for offsets from the first or last row in the partiti
on. If start and end are omitted, the entire partition is used.\\n\\nExample: W
INDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous
rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\
",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"
func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns
the minimum within the window\",\"help-contents\": \"Returns the minimum of the
expression within the window. The window is defined as offsets from the curren
t row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the
partition. If start and end are omitted, the entire partition is used.\\n\\nExa
mple: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous
rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimu
m of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[
\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(
expression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile v
alue at the specified number\",\"help-contents\": \"Returns the value correspond
ing to the specified percentile within the window. The window is defined as off
sets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partiti
on is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75t
h percentile of SUM(Profit) from the two previous rows to the current row\",\"fu
nc-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"int
eger\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WIN
DOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample sta
ndard deviation within the window\",\"help-contents\": \"Returns the sample stan
dard deviation of the expression within the window. The window is defined as of
fsets from the current row. Use FIRST()+n and LAST()-n for offsets from the firs
t or last row in the partition. If start and end are omitted, the entire partit
ion is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM
(Profit) from the two previous rows to the current row\",\"func-grps\":[\"table\
"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false
},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start,
end])\",\"func-tooltip\": \"Returns the population standard deviation within th
e window\",\"help-contents\": \"Returns the population standard deviation of the
expression within the window. The window is defined as offsets from the curren
t row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the
partition. If start and end are omitted, the entire partition is used.\\n\\nExa
mple: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDO

W_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\":


\"Returns the sum of values within the window\",\"help-contents\": \"Returns th
e sum of the expression within the window. The window is defined as offsets fro
m the current row. Use FIRST()+n and LAST()-n for offsets from the first or last
row in the partition. If start and end are omitted, the entire partition is us
ed.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \
"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tool
tip\": \"Returns the sample variance within the window\",\"help-contents\": \"Re
turns the sample variance of the expression within the window. The window is de
fined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets fr
om the first or last row in the partition. If start and end are omitted, the en
tire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = varianc
e of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[
\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\
": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [st
art, end])\",\"func-tooltip\": \"Returns the population variance within the wind
ow\",\"help-contents\": \"Returns the population variance of the expression with
in the window. The window is defined as offsets from the current row. Use FIRST
()+n and LAST()-n for offsets from the first or last row in the partition. If s
tart and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VAR
P(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to
the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integ
er\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"Y
EAR(date)\",\"func-tooltip\": \"Returns the year of the specified date as an int
eger\",\"help-contents\": \"Returns the year of a given date as an integer. \\n
\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-type
s\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN
(expression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"
help-contents\": \"Returns <expression> if it is not null, otherwise returns zer
o. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-t
ypes\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calcu
lation-dialog\",\"use-parameters\": true} position=\"65\"","name":"tabdoc:calcul
ation-auto-complete"}}
{"ts":"2016-09-29T16:42:57.447","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC(
'month',[Order Date])-DATETRUNC('month',[Calculation5])\" calculation={\"datasou
rce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \"
Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"scop
e-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])-D
ATETRUNC('month',[Calculation5])\",\"fn\": \"\",\"fn-source\": \"\",\"calculatio
n-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-r
ole\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\":
0,\"style-token-list\":[],\"error-string\": \"Error in calculation:\\n\\nReferen
ce to undefined field [Calculation5].\\n\\nWould you like to correct the calcula
tion?\",\"error-info-list\":[{\"start-position-for-error\": 50,\"length-of-calcof-error\": 14,\"error-message\": \"Reference to undefined field [Calculation5].
\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func
-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a numb
er\",\"help-contents\": \"Returns the absolute value of the given number. \\n\\n
Example: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"h
as-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"functooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns t
he arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-v
ar-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN
<then> END\",\"func-tooltip\": \"Performs a logical conjunction on two expressi
ons\",\"help-contents\": \"Performs a logical conjunction on two expressions\",\

"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASC
II code for the first character in a string\",\"help-contents\": \"Returns the A
SCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"aut
hors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-varargs\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip
\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc si
ne of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267
949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Retu
rns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent o
f a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.56524082839
42\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tool
tip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns t
he arc tangent of two given numbers (x and y). The result is in radians. \\n\\n
Example: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig
\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expression
if it has one value for all rows\",\"help-contents\": \"Returns the value of th
e given expression if it only has a single value for all rows in the group, othe
rwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([
Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip
\": \"Returns the average of the values in the expression\",\"help-contents\": \
"Returns the average of all the values in the expression. AVG can be used with n
umeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"fun
c-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE
<else>] END\",\"func-tooltip\": \"Performs logical tests and returns the approp
riate value\",\"help-contents\": \"Finds the first <value> that matches <expr> a
nd returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \
u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"log
ic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"fu
nc-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest
integer of equal or greater value\",\"help-contents\": \"Rounds a number to the
nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts
an integer ASCII code into a character\",\"help-contents\": \"Converts the give
n integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"
Returns true if a string contains the specified substring\",\"help-contents\": \
"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\"
Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\":
\"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in r
adians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle
in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"
func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle
specified in radians\",\"help-contents\": \"Returns the cotangent of an angle.
Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"n
um\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\
",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of
items in the expression\",\"help-contents\": \"Returns the number of items in a
group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"na
me\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Return

s the number of distinct items in the expression\",\"help-contents\": \"Returns


the number of distinct items in a group. NULL values are not counted. Each uniq
ue value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"D
ATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from
a number\",\"help-contents\": \"Returns a date given a number, string, or date
expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote
that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"D
ATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified da
te incremented by the specified amount\",\"help-contents\": \"Adds an increment
to the specified date and returns the new date. The increment is defined by the
interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2
004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",
\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"fun
c-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-t
ooltip\": \"Returns the difference between two dates\",\"help-contents\": \"Retu
rns the difference between two dates where start_date is subtracted from end_dat
e. The difference is expressed in units of date_part. If start_of_week is omitte
d, the week start day is determined by the start day configured for the data sou
rce.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\
",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetim
e\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \
"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part
of the specified date as a string\",\"help-contents\": \"Returns a part of the
given date as a string, where the part is defined by date_part. If start_of_week
is omitted, the week start day is determined by the start day configured for th
e data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\
"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(form
at, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents\
": \"Converts a string to a date in the specified format. \\n\\nExample: DATEPAR
SE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"fu
nc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": f
alse},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_o
f_week])\",\"func-tooltip\": \"Returns the specified part of a date as an intege
r\",\"help-contents\": \"Returns a part of the given date as an integer where th
e part is defined by date_part. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DAT
EPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[
\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETI
ME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a dateti
me from a number\",\"help-contents\": \"Returns a datetime given a number, strin
g, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\")
\\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"fu
nc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"fun
c-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Tru
ncates the specified date to the specified accuracy\",\"help-contents\": \"Trunc
ates the specified date to the accuracy specified by the date_part and returns t
he new date. If start_of_week is omitted, the week start day is determined by th
e start day configured for the data source.\\n\\nExample: DATETRUNC('quarter', #
2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-type
s\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"D
AY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the
specified date as an integer\",\"help-contents\": \"Returns the day of the give
n date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"
date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"
DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value
in radians to degrees\",\"help-contents\": \"Converts a number in radians to de
grees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg

-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"


DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divisi
on operation\",\"help-contents\": \"Returns the integer part of a division.\\n\\
nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF
<expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"functooltip\": \"Performs a logical test and returns an appropriate value\",\"help-c
ontents\": \"Tests a series of expressions returning the <then> value for the fi
rst true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit
] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr
> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-toolt
ip\": \"Performs a logical test and returns an appropriate value\",\"help-conten
ts\": \"Tests a series of expressions returning the <then> value for the first t
rue <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0
THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <
then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"
Performs a logical test and returns an appropriate value\",\"help-contents\": \"
Tests a series of expressions returning the <then> value for the first true <exp
r>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'B
reakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, su
bstring)\",\"func-tooltip\": \"Returns true if the specified string ends with th
e specified substring\",\"help-contents\": \"Returns true if the string ends wit
h the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Ca
lculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\":
\"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Co
mputes an aggregate excluding the specified dimensions if present in the view.\"
,\"help-contents\": \"Computes an aggregate excluding the specified dimensions i
f present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\
": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns e
raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\":
\"Returns the position of a substring within a string\",\"help-contents\": \"Ret
urns the position of a substring within a string, or 0 if the substring isn't fo
und. If the start argument is defined, any instances of substring that appear be
fore the start position are ignored. The first character in the string is positi
on 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false
},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\
",\"func-tooltip\": \"Returns the position of the nth occurrence a substring wit
hin a string\",\"help-contents\": \"Returns the position of the nth occurrence o
f a substring within a string, or 0 if that occurrence of the substring isn't fo
und. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\\
"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func
-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the f
irst row in the partition\",\"help-contents\": \"Returns the number of rows from
the current row to the first row in the partition.\\n\\nExample (current row in
dex is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[
],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[,
dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate u
sing only the specified dimensions.\",\"help-contents\": \"Computes an aggregate
using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expres
sion)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-contents

\": \"Returns a float given an expression of any type. This function requires un
formatted numbers which means exclude commas and other symbols. \\n\\nExample:
FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean
\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\
",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser
value\",\"help-contents\": \"Rounds a number to the nearest integer of equal or
lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-s
ig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current u
ser\",\"help-contents\": \"Returns the full name for the current user. This is t
he Tableau Server or Tableau Online full name when the user is signed in; otherw
ise it is the local or network full name for the Tableau Desktop user.\",\"funcgrps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HE
XBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns th
e x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y
) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have sid
e length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name
\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Re
turns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps
an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <t
hen2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and r
eturns an appropriate value\",\"help-contents\": \"Tests a series of expressions
returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profit
] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns
expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not nul
l, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\
":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func
-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",\"h
elp-contents\": \"Checks whether a condition is met, and returns one value if TR
UE, another value if FALSE, and an optional third value or NULL if unknown. \\n\
\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},
{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-e
xpression }\",\"func-tooltip\": \"Computes an aggregate using the specified dime
nsions and the view dimensions.\",\"help-contents\": \"Computes an aggregate usi
ng the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\":
\"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the par
tition\",\"help-contents\": \"Returns the index of the current row in the partit
ion.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT
\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression
and returns an integer\",\"help-contents\": \"Returns an integer given an expre
ssion. This function truncates results to the closest integer toward zero. \\n\\
nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-a
rg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-s
ig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a val
id date\",\"help-contents\": \"Returns true if a given string is a valid date.
\\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date
\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \
"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns t
rue if the current user's full name matches the specified name\",\"help-contents
\": \"Returns true if the current user's full name matches the specified full na

me, or false if it does not match. This function uses the Tableau Server or Tabl
eau Online full name when the user is signed in; otherwise it uses the local or
network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fun
c-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"
func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the curre
nt user is a member of the specified group\",\"help-contents\": \"Returns true i
f the current user is a member of the given group, false otherwise. This uses t
he Tableau Server to resolve group membership if logged on, otherwise it always
returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"hasvar-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"
func-tooltip\": \"Returns true if the specified expression is null\",\"help-cont
ents\": \"Returns true if the expression does not contain valid data (Null).\\n\
\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"bo
olean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUS
ERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name mat
ches the specified user name\",\"help-contents\": \"Returns true if the current
user's username matches the specified username, or false if it does not match. T
his function uses the Tableau Server or Tableau Online username when the user is
signed in; otherwise it uses the local or network username for the Tableau Desk
top user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-a
rgs\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"R
eturns the number of rows to the last row in the partition\",\"help-contents\":
\"Returns the number of rows from the current row to the last row in the partiti
on.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[
\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"
func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specifie
d number of characters from the start of a string\",\"help-contents\": \"Returns
the specified number of characters from the start of the given string. \\n\\nE
xample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",
\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of characte
rs in a string\",\"help-contents\": \"Returns the number of characters in the gi
ven string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\
"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"fun
c-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a n
umber\",\"help-contents\": \"Returns the natural logarithm of the given number.
Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5))
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\":
\"Returns the logarithm of a number for the given base\",\"help-contents\": \"Re
turns the logarithm of a number for the given base. If the base value is omitted
, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"fun
c-tooltip\": \"Returns the value of the expression in a row offset from current
row\",\"help-contents\": \"Returns the value of the given expression in a target
row, specified as a relative offset from the current row. Use FIRST()+n and LAS
T()-n for a target relative to the first/last rows in the partition. If offset i
s omitted, the Compare To row may be set on the field menu. Returns NULL if the
target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) +
2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string
in all lowercase characters\",\"help-contents\": \"Converts a text string to all
lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"
func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"n
ame\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a s
tring with leading spaces removed\",\"help-contents\": \"Returns the string with
any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\
"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false

},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-to


oltip\": \"Returns a date value constructed from a year, a month and a day of th
e month.\",\"help-contents\": \"Returns a date value constructed from a year, a
month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-g
rps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"hasvar-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date
, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time\
",\"help-contents\": \"Returns a date and time value given a date expression and
a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"f
unc-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\
": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)
\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes and
seconds.\",\"help-contents\": \"Returns a time value constructed from hours, min
utes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",
\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \"
Returns the maximum of a single expression across all records or the maximum of
two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\
"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"
],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expressi
on)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents\
": \"Returns the median of a single expression. MEDIAN can be used with numeric
fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-gr
ps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Return
s the characters from the middle of a text string\",\"help-contents\": \"Returns
the characters from the middle of a text string given a starting position and a
length. The first character in the string is position 1. If the length is not i
ncluded, all characters to the end of the string are returned. If the length is
included, up to that many characters are returned. \\n\\nExample: MID(\\\"Tablea
u Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\"
,2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"rea
l\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(ex
pression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an e
xpression\",\"help-contents\": \"Returns the minimum of an expression across all
records or the minimum of two expressions for each record. \\n\\nExample: MIN(
[Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-ar
g-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"fu
nc-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the spec
ified date as an integer\",\"help-contents\": \"Returns the month of a given dat
e as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date
\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\
",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs l
ogical negation on an expression\",\"help-contents\": \"Performs logical negatio
n on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-a
rgs\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Ret
urns the current date and time\",\"help-contents\": \"Returns the current date a
nd time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"
],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\":
\"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logica
l disjunction on two expressions\",\"help-contents\": \"Performs a logical disju
nction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expres
sion, number)\",\"func-tooltip\": \"Returns the percentile value at the specifie
d number\",\"help-contents\": \"Aggregate calculation that returns the percentil
e value from the given expression corresponding to the specified number. Valid v
alues for the number are 0 through 1. PERCENTILE([expression], 0.50) will always
return the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.
90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-va

r-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Re


turns the numeric constant pi\",\"help-contents\": \"Returns the numeric constan
t pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(
number,power)\",\"func-tooltip\": \"Raises the number to the specified power\",\
"help-contents\": \"Returns the result of a number raised to the given power. \\
n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":
[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"fun
c-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of
this calculation in the previous row\",\"help-contents\": \"Returns the value o
f this calculation in the previous row. Returns the given expression if the curr
ent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOU
S_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(
1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \
"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\"
,\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RAN
K\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retur
ns the competition rank for the current partition row\",\"help-contents\": \"Ret
urns the standard competition rank for the current row in the partition. Identic
al values are assigned an identical rank. Use the optional 'asc' | 'desc' argume
nt to specify ascending or descending order. The default order is descending.\\n
\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2,
4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"
name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",
\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"hel
p-contents\": \"Returns the dense rank for the current row in the partition. Ide
ntical values are assigned an identical rank, but no gaps are inserted into the
number sequence. Use the optional 'asc' | 'desc' argument to specify ascending o
r descending order. The default order is descending.\\n\\nWith this function, th
e set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\
n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIE
D\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\"
: \"Returns the modified competition rank for the current partition row\",\"help
-contents\": \"Returns the modified competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'as
c' | 'desc' argument to specify ascending or descending order. The default order
is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would b
e ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Veloc
ity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\
"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERC
ENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile
rank for the current partition row\",\"help-contents\": \"Returns the percentile
rank for the current row in the partition. Use the optional 'asc' | 'desc' argu
ment to specify ascending or descending order. The default order is ascending.\\
n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75,
75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var
-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expressio
n, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the current
partition row\",\"help-contents\": \"Returns the unique rank for the current ro
w in the partition. Identical values are assigned different ranks. Use the optio
nal 'asc' | 'desc' argument to specify ascending or descending order. The defaul
t order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1
for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT

\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns


the portion of a string matching the capturing group in a regular expression\",
\"help-contents\": \"Returns a substring of the given string that matches the ca
pturing group within the regular expression pattern. The regular expression pat
tern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 12
3', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"
func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"R
eturns a substring of a string using a regular expression pattern\",\"help-conte
nts\": \"Returns a substring of the given string using the regular expression pa
ttern. The substring is matched to the nth capturing group, where n is the give
n index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)',
2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locin
t\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP
_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches a
regular expression\",\"help-contents\": \"Returns true if a substring of the pr
ovided string matches the regular expression pattern. \\n\\nExample: REGEXP_MATC
H('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') =
true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-ar
gs\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string
, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrings
matching a regular expression are replaced\",\"help-contents\": \"Returns a copy
of the given string where the matching pattern is substituted with the replacem
ent string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'
\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-va
r-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substrin
g, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring with
in a string\",\"help-contents\": \"Returns a string in which every occurrence of
the substring is replaced with the replacement string. If the substring is not
found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"
ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-t
ypes\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\
"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specif
ied number of characters from the end of a string\",\"help-contents\": \"Returns
the specified number of characters from the end of the given string. \\n\\nExa
mple: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"f
unc-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\"
,\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number
to the specified number of places\",\"help-contents\": \"Rounds a number to the
nearest integer or to a specified number of decimal places. \\n\\nExample: ROUN
D(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real
\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\
",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-con
tents\": \"Returns the string with any trailing spaces removed. \\n\\nExample:
RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\":
\"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of
an expression\",\"help-contents\": \"Returns the running average of the given ex
pression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNN
ING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Retu
rns the running count of an expression\",\"help-contents\": \"Returns the runnin
g count of the given expression, from the first row in the partition to the curr
ent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profi
t)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"fun
c-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\":
\"Returns the running maximum of the given expression, from the first row in th
e partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = runni

ng maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum


of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expr
ession)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"h
elp-contents\": \"Returns the running minimum of the given expression, from the
first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Pr
ofit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = r
unning minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"R
UNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expre
ssion\",\"help-contents\": \"Returns the running sum of the given expression, fr
om the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM(
SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])
) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"in
teger\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCR
IPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result
from an R expression\",\"help-contents\": \"Returns a Boolean result from a giv
en R expression. The R expression is passed directly to a running Rserve instanc
e. Use .arg# in the R expression to reference parameters. In the following examp
le, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.a
rg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(s
tring, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an
R expression\",\"help-contents\": \"Returns an integer result from a given R exp
ression. The R expression is passed directly to a running Rserve instance. Use .
arg# in the R expression to reference parameters. In the following example, .arg
1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)
\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"
has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(str
ing, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R e
xpression\",\"help-contents\": \"Returns a numeric result from a given R express
ion. The R expression is passed directly to a running Rserve instance. Use .arg#
in the R expression to reference parameters. In the following example, .arg1 is
equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Pr
ofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression
, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"he
lp-contents\": \"Returns a string result from a given R expression. The R expres
sion is passed directly to a running Rserve instance. Use .arg# in the R express
ion to reference parameters. In the following example, .arg1 is equal to ATTR([R
egion]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true}
,{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns
1 for a positive number\",\"help-contents\": \"Returns the sign of a number: 1 i
f the number is positive, zero if the number is zero, or -1 if the number is neg
ative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angl
e)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Ret
urns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/
4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tool
tip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Retu
rns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\n
SIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"
Returns a string containing the specified number of spaces\",\"help-contents\":
\"Returns a string composed of the specified number of repeated spaces. \\n\\nEx
ample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string,
delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a stri

ng\",\"help-contents\": \"Returns a substring from a string, as determined by a


delimiter extracting the characters from the beginning or end of the string. \\n
\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-',
-2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"loc
int\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)
\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\":
\"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the squar
e of a number\",\"help-contents\": \"Returns the square of a given number. \\n\\
nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(s
tring, substring)\",\"func-tooltip\": \"Returns true if the specified string sta
rts with the specified substring\",\"help-contents\": \"Returns true if the stri
ng starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\
"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],
\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\
",\"func-tooltip\": \"Returns the sample standard deviation for an expression\",
\"help-contents\": \"Returns the sample standard deviation of the expression.\\n
\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expres
sion)\",\"func-tooltip\": \"Returns the population standard deviation for an exp
ression\",\"help-contents\": \"Returns the population standard deviation of the
expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"S
TR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"helpcontents\": \"Returns a string given an expression. \\n\\nExample: STR([Age]) r
eturns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast\
"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",
\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values
in an expression\",\"help-contents\": \"Returns the sum of all the values in the
expression. SUM can be used with numeric fields only. Null values are ignored.\
\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"f
unc-tooltip\": \"Returns the tangent of an angle specified in radians\",\"help-c
ontents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\\
nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \
"Performs a logical test and returns an appropriate value\",\"help-contents\": \
"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tool
tip\": \"Returns the current date\",\"help-contents\": \"Returns the current dat
e. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(exp
ression)\",\"func-tooltip\": \"Returns the total for an expression within the pa
rtition\",\"help-contents\": \"Returns the total for the given expression.\\n\\n
Example: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribut
e to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],
\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"fu
nc-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"he
lp-contents\": \"Returns the string with both leading and trailing spaces remove
d. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",
\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all uppe
rcase characters\",\"help-contents\": \"Converts a text string to all uppercase
letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"US

ERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain


for the current user\",\"help-contents\": \"Returns the domain for the current
user when the user is signed on to Tableau Server. Returns the Windows domain if
the Tableau Desktop user is on a domain. Otherwise this function returns a null
string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Retu
rns the user name for the current user\",\"help-contents\": \"Returns the userna
me for the current user. This is the Tableau Server or Tableau Online username w
hen the user is signed in; otherwise it is the local or network username for the
Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-too
ltip\": \"Returns the sample variance for an expression\",\"help-contents\": \"R
eturns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"fu
nc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns th
e population variance for an expression\",\"help-contents\": \"Returns the popul
ation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHE
N\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] E
ND\",\"func-tooltip\": \"Performs logical tests and returns the appropriate valu
e\",\"help-contents\": \"Finds the first <value> that matches <expr> and returns
the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u20
19 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\
": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the aver
age of the values within the window\",\"help-contents\": \"Returns the average o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDO
W_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-toolti
p\": \"Returns the number of items within the window\",\"help-contents\": \"Retu
rns the count of the expression within the window. The window is defined as off
sets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partiti
on is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Prof
it) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"
func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"
name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"
func-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"R
eturns the maximum of the expression within the window. The window is defined a
s offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire pa
rtition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Pro
fit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([
Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the curr
ent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\":
\"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the med
ian within the window\",\"help-contents\": \"Returns the median of the expressio
n within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WIND
OW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous ro
ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"fun
c-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns th
e minimum within the window\",\"help-contents\": \"Returns the minimum of the ex

pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous ro
ws to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\
": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(exp
ression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile valu
e at the specified number\",\"help-contents\": \"Returns the value corresponding
to the specified percentile within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th p
ercentile of SUM(Profit) from the two previous rows to the current row\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"intege
r\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW
_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample standa
rd deviation within the window\",\"help-contents\": \"Returns the sample standar
d deviation of the expression within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Pr
ofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{
\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, en
d])\",\"func-tooltip\": \"Returns the population standard deviation within the w
indow\",\"help-contents\": \"Returns the population standard deviation of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two p
revious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_S
UM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"
Returns the sum of values within the window\",\"help-contents\": \"Returns the s
um of the expression within the window. The window is defined as offsets from t
he current row. Use FIRST()+n and LAST()-n for offsets from the first or last ro
w in the partition. If start and end are omitted, the entire partition is used.
\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WI
NDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip
\": \"Returns the sample variance within the window\",\"help-contents\": \"Retur
ns the sample variance of the expression within the window. The window is defin
ed as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the entir
e partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start
, end])\",\"func-tooltip\": \"Returns the population variance within the window\
",\"help-contents\": \"Returns the population variance of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()+
n and LAST()-n for offsets from the first or last row in the partition. If star
t and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(S
UM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to the
current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\
",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR
(date)\",\"func-tooltip\": \"Returns the year of the specified date as an intege

r\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\\n


Example: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\"
:[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(ex
pression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"hel
p-contents\": \"Returns <expression> if it is not null, otherwise returns zero.
\\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calculat
ion-dialog\",\"use-parameters\": true} position=\"63\"","name":"tabdoc:calculati
on-auto-complete"}}
{"ts":"2016-09-29T16:42:57.447","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC
('month',[Order Date])-DATETRUNC('month',[Calculation5])\" calculation={\"dataso
urce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \
"Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"sco
pe-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])DATETRUNC('month',[Calculation5])\",\"fn\": \"\",\"fn-source\": \"\",\"calculati
on-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folderrole\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\":
0,\"style-token-list\":[],\"error-string\": \"Error in calculation:\\n\\nRefere
nce to undefined field [Calculation5].\\n\\nWould you like to correct the calcul
ation?\",\"error-info-list\":[{\"start-position-for-error\": 50,\"length-of-calc
-of-error\": 14,\"error-message\": \"Reference to undefined field [Calculation5]
.\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"fun
c-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a num
ber\",\"help-contents\": \"Returns the absolute value of the given number. \\n\\
nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func
-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns
the arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"hasvar-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THE
N <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two express
ions\",\"help-contents\": \"Performs a logical conjunction on two expressions\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the AS
CII code for the first character in a string\",\"help-contents\": \"Returns the
ASCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"au
thors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var
-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-toolti
p\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc s
ine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.570796326
7949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Ret
urns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent
of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408283
942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-too
ltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns
the arc tangent of two given numbers (x and y). The result is in radians. \\n\\
nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-ty
pes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-si
g\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expressio
n if it has one value for all rows\",\"help-contents\": \"Returns the value of t
he given expression if it only has a single value for all rows in the group, oth
erwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR(
[Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-toolti
p\": \"Returns the average of the values in the expression\",\"help-contents\":
\"Returns the average of all the values in the expression. AVG can be used with

numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"fu


nc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELS
E <else>] END\",\"func-tooltip\": \"Performs logical tests and returns the appro
priate value\",\"help-contents\": \"Finds the first <value> that matches <expr>
and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN
\u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"lo
gic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"f
unc-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the neares
t integer of equal or greater value\",\"help-contents\": \"Rounds a number to th
e nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\
",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false}
,{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Convert
s an integer ASCII code into a character\",\"help-contents\": \"Converts the giv
en integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \
"Returns true if a string contains the specified substring\",\"help-contents\":
\"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\
"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\":
\"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in
radians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle
in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"nu
m\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\
"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angl
e specified in radians\",\"help-contents\": \"Returns the cotangent of an angle.
Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"
num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT
\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of
items in the expression\",\"help-contents\": \"Returns the number of items in a
group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"n
ame\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Retur
ns the number of distinct items in the expression\",\"help-contents\": \"Returns
the number of distinct items in a group. NULL values are not counted. Each uni
que value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"
DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date fro
m a number\",\"help-contents\": \"Returns a date given a number, string, or date
expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote
that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"
DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified d
ate incremented by the specified amount\",\"help-contents\": \"Adds an increment
to the specified date and returns the new date. The increment is defined by the
interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) =
2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\"
,\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"fu
nc-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"functooltip\": \"Returns the difference between two dates\",\"help-contents\": \"Ret
urns the difference between two dates where start_date is subtracted from end_da
te. The difference is expressed in units of date_part. If start_of_week is omitt
ed, the week start day is determined by the start day configured for the data so
urce.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3
\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"dateti
me\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\":
\"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a par
t of the specified date as a string\",\"help-contents\": \"Returns a part of the
given date as a string, where the part is defined by date_part. If start_of_wee

k is omitted, the week start day is determined by the start day configured for t
he data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",
\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"]
,\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(for
mat, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents
\": \"Converts a string to a date in the specified format. \\n\\nExample: DATEPA
RSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"f
unc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\":
false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_
of_week])\",\"func-tooltip\": \"Returns the specified part of a date as an integ
er\",\"help-contents\": \"Returns a part of the given date as an integer where t
he part is defined by date_part. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DA
TEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":
[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATET
IME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datet
ime from a number\",\"help-contents\": \"Returns a datetime given a number, stri
ng, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\"
) \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"f
unc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"fu
nc-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Tr
uncates the specified date to the specified accuracy\",\"help-contents\": \"Trun
cates the specified date to the accuracy specified by the date_part and returns
the new date. If start_of_week is omitted, the week start day is determined by t
he start day configured for the data source.\\n\\nExample: DATETRUNC('quarter',
#2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-typ
es\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"
DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of th
e specified date as an integer\",\"help-contents\": \"Returns the day of the giv
en date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\
"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \
"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a valu
e in radians to degrees\",\"help-contents\": \"Converts a number in radians to d
egrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \
"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divis
ion operation\",\"help-contents\": \"Returns the integer part of a division.\\n\
\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"intege
r\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF
<expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func
-tooltip\": \"Performs a logical test and returns an appropriate value\",\"helpcontents\": \"Tests a series of expressions returning the <then> value for the f
irst true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profi
t] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <exp
r> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tool
tip\": \"Performs a logical test and returns an appropriate value\",\"help-conte
nts\": \"Tests a series of expressions returning the <then> value for the first
true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =
0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \
"Performs a logical test and returns an appropriate value\",\"help-contents\": \
"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, s
ubstring)\",\"func-tooltip\": \"Returns true if the specified string ends with t
he specified substring\",\"help-contents\": \"Returns true if the string ends wi
th the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"C

alculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\


":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\"
: \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"C
omputes an aggregate excluding the specified dimensions if present in the view.\
",\"help-contents\": \"Computes an aggregate excluding the specified dimensions
if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip
\": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns e
raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\":
\"Returns the position of a substring within a string\",\"help-contents\": \"Re
turns the position of a substring within a string, or 0 if the substring isn't f
ound. If the start argument is defined, any instances of substring that appear b
efore the start position are ignored. The first character in the string is posit
ion 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": fals
e},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)
\",\"func-tooltip\": \"Returns the position of the nth occurrence a substring wi
thin a string\",\"help-contents\": \"Returns the position of the nth occurrence
of a substring within a string, or 0 if that occurrence of the substring isn't f
ound. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\
\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"fun
c-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the
first row in the partition\",\"help-contents\": \"Returns the number of rows fro
m the current row to the first row in the partition.\\n\\nExample (current row i
ndex is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":
[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[,
dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate
using only the specified dimensions.\",\"help-contents\": \"Computes an aggregat
e using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-type
s\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expre
ssion)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-content
s\": \"Returns a float given an expression of any type. This function requires u
nformatted numbers which means exclude commas and other symbols. \\n\\nExample:
FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolea
n\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)
\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser
value\",\"help-contents\": \"Rounds a number to the nearest integer of equal or
lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"funcsig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current
user\",\"help-contents\": \"Returns the full name for the current user. This is
the Tableau Server or Tableau Online full name when the user is signed in; other
wise it is the local or network full name for the Tableau Desktop user.\",\"func
-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"H
EXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns t
he x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,
y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have si
de length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"nam
e\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"R
eturns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Map
s an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false
},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <
then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and
returns an appropriate value\",\"help-contents\": \"Tests a series of expression

s returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profi
t] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Return
s expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not nu
ll, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps
\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": fa
lse},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"fun
c-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",\"
help-contents\": \"Checks whether a condition is met, and returns one value if T
RUE, another value if FALSE, and an optional third value or NULL if unknown. \\n
\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregateexpression }\",\"func-tooltip\": \"Computes an aggregate using the specified dim
ensions and the view dimensions.\",\"help-contents\": \"Computes an aggregate us
ing the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\"
: \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the pa
rtition\",\"help-contents\": \"Returns the index of the current row in the parti
tion.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IN
T\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expressio
n and returns an integer\",\"help-contents\": \"Returns an integer given an expr
ession. This function truncates results to the closest integer toward zero. \\n\
\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"funcarg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"funcsig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a va
lid date\",\"help-contents\": \"Returns true if a given string is a valid date.
\\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"dat
e\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns
true if the current user's full name matches the specified name\",\"help-content
s\": \"Returns true if the current user's full name matches the specified full n
ame, or false if it does not match. This function uses the Tableau Server or Tab
leau Online full name when the user is signed in; otherwise it uses the local or
network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fu
nc-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\
"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the curr
ent user is a member of the specified group\",\"help-contents\": \"Returns true
if the current user is a member of the given group, false otherwise. This uses
the Tableau Server to resolve group membership if logged on, otherwise it always
returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has
-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\
"func-tooltip\": \"Returns true if the specified expression is null\",\"help-con
tents\": \"Returns true if the expression does not contain valid data (Null).\\n
\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"b
oolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISU
SERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name ma
tches the specified user name\",\"help-contents\": \"Returns true if the current
user's username matches the specified username, or false if it does not match.
This function uses the Tableau Server or Tableau Online username when the user i
s signed in; otherwise it uses the local or network username for the Tableau Des
ktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-varargs\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"
Returns the number of rows to the last row in the partition\",\"help-contents\":
\"Returns the number of rows from the current row to the last row in the partit
ion.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":
[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\
"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specifi

ed number of characters from the start of a string\",\"help-contents\": \"Return


s the specified number of characters from the start of the given string. \\n\\n
Example: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\
"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\"
,\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of charact
ers in a string\",\"help-contents\": \"Returns the number of characters in the g
iven string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str
\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"fu
nc-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a
number\",\"help-contents\": \"Returns the natural logarithm of the given number.
Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5))
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\":
\"Returns the logarithm of a number for the given base\",\"help-contents\": \"R
eturns the logarithm of a number for the given base. If the base value is omitte
d, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\
"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\":
false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"fu
nc-tooltip\": \"Returns the value of the expression in a row offset from current
row\",\"help-contents\": \"Returns the value of the given expression in a targe
t row, specified as a relative offset from the current row. Use FIRST()+n and LA
ST()-n for a target relative to the first/last rows in the partition. If offset
is omitted, the Compare To row may be set on the field menu. Returns NULL if the
target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) +
2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\"
: \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string
in all lowercase characters\",\"help-contents\": \"Converts a text string to al
l lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"
name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a
string with leading spaces removed\",\"help-contents\": \"Returns the string wit
h any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\
\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fals
e},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-t
ooltip\": \"Returns a date value constructed from a year, a month and a day of t
he month.\",\"help-contents\": \"Returns a date value constructed from a year, a
month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"funcgrps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has
-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(dat
e, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time
\",\"help-contents\": \"Returns a date and time value given a date expression an
d a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"
func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args
\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second
)\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes and
seconds.\",\"help-contents\": \"Returns a time value constructed from hours, mi
nutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cas
t\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\"
,\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \
"Returns the maximum of a single expression across all records or the maximum of
two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[
\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\
"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(express
ion)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents
\": \"Returns the median of a single expression. MEDIAN can be used with numeric
fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-g
rps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Retur

ns the characters from the middle of a text string\",\"help-contents\": \"Return


s the characters from the middle of a text string given a starting position and
a length. The first character in the string is position 1. If the length is not
included, all characters to the end of the string are returned. If the length is
included, up to that many characters are returned. \\n\\nExample: MID(\\\"Table
au Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\
",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"re
al\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(e
xpression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an
expression\",\"help-contents\": \"Returns the minimum of an expression across al
l records or the minimum of two expressions for each record. \\n\\nExample: MIN
([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-a
rg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"f
unc-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the spe
cified date as an integer\",\"help-contents\": \"Returns the month of a given da
te as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"dat
e\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT
\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs
logical negation on an expression\",\"help-contents\": \"Performs logical negati
on on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Re
turns the current date and time\",\"help-contents\": \"Returns the current date
and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\
"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\"
: \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logic
al disjunction on two expressions\",\"help-contents\": \"Performs a logical disj
unction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expre
ssion, number)\",\"func-tooltip\": \"Returns the percentile value at the specifi
ed number\",\"help-contents\": \"Aggregate calculation that returns the percenti
le value from the given expression corresponding to the specified number. Valid
values for the number are 0 through 1. PERCENTILE([expression], 0.50) will alway
s return the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0
.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-v
ar-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"R
eturns the numeric constant pi\",\"help-contents\": \"Returns the numeric consta
nt pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER
(number,power)\",\"func-tooltip\": \"Raises the number to the specified power\",
\"help-contents\": \"Returns the result of a number raised to the given power. \
\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"fu
nc-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value o
f this calculation in the previous row\",\"help-contents\": \"Returns the value
of this calculation in the previous row. Returns the given expression if the cur
rent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIO
US_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE
(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\":
\"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\
",\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RA
NK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retu
rns the competition rank for the current partition row\",\"help-contents\": \"Re
turns the standard competition rank for the current row in the partition. Identi
cal values are assigned an identical rank. Use the optional 'asc' | 'desc' argum
ent to specify ascending or descending order. The default order is descending.\\
n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2
, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\

"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\"


,\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"he
lp-contents\": \"Returns the dense rank for the current row in the partition. Id
entical values are assigned an identical rank, but no gaps are inserted into the
number sequence. Use the optional 'asc' | 'desc' argument to specify ascending
or descending order. The default order is descending.\\n\\nWith this function, t
he set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\
\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFI
ED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\
": \"Returns the modified competition rank for the current partition row\",\"hel
p-contents\": \"Returns the modified competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'a
sc' | 'desc' argument to specify ascending or descending order. The default orde
r is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velo
city]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PER
CENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile
rank for the current partition row\",\"help-contents\": \"Returns the percentil
e rank for the current row in the partition. Use the optional 'asc' | 'desc' arg
ument to specify ascending or descending order. The default order is ascending.\
\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75
, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-va
r-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expressi
on, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the curren
t partition row\",\"help-contents\": \"Returns the unique rank for the current r
ow in the partition. Identical values are assigned different ranks. Use the opti
onal 'asc' | 'desc' argument to specify ascending or descending order. The defau
lt order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() =
1 for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRAC
T\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Return
s the portion of a string matching the capturing group in a regular expression\"
,\"help-contents\": \"Returns a substring of the given string that matches the c
apturing group within the regular expression pattern. The regular expression pa
ttern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 1
23', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\
"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"
Returns a substring of a string using a regular expression pattern\",\"help-cont
ents\": \"Returns a substring of the given string using the regular expression p
attern. The substring is matched to the nth capturing group, where n is the giv
en index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)',
2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"loci
nt\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEX
P_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches
a regular expression\",\"help-contents\": \"Returns true if a substring of the p
rovided string matches the regular expression pattern. \\n\\nExample: REGEXP_MAT
CH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') =
true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-a
rgs\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(strin
g, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrings
matching a regular expression are replaced\",\"help-contents\": \"Returns a cop
y of the given string where the matching pattern is substituted with the replace
ment string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123
'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-v
ar-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substri

ng, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring wit


hin a string\",\"help-contents\": \"Returns a string in which every occurrence o
f the substring is replaced with the replacement string. If the substring is not
found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\
"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",
\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the speci
fied number of characters from the end of a string\",\"help-contents\": \"Return
s the specified number of characters from the end of the given string. \\n\\nEx
ample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\
",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a numbe
r to the specified number of places\",\"help-contents\": \"Rounds a number to th
e nearest integer or to a specified number of decimal places. \\n\\nExample: ROU
ND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"rea
l\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)
\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-co
ntents\": \"Returns the string with any trailing spaces removed. \\n\\nExample:
RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\"
: \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of
an expression\",\"help-contents\": \"Returns the running average of the given e
xpression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUN
NING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Ret
urns the running count of an expression\",\"help-contents\": \"Returns the runni
ng count of the given expression, from the first row in the partition to the cur
rent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Prof
it)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"fu
nc-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\"
: \"Returns the running maximum of the given expression, from the first row in t
he partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = runn
ing maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum
of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"h
as-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(exp
ression)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"
help-contents\": \"Returns the running minimum of the given expression, from the
first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([P
rofit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) =
running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"
RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expr
ession\",\"help-contents\": \"Returns the running sum of the given expression, f
rom the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM
(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit]
)) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"i
nteger\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SC
RIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean resul
t from an R expression\",\"help-contents\": \"Returns a Boolean result from a gi
ven R expression. The R expression is passed directly to a running Rserve instan
ce. Use .arg# in the R expression to reference parameters. In the following exam
ple, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.
arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(
string, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an
R expression\",\"help-contents\": \"Returns an integer result from a given R ex
pression. The R expression is passed directly to a running Rserve instance. Use
.arg# in the R expression to reference parameters. In the following example, .ar

g1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5


)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\
"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(st
ring, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R
expression\",\"help-contents\": \"Returns a numeric result from a given R expres
sion. The R expression is passed directly to a running Rserve instance. Use .arg
# in the R expression to reference parameters. In the following example, .arg1 i
s equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([P
rofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args
\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expressio
n, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"h
elp-contents\": \"Returns a string result from a given R expression. The R expre
ssion is passed directly to a running Rserve instance. Use .arg# in the R expres
sion to reference parameters. In the following example, .arg1 is equal to ATTR([
Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))
\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true
},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns
1 for a positive number\",\"help-contents\": \"Returns the sign of a number: 1
if the number is positive, zero if the number is zero, or -1 if the number is ne
gative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(ang
le)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Re
turns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()
/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-too
ltip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Ret
urns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\
nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \
"Returns a string containing the specified number of spaces\",\"help-contents\":
\"Returns a string composed of the specified number of repeated spaces. \\n\\nE
xample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string
, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a str
ing\",\"help-contents\": \"Returns a substring from a string, as determined by a
delimiter extracting the characters from the beginning or end of the string. \\
n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-',
-2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"lo
cint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number
)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\":
\"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grp
s\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the squa
re of a number\",\"help-contents\": \"Returns the square of a given number. \\n\
\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"
],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(
string, substring)\",\"func-tooltip\": \"Returns true if the specified string st
arts with the specified substring\",\"help-contents\": \"Returns true if the str
ing starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\
\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"]
,\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)
\",\"func-tooltip\": \"Returns the sample standard deviation for an expression\"
,\"help-contents\": \"Returns the sample standard deviation of the expression.\\
n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expre
ssion)\",\"func-tooltip\": \"Returns the population standard deviation for an ex
pression\",\"help-contents\": \"Returns the population standard deviation of the
expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"
STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"help

-contents\": \"Returns a string given an expression. \\n\\nExample: STR([Age])


returns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\"
,\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values
in an expression\",\"help-contents\": \"Returns the sum of all the values in th
e expression. SUM can be used with numeric fields only. Null values are ignored.
\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"
func-tooltip\": \"Returns the tangent of an angle specified in radians\",\"helpcontents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\
\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\":
\"Performs a logical test and returns an appropriate value\",\"help-contents\":
\"Tests a series of expressions returning the <then> value for the first true <e
xpr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN
'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"
has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-too
ltip\": \"Returns the current date\",\"help-contents\": \"Returns the current da
te. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(ex
pression)\",\"func-tooltip\": \"Returns the total for an expression within the p
artition\",\"help-contents\": \"Returns the total for the given expression.\\n\\
nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribu
te to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"]
,\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"f
unc-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"h
elp-contents\": \"Returns the string with both leading and trailing spaces remov
ed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\"
,\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all upp
ercase characters\",\"help-contents\": \"Converts a text string to all uppercase
letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"U
SERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domai
n for the current user\",\"help-contents\": \"Returns the domain for the current
user when the user is signed on to Tableau Server. Returns the Windows domain i
f the Tableau Desktop user is on a domain. Otherwise this function returns a nul
l string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Ret
urns the user name for the current user\",\"help-contents\": \"Returns the usern
ame for the current user. This is the Tableau Server or Tableau Online username
when the user is signed in; otherwise it is the local or network username for th
e Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-to
oltip\": \"Returns the sample variance for an expression\",\"help-contents\": \"
Returns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"f
unc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n
ame\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns t
he population variance for an expression\",\"help-contents\": \"Returns the popu
lation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":
[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WH
EN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>]
END\",\"func-tooltip\": \"Performs logical tests and returns the appropriate val
ue\",\"help-contents\": \"Finds the first <value> that matches <expr> and return
s the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2
019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"f
unc-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig
\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the ave
rage of the values within the window\",\"help-contents\": \"Returns the average

of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i
n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the t
wo previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIND
OW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-toolt
ip\": \"Returns the number of items within the window\",\"help-contents\": \"Ret
urns the count of the expression within the window. The window is defined as of
fsets from the current row. Use FIRST()+n and LAST()-n for offsets from the firs
t or last row in the partition. If start and end are omitted, the entire partit
ion is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Pro
fit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\
"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\
"func-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"
Returns the maximum of the expression within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire p
artition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Pr
ofit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM(
[Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the cur
rent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"
,\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\"
: \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the me
dian within the window\",\"help-contents\": \"Returns the median of the expressi
on within the window. The window is defined as offsets from the current row. Us
e FIRST()+n and LAST()-n for offsets from the first or last row in the partition
. If start and end are omitted, the entire partition is used.\\n\\nExample: WIN
DOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous r
ows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",
\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"fu
nc-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns t
he minimum within the window\",\"help-contents\": \"Returns the minimum of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous r
ows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args
\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(ex
pression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile val
ue at the specified number\",\"help-contents\": \"Returns the value correspondin
g to the specified percentile within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th
percentile of SUM(Profit) from the two previous rows to the current row\",\"func
-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integ
er\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDO
W_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample stand
ard deviation within the window\",\"help-contents\": \"Returns the sample standa
rd deviation of the expression within the window. The window is defined as offs
ets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partitio
n is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(P
rofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},
{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, e

nd])\",\"func-tooltip\": \"Returns the population standard deviation within the


window\",\"help-contents\": \"Returns the population standard deviation of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_
SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \
"Returns the sum of values within the window\",\"help-contents\": \"Returns the
sum of the expression within the window. The window is defined as offsets from
the current row. Use FIRST()+n and LAST()-n for offsets from the first or last r
ow in the partition. If start and end are omitted, the entire partition is used
.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the t
wo previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"W
INDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-toolti
p\": \"Returns the sample variance within the window\",\"help-contents\": \"Retu
rns the sample variance of the expression within the window. The window is defi
ned as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the enti
re partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [star
t, end])\",\"func-tooltip\": \"Returns the population variance within the window
\",\"help-contents\": \"Returns the population variance of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()
+n and LAST()-n for offsets from the first or last row in the partition. If sta
rt and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(
SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to th
e current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEA
R(date)\",\"func-tooltip\": \"Returns the year of the specified date as an integ
er\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\\
nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\
":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(e
xpression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"he
lp-contents\": \"Returns <expression> if it is not null, otherwise returns zero.
\\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-typ
es\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calcula
tion-dialog\",\"use-parameters\": true} position=\"63\"","name":"tabdoc:calculat
ion-auto-complete"}}
{"ts":"2016-09-29T16:42:58.409","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC(
'month',[Order Date])-DATETRUNC('month',[Calculation])\" calculation={\"datasour
ce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \"C
alculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"scope
-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])-DA
TETRUNC('month',[Calculation5])\",\"fn\": \"\",\"fn-source\": \"\",\"calculation
-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-ro
le\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\": 0
,\"style-token-list\":[],\"error-string\": \"Error in calculation:\\n\\nReferenc
e to undefined field [Calculation5].\\n\\nWould you like to correct the calculat
ion?\",\"error-info-list\":[{\"start-position-for-error\": 50,\"length-of-calc-o
f-error\": 14,\"error-message\": \"Reference to undefined field [Calculation5].\
"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"funcsig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a numbe
r\",\"help-contents\": \"Returns the absolute value of the given number. \\n\\nE

xample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"ha


s-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-t
ooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns th
e arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) = 3
.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN
<then> END\",\"func-tooltip\": \"Performs a logical conjunction on two expressio
ns\",\"help-contents\": \"Performs a logical conjunction on two expressions\",\"
func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\"
: \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASCI
I code for the first character in a string\",\"help-contents\": \"Returns the AS
CII code value of the first character in a string. \\n\\nExample: ASCII(\\\"auth
ors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-a
rgs\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\
": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc sin
e of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.57079632679
49\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Retur
ns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent of
a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.565240828394
2\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-toolt
ip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns th
e arc tangent of two given numbers (x and y). The result is in radians. \\n\\nE
xample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-type
s\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig\
": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expression
if it has one value for all rows\",\"help-contents\": \"Returns the value of the
given expression if it only has a single value for all rows in the group, other
wise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([M
arket])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-arg
s\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip\
": \"Returns the average of the values in the expression\",\"help-contents\": \"
Returns the average of all the values in the expression. AVG can be used with nu
meric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE
<else>] END\",\"func-tooltip\": \"Performs logical tests and returns the appropr
iate value\",\"help-contents\": \"Finds the first <value> that matches <expr> an
d returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u
2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logi
c\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"fun
c-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest
integer of equal or greater value\",\"help-contents\": \"Rounds a number to the
nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\",
\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{
\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts
an integer ASCII code into a character\",\"help-contents\": \"Converts the given
integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-grp
s\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"R
eturns true if a string contains the specified substring\",\"help-contents\": \"
Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\"C
alculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types
\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\": \
"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in ra
dians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle i
n radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"f
unc-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle

specified in radians\",\"help-contents\": \"Returns the cotangent of an angle. S


pecify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"nu
m\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\"
,\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of i
tems in the expression\",\"help-contents\": \"Returns the number of items in a g
roup. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func-g
rps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"nam
e\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Returns
the number of distinct items in the expression\",\"help-contents\": \"Returns t
he number of distinct items in a group. NULL values are not counted. Each uniqu
e value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"
agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"DA
TE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from
a number\",\"help-contents\": \"Returns a date given a number, string, or date e
xpression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote t
hat the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-type
s\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"DA
TEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified dat
e incremented by the specified amount\",\"help-contents\": \"Adds an increment t
o the specified date and returns the new date. The increment is defined by the i
nterval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 20
04-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\
"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"func
-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-to
oltip\": \"Returns the difference between two dates\",\"help-contents\": \"Retur
ns the difference between two dates where start_date is subtracted from end_date
. The difference is expressed in units of date_part. If start_of_week is omitted
, the week start day is determined by the start day configured for the data sour
ce.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\"
,\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetime
\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \"
DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part
of the specified date as a string\",\"help-contents\": \"Returns a part of the g
iven date as a string, where the part is defined by date_part. If start_of_week
is omitted, the week start day is determined by the start day configured for the
data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"
func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\
"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(forma
t, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents\"
: \"Converts a string to a date in the specified format. \\n\\nExample: DATEPARS
E (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"fun
c-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": fa
lse},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_of
_week])\",\"func-tooltip\": \"Returns the specified part of a date as an integer
\",\"help-contents\": \"Returns a part of the given date as an integer where the
part is defined by date_part. If start_of_week is omitted, the week start day i
s determined by the start day configured for the data source.\\n\\nExample: DATE
PART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\
"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETIM
E\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datetim
e from a number\",\"help-contents\": \"Returns a datetime given a number, string
, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\")
\\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"fun
c-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"func
-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Trun
cates the specified date to the specified accuracy\",\"help-contents\": \"Trunca
tes the specified date to the accuracy specified by the date_part and returns th
e new date. If start_of_week is omitted, the week start day is determined by the
start day configured for the data source.\\n\\nExample: DATETRUNC('quarter', #2
004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types

\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DA


Y\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the
specified date as an integer\",\"help-contents\": \"Returns the day of the given
date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"d
ate\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"D
EGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value
in radians to degrees\",\"help-contents\": \"Converts a number in radians to deg
rees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"D
IV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divisio
n operation\",\"help-contents\": \"Returns the integer part of a division.\\n\\n
Example: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer\
",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <
expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-t
ooltip\": \"Performs a logical test and returns an appropriate value\",\"help-co
ntents\": \"Tests a series of expressions returning the <then> value for the fir
st true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit]
= 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-typ
es\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr>
THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-toolti
p\": \"Performs a logical test and returns an appropriate value\",\"help-content
s\": \"Tests a series of expressions returning the <then> value for the first tr
ue <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0
THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":
[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <t
hen> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"P
erforms a logical test and returns an appropriate value\",\"help-contents\": \"T
ests a series of expressions returning the <then> value for the first true <expr
>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Br
eakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has
-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, sub
string)\",\"func-tooltip\": \"Returns true if the specified string ends with the
specified substring\",\"help-contents\": \"Returns true if the string ends with
the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Cal
culation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":
[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\":
\"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Com
putes an aggregate excluding the specified dimensions if present in the view.\",
\"help-contents\": \"Computes an aggregate excluding the specified dimensions if
present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\"
: \"Returns e raised to the power of a number\",\"help-contents\": \"Returns e r
aised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-gr
ps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\": \
"Returns the position of a substring within a string\",\"help-contents\": \"Retu
rns the position of a substring within a string, or 0 if the substring isn't fou
nd. If the start argument is defined, any instances of substring that appear bef
ore the start position are ignored. The first character in the string is positio
n 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\":
[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false}
,{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\"
,\"func-tooltip\": \"Returns the position of the nth occurrence a substring with
in a string\",\"help-contents\": \"Returns the position of the nth occurrence of
a substring within a string, or 0 if that occurrence of the substring isn't fou
nd. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\\"
Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\":
[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"funcsig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the fi
rst row in the partition\",\"help-contents\": \"Returns the number of rows from

the current row to the first row in the partition.\\n\\nExample (current row ind
ex is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[]
,\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[, d
im2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate us
ing only the specified dimensions.\",\"help-contents\": \"Computes an aggregate
using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(express
ion)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-contents\
": \"Returns a float given an expression of any type. This function requires unf
ormatted numbers which means exclude commas and other symbols. \\n\\nExample: F
LOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\
"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\"
,\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser v
alue\",\"help-contents\": \"Rounds a number to the nearest integer of equal or l
esser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-si
g\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current us
er\",\"help-contents\": \"Returns the full name for the current user. This is th
e Tableau Server or Tableau Online full name when the user is signed in; otherwi
se it is the local or network full name for the Tableau Desktop user.\",\"func-g
rps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HEX
BINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns the
x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y)
coordinate to the x-coordinate of the nearest hexagonal bin. The bins have side
length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[\
"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\
": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Ret
urns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps
an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins h
ave side length 1, so the inputs may need to be scaled appropriately.\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},
{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <th
en2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and re
turns an appropriate value\",\"help-contents\": \"Tests a series of expressions
returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profit]
> 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"
func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\"
: \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns
expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not null
, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\"
:[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": fals
e},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"functooltip\": \"Evaluates a Boolean expression and returns one of two values\",\"he
lp-contents\": \"Checks whether a condition is met, and returns one value if TRU
E, another value if FALSE, and an optional third value or NULL if unknown. \\n\\
nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"func
-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},{
\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-ex
pression }\",\"func-tooltip\": \"Computes an aggregate using the specified dimen
sions and the view dimensions.\",\"help-contents\": \"Computes an aggregate usin
g the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\"
func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\":
\"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the part
ition\",\"help-contents\": \"Returns the index of the current row in the partiti
on.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT\
",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression
and returns an integer\",\"help-contents\": \"Returns an integer given an expres
sion. This function truncates results to the closest integer toward zero. \\n\\n
Example: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-ar

g-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-si


g\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a vali
d date\",\"help-contents\": \"Returns true if a given string is a valid date. \
\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date\
",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"
ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns tr
ue if the current user's full name matches the specified name\",\"help-contents\
": \"Returns true if the current user's full name matches the specified full nam
e, or false if it does not match. This function uses the Tableau Server or Table
au Online full name when the user is signed in; otherwise it uses the local or n
etwork full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func
-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"f
unc-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the curren
t user is a member of the specified group\",\"help-contents\": \"Returns true if
the current user is a member of the given group, false otherwise. This uses th
e Tableau Server to resolve group membership if logged on, otherwise it always r
eturns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-v
ar-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"f
unc-tooltip\": \"Returns true if the specified expression is null\",\"help-conte
nts\": \"Returns true if the expression does not contain valid data (Null).\\n\\
nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boo
lean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUSE
RNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name matc
hes the specified user name\",\"help-contents\": \"Returns true if the current u
ser's username matches the specified username, or false if it does not match. Th
is function uses the Tableau Server or Tableau Online username when the user is
signed in; otherwise it uses the local or network username for the Tableau Deskt
op user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-ar
gs\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"Re
turns the number of rows to the last row in the partition\",\"help-contents\": \
"Returns the number of rows from the current row to the last row in the partitio
n.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[\
"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"f
unc-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specified
number of characters from the start of a string\",\"help-contents\": \"Returns
the specified number of characters from the start of the given string. \\n\\nEx
ample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"f
unc-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",\
"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of character
s in a string\",\"help-contents\": \"Returns the number of characters in the giv
en string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\"
],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"func
-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a nu
mber\",\"help-contents\": \"Returns the natural logarithm of the given number. R
eturns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5)) =
5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\": \
"Returns the logarithm of a number for the given base\",\"help-contents\": \"Ret
urns the logarithm of a number for the given base. If the base value is omitted,
base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"f
unc-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": fa
lse},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"func
-tooltip\": \"Returns the value of the expression in a row offset from current r
ow\",\"help-contents\": \"Returns the value of the given expression in a target
row, specified as a relative offset from the current row. Use FIRST()+n and LAST
()-n for a target relative to the first/last rows in the partition. If offset is
omitted, the Compare To row may be set on the field menu. Returns NULL if the t
arget row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) + 2
) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"],\
"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":

\"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string i


n all lowercase characters\",\"help-contents\": \"Converts a text string to all
lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"f
unc-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"na
me\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a st
ring with leading spaces removed\",\"help-contents\": \"Returns the string with
any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\"
\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false}
,{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-too
ltip\": \"Returns a date value constructed from a year, a month and a day of the
month.\",\"help-contents\": \"Returns a date value constructed from a year, a m
onth and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-gr
ps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-v
ar-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date,
time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time\"
,\"help-contents\": \"Returns a date and time value given a date expression and
a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"fu
nc-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\"
: false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)\
",\"func-tooltip\": \"Returns a time value constructed from hours, minutes and s
econds.\",\"help-contents\": \"Returns a time value constructed from hours, minu
tes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast\
"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": fa
lse},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",\
"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \"R
eturns the maximum of a single expression across all records or the maximum of t
wo expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\"
num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"]
,\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expressio
n)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents\"
: \"Returns the median of a single expression. MEDIAN can be used with numeric f
ields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-grp
s\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Returns
the characters from the middle of a text string\",\"help-contents\": \"Returns
the characters from the middle of a text string given a starting position and a
length. The first character in the string is position 1. If the length is not in
cluded, all characters to the end of the string are returned. If the length is i
ncluded, up to that many characters are returned. \\n\\nExample: MID(\\\"Tableau
Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\",
2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real
\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(exp
ression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an ex
pression\",\"help-contents\": \"Returns the minimum of an expression across all
records or the minimum of two expressions for each record. \\n\\nExample: MIN([
Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg
-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"fun
c-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the speci
fied date as an integer\",\"help-contents\": \"Returns the month of a given date
as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date\
"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\"
,\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs lo
gical negation on an expression\",\"help-contents\": \"Performs logical negation
on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-ar
gs\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Retu
rns the current date and time\",\"help-contents\": \"Returns the current date an
d time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"]
,\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\":
\"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical
disjunction on two expressions\",\"help-contents\": \"Performs a logical disjun

ction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has


-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(express
ion, number)\",\"func-tooltip\": \"Returns the percentile value at the specified
number\",\"help-contents\": \"Aggregate calculation that returns the percentile
value from the given expression corresponding to the specified number. Valid va
lues for the number are 0 through 1. PERCENTILE([expression], 0.50) will always
return the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.9
0)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-var
-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Ret
urns the numeric constant pi\",\"help-contents\": \"Returns the numeric constant
pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(n
umber,power)\",\"func-tooltip\": \"Raises the number to the specified power\",\"
help-contents\": \"Returns the result of a number raised to the given power. \\n
\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[
\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"func
-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of
this calculation in the previous row\",\"help-contents\": \"Returns the value of
this calculation in the previous row. Returns the given expression if the curre
nt row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOUS
_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(1
) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \"
RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\",
\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":[\
"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RANK
\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Return
s the competition rank for the current partition row\",\"help-contents\": \"Retu
rns the standard competition rank for the current row in the partition. Identica
l values are assigned an identical rank. Use the optional 'asc' | 'desc' argumen
t to specify ascending or descending order. The default order is descending.\\n\
\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2,
4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"ta
ble\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"n
ame\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",\
"func-tooltip\": \"Returns the dense rank for the current partition row\",\"help
-contents\": \"Returns the dense rank for the current row in the partition. Iden
tical values are assigned an identical rank, but no gaps are inserted into the n
umber sequence. Use the optional 'asc' | 'desc' argument to specify ascending or
descending order. The default order is descending.\\n\\nWith this function, the
set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\n
\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIED
\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\":
\"Returns the modified competition rank for the current partition row\",\"helpcontents\": \"Returns the modified competition rank for the current row in the p
artition. Identical values are assigned an identical rank. Use the optional 'asc
' | 'desc' argument to specify ascending or descending order. The default order
is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be
ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Veloci
ty]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"
has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERCE
NTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile r
ank for the current partition row\",\"help-contents\": \"Returns the percentile
rank for the current row in the partition. Use the optional 'asc' | 'desc' argum
ent to specify ascending or descending order. The default order is ascending.\\n
\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75,
75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\",
\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-varargs\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expression

, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the current


partition row\",\"help-contents\": \"Returns the unique rank for the current row
in the partition. Identical values are assigned different ranks. Use the option
al 'asc' | 'desc' argument to specify ascending or descending order. The default
order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) w
ould be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1
for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT\
",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns
the portion of a string matching the capturing group in a regular expression\",\
"help-contents\": \"Returns a substring of the given string that matches the cap
turing group within the regular expression pattern. The regular expression patt
ern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 123
', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":
[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"f
unc-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"Re
turns a substring of a string using a regular expression pattern\",\"help-conten
ts\": \"Returns a substring of the given string using the regular expression pat
tern. The substring is matched to the nth capturing group, where n is the given
index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)', 2
) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locint
\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP_
MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches a
regular expression\",\"help-contents\": \"Returns true if a substring of the pro
vided string matches the regular expression pattern. \\n\\nExample: REGEXP_MATCH
('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') = t
rue\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-arg
s\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string,
pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrings m
atching a regular expression are replaced\",\"help-contents\": \"Returns a copy
of the given string where the matching pattern is substituted with the replaceme
nt string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'\
",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var
-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substring
, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring withi
n a string\",\"help-contents\": \"Returns a string in which every occurrence of
the substring is replaced with the replacement string. If the substring is not f
ound, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"i
on\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\"
func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specifi
ed number of characters from the end of a string\",\"help-contents\": \"Returns
the specified number of characters from the end of the given string. \\n\\nExam
ple: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"fu
nc-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\",
\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number
to the specified number of places\",\"help-contents\": \"Rounds a number to the
nearest integer or to a specified number of decimal places. \\n\\nExample: ROUND
(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\
"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\"
,\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-cont
ents\": \"Returns the string with any trailing spaces removed. \\n\\nExample: R
TRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\":
\"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of a
n expression\",\"help-contents\": \"Returns the running average of the given exp
ression, from the first row in the partition to the current row.\\n\\nExample: R
UNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"ta
ble\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNI
NG_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Retur

ns the running count of an expression\",\"help-contents\": \"Returns the running


count of the given expression, from the first row in the partition to the curre
nt row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profit
)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"func
-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\":
\"Returns the running maximum of the given expression, from the first row in the
partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = runnin
g maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum o
f SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has
-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expre
ssion)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"he
lp-contents\": \"Returns the running minimum of the given expression, from the f
irst row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Pro
fit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = ru
nning minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"i
nteger\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"RU
NNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expres
sion\",\"help-contents\": \"Returns the running sum of the given expression, fro
m the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM(S
UM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit]))
= running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"int
eger\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCRI
PT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result
from an R expression\",\"help-contents\": \"Returns a Boolean result from a give
n R expression. The R expression is passed directly to a running Rserve instance
. Use .arg# in the R expression to reference parameters. In the following exampl
e, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.ar
g1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"]
,\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(st
ring, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an R
expression\",\"help-contents\": \"Returns an integer result from a given R expr
ession. The R expression is passed directly to a running Rserve instance. Use .a
rg# in the R expression to reference parameters. In the following example, .arg1
is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)\
\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"h
as-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(stri
ng, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R ex
pression\",\"help-contents\": \"Returns a numeric result from a given R expressi
on. The R expression is passed directly to a running Rserve instance. Use .arg#
in the R expression to reference parameters. In the following example, .arg1 is
equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Pro
fit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\"
: true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression,
...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"hel
p-contents\": \"Returns a string result from a given R expression. The R express
ion is passed directly to a running Rserve instance. Use .arg# in the R expressi
on to reference parameters. In the following example, .arg1 is equal to ATTR([Re
gion]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},
{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns 1
for a positive number\",\"help-contents\": \"Returns the sign of a number: 1 if
the number is positive, zero if the number is zero, or -1 if the number is nega
tive.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\":
[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angle
)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Retu
rns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/4
) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-toolt
ip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Retur

ns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\nS


IZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": f
alse},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"R
eturns a string containing the specified number of spaces\",\"help-contents\": \
"Returns a string composed of the specified number of repeated spaces. \\n\\nExa
mple: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string,
delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a strin
g\",\"help-contents\": \"Returns a substring from a string, as determined by a d
elimiter extracting the characters from the beginning or end of the string. \\n\
\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"loci
nt\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)\
",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\": \
"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps\
":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the square
of a number\",\"help-contents\": \"Returns the square of a given number. \\n\\n
Example: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(st
ring, substring)\",\"func-tooltip\": \"Returns true if the specified string star
ts with the specified substring\",\"help-contents\": \"Returns true if the strin
g starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\"
Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\
"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\"
,\"func-tooltip\": \"Returns the sample standard deviation for an expression\",\
"help-contents\": \"Returns the sample standard deviation of the expression.\\n\
\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\
"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(express
ion)\",\"func-tooltip\": \"Returns the population standard deviation for an expr
ession\",\"help-contents\": \"Returns the population standard deviation of the e
xpression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-t
ypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"ST
R(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"help-c
ontents\": \"Returns a string given an expression. \\n\\nExample: STR([Age]) re
turns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast\"
],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",\
"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values i
n an expression\",\"help-contents\": \"Returns the sum of all the values in the
expression. SUM can be used with numeric fields only. Null values are ignored.\\
n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\
"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"fu
nc-tooltip\": \"Returns the tangent of an angle specified in radians\",\"help-co
ntents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\\n
Example: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\
"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN <
then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"
Performs a logical test and returns an appropriate value\",\"help-contents\": \"
Tests a series of expressions returning the <then> value for the first true <exp
r>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'B
reakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-toolt
ip\": \"Returns the current date\",\"help-contents\": \"Returns the current date
. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-typ
es\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(expr
ession)\",\"func-tooltip\": \"Returns the total for an expression within the par
tition\",\"help-contents\": \"Returns the total for the given expression.\\n\\nE
xample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribute
to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\
"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"fun

c-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"hel


p-contents\": \"Returns the string with both leading and trailing spaces removed
. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"str
\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",\
"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all upper
case characters\",\"help-contents\": \"Converts a text string to all uppercase l
etters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\":
[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"USE
RDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain
for the current user\",\"help-contents\": \"Returns the domain for the current u
ser when the user is signed on to Tableau Server. Returns the Windows domain if
the Tableau Desktop user is on a domain. Otherwise this function returns a null
string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false
},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Retur
ns the user name for the current user\",\"help-contents\": \"Returns the usernam
e for the current user. This is the Tableau Server or Tableau Online username wh
en the user is signed in; otherwise it is the local or network username for the
Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-tool
tip\": \"Returns the sample variance for an expression\",\"help-contents\": \"Re
turns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"fun
c-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns the
population variance for an expression\",\"help-contents\": \"Returns the popula
tion variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHEN
\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] EN
D\",\"func-tooltip\": \"Performs logical tests and returns the appropriate value
\",\"help-contents\": \"Finds the first <value> that matches <expr> and returns
the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u201
9 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\"
: \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the avera
ge of the values within the window\",\"help-contents\": \"Returns the average of
the expression within the window. The window is defined as offsets from the cu
rrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\\
nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW
_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-tooltip
\": \"Returns the number of items within the window\",\"help-contents\": \"Retur
ns the count of the expression within the window. The window is defined as offs
ets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partitio
n is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Profi
t) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"f
unc-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"n
ame\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"f
unc-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"Re
turns the maximum of the expression within the window. The window is defined as
offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the f
irst or last row in the partition. If start and end are omitted, the entire par
tition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Prof
it from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([P
rofit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the curre
nt row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\
"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\":
\"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the medi
an within the window\",\"help-contents\": \"Returns the median of the expression

within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WINDO
W_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous row
s to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"
integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"func
-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns the
minimum within the window\",\"help-contents\": \"Returns the minimum of the exp
ression within the window. The window is defined as offsets from the current ro
w. Use FIRST()+n and LAST()-n for offsets from the first or last row in the part
ition. If start and end are omitted, the entire partition is used.\\n\\nExample
: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous row
s to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"ta
ble\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\"
: false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(expr
ession, number, [start, end])\",\"func-tooltip\": \"Returns the percentile value
at the specified number\",\"help-contents\": \"Returns the value corresponding
to the specified percentile within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition i
s used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th pe
rcentile of SUM(Profit) from the two previous rows to the current row\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integer
\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW_
STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample standar
d deviation within the window\",\"help-contents\": \"Returns the sample standard
deviation of the expression within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Pro
fit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\
"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, end
])\",\"func-tooltip\": \"Returns the population standard deviation within the wi
ndow\",\"help-contents\": \"Returns the population standard deviation of the exp
ression within the window. The window is defined as offsets from the current ro
w. Use FIRST()+n and LAST()-n for offsets from the first or last row in the part
ition. If start and end are omitted, the entire partition is used.\\n\\nExample
: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two pr
evious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_SU
M\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"R
eturns the sum of values within the window\",\"help-contents\": \"Returns the su
m of the expression within the window. The window is defined as offsets from th
e current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\
\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIN
DOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip\
": \"Returns the sample variance within the window\",\"help-contents\": \"Return
s the sample variance of the expression within the window. The window is define
d as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from t
he first or last row in the partition. If start and end are omitted, the entire
partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"ta
ble\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start,
end])\",\"func-tooltip\": \"Returns the population variance within the window\"

,\"help-contents\": \"Returns the population variance of the expression within t


he window. The window is defined as offsets from the current row. Use FIRST()+n
and LAST()-n for offsets from the first or last row in the partition. If start
and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(SU
M([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to the
current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\"
,\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR(
date)\",\"func-tooltip\": \"Returns the year of the specified date as an integer
\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\\nE
xample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\":
[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(exp
ression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"help
-contents\": \"Returns <expression> if it is not null, otherwise returns zero.
\\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-types
\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calculati
on-dialog\",\"use-parameters\": true} position=\"62\"","name":"tabdoc:calculatio
n-auto-complete"}}
{"ts":"2016-09-29T16:42:58.409","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC
('month',[Order Date])-DATETRUNC('month',[Calculation])\" calculation={\"datasou
rce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \"
Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"scop
e-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])-D
ATETRUNC('month',[Calculation5])\",\"fn\": \"\",\"fn-source\": \"\",\"calculatio
n-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-r
ole\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\":
0,\"style-token-list\":[],\"error-string\": \"Error in calculation:\\n\\nReferen
ce to undefined field [Calculation5].\\n\\nWould you like to correct the calcula
tion?\",\"error-info-list\":[{\"start-position-for-error\": 50,\"length-of-calcof-error\": 14,\"error-message\": \"Reference to undefined field [Calculation5].
\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func
-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a numb
er\",\"help-contents\": \"Returns the absolute value of the given number. \\n\\n
Example: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"h
as-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"functooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns t
he arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-v
ar-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN
<then> END\",\"func-tooltip\": \"Performs a logical conjunction on two expressi
ons\",\"help-contents\": \"Performs a logical conjunction on two expressions\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASC
II code for the first character in a string\",\"help-contents\": \"Returns the A
SCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"aut
hors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-varargs\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip
\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc si
ne of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267
949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Retu
rns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent o
f a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.56524082839
42\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tool
tip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns t
he arc tangent of two given numbers (x and y). The result is in radians. \\n\\n
Example: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig

\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expression


if it has one value for all rows\",\"help-contents\": \"Returns the value of th
e given expression if it only has a single value for all rows in the group, othe
rwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([
Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip
\": \"Returns the average of the values in the expression\",\"help-contents\": \
"Returns the average of all the values in the expression. AVG can be used with n
umeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"fun
c-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE
<else>] END\",\"func-tooltip\": \"Performs logical tests and returns the approp
riate value\",\"help-contents\": \"Finds the first <value> that matches <expr> a
nd returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \
u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"log
ic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"fu
nc-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest
integer of equal or greater value\",\"help-contents\": \"Rounds a number to the
nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts
an integer ASCII code into a character\",\"help-contents\": \"Converts the give
n integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"
Returns true if a string contains the specified substring\",\"help-contents\": \
"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\"
Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\":
\"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in r
adians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle
in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"
func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle
specified in radians\",\"help-contents\": \"Returns the cotangent of an angle.
Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"n
um\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\
",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of
items in the expression\",\"help-contents\": \"Returns the number of items in a
group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"na
me\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Return
s the number of distinct items in the expression\",\"help-contents\": \"Returns
the number of distinct items in a group. NULL values are not counted. Each uniq
ue value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"D
ATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from
a number\",\"help-contents\": \"Returns a date given a number, string, or date
expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote
that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"D
ATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified da
te incremented by the specified amount\",\"help-contents\": \"Adds an increment
to the specified date and returns the new date. The increment is defined by the
interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2
004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",
\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"fun
c-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-t
ooltip\": \"Returns the difference between two dates\",\"help-contents\": \"Retu
rns the difference between two dates where start_date is subtracted from end_dat

e. The difference is expressed in units of date_part. If start_of_week is omitte


d, the week start day is determined by the start day configured for the data sou
rce.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\
",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetim
e\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \
"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part
of the specified date as a string\",\"help-contents\": \"Returns a part of the
given date as a string, where the part is defined by date_part. If start_of_week
is omitted, the week start day is determined by the start day configured for th
e data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\
"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(form
at, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents\
": \"Converts a string to a date in the specified format. \\n\\nExample: DATEPAR
SE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"fu
nc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": f
alse},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_o
f_week])\",\"func-tooltip\": \"Returns the specified part of a date as an intege
r\",\"help-contents\": \"Returns a part of the given date as an integer where th
e part is defined by date_part. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DAT
EPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[
\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETI
ME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a dateti
me from a number\",\"help-contents\": \"Returns a datetime given a number, strin
g, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\")
\\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"fu
nc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"fun
c-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Tru
ncates the specified date to the specified accuracy\",\"help-contents\": \"Trunc
ates the specified date to the accuracy specified by the date_part and returns t
he new date. If start_of_week is omitted, the week start day is determined by th
e start day configured for the data source.\\n\\nExample: DATETRUNC('quarter', #
2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-type
s\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"D
AY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the
specified date as an integer\",\"help-contents\": \"Returns the day of the give
n date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"
date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"
DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value
in radians to degrees\",\"help-contents\": \"Converts a number in radians to de
grees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"
DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divisi
on operation\",\"help-contents\": \"Returns the integer part of a division.\\n\\
nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF
<expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"functooltip\": \"Performs a logical test and returns an appropriate value\",\"help-c
ontents\": \"Tests a series of expressions returning the <then> value for the fi
rst true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit
] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr
> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-toolt
ip\": \"Performs a logical test and returns an appropriate value\",\"help-conten
ts\": \"Tests a series of expressions returning the <then> value for the first t
rue <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0
THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <
then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"

Performs a logical test and returns an appropriate value\",\"help-contents\": \"


Tests a series of expressions returning the <then> value for the first true <exp
r>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'B
reakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, su
bstring)\",\"func-tooltip\": \"Returns true if the specified string ends with th
e specified substring\",\"help-contents\": \"Returns true if the string ends wit
h the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Ca
lculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\":
\"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Co
mputes an aggregate excluding the specified dimensions if present in the view.\"
,\"help-contents\": \"Computes an aggregate excluding the specified dimensions i
f present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\
": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns e
raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\":
\"Returns the position of a substring within a string\",\"help-contents\": \"Ret
urns the position of a substring within a string, or 0 if the substring isn't fo
und. If the start argument is defined, any instances of substring that appear be
fore the start position are ignored. The first character in the string is positi
on 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false
},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\
",\"func-tooltip\": \"Returns the position of the nth occurrence a substring wit
hin a string\",\"help-contents\": \"Returns the position of the nth occurrence o
f a substring within a string, or 0 if that occurrence of the substring isn't fo
und. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\\
"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func
-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the f
irst row in the partition\",\"help-contents\": \"Returns the number of rows from
the current row to the first row in the partition.\\n\\nExample (current row in
dex is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[
],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[,
dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate u
sing only the specified dimensions.\",\"help-contents\": \"Computes an aggregate
using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expres
sion)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-contents
\": \"Returns a float given an expression of any type. This function requires un
formatted numbers which means exclude commas and other symbols. \\n\\nExample:
FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean
\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\
",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser
value\",\"help-contents\": \"Rounds a number to the nearest integer of equal or
lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-s
ig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current u
ser\",\"help-contents\": \"Returns the full name for the current user. This is t
he Tableau Server or Tableau Online full name when the user is signed in; otherw
ise it is the local or network full name for the Tableau Desktop user.\",\"funcgrps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HE
XBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns th
e x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y
) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have sid
e length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name

\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Re


turns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps
an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <t
hen2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and r
eturns an appropriate value\",\"help-contents\": \"Tests a series of expressions
returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profit
] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns
expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not nul
l, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\
":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func
-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",\"h
elp-contents\": \"Checks whether a condition is met, and returns one value if TR
UE, another value if FALSE, and an optional third value or NULL if unknown. \\n\
\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},
{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-e
xpression }\",\"func-tooltip\": \"Computes an aggregate using the specified dime
nsions and the view dimensions.\",\"help-contents\": \"Computes an aggregate usi
ng the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\":
\"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the par
tition\",\"help-contents\": \"Returns the index of the current row in the partit
ion.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT
\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression
and returns an integer\",\"help-contents\": \"Returns an integer given an expre
ssion. This function truncates results to the closest integer toward zero. \\n\\
nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-a
rg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-s
ig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a val
id date\",\"help-contents\": \"Returns true if a given string is a valid date.
\\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date
\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \
"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns t
rue if the current user's full name matches the specified name\",\"help-contents
\": \"Returns true if the current user's full name matches the specified full na
me, or false if it does not match. This function uses the Tableau Server or Tabl
eau Online full name when the user is signed in; otherwise it uses the local or
network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fun
c-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"
func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the curre
nt user is a member of the specified group\",\"help-contents\": \"Returns true i
f the current user is a member of the given group, false otherwise. This uses t
he Tableau Server to resolve group membership if logged on, otherwise it always
returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"hasvar-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"
func-tooltip\": \"Returns true if the specified expression is null\",\"help-cont
ents\": \"Returns true if the expression does not contain valid data (Null).\\n\
\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"bo
olean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUS
ERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name mat
ches the specified user name\",\"help-contents\": \"Returns true if the current
user's username matches the specified username, or false if it does not match. T
his function uses the Tableau Server or Tableau Online username when the user is

signed in; otherwise it uses the local or network username for the Tableau Desk
top user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-a
rgs\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"R
eturns the number of rows to the last row in the partition\",\"help-contents\":
\"Returns the number of rows from the current row to the last row in the partiti
on.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[
\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"
func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specifie
d number of characters from the start of a string\",\"help-contents\": \"Returns
the specified number of characters from the start of the given string. \\n\\nE
xample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",
\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of characte
rs in a string\",\"help-contents\": \"Returns the number of characters in the gi
ven string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\
"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"fun
c-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a n
umber\",\"help-contents\": \"Returns the natural logarithm of the given number.
Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5))
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\":
\"Returns the logarithm of a number for the given base\",\"help-contents\": \"Re
turns the logarithm of a number for the given base. If the base value is omitted
, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"fun
c-tooltip\": \"Returns the value of the expression in a row offset from current
row\",\"help-contents\": \"Returns the value of the given expression in a target
row, specified as a relative offset from the current row. Use FIRST()+n and LAS
T()-n for a target relative to the first/last rows in the partition. If offset i
s omitted, the Compare To row may be set on the field menu. Returns NULL if the
target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) +
2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string
in all lowercase characters\",\"help-contents\": \"Converts a text string to all
lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"
func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"n
ame\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a s
tring with leading spaces removed\",\"help-contents\": \"Returns the string with
any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\
"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false
},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-to
oltip\": \"Returns a date value constructed from a year, a month and a day of th
e month.\",\"help-contents\": \"Returns a date value constructed from a year, a
month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-g
rps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"hasvar-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date
, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time\
",\"help-contents\": \"Returns a date and time value given a date expression and
a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"f
unc-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\
": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)
\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes and
seconds.\",\"help-contents\": \"Returns a time value constructed from hours, min
utes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",
\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \"
Returns the maximum of a single expression across all records or the maximum of

two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\


"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"
],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expressi
on)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents\
": \"Returns the median of a single expression. MEDIAN can be used with numeric
fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-gr
ps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Return
s the characters from the middle of a text string\",\"help-contents\": \"Returns
the characters from the middle of a text string given a starting position and a
length. The first character in the string is position 1. If the length is not i
ncluded, all characters to the end of the string are returned. If the length is
included, up to that many characters are returned. \\n\\nExample: MID(\\\"Tablea
u Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\"
,2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"rea
l\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(ex
pression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an e
xpression\",\"help-contents\": \"Returns the minimum of an expression across all
records or the minimum of two expressions for each record. \\n\\nExample: MIN(
[Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-ar
g-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"fu
nc-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the spec
ified date as an integer\",\"help-contents\": \"Returns the month of a given dat
e as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date
\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\
",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs l
ogical negation on an expression\",\"help-contents\": \"Performs logical negatio
n on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-a
rgs\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Ret
urns the current date and time\",\"help-contents\": \"Returns the current date a
nd time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"
],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\":
\"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logica
l disjunction on two expressions\",\"help-contents\": \"Performs a logical disju
nction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expres
sion, number)\",\"func-tooltip\": \"Returns the percentile value at the specifie
d number\",\"help-contents\": \"Aggregate calculation that returns the percentil
e value from the given expression corresponding to the specified number. Valid v
alues for the number are 0 through 1. PERCENTILE([expression], 0.50) will always
return the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.
90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-va
r-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Re
turns the numeric constant pi\",\"help-contents\": \"Returns the numeric constan
t pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(
number,power)\",\"func-tooltip\": \"Raises the number to the specified power\",\
"help-contents\": \"Returns the result of a number raised to the given power. \\
n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":
[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"fun
c-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of
this calculation in the previous row\",\"help-contents\": \"Returns the value o
f this calculation in the previous row. Returns the given expression if the curr
ent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOU
S_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(
1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \
"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\"
,\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RAN

K\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retur


ns the competition rank for the current partition row\",\"help-contents\": \"Ret
urns the standard competition rank for the current row in the partition. Identic
al values are assigned an identical rank. Use the optional 'asc' | 'desc' argume
nt to specify ascending or descending order. The default order is descending.\\n
\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2,
4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"
name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",
\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"hel
p-contents\": \"Returns the dense rank for the current row in the partition. Ide
ntical values are assigned an identical rank, but no gaps are inserted into the
number sequence. Use the optional 'asc' | 'desc' argument to specify ascending o
r descending order. The default order is descending.\\n\\nWith this function, th
e set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\
n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIE
D\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\"
: \"Returns the modified competition rank for the current partition row\",\"help
-contents\": \"Returns the modified competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'as
c' | 'desc' argument to specify ascending or descending order. The default order
is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would b
e ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Veloc
ity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\
"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERC
ENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile
rank for the current partition row\",\"help-contents\": \"Returns the percentile
rank for the current row in the partition. Use the optional 'asc' | 'desc' argu
ment to specify ascending or descending order. The default order is ascending.\\
n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75,
75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var
-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expressio
n, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the current
partition row\",\"help-contents\": \"Returns the unique rank for the current ro
w in the partition. Identical values are assigned different ranks. Use the optio
nal 'asc' | 'desc' argument to specify ascending or descending order. The defaul
t order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1
for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT
\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns
the portion of a string matching the capturing group in a regular expression\",
\"help-contents\": \"Returns a substring of the given string that matches the ca
pturing group within the regular expression pattern. The regular expression pat
tern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 12
3', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"
func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"R
eturns a substring of a string using a regular expression pattern\",\"help-conte
nts\": \"Returns a substring of the given string using the regular expression pa
ttern. The substring is matched to the nth capturing group, where n is the give
n index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)',
2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locin
t\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP
_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches a
regular expression\",\"help-contents\": \"Returns true if a substring of the pr
ovided string matches the regular expression pattern. \\n\\nExample: REGEXP_MATC
H('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') =

true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-ar
gs\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string
, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrings
matching a regular expression are replaced\",\"help-contents\": \"Returns a copy
of the given string where the matching pattern is substituted with the replacem
ent string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'
\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-va
r-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substrin
g, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring with
in a string\",\"help-contents\": \"Returns a string in which every occurrence of
the substring is replaced with the replacement string. If the substring is not
found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"
ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-t
ypes\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\
"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specif
ied number of characters from the end of a string\",\"help-contents\": \"Returns
the specified number of characters from the end of the given string. \\n\\nExa
mple: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"f
unc-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\"
,\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number
to the specified number of places\",\"help-contents\": \"Rounds a number to the
nearest integer or to a specified number of decimal places. \\n\\nExample: ROUN
D(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real
\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\
",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-con
tents\": \"Returns the string with any trailing spaces removed. \\n\\nExample:
RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\":
\"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of
an expression\",\"help-contents\": \"Returns the running average of the given ex
pression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNN
ING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Retu
rns the running count of an expression\",\"help-contents\": \"Returns the runnin
g count of the given expression, from the first row in the partition to the curr
ent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profi
t)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"fun
c-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\":
\"Returns the running maximum of the given expression, from the first row in th
e partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = runni
ng maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum
of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expr
ession)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"h
elp-contents\": \"Returns the running minimum of the given expression, from the
first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Pr
ofit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = r
unning minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"R
UNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expre
ssion\",\"help-contents\": \"Returns the running sum of the given expression, fr
om the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM(
SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])
) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"in
teger\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCR
IPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result
from an R expression\",\"help-contents\": \"Returns a Boolean result from a giv
en R expression. The R expression is passed directly to a running Rserve instanc

e. Use .arg# in the R expression to reference parameters. In the following examp


le, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.a
rg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(s
tring, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an
R expression\",\"help-contents\": \"Returns an integer result from a given R exp
ression. The R expression is passed directly to a running Rserve instance. Use .
arg# in the R expression to reference parameters. In the following example, .arg
1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)
\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"
has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(str
ing, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R e
xpression\",\"help-contents\": \"Returns a numeric result from a given R express
ion. The R expression is passed directly to a running Rserve instance. Use .arg#
in the R expression to reference parameters. In the following example, .arg1 is
equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Pr
ofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression
, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"he
lp-contents\": \"Returns a string result from a given R expression. The R expres
sion is passed directly to a running Rserve instance. Use .arg# in the R express
ion to reference parameters. In the following example, .arg1 is equal to ATTR([R
egion]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true}
,{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns
1 for a positive number\",\"help-contents\": \"Returns the sign of a number: 1 i
f the number is positive, zero if the number is zero, or -1 if the number is neg
ative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angl
e)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Ret
urns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/
4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tool
tip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Retu
rns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\n
SIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"
Returns a string containing the specified number of spaces\",\"help-contents\":
\"Returns a string composed of the specified number of repeated spaces. \\n\\nEx
ample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string,
delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a stri
ng\",\"help-contents\": \"Returns a substring from a string, as determined by a
delimiter extracting the characters from the beginning or end of the string. \\n
\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-',
-2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"loc
int\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)
\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\":
\"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the squar
e of a number\",\"help-contents\": \"Returns the square of a given number. \\n\\
nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(s
tring, substring)\",\"func-tooltip\": \"Returns true if the specified string sta
rts with the specified substring\",\"help-contents\": \"Returns true if the stri
ng starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\
"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],
\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\
",\"func-tooltip\": \"Returns the sample standard deviation for an expression\",

\"help-contents\": \"Returns the sample standard deviation of the expression.\\n


\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expres
sion)\",\"func-tooltip\": \"Returns the population standard deviation for an exp
ression\",\"help-contents\": \"Returns the population standard deviation of the
expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"S
TR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"helpcontents\": \"Returns a string given an expression. \\n\\nExample: STR([Age]) r
eturns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast\
"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",
\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values
in an expression\",\"help-contents\": \"Returns the sum of all the values in the
expression. SUM can be used with numeric fields only. Null values are ignored.\
\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"f
unc-tooltip\": \"Returns the tangent of an angle specified in radians\",\"help-c
ontents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\\
nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \
"Performs a logical test and returns an appropriate value\",\"help-contents\": \
"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tool
tip\": \"Returns the current date\",\"help-contents\": \"Returns the current dat
e. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(exp
ression)\",\"func-tooltip\": \"Returns the total for an expression within the pa
rtition\",\"help-contents\": \"Returns the total for the given expression.\\n\\n
Example: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribut
e to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],
\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"fu
nc-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"he
lp-contents\": \"Returns the string with both leading and trailing spaces remove
d. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",
\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all uppe
rcase characters\",\"help-contents\": \"Converts a text string to all uppercase
letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"US
ERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain
for the current user\",\"help-contents\": \"Returns the domain for the current
user when the user is signed on to Tableau Server. Returns the Windows domain if
the Tableau Desktop user is on a domain. Otherwise this function returns a null
string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Retu
rns the user name for the current user\",\"help-contents\": \"Returns the userna
me for the current user. This is the Tableau Server or Tableau Online username w
hen the user is signed in; otherwise it is the local or network username for the
Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-too
ltip\": \"Returns the sample variance for an expression\",\"help-contents\": \"R
eturns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"fu
nc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns th
e population variance for an expression\",\"help-contents\": \"Returns the popul
ation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHE

N\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] E
ND\",\"func-tooltip\": \"Performs logical tests and returns the appropriate valu
e\",\"help-contents\": \"Finds the first <value> that matches <expr> and returns
the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u20
19 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\
": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the aver
age of the values within the window\",\"help-contents\": \"Returns the average o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDO
W_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-toolti
p\": \"Returns the number of items within the window\",\"help-contents\": \"Retu
rns the count of the expression within the window. The window is defined as off
sets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partiti
on is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Prof
it) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"
func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"
name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"
func-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"R
eturns the maximum of the expression within the window. The window is defined a
s offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire pa
rtition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Pro
fit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([
Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the curr
ent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\":
\"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the med
ian within the window\",\"help-contents\": \"Returns the median of the expressio
n within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WIND
OW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous ro
ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"fun
c-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns th
e minimum within the window\",\"help-contents\": \"Returns the minimum of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous ro
ws to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\
": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(exp
ression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile valu
e at the specified number\",\"help-contents\": \"Returns the value corresponding
to the specified percentile within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th p
ercentile of SUM(Profit) from the two previous rows to the current row\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"intege
r\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW
_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample standa

rd deviation within the window\",\"help-contents\": \"Returns the sample standar


d deviation of the expression within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Pr
ofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{
\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, en
d])\",\"func-tooltip\": \"Returns the population standard deviation within the w
indow\",\"help-contents\": \"Returns the population standard deviation of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two p
revious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_S
UM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"
Returns the sum of values within the window\",\"help-contents\": \"Returns the s
um of the expression within the window. The window is defined as offsets from t
he current row. Use FIRST()+n and LAST()-n for offsets from the first or last ro
w in the partition. If start and end are omitted, the entire partition is used.
\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WI
NDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip
\": \"Returns the sample variance within the window\",\"help-contents\": \"Retur
ns the sample variance of the expression within the window. The window is defin
ed as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the entir
e partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start
, end])\",\"func-tooltip\": \"Returns the population variance within the window\
",\"help-contents\": \"Returns the population variance of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()+
n and LAST()-n for offsets from the first or last row in the partition. If star
t and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(S
UM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to the
current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\
",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR
(date)\",\"func-tooltip\": \"Returns the year of the specified date as an intege
r\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\\n
Example: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\"
:[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(ex
pression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"hel
p-contents\": \"Returns <expression> if it is not null, otherwise returns zero.
\\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calculat
ion-dialog\",\"use-parameters\": true} position=\"62\"","name":"tabdoc:calculati
on-auto-complete"}}
{"ts":"2016-09-29T16:42:59.097","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC(
'month',[Order Date])-DATETRUNC('month',[Calculationq])\" calculation={\"datasou
rce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \"
Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"scop
e-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])-D
ATETRUNC('month',[Calculation5])\",\"fn\": \"\",\"fn-source\": \"\",\"calculatio
n-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-r

ole\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\":


0,\"style-token-list\":[],\"error-string\": \"Error in calculation:\\n\\nReferen
ce to undefined field [Calculation5].\\n\\nWould you like to correct the calcula
tion?\",\"error-info-list\":[{\"start-position-for-error\": 50,\"length-of-calcof-error\": 14,\"error-message\": \"Reference to undefined field [Calculation5].
\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func
-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a numb
er\",\"help-contents\": \"Returns the absolute value of the given number. \\n\\n
Example: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"h
as-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"functooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns t
he arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-v
ar-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN
<then> END\",\"func-tooltip\": \"Performs a logical conjunction on two expressi
ons\",\"help-contents\": \"Performs a logical conjunction on two expressions\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASC
II code for the first character in a string\",\"help-contents\": \"Returns the A
SCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"aut
hors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-varargs\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip
\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc si
ne of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267
949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Retu
rns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent o
f a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.56524082839
42\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tool
tip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns t
he arc tangent of two given numbers (x and y). The result is in radians. \\n\\n
Example: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig
\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expression
if it has one value for all rows\",\"help-contents\": \"Returns the value of th
e given expression if it only has a single value for all rows in the group, othe
rwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([
Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip
\": \"Returns the average of the values in the expression\",\"help-contents\": \
"Returns the average of all the values in the expression. AVG can be used with n
umeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"fun
c-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE
<else>] END\",\"func-tooltip\": \"Performs logical tests and returns the approp
riate value\",\"help-contents\": \"Finds the first <value> that matches <expr> a
nd returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \
u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"log
ic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"fu
nc-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest
integer of equal or greater value\",\"help-contents\": \"Rounds a number to the
nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts
an integer ASCII code into a character\",\"help-contents\": \"Converts the give
n integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"
Returns true if a string contains the specified substring\",\"help-contents\": \

"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\"


Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\":
\"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in r
adians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle
in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"
func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle
specified in radians\",\"help-contents\": \"Returns the cotangent of an angle.
Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"n
um\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\
",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of
items in the expression\",\"help-contents\": \"Returns the number of items in a
group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"na
me\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Return
s the number of distinct items in the expression\",\"help-contents\": \"Returns
the number of distinct items in a group. NULL values are not counted. Each uniq
ue value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"D
ATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from
a number\",\"help-contents\": \"Returns a date given a number, string, or date
expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote
that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"D
ATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified da
te incremented by the specified amount\",\"help-contents\": \"Adds an increment
to the specified date and returns the new date. The increment is defined by the
interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2
004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",
\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"fun
c-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-t
ooltip\": \"Returns the difference between two dates\",\"help-contents\": \"Retu
rns the difference between two dates where start_date is subtracted from end_dat
e. The difference is expressed in units of date_part. If start_of_week is omitte
d, the week start day is determined by the start day configured for the data sou
rce.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\
",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetim
e\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \
"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part
of the specified date as a string\",\"help-contents\": \"Returns a part of the
given date as a string, where the part is defined by date_part. If start_of_week
is omitted, the week start day is determined by the start day configured for th
e data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\
"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(form
at, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents\
": \"Converts a string to a date in the specified format. \\n\\nExample: DATEPAR
SE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"fu
nc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": f
alse},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_o
f_week])\",\"func-tooltip\": \"Returns the specified part of a date as an intege
r\",\"help-contents\": \"Returns a part of the given date as an integer where th
e part is defined by date_part. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DAT
EPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[
\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETI
ME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a dateti
me from a number\",\"help-contents\": \"Returns a datetime given a number, strin
g, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\")

\\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"fu


nc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"fun
c-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Tru
ncates the specified date to the specified accuracy\",\"help-contents\": \"Trunc
ates the specified date to the accuracy specified by the date_part and returns t
he new date. If start_of_week is omitted, the week start day is determined by th
e start day configured for the data source.\\n\\nExample: DATETRUNC('quarter', #
2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-type
s\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"D
AY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the
specified date as an integer\",\"help-contents\": \"Returns the day of the give
n date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"
date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"
DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value
in radians to degrees\",\"help-contents\": \"Converts a number in radians to de
grees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"
DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divisi
on operation\",\"help-contents\": \"Returns the integer part of a division.\\n\\
nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF
<expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"functooltip\": \"Performs a logical test and returns an appropriate value\",\"help-c
ontents\": \"Tests a series of expressions returning the <then> value for the fi
rst true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit
] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr
> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-toolt
ip\": \"Performs a logical test and returns an appropriate value\",\"help-conten
ts\": \"Tests a series of expressions returning the <then> value for the first t
rue <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0
THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <
then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"
Performs a logical test and returns an appropriate value\",\"help-contents\": \"
Tests a series of expressions returning the <then> value for the first true <exp
r>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'B
reakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, su
bstring)\",\"func-tooltip\": \"Returns true if the specified string ends with th
e specified substring\",\"help-contents\": \"Returns true if the string ends wit
h the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Ca
lculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\":
\"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Co
mputes an aggregate excluding the specified dimensions if present in the view.\"
,\"help-contents\": \"Computes an aggregate excluding the specified dimensions i
f present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\
": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns e
raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\":
\"Returns the position of a substring within a string\",\"help-contents\": \"Ret
urns the position of a substring within a string, or 0 if the substring isn't fo
und. If the start argument is defined, any instances of substring that appear be
fore the start position are ignored. The first character in the string is positi
on 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false
},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\

",\"func-tooltip\": \"Returns the position of the nth occurrence a substring wit


hin a string\",\"help-contents\": \"Returns the position of the nth occurrence o
f a substring within a string, or 0 if that occurrence of the substring isn't fo
und. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\\
"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func
-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the f
irst row in the partition\",\"help-contents\": \"Returns the number of rows from
the current row to the first row in the partition.\\n\\nExample (current row in
dex is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[
],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[,
dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate u
sing only the specified dimensions.\",\"help-contents\": \"Computes an aggregate
using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expres
sion)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-contents
\": \"Returns a float given an expression of any type. This function requires un
formatted numbers which means exclude commas and other symbols. \\n\\nExample:
FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean
\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\
",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser
value\",\"help-contents\": \"Rounds a number to the nearest integer of equal or
lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-s
ig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current u
ser\",\"help-contents\": \"Returns the full name for the current user. This is t
he Tableau Server or Tableau Online full name when the user is signed in; otherw
ise it is the local or network full name for the Tableau Desktop user.\",\"funcgrps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HE
XBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns th
e x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y
) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have sid
e length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name
\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Re
turns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps
an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <t
hen2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and r
eturns an appropriate value\",\"help-contents\": \"Tests a series of expressions
returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profit
] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns
expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not nul
l, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\
":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func
-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",\"h
elp-contents\": \"Checks whether a condition is met, and returns one value if TR
UE, another value if FALSE, and an optional third value or NULL if unknown. \\n\
\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},
{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-e
xpression }\",\"func-tooltip\": \"Computes an aggregate using the specified dime
nsions and the view dimensions.\",\"help-contents\": \"Computes an aggregate usi
ng the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\":

\"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the par


tition\",\"help-contents\": \"Returns the index of the current row in the partit
ion.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT
\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression
and returns an integer\",\"help-contents\": \"Returns an integer given an expre
ssion. This function truncates results to the closest integer toward zero. \\n\\
nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-a
rg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-s
ig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a val
id date\",\"help-contents\": \"Returns true if a given string is a valid date.
\\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date
\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \
"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns t
rue if the current user's full name matches the specified name\",\"help-contents
\": \"Returns true if the current user's full name matches the specified full na
me, or false if it does not match. This function uses the Tableau Server or Tabl
eau Online full name when the user is signed in; otherwise it uses the local or
network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fun
c-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"
func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the curre
nt user is a member of the specified group\",\"help-contents\": \"Returns true i
f the current user is a member of the given group, false otherwise. This uses t
he Tableau Server to resolve group membership if logged on, otherwise it always
returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"hasvar-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"
func-tooltip\": \"Returns true if the specified expression is null\",\"help-cont
ents\": \"Returns true if the expression does not contain valid data (Null).\\n\
\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"bo
olean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUS
ERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name mat
ches the specified user name\",\"help-contents\": \"Returns true if the current
user's username matches the specified username, or false if it does not match. T
his function uses the Tableau Server or Tableau Online username when the user is
signed in; otherwise it uses the local or network username for the Tableau Desk
top user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-a
rgs\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"R
eturns the number of rows to the last row in the partition\",\"help-contents\":
\"Returns the number of rows from the current row to the last row in the partiti
on.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[
\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"
func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specifie
d number of characters from the start of a string\",\"help-contents\": \"Returns
the specified number of characters from the start of the given string. \\n\\nE
xample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",
\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of characte
rs in a string\",\"help-contents\": \"Returns the number of characters in the gi
ven string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\
"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"fun
c-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a n
umber\",\"help-contents\": \"Returns the natural logarithm of the given number.
Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5))
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\":
\"Returns the logarithm of a number for the given base\",\"help-contents\": \"Re
turns the logarithm of a number for the given base. If the base value is omitted
, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"fun

c-tooltip\": \"Returns the value of the expression in a row offset from current
row\",\"help-contents\": \"Returns the value of the given expression in a target
row, specified as a relative offset from the current row. Use FIRST()+n and LAS
T()-n for a target relative to the first/last rows in the partition. If offset i
s omitted, the Compare To row may be set on the field menu. Returns NULL if the
target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) +
2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string
in all lowercase characters\",\"help-contents\": \"Converts a text string to all
lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"
func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"n
ame\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a s
tring with leading spaces removed\",\"help-contents\": \"Returns the string with
any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\
"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false
},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-to
oltip\": \"Returns a date value constructed from a year, a month and a day of th
e month.\",\"help-contents\": \"Returns a date value constructed from a year, a
month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-g
rps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"hasvar-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date
, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time\
",\"help-contents\": \"Returns a date and time value given a date expression and
a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"f
unc-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\
": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)
\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes and
seconds.\",\"help-contents\": \"Returns a time value constructed from hours, min
utes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",
\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \"
Returns the maximum of a single expression across all records or the maximum of
two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\
"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"
],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expressi
on)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents\
": \"Returns the median of a single expression. MEDIAN can be used with numeric
fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-gr
ps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Return
s the characters from the middle of a text string\",\"help-contents\": \"Returns
the characters from the middle of a text string given a starting position and a
length. The first character in the string is position 1. If the length is not i
ncluded, all characters to the end of the string are returned. If the length is
included, up to that many characters are returned. \\n\\nExample: MID(\\\"Tablea
u Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\"
,2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"rea
l\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(ex
pression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an e
xpression\",\"help-contents\": \"Returns the minimum of an expression across all
records or the minimum of two expressions for each record. \\n\\nExample: MIN(
[Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-ar
g-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"fu
nc-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the spec
ified date as an integer\",\"help-contents\": \"Returns the month of a given dat
e as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date
\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\
",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs l

ogical negation on an expression\",\"help-contents\": \"Performs logical negatio


n on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-a
rgs\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Ret
urns the current date and time\",\"help-contents\": \"Returns the current date a
nd time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"
],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\":
\"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logica
l disjunction on two expressions\",\"help-contents\": \"Performs a logical disju
nction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expres
sion, number)\",\"func-tooltip\": \"Returns the percentile value at the specifie
d number\",\"help-contents\": \"Aggregate calculation that returns the percentil
e value from the given expression corresponding to the specified number. Valid v
alues for the number are 0 through 1. PERCENTILE([expression], 0.50) will always
return the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.
90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-va
r-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Re
turns the numeric constant pi\",\"help-contents\": \"Returns the numeric constan
t pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(
number,power)\",\"func-tooltip\": \"Raises the number to the specified power\",\
"help-contents\": \"Returns the result of a number raised to the given power. \\
n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":
[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"fun
c-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of
this calculation in the previous row\",\"help-contents\": \"Returns the value o
f this calculation in the previous row. Returns the given expression if the curr
ent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOU
S_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(
1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \
"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\"
,\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RAN
K\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retur
ns the competition rank for the current partition row\",\"help-contents\": \"Ret
urns the standard competition rank for the current row in the partition. Identic
al values are assigned an identical rank. Use the optional 'asc' | 'desc' argume
nt to specify ascending or descending order. The default order is descending.\\n
\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2,
4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"
name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",
\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"hel
p-contents\": \"Returns the dense rank for the current row in the partition. Ide
ntical values are assigned an identical rank, but no gaps are inserted into the
number sequence. Use the optional 'asc' | 'desc' argument to specify ascending o
r descending order. The default order is descending.\\n\\nWith this function, th
e set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\
n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIE
D\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\"
: \"Returns the modified competition rank for the current partition row\",\"help
-contents\": \"Returns the modified competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'as
c' | 'desc' argument to specify ascending or descending order. The default order
is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would b
e ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Veloc
ity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\
"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERC

ENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile


rank for the current partition row\",\"help-contents\": \"Returns the percentile
rank for the current row in the partition. Use the optional 'asc' | 'desc' argu
ment to specify ascending or descending order. The default order is ascending.\\
n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75,
75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var
-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expressio
n, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the current
partition row\",\"help-contents\": \"Returns the unique rank for the current ro
w in the partition. Identical values are assigned different ranks. Use the optio
nal 'asc' | 'desc' argument to specify ascending or descending order. The defaul
t order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1
for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT
\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns
the portion of a string matching the capturing group in a regular expression\",
\"help-contents\": \"Returns a substring of the given string that matches the ca
pturing group within the regular expression pattern. The regular expression pat
tern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 12
3', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"
func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"R
eturns a substring of a string using a regular expression pattern\",\"help-conte
nts\": \"Returns a substring of the given string using the regular expression pa
ttern. The substring is matched to the nth capturing group, where n is the give
n index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)',
2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locin
t\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP
_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches a
regular expression\",\"help-contents\": \"Returns true if a substring of the pr
ovided string matches the regular expression pattern. \\n\\nExample: REGEXP_MATC
H('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') =
true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-ar
gs\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string
, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrings
matching a regular expression are replaced\",\"help-contents\": \"Returns a copy
of the given string where the matching pattern is substituted with the replacem
ent string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'
\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-va
r-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substrin
g, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring with
in a string\",\"help-contents\": \"Returns a string in which every occurrence of
the substring is replaced with the replacement string. If the substring is not
found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"
ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-t
ypes\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\
"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specif
ied number of characters from the end of a string\",\"help-contents\": \"Returns
the specified number of characters from the end of the given string. \\n\\nExa
mple: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"f
unc-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\"
,\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number
to the specified number of places\",\"help-contents\": \"Rounds a number to the
nearest integer or to a specified number of decimal places. \\n\\nExample: ROUN
D(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real
\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\
",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-con
tents\": \"Returns the string with any trailing spaces removed. \\n\\nExample:

RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-typ


es\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\":
\"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of
an expression\",\"help-contents\": \"Returns the running average of the given ex
pression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNN
ING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Retu
rns the running count of an expression\",\"help-contents\": \"Returns the runnin
g count of the given expression, from the first row in the partition to the curr
ent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profi
t)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"fun
c-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\":
\"Returns the running maximum of the given expression, from the first row in th
e partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = runni
ng maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum
of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expr
ession)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"h
elp-contents\": \"Returns the running minimum of the given expression, from the
first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Pr
ofit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = r
unning minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"R
UNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expre
ssion\",\"help-contents\": \"Returns the running sum of the given expression, fr
om the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM(
SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])
) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"in
teger\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCR
IPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result
from an R expression\",\"help-contents\": \"Returns a Boolean result from a giv
en R expression. The R expression is passed directly to a running Rserve instanc
e. Use .arg# in the R expression to reference parameters. In the following examp
le, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.a
rg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(s
tring, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an
R expression\",\"help-contents\": \"Returns an integer result from a given R exp
ression. The R expression is passed directly to a running Rserve instance. Use .
arg# in the R expression to reference parameters. In the following example, .arg
1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)
\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"
has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(str
ing, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R e
xpression\",\"help-contents\": \"Returns a numeric result from a given R express
ion. The R expression is passed directly to a running Rserve instance. Use .arg#
in the R expression to reference parameters. In the following example, .arg1 is
equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Pr
ofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression
, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"he
lp-contents\": \"Returns a string result from a given R expression. The R expres
sion is passed directly to a running Rserve instance. Use .arg# in the R express
ion to reference parameters. In the following example, .arg1 is equal to ATTR([R
egion]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true}
,{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns
1 for a positive number\",\"help-contents\": \"Returns the sign of a number: 1 i

f the number is positive, zero if the number is zero, or -1 if the number is neg
ative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angl
e)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Ret
urns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/
4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tool
tip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Retu
rns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\n
SIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"
Returns a string containing the specified number of spaces\",\"help-contents\":
\"Returns a string composed of the specified number of repeated spaces. \\n\\nEx
ample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string,
delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a stri
ng\",\"help-contents\": \"Returns a substring from a string, as determined by a
delimiter extracting the characters from the beginning or end of the string. \\n
\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-',
-2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"loc
int\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)
\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\":
\"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the squar
e of a number\",\"help-contents\": \"Returns the square of a given number. \\n\\
nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(s
tring, substring)\",\"func-tooltip\": \"Returns true if the specified string sta
rts with the specified substring\",\"help-contents\": \"Returns true if the stri
ng starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\
"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],
\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\
",\"func-tooltip\": \"Returns the sample standard deviation for an expression\",
\"help-contents\": \"Returns the sample standard deviation of the expression.\\n
\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expres
sion)\",\"func-tooltip\": \"Returns the population standard deviation for an exp
ression\",\"help-contents\": \"Returns the population standard deviation of the
expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"S
TR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"helpcontents\": \"Returns a string given an expression. \\n\\nExample: STR([Age]) r
eturns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast\
"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",
\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values
in an expression\",\"help-contents\": \"Returns the sum of all the values in the
expression. SUM can be used with numeric fields only. Null values are ignored.\
\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"f
unc-tooltip\": \"Returns the tangent of an angle specified in radians\",\"help-c
ontents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\\
nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \
"Performs a logical test and returns an appropriate value\",\"help-contents\": \
"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tool

tip\": \"Returns the current date\",\"help-contents\": \"Returns the current dat


e. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(exp
ression)\",\"func-tooltip\": \"Returns the total for an expression within the pa
rtition\",\"help-contents\": \"Returns the total for the given expression.\\n\\n
Example: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribut
e to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],
\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"fu
nc-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"he
lp-contents\": \"Returns the string with both leading and trailing spaces remove
d. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",
\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all uppe
rcase characters\",\"help-contents\": \"Converts a text string to all uppercase
letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"US
ERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain
for the current user\",\"help-contents\": \"Returns the domain for the current
user when the user is signed on to Tableau Server. Returns the Windows domain if
the Tableau Desktop user is on a domain. Otherwise this function returns a null
string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Retu
rns the user name for the current user\",\"help-contents\": \"Returns the userna
me for the current user. This is the Tableau Server or Tableau Online username w
hen the user is signed in; otherwise it is the local or network username for the
Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-too
ltip\": \"Returns the sample variance for an expression\",\"help-contents\": \"R
eturns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"fu
nc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns th
e population variance for an expression\",\"help-contents\": \"Returns the popul
ation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHE
N\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] E
ND\",\"func-tooltip\": \"Performs logical tests and returns the appropriate valu
e\",\"help-contents\": \"Finds the first <value> that matches <expr> and returns
the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u20
19 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\
": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the aver
age of the values within the window\",\"help-contents\": \"Returns the average o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDO
W_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-toolti
p\": \"Returns the number of items within the window\",\"help-contents\": \"Retu
rns the count of the expression within the window. The window is defined as off
sets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partiti
on is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Prof
it) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"
func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"
name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"
func-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"R
eturns the maximum of the expression within the window. The window is defined a
s offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the

first or last row in the partition. If start and end are omitted, the entire pa
rtition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Pro
fit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([
Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the curr
ent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\":
\"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the med
ian within the window\",\"help-contents\": \"Returns the median of the expressio
n within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WIND
OW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous ro
ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"fun
c-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns th
e minimum within the window\",\"help-contents\": \"Returns the minimum of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous ro
ws to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\
": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(exp
ression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile valu
e at the specified number\",\"help-contents\": \"Returns the value corresponding
to the specified percentile within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th p
ercentile of SUM(Profit) from the two previous rows to the current row\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"intege
r\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW
_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample standa
rd deviation within the window\",\"help-contents\": \"Returns the sample standar
d deviation of the expression within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Pr
ofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{
\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, en
d])\",\"func-tooltip\": \"Returns the population standard deviation within the w
indow\",\"help-contents\": \"Returns the population standard deviation of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two p
revious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_S
UM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"
Returns the sum of values within the window\",\"help-contents\": \"Returns the s
um of the expression within the window. The window is defined as offsets from t
he current row. Use FIRST()+n and LAST()-n for offsets from the first or last ro
w in the partition. If start and end are omitted, the entire partition is used.
\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WI
NDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip
\": \"Returns the sample variance within the window\",\"help-contents\": \"Retur

ns the sample variance of the expression within the window. The window is defin
ed as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the entir
e partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start
, end])\",\"func-tooltip\": \"Returns the population variance within the window\
",\"help-contents\": \"Returns the population variance of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()+
n and LAST()-n for offsets from the first or last row in the partition. If star
t and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(S
UM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to the
current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\
",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR
(date)\",\"func-tooltip\": \"Returns the year of the specified date as an intege
r\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\\n
Example: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\"
:[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(ex
pression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"hel
p-contents\": \"Returns <expression> if it is not null, otherwise returns zero.
\\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calculat
ion-dialog\",\"use-parameters\": true} position=\"63\"","name":"tabdoc:calculati
on-auto-complete"}}
{"ts":"2016-09-29T16:42:59.097","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC
('month',[Order Date])-DATETRUNC('month',[Calculationq])\" calculation={\"dataso
urce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \
"Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"sco
pe-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])DATETRUNC('month',[Calculation5])\",\"fn\": \"\",\"fn-source\": \"\",\"calculati
on-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folderrole\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\":
0,\"style-token-list\":[],\"error-string\": \"Error in calculation:\\n\\nRefere
nce to undefined field [Calculation5].\\n\\nWould you like to correct the calcul
ation?\",\"error-info-list\":[{\"start-position-for-error\": 50,\"length-of-calc
-of-error\": 14,\"error-message\": \"Reference to undefined field [Calculation5]
.\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"fun
c-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a num
ber\",\"help-contents\": \"Returns the absolute value of the given number. \\n\\
nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func
-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns
the arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"hasvar-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THE
N <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two express
ions\",\"help-contents\": \"Performs a logical conjunction on two expressions\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the AS
CII code for the first character in a string\",\"help-contents\": \"Returns the
ASCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"au
thors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var
-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-toolti
p\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc s
ine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.570796326
7949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Ret

urns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent


of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408283
942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-too
ltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns
the arc tangent of two given numbers (x and y). The result is in radians. \\n\\
nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-ty
pes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-si
g\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expressio
n if it has one value for all rows\",\"help-contents\": \"Returns the value of t
he given expression if it only has a single value for all rows in the group, oth
erwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR(
[Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-toolti
p\": \"Returns the average of the values in the expression\",\"help-contents\":
\"Returns the average of all the values in the expression. AVG can be used with
numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"fu
nc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELS
E <else>] END\",\"func-tooltip\": \"Performs logical tests and returns the appro
priate value\",\"help-contents\": \"Finds the first <value> that matches <expr>
and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN
\u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"lo
gic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"f
unc-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the neares
t integer of equal or greater value\",\"help-contents\": \"Rounds a number to th
e nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\
",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false}
,{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Convert
s an integer ASCII code into a character\",\"help-contents\": \"Converts the giv
en integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \
"Returns true if a string contains the specified substring\",\"help-contents\":
\"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\
"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\":
\"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in
radians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle
in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"nu
m\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\
"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angl
e specified in radians\",\"help-contents\": \"Returns the cotangent of an angle.
Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"
num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT
\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of
items in the expression\",\"help-contents\": \"Returns the number of items in a
group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"n
ame\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Retur
ns the number of distinct items in the expression\",\"help-contents\": \"Returns
the number of distinct items in a group. NULL values are not counted. Each uni
que value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"
DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date fro
m a number\",\"help-contents\": \"Returns a date given a number, string, or date
expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote
that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"
DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified d

ate incremented by the specified amount\",\"help-contents\": \"Adds an increment


to the specified date and returns the new date. The increment is defined by the
interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) =
2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\"
,\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"fu
nc-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"functooltip\": \"Returns the difference between two dates\",\"help-contents\": \"Ret
urns the difference between two dates where start_date is subtracted from end_da
te. The difference is expressed in units of date_part. If start_of_week is omitt
ed, the week start day is determined by the start day configured for the data so
urce.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3
\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"dateti
me\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\":
\"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a par
t of the specified date as a string\",\"help-contents\": \"Returns a part of the
given date as a string, where the part is defined by date_part. If start_of_wee
k is omitted, the week start day is determined by the start day configured for t
he data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",
\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"]
,\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(for
mat, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents
\": \"Converts a string to a date in the specified format. \\n\\nExample: DATEPA
RSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"f
unc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\":
false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_
of_week])\",\"func-tooltip\": \"Returns the specified part of a date as an integ
er\",\"help-contents\": \"Returns a part of the given date as an integer where t
he part is defined by date_part. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DA
TEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":
[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATET
IME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datet
ime from a number\",\"help-contents\": \"Returns a datetime given a number, stri
ng, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\"
) \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"f
unc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"fu
nc-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Tr
uncates the specified date to the specified accuracy\",\"help-contents\": \"Trun
cates the specified date to the accuracy specified by the date_part and returns
the new date. If start_of_week is omitted, the week start day is determined by t
he start day configured for the data source.\\n\\nExample: DATETRUNC('quarter',
#2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-typ
es\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"
DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of th
e specified date as an integer\",\"help-contents\": \"Returns the day of the giv
en date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\
"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \
"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a valu
e in radians to degrees\",\"help-contents\": \"Converts a number in radians to d
egrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \
"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divis
ion operation\",\"help-contents\": \"Returns the integer part of a division.\\n\
\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"intege
r\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF
<expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func
-tooltip\": \"Performs a logical test and returns an appropriate value\",\"helpcontents\": \"Tests a series of expressions returning the <then> value for the f
irst true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profi
t] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-t

ypes\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <exp


r> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tool
tip\": \"Performs a logical test and returns an appropriate value\",\"help-conte
nts\": \"Tests a series of expressions returning the <then> value for the first
true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =
0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \
"Performs a logical test and returns an appropriate value\",\"help-contents\": \
"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, s
ubstring)\",\"func-tooltip\": \"Returns true if the specified string ends with t
he specified substring\",\"help-contents\": \"Returns true if the string ends wi
th the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"C
alculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\"
: \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"C
omputes an aggregate excluding the specified dimensions if present in the view.\
",\"help-contents\": \"Computes an aggregate excluding the specified dimensions
if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip
\": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns e
raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\":
\"Returns the position of a substring within a string\",\"help-contents\": \"Re
turns the position of a substring within a string, or 0 if the substring isn't f
ound. If the start argument is defined, any instances of substring that appear b
efore the start position are ignored. The first character in the string is posit
ion 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": fals
e},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)
\",\"func-tooltip\": \"Returns the position of the nth occurrence a substring wi
thin a string\",\"help-contents\": \"Returns the position of the nth occurrence
of a substring within a string, or 0 if that occurrence of the substring isn't f
ound. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\
\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"fun
c-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the
first row in the partition\",\"help-contents\": \"Returns the number of rows fro
m the current row to the first row in the partition.\\n\\nExample (current row i
ndex is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":
[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[,
dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate
using only the specified dimensions.\",\"help-contents\": \"Computes an aggregat
e using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-type
s\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expre
ssion)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-content
s\": \"Returns a float given an expression of any type. This function requires u
nformatted numbers which means exclude commas and other symbols. \\n\\nExample:
FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolea
n\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)
\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser
value\",\"help-contents\": \"Rounds a number to the nearest integer of equal or
lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"funcsig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current
user\",\"help-contents\": \"Returns the full name for the current user. This is

the Tableau Server or Tableau Online full name when the user is signed in; other
wise it is the local or network full name for the Tableau Desktop user.\",\"func
-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"H
EXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns t
he x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,
y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have si
de length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"nam
e\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"R
eturns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Map
s an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false
},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <
then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and
returns an appropriate value\",\"help-contents\": \"Tests a series of expression
s returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profi
t] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Return
s expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not nu
ll, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps
\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": fa
lse},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"fun
c-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",\"
help-contents\": \"Checks whether a condition is met, and returns one value if T
RUE, another value if FALSE, and an optional third value or NULL if unknown. \\n
\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregateexpression }\",\"func-tooltip\": \"Computes an aggregate using the specified dim
ensions and the view dimensions.\",\"help-contents\": \"Computes an aggregate us
ing the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\"
: \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the pa
rtition\",\"help-contents\": \"Returns the index of the current row in the parti
tion.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IN
T\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expressio
n and returns an integer\",\"help-contents\": \"Returns an integer given an expr
ession. This function truncates results to the closest integer toward zero. \\n\
\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"funcarg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"funcsig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a va
lid date\",\"help-contents\": \"Returns true if a given string is a valid date.
\\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"dat
e\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns
true if the current user's full name matches the specified name\",\"help-content
s\": \"Returns true if the current user's full name matches the specified full n
ame, or false if it does not match. This function uses the Tableau Server or Tab
leau Online full name when the user is signed in; otherwise it uses the local or
network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fu
nc-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\
"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the curr
ent user is a member of the specified group\",\"help-contents\": \"Returns true
if the current user is a member of the given group, false otherwise. This uses
the Tableau Server to resolve group membership if logged on, otherwise it always
returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has
-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\

"func-tooltip\": \"Returns true if the specified expression is null\",\"help-con


tents\": \"Returns true if the expression does not contain valid data (Null).\\n
\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"b
oolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISU
SERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name ma
tches the specified user name\",\"help-contents\": \"Returns true if the current
user's username matches the specified username, or false if it does not match.
This function uses the Tableau Server or Tableau Online username when the user i
s signed in; otherwise it uses the local or network username for the Tableau Des
ktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-varargs\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"
Returns the number of rows to the last row in the partition\",\"help-contents\":
\"Returns the number of rows from the current row to the last row in the partit
ion.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":
[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\
"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specifi
ed number of characters from the start of a string\",\"help-contents\": \"Return
s the specified number of characters from the start of the given string. \\n\\n
Example: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\
"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\"
,\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of charact
ers in a string\",\"help-contents\": \"Returns the number of characters in the g
iven string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str
\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"fu
nc-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a
number\",\"help-contents\": \"Returns the natural logarithm of the given number.
Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5))
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\":
\"Returns the logarithm of a number for the given base\",\"help-contents\": \"R
eturns the logarithm of a number for the given base. If the base value is omitte
d, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\
"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\":
false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"fu
nc-tooltip\": \"Returns the value of the expression in a row offset from current
row\",\"help-contents\": \"Returns the value of the given expression in a targe
t row, specified as a relative offset from the current row. Use FIRST()+n and LA
ST()-n for a target relative to the first/last rows in the partition. If offset
is omitted, the Compare To row may be set on the field menu. Returns NULL if the
target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) +
2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\"
: \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string
in all lowercase characters\",\"help-contents\": \"Converts a text string to al
l lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"
name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a
string with leading spaces removed\",\"help-contents\": \"Returns the string wit
h any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\
\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fals
e},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-t
ooltip\": \"Returns a date value constructed from a year, a month and a day of t
he month.\",\"help-contents\": \"Returns a date value constructed from a year, a
month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"funcgrps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has
-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(dat
e, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time
\",\"help-contents\": \"Returns a date and time value given a date expression an
d a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"
func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args

\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second


)\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes and
seconds.\",\"help-contents\": \"Returns a time value constructed from hours, mi
nutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cas
t\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\"
,\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \
"Returns the maximum of a single expression across all records or the maximum of
two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[
\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\
"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(express
ion)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents
\": \"Returns the median of a single expression. MEDIAN can be used with numeric
fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-g
rps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Retur
ns the characters from the middle of a text string\",\"help-contents\": \"Return
s the characters from the middle of a text string given a starting position and
a length. The first character in the string is position 1. If the length is not
included, all characters to the end of the string are returned. If the length is
included, up to that many characters are returned. \\n\\nExample: MID(\\\"Table
au Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\
",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"re
al\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(e
xpression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an
expression\",\"help-contents\": \"Returns the minimum of an expression across al
l records or the minimum of two expressions for each record. \\n\\nExample: MIN
([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-a
rg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"f
unc-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the spe
cified date as an integer\",\"help-contents\": \"Returns the month of a given da
te as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"dat
e\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT
\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs
logical negation on an expression\",\"help-contents\": \"Performs logical negati
on on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Re
turns the current date and time\",\"help-contents\": \"Returns the current date
and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\
"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\"
: \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logic
al disjunction on two expressions\",\"help-contents\": \"Performs a logical disj
unction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expre
ssion, number)\",\"func-tooltip\": \"Returns the percentile value at the specifi
ed number\",\"help-contents\": \"Aggregate calculation that returns the percenti
le value from the given expression corresponding to the specified number. Valid
values for the number are 0 through 1. PERCENTILE([expression], 0.50) will alway
s return the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0
.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-v
ar-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"R
eturns the numeric constant pi\",\"help-contents\": \"Returns the numeric consta
nt pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER
(number,power)\",\"func-tooltip\": \"Raises the number to the specified power\",
\"help-contents\": \"Returns the result of a number raised to the given power. \
\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"fu
nc-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value o
f this calculation in the previous row\",\"help-contents\": \"Returns the value

of this calculation in the previous row. Returns the given expression if the cur
rent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIO
US_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE
(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\":
\"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\
",\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RA
NK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retu
rns the competition rank for the current partition row\",\"help-contents\": \"Re
turns the standard competition rank for the current row in the partition. Identi
cal values are assigned an identical rank. Use the optional 'asc' | 'desc' argum
ent to specify ascending or descending order. The default order is descending.\\
n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2
, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\
"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\"
,\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"he
lp-contents\": \"Returns the dense rank for the current row in the partition. Id
entical values are assigned an identical rank, but no gaps are inserted into the
number sequence. Use the optional 'asc' | 'desc' argument to specify ascending
or descending order. The default order is descending.\\n\\nWith this function, t
he set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\
\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFI
ED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\
": \"Returns the modified competition rank for the current partition row\",\"hel
p-contents\": \"Returns the modified competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'a
sc' | 'desc' argument to specify ascending or descending order. The default orde
r is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velo
city]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PER
CENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile
rank for the current partition row\",\"help-contents\": \"Returns the percentil
e rank for the current row in the partition. Use the optional 'asc' | 'desc' arg
ument to specify ascending or descending order. The default order is ascending.\
\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75
, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-va
r-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expressi
on, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the curren
t partition row\",\"help-contents\": \"Returns the unique rank for the current r
ow in the partition. Identical values are assigned different ranks. Use the opti
onal 'asc' | 'desc' argument to specify ascending or descending order. The defau
lt order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() =
1 for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRAC
T\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Return
s the portion of a string matching the capturing group in a regular expression\"
,\"help-contents\": \"Returns a substring of the given string that matches the c
apturing group within the regular expression pattern. The regular expression pa
ttern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 1
23', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\
"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"
Returns a substring of a string using a regular expression pattern\",\"help-cont
ents\": \"Returns a substring of the given string using the regular expression p

attern. The substring is matched to the nth capturing group, where n is the giv
en index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)',
2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"loci
nt\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEX
P_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches
a regular expression\",\"help-contents\": \"Returns true if a substring of the p
rovided string matches the regular expression pattern. \\n\\nExample: REGEXP_MAT
CH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') =
true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-a
rgs\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(strin
g, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrings
matching a regular expression are replaced\",\"help-contents\": \"Returns a cop
y of the given string where the matching pattern is substituted with the replace
ment string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123
'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-v
ar-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substri
ng, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring wit
hin a string\",\"help-contents\": \"Returns a string in which every occurrence o
f the substring is replaced with the replacement string. If the substring is not
found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\
"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",
\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the speci
fied number of characters from the end of a string\",\"help-contents\": \"Return
s the specified number of characters from the end of the given string. \\n\\nEx
ample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\
",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a numbe
r to the specified number of places\",\"help-contents\": \"Rounds a number to th
e nearest integer or to a specified number of decimal places. \\n\\nExample: ROU
ND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"rea
l\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)
\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-co
ntents\": \"Returns the string with any trailing spaces removed. \\n\\nExample:
RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\"
: \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of
an expression\",\"help-contents\": \"Returns the running average of the given e
xpression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUN
NING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Ret
urns the running count of an expression\",\"help-contents\": \"Returns the runni
ng count of the given expression, from the first row in the partition to the cur
rent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Prof
it)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"fu
nc-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\"
: \"Returns the running maximum of the given expression, from the first row in t
he partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = runn
ing maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum
of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"h
as-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(exp
ression)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"
help-contents\": \"Returns the running minimum of the given expression, from the
first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([P
rofit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) =
running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"
RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expr

ession\",\"help-contents\": \"Returns the running sum of the given expression, f


rom the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM
(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit]
)) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"i
nteger\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SC
RIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean resul
t from an R expression\",\"help-contents\": \"Returns a Boolean result from a gi
ven R expression. The R expression is passed directly to a running Rserve instan
ce. Use .arg# in the R expression to reference parameters. In the following exam
ple, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.
arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(
string, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an
R expression\",\"help-contents\": \"Returns an integer result from a given R ex
pression. The R expression is passed directly to a running Rserve instance. Use
.arg# in the R expression to reference parameters. In the following example, .ar
g1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5
)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\
"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(st
ring, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R
expression\",\"help-contents\": \"Returns a numeric result from a given R expres
sion. The R expression is passed directly to a running Rserve instance. Use .arg
# in the R expression to reference parameters. In the following example, .arg1 i
s equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([P
rofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args
\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expressio
n, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"h
elp-contents\": \"Returns a string result from a given R expression. The R expre
ssion is passed directly to a running Rserve instance. Use .arg# in the R expres
sion to reference parameters. In the following example, .arg1 is equal to ATTR([
Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))
\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true
},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns
1 for a positive number\",\"help-contents\": \"Returns the sign of a number: 1
if the number is positive, zero if the number is zero, or -1 if the number is ne
gative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(ang
le)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Re
turns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()
/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-too
ltip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Ret
urns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\
nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \
"Returns a string containing the specified number of spaces\",\"help-contents\":
\"Returns a string composed of the specified number of repeated spaces. \\n\\nE
xample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string
, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a str
ing\",\"help-contents\": \"Returns a substring from a string, as determined by a
delimiter extracting the characters from the beginning or end of the string. \\
n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-',
-2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"lo
cint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number
)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\":
\"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grp
s\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the squa
re of a number\",\"help-contents\": \"Returns the square of a given number. \\n\

\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"


],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(
string, substring)\",\"func-tooltip\": \"Returns true if the specified string st
arts with the specified substring\",\"help-contents\": \"Returns true if the str
ing starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\
\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"]
,\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)
\",\"func-tooltip\": \"Returns the sample standard deviation for an expression\"
,\"help-contents\": \"Returns the sample standard deviation of the expression.\\
n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expre
ssion)\",\"func-tooltip\": \"Returns the population standard deviation for an ex
pression\",\"help-contents\": \"Returns the population standard deviation of the
expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"
STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"help
-contents\": \"Returns a string given an expression. \\n\\nExample: STR([Age])
returns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\"
,\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values
in an expression\",\"help-contents\": \"Returns the sum of all the values in th
e expression. SUM can be used with numeric fields only. Null values are ignored.
\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"
func-tooltip\": \"Returns the tangent of an angle specified in radians\",\"helpcontents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\
\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\":
\"Performs a logical test and returns an appropriate value\",\"help-contents\":
\"Tests a series of expressions returning the <then> value for the first true <e
xpr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN
'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"
has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-too
ltip\": \"Returns the current date\",\"help-contents\": \"Returns the current da
te. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(ex
pression)\",\"func-tooltip\": \"Returns the total for an expression within the p
artition\",\"help-contents\": \"Returns the total for the given expression.\\n\\
nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribu
te to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"]
,\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"f
unc-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"h
elp-contents\": \"Returns the string with both leading and trailing spaces remov
ed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\"
,\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all upp
ercase characters\",\"help-contents\": \"Converts a text string to all uppercase
letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"U
SERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domai
n for the current user\",\"help-contents\": \"Returns the domain for the current
user when the user is signed on to Tableau Server. Returns the Windows domain i
f the Tableau Desktop user is on a domain. Otherwise this function returns a nul
l string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Ret
urns the user name for the current user\",\"help-contents\": \"Returns the usern
ame for the current user. This is the Tableau Server or Tableau Online username
when the user is signed in; otherwise it is the local or network username for th
e Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-v

ar-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-to


oltip\": \"Returns the sample variance for an expression\",\"help-contents\": \"
Returns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"f
unc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n
ame\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns t
he population variance for an expression\",\"help-contents\": \"Returns the popu
lation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":
[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WH
EN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>]
END\",\"func-tooltip\": \"Performs logical tests and returns the appropriate val
ue\",\"help-contents\": \"Finds the first <value> that matches <expr> and return
s the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2
019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"f
unc-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig
\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the ave
rage of the values within the window\",\"help-contents\": \"Returns the average
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i
n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the t
wo previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIND
OW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-toolt
ip\": \"Returns the number of items within the window\",\"help-contents\": \"Ret
urns the count of the expression within the window. The window is defined as of
fsets from the current row. Use FIRST()+n and LAST()-n for offsets from the firs
t or last row in the partition. If start and end are omitted, the entire partit
ion is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Pro
fit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\
"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\
"func-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"
Returns the maximum of the expression within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire p
artition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Pr
ofit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM(
[Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the cur
rent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"
,\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\"
: \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the me
dian within the window\",\"help-contents\": \"Returns the median of the expressi
on within the window. The window is defined as offsets from the current row. Us
e FIRST()+n and LAST()-n for offsets from the first or last row in the partition
. If start and end are omitted, the entire partition is used.\\n\\nExample: WIN
DOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous r
ows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",
\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"fu
nc-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns t
he minimum within the window\",\"help-contents\": \"Returns the minimum of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous r
ows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args
\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(ex
pression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile val
ue at the specified number\",\"help-contents\": \"Returns the value correspondin

g to the specified percentile within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th
percentile of SUM(Profit) from the two previous rows to the current row\",\"func
-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integ
er\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDO
W_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample stand
ard deviation within the window\",\"help-contents\": \"Returns the sample standa
rd deviation of the expression within the window. The window is defined as offs
ets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partitio
n is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(P
rofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},
{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, e
nd])\",\"func-tooltip\": \"Returns the population standard deviation within the
window\",\"help-contents\": \"Returns the population standard deviation of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_
SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \
"Returns the sum of values within the window\",\"help-contents\": \"Returns the
sum of the expression within the window. The window is defined as offsets from
the current row. Use FIRST()+n and LAST()-n for offsets from the first or last r
ow in the partition. If start and end are omitted, the entire partition is used
.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the t
wo previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"W
INDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-toolti
p\": \"Returns the sample variance within the window\",\"help-contents\": \"Retu
rns the sample variance of the expression within the window. The window is defi
ned as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the enti
re partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [star
t, end])\",\"func-tooltip\": \"Returns the population variance within the window
\",\"help-contents\": \"Returns the population variance of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()
+n and LAST()-n for offsets from the first or last row in the partition. If sta
rt and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(
SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to th
e current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEA
R(date)\",\"func-tooltip\": \"Returns the year of the specified date as an integ
er\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\\
nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\
":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(e
xpression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"he
lp-contents\": \"Returns <expression> if it is not null, otherwise returns zero.
\\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-typ
es\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calcula
tion-dialog\",\"use-parameters\": true} position=\"63\"","name":"tabdoc:calculat
ion-auto-complete"}}
{"ts":"2016-09-29T16:42:59.100","pid":78016,"tid":"13074","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC(
'month',[Order Date])-DATETRUNC('month',[Calculationq])\" calculation={\"datasou
rce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \"
Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"scop
e-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])-D
ATETRUNC('month',[Calculation5])\",\"fn\": \"\",\"fn-source\": \"\",\"calculatio
n-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-r
ole\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\":
0,\"style-token-list\":[],\"error-string\": \"Error in calculation:\\n\\nReferen
ce to undefined field [Calculation5].\\n\\nWould you like to correct the calcula
tion?\",\"error-info-list\":[{\"start-position-for-error\": 50,\"length-of-calcof-error\": 14,\"error-message\": \"Reference to undefined field [Calculation5].
\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func
-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a numb
er\",\"help-contents\": \"Returns the absolute value of the given number. \\n\\n
Example: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"h
as-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"functooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns t
he arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-v
ar-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN
<then> END\",\"func-tooltip\": \"Performs a logical conjunction on two expressi
ons\",\"help-contents\": \"Performs a logical conjunction on two expressions\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASC
II code for the first character in a string\",\"help-contents\": \"Returns the A
SCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"aut
hors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-varargs\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip
\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc si
ne of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267
949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Retu
rns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent o
f a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.56524082839
42\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tool
tip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns t
he arc tangent of two given numbers (x and y). The result is in radians. \\n\\n
Example: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig
\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expression
if it has one value for all rows\",\"help-contents\": \"Returns the value of th
e given expression if it only has a single value for all rows in the group, othe
rwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([
Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip
\": \"Returns the average of the values in the expression\",\"help-contents\": \
"Returns the average of all the values in the expression. AVG can be used with n
umeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"fun
c-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE
<else>] END\",\"func-tooltip\": \"Performs logical tests and returns the approp
riate value\",\"help-contents\": \"Finds the first <value> that matches <expr> a
nd returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \
u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"log
ic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"fu
nc-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest
integer of equal or greater value\",\"help-contents\": \"Rounds a number to the

nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\"


,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts
an integer ASCII code into a character\",\"help-contents\": \"Converts the give
n integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"
Returns true if a string contains the specified substring\",\"help-contents\": \
"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\"
Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\":
\"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in r
adians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle
in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"
func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle
specified in radians\",\"help-contents\": \"Returns the cotangent of an angle.
Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"n
um\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\
",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of
items in the expression\",\"help-contents\": \"Returns the number of items in a
group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"na
me\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Return
s the number of distinct items in the expression\",\"help-contents\": \"Returns
the number of distinct items in a group. NULL values are not counted. Each uniq
ue value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"D
ATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from
a number\",\"help-contents\": \"Returns a date given a number, string, or date
expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote
that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"D
ATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified da
te incremented by the specified amount\",\"help-contents\": \"Adds an increment
to the specified date and returns the new date. The increment is defined by the
interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2
004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",
\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"fun
c-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-t
ooltip\": \"Returns the difference between two dates\",\"help-contents\": \"Retu
rns the difference between two dates where start_date is subtracted from end_dat
e. The difference is expressed in units of date_part. If start_of_week is omitte
d, the week start day is determined by the start day configured for the data sou
rce.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\
",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetim
e\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \
"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part
of the specified date as a string\",\"help-contents\": \"Returns a part of the
given date as a string, where the part is defined by date_part. If start_of_week
is omitted, the week start day is determined by the start day configured for th
e data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\
"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(form
at, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents\
": \"Converts a string to a date in the specified format. \\n\\nExample: DATEPAR
SE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"fu
nc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": f
alse},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_o
f_week])\",\"func-tooltip\": \"Returns the specified part of a date as an intege

r\",\"help-contents\": \"Returns a part of the given date as an integer where th


e part is defined by date_part. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DAT
EPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[
\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETI
ME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a dateti
me from a number\",\"help-contents\": \"Returns a datetime given a number, strin
g, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\")
\\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"fu
nc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"fun
c-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Tru
ncates the specified date to the specified accuracy\",\"help-contents\": \"Trunc
ates the specified date to the accuracy specified by the date_part and returns t
he new date. If start_of_week is omitted, the week start day is determined by th
e start day configured for the data source.\\n\\nExample: DATETRUNC('quarter', #
2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-type
s\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"D
AY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the
specified date as an integer\",\"help-contents\": \"Returns the day of the give
n date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"
date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"
DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value
in radians to degrees\",\"help-contents\": \"Converts a number in radians to de
grees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"
DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divisi
on operation\",\"help-contents\": \"Returns the integer part of a division.\\n\\
nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF
<expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"functooltip\": \"Performs a logical test and returns an appropriate value\",\"help-c
ontents\": \"Tests a series of expressions returning the <then> value for the fi
rst true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit
] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr
> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-toolt
ip\": \"Performs a logical test and returns an appropriate value\",\"help-conten
ts\": \"Tests a series of expressions returning the <then> value for the first t
rue <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0
THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <
then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"
Performs a logical test and returns an appropriate value\",\"help-contents\": \"
Tests a series of expressions returning the <then> value for the first true <exp
r>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'B
reakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, su
bstring)\",\"func-tooltip\": \"Returns true if the specified string ends with th
e specified substring\",\"help-contents\": \"Returns true if the string ends wit
h the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Ca
lculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\":
\"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Co
mputes an aggregate excluding the specified dimensions if present in the view.\"
,\"help-contents\": \"Computes an aggregate excluding the specified dimensions i
f present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\
": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns e
raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"

: \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\":


\"Returns the position of a substring within a string\",\"help-contents\": \"Ret
urns the position of a substring within a string, or 0 if the substring isn't fo
und. If the start argument is defined, any instances of substring that appear be
fore the start position are ignored. The first character in the string is positi
on 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false
},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\
",\"func-tooltip\": \"Returns the position of the nth occurrence a substring wit
hin a string\",\"help-contents\": \"Returns the position of the nth occurrence o
f a substring within a string, or 0 if that occurrence of the substring isn't fo
und. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\\
"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func
-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the f
irst row in the partition\",\"help-contents\": \"Returns the number of rows from
the current row to the first row in the partition.\\n\\nExample (current row in
dex is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[
],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[,
dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate u
sing only the specified dimensions.\",\"help-contents\": \"Computes an aggregate
using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expres
sion)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-contents
\": \"Returns a float given an expression of any type. This function requires un
formatted numbers which means exclude commas and other symbols. \\n\\nExample:
FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean
\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\
",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser
value\",\"help-contents\": \"Rounds a number to the nearest integer of equal or
lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-s
ig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current u
ser\",\"help-contents\": \"Returns the full name for the current user. This is t
he Tableau Server or Tableau Online full name when the user is signed in; otherw
ise it is the local or network full name for the Tableau Desktop user.\",\"funcgrps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HE
XBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns th
e x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y
) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have sid
e length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name
\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Re
turns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps
an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <t
hen2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and r
eturns an appropriate value\",\"help-contents\": \"Tests a series of expressions
returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profit
] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns
expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not nul
l, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\
":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func
-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",\"h
elp-contents\": \"Checks whether a condition is met, and returns one value if TR

UE, another value if FALSE, and an optional third value or NULL if unknown. \\n\
\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},
{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-e
xpression }\",\"func-tooltip\": \"Computes an aggregate using the specified dime
nsions and the view dimensions.\",\"help-contents\": \"Computes an aggregate usi
ng the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\":
\"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the par
tition\",\"help-contents\": \"Returns the index of the current row in the partit
ion.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT
\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression
and returns an integer\",\"help-contents\": \"Returns an integer given an expre
ssion. This function truncates results to the closest integer toward zero. \\n\\
nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-a
rg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-s
ig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a val
id date\",\"help-contents\": \"Returns true if a given string is a valid date.
\\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date
\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \
"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns t
rue if the current user's full name matches the specified name\",\"help-contents
\": \"Returns true if the current user's full name matches the specified full na
me, or false if it does not match. This function uses the Tableau Server or Tabl
eau Online full name when the user is signed in; otherwise it uses the local or
network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fun
c-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"
func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the curre
nt user is a member of the specified group\",\"help-contents\": \"Returns true i
f the current user is a member of the given group, false otherwise. This uses t
he Tableau Server to resolve group membership if logged on, otherwise it always
returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"hasvar-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"
func-tooltip\": \"Returns true if the specified expression is null\",\"help-cont
ents\": \"Returns true if the expression does not contain valid data (Null).\\n\
\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"bo
olean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUS
ERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name mat
ches the specified user name\",\"help-contents\": \"Returns true if the current
user's username matches the specified username, or false if it does not match. T
his function uses the Tableau Server or Tableau Online username when the user is
signed in; otherwise it uses the local or network username for the Tableau Desk
top user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-a
rgs\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"R
eturns the number of rows to the last row in the partition\",\"help-contents\":
\"Returns the number of rows from the current row to the last row in the partiti
on.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[
\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"
func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specifie
d number of characters from the start of a string\",\"help-contents\": \"Returns
the specified number of characters from the start of the given string. \\n\\nE
xample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",
\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of characte
rs in a string\",\"help-contents\": \"Returns the number of characters in the gi
ven string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\
"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"fun
c-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a n
umber\",\"help-contents\": \"Returns the natural logarithm of the given number.

Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5))


= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\":
\"Returns the logarithm of a number for the given base\",\"help-contents\": \"Re
turns the logarithm of a number for the given base. If the base value is omitted
, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"fun
c-tooltip\": \"Returns the value of the expression in a row offset from current
row\",\"help-contents\": \"Returns the value of the given expression in a target
row, specified as a relative offset from the current row. Use FIRST()+n and LAS
T()-n for a target relative to the first/last rows in the partition. If offset i
s omitted, the Compare To row may be set on the field menu. Returns NULL if the
target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) +
2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string
in all lowercase characters\",\"help-contents\": \"Converts a text string to all
lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"
func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"n
ame\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a s
tring with leading spaces removed\",\"help-contents\": \"Returns the string with
any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\
"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false
},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-to
oltip\": \"Returns a date value constructed from a year, a month and a day of th
e month.\",\"help-contents\": \"Returns a date value constructed from a year, a
month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-g
rps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"hasvar-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date
, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time\
",\"help-contents\": \"Returns a date and time value given a date expression and
a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"f
unc-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\
": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)
\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes and
seconds.\",\"help-contents\": \"Returns a time value constructed from hours, min
utes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",
\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \"
Returns the maximum of a single expression across all records or the maximum of
two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\
"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"
],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expressi
on)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents\
": \"Returns the median of a single expression. MEDIAN can be used with numeric
fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-gr
ps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Return
s the characters from the middle of a text string\",\"help-contents\": \"Returns
the characters from the middle of a text string given a starting position and a
length. The first character in the string is position 1. If the length is not i
ncluded, all characters to the end of the string are returned. If the length is
included, up to that many characters are returned. \\n\\nExample: MID(\\\"Tablea
u Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\"
,2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"rea
l\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(ex
pression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an e
xpression\",\"help-contents\": \"Returns the minimum of an expression across all

records or the minimum of two expressions for each record. \\n\\nExample: MIN(
[Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-ar
g-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"fu
nc-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the spec
ified date as an integer\",\"help-contents\": \"Returns the month of a given dat
e as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date
\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\
",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs l
ogical negation on an expression\",\"help-contents\": \"Performs logical negatio
n on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-a
rgs\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Ret
urns the current date and time\",\"help-contents\": \"Returns the current date a
nd time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"
],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\":
\"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logica
l disjunction on two expressions\",\"help-contents\": \"Performs a logical disju
nction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expres
sion, number)\",\"func-tooltip\": \"Returns the percentile value at the specifie
d number\",\"help-contents\": \"Aggregate calculation that returns the percentil
e value from the given expression corresponding to the specified number. Valid v
alues for the number are 0 through 1. PERCENTILE([expression], 0.50) will always
return the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.
90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-va
r-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Re
turns the numeric constant pi\",\"help-contents\": \"Returns the numeric constan
t pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(
number,power)\",\"func-tooltip\": \"Raises the number to the specified power\",\
"help-contents\": \"Returns the result of a number raised to the given power. \\
n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":
[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"fun
c-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of
this calculation in the previous row\",\"help-contents\": \"Returns the value o
f this calculation in the previous row. Returns the given expression if the curr
ent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOU
S_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(
1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \
"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\"
,\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RAN
K\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retur
ns the competition rank for the current partition row\",\"help-contents\": \"Ret
urns the standard competition rank for the current row in the partition. Identic
al values are assigned an identical rank. Use the optional 'asc' | 'desc' argume
nt to specify ascending or descending order. The default order is descending.\\n
\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2,
4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"
name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",
\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"hel
p-contents\": \"Returns the dense rank for the current row in the partition. Ide
ntical values are assigned an identical rank, but no gaps are inserted into the
number sequence. Use the optional 'asc' | 'desc' argument to specify ascending o
r descending order. The default order is descending.\\n\\nWith this function, th
e set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\
n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIE
D\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\"

: \"Returns the modified competition rank for the current partition row\",\"help
-contents\": \"Returns the modified competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'as
c' | 'desc' argument to specify ascending or descending order. The default order
is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would b
e ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Veloc
ity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\
"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERC
ENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile
rank for the current partition row\",\"help-contents\": \"Returns the percentile
rank for the current row in the partition. Use the optional 'asc' | 'desc' argu
ment to specify ascending or descending order. The default order is ascending.\\
n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75,
75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var
-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expressio
n, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the current
partition row\",\"help-contents\": \"Returns the unique rank for the current ro
w in the partition. Identical values are assigned different ranks. Use the optio
nal 'asc' | 'desc' argument to specify ascending or descending order. The defaul
t order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1
for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT
\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns
the portion of a string matching the capturing group in a regular expression\",
\"help-contents\": \"Returns a substring of the given string that matches the ca
pturing group within the regular expression pattern. The regular expression pat
tern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 12
3', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"
func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"R
eturns a substring of a string using a regular expression pattern\",\"help-conte
nts\": \"Returns a substring of the given string using the regular expression pa
ttern. The substring is matched to the nth capturing group, where n is the give
n index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)',
2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locin
t\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP
_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches a
regular expression\",\"help-contents\": \"Returns true if a substring of the pr
ovided string matches the regular expression pattern. \\n\\nExample: REGEXP_MATC
H('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') =
true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-ar
gs\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string
, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrings
matching a regular expression are replaced\",\"help-contents\": \"Returns a copy
of the given string where the matching pattern is substituted with the replacem
ent string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'
\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-va
r-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substrin
g, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring with
in a string\",\"help-contents\": \"Returns a string in which every occurrence of
the substring is replaced with the replacement string. If the substring is not
found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"
ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-t
ypes\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\
"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specif
ied number of characters from the end of a string\",\"help-contents\": \"Returns
the specified number of characters from the end of the given string. \\n\\nExa
mple: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"f

unc-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\"


,\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number
to the specified number of places\",\"help-contents\": \"Rounds a number to the
nearest integer or to a specified number of decimal places. \\n\\nExample: ROUN
D(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real
\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\
",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-con
tents\": \"Returns the string with any trailing spaces removed. \\n\\nExample:
RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\":
\"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of
an expression\",\"help-contents\": \"Returns the running average of the given ex
pression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNN
ING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Retu
rns the running count of an expression\",\"help-contents\": \"Returns the runnin
g count of the given expression, from the first row in the partition to the curr
ent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profi
t)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"fun
c-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\":
\"Returns the running maximum of the given expression, from the first row in th
e partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = runni
ng maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum
of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expr
ession)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"h
elp-contents\": \"Returns the running minimum of the given expression, from the
first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Pr
ofit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = r
unning minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"R
UNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expre
ssion\",\"help-contents\": \"Returns the running sum of the given expression, fr
om the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM(
SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])
) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"in
teger\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCR
IPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result
from an R expression\",\"help-contents\": \"Returns a Boolean result from a giv
en R expression. The R expression is passed directly to a running Rserve instanc
e. Use .arg# in the R expression to reference parameters. In the following examp
le, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.a
rg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(s
tring, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an
R expression\",\"help-contents\": \"Returns an integer result from a given R exp
ression. The R expression is passed directly to a running Rserve instance. Use .
arg# in the R expression to reference parameters. In the following example, .arg
1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)
\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"
has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(str
ing, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R e
xpression\",\"help-contents\": \"Returns a numeric result from a given R express
ion. The R expression is passed directly to a running Rserve instance. Use .arg#
in the R expression to reference parameters. In the following example, .arg1 is
equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Pr
ofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression

, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"he


lp-contents\": \"Returns a string result from a given R expression. The R expres
sion is passed directly to a running Rserve instance. Use .arg# in the R express
ion to reference parameters. In the following example, .arg1 is equal to ATTR([R
egion]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true}
,{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns
1 for a positive number\",\"help-contents\": \"Returns the sign of a number: 1 i
f the number is positive, zero if the number is zero, or -1 if the number is neg
ative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angl
e)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Ret
urns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/
4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tool
tip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Retu
rns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\n
SIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"
Returns a string containing the specified number of spaces\",\"help-contents\":
\"Returns a string composed of the specified number of repeated spaces. \\n\\nEx
ample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string,
delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a stri
ng\",\"help-contents\": \"Returns a substring from a string, as determined by a
delimiter extracting the characters from the beginning or end of the string. \\n
\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-',
-2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"loc
int\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)
\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\":
\"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the squar
e of a number\",\"help-contents\": \"Returns the square of a given number. \\n\\
nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(s
tring, substring)\",\"func-tooltip\": \"Returns true if the specified string sta
rts with the specified substring\",\"help-contents\": \"Returns true if the stri
ng starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\
"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],
\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\
",\"func-tooltip\": \"Returns the sample standard deviation for an expression\",
\"help-contents\": \"Returns the sample standard deviation of the expression.\\n
\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expres
sion)\",\"func-tooltip\": \"Returns the population standard deviation for an exp
ression\",\"help-contents\": \"Returns the population standard deviation of the
expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"S
TR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"helpcontents\": \"Returns a string given an expression. \\n\\nExample: STR([Age]) r
eturns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast\
"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",
\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values
in an expression\",\"help-contents\": \"Returns the sum of all the values in the
expression. SUM can be used with numeric fields only. Null values are ignored.\
\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"f
unc-tooltip\": \"Returns the tangent of an angle specified in radians\",\"help-c
ontents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\\

nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real


\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \
"Performs a logical test and returns an appropriate value\",\"help-contents\": \
"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tool
tip\": \"Returns the current date\",\"help-contents\": \"Returns the current dat
e. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(exp
ression)\",\"func-tooltip\": \"Returns the total for an expression within the pa
rtition\",\"help-contents\": \"Returns the total for the given expression.\\n\\n
Example: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribut
e to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],
\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"fu
nc-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"he
lp-contents\": \"Returns the string with both leading and trailing spaces remove
d. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",
\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all uppe
rcase characters\",\"help-contents\": \"Converts a text string to all uppercase
letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"US
ERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain
for the current user\",\"help-contents\": \"Returns the domain for the current
user when the user is signed on to Tableau Server. Returns the Windows domain if
the Tableau Desktop user is on a domain. Otherwise this function returns a null
string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Retu
rns the user name for the current user\",\"help-contents\": \"Returns the userna
me for the current user. This is the Tableau Server or Tableau Online username w
hen the user is signed in; otherwise it is the local or network username for the
Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-too
ltip\": \"Returns the sample variance for an expression\",\"help-contents\": \"R
eturns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"fu
nc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns th
e population variance for an expression\",\"help-contents\": \"Returns the popul
ation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHE
N\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] E
ND\",\"func-tooltip\": \"Performs logical tests and returns the appropriate valu
e\",\"help-contents\": \"Finds the first <value> that matches <expr> and returns
the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u20
19 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\
": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the aver
age of the values within the window\",\"help-contents\": \"Returns the average o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDO
W_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-toolti
p\": \"Returns the number of items within the window\",\"help-contents\": \"Retu
rns the count of the expression within the window. The window is defined as off
sets from the current row. Use FIRST()+n and LAST()-n for offsets from the first

or last row in the partition. If start and end are omitted, the entire partiti
on is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Prof
it) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"
func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"
name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"
func-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"R
eturns the maximum of the expression within the window. The window is defined a
s offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire pa
rtition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Pro
fit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([
Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the curr
ent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\":
\"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the med
ian within the window\",\"help-contents\": \"Returns the median of the expressio
n within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WIND
OW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous ro
ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"fun
c-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns th
e minimum within the window\",\"help-contents\": \"Returns the minimum of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous ro
ws to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\
": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(exp
ression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile valu
e at the specified number\",\"help-contents\": \"Returns the value corresponding
to the specified percentile within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th p
ercentile of SUM(Profit) from the two previous rows to the current row\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"intege
r\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW
_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample standa
rd deviation within the window\",\"help-contents\": \"Returns the sample standar
d deviation of the expression within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Pr
ofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{
\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, en
d])\",\"func-tooltip\": \"Returns the population standard deviation within the w
indow\",\"help-contents\": \"Returns the population standard deviation of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two p
revious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_S
UM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"
Returns the sum of values within the window\",\"help-contents\": \"Returns the s

um of the expression within the window. The window is defined as offsets from t
he current row. Use FIRST()+n and LAST()-n for offsets from the first or last ro
w in the partition. If start and end are omitted, the entire partition is used.
\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WI
NDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip
\": \"Returns the sample variance within the window\",\"help-contents\": \"Retur
ns the sample variance of the expression within the window. The window is defin
ed as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the entir
e partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start
, end])\",\"func-tooltip\": \"Returns the population variance within the window\
",\"help-contents\": \"Returns the population variance of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()+
n and LAST()-n for offsets from the first or last row in the partition. If star
t and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(S
UM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to the
current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\
",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR
(date)\",\"func-tooltip\": \"Returns the year of the specified date as an intege
r\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\\n
Example: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\"
:[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(ex
pression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"hel
p-contents\": \"Returns <expression> if it is not null, otherwise returns zero.
\\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calculat
ion-dialog\",\"use-parameters\": true} position=\"63\"","name":"tabdoc:calculati
on-auto-complete"}}
{"ts":"2016-09-29T16:42:59.100","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC
('month',[Order Date])-DATETRUNC('month',[Calculationq])\" calculation={\"dataso
urce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \
"Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"sco
pe-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])DATETRUNC('month',[Calculation5])\",\"fn\": \"\",\"fn-source\": \"\",\"calculati
on-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folderrole\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\":
0,\"style-token-list\":[],\"error-string\": \"Error in calculation:\\n\\nRefere
nce to undefined field [Calculation5].\\n\\nWould you like to correct the calcul
ation?\",\"error-info-list\":[{\"start-position-for-error\": 50,\"length-of-calc
-of-error\": 14,\"error-message\": \"Reference to undefined field [Calculation5]
.\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"fun
c-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a num
ber\",\"help-contents\": \"Returns the absolute value of the given number. \\n\\
nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func
-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns
the arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"hasvar-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THE
N <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two express
ions\",\"help-contents\": \"Performs a logical conjunction on two expressions\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the AS

CII code for the first character in a string\",\"help-contents\": \"Returns the


ASCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"au
thors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var
-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-toolti
p\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc s
ine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.570796326
7949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Ret
urns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent
of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408283
942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-too
ltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns
the arc tangent of two given numbers (x and y). The result is in radians. \\n\\
nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-ty
pes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-si
g\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expressio
n if it has one value for all rows\",\"help-contents\": \"Returns the value of t
he given expression if it only has a single value for all rows in the group, oth
erwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR(
[Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-toolti
p\": \"Returns the average of the values in the expression\",\"help-contents\":
\"Returns the average of all the values in the expression. AVG can be used with
numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"fu
nc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELS
E <else>] END\",\"func-tooltip\": \"Performs logical tests and returns the appro
priate value\",\"help-contents\": \"Finds the first <value> that matches <expr>
and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN
\u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"lo
gic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"f
unc-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the neares
t integer of equal or greater value\",\"help-contents\": \"Rounds a number to th
e nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\
",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false}
,{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Convert
s an integer ASCII code into a character\",\"help-contents\": \"Converts the giv
en integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \
"Returns true if a string contains the specified substring\",\"help-contents\":
\"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\
"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\":
\"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in
radians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle
in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"nu
m\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\
"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angl
e specified in radians\",\"help-contents\": \"Returns the cotangent of an angle.
Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"
num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT
\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of
items in the expression\",\"help-contents\": \"Returns the number of items in a
group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"n
ame\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Retur
ns the number of distinct items in the expression\",\"help-contents\": \"Returns
the number of distinct items in a group. NULL values are not counted. Each uni

que value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[


\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"
DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date fro
m a number\",\"help-contents\": \"Returns a date given a number, string, or date
expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote
that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"
DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified d
ate incremented by the specified amount\",\"help-contents\": \"Adds an increment
to the specified date and returns the new date. The increment is defined by the
interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) =
2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\"
,\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"fu
nc-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"functooltip\": \"Returns the difference between two dates\",\"help-contents\": \"Ret
urns the difference between two dates where start_date is subtracted from end_da
te. The difference is expressed in units of date_part. If start_of_week is omitt
ed, the week start day is determined by the start day configured for the data so
urce.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3
\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"dateti
me\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\":
\"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a par
t of the specified date as a string\",\"help-contents\": \"Returns a part of the
given date as a string, where the part is defined by date_part. If start_of_wee
k is omitted, the week start day is determined by the start day configured for t
he data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",
\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"]
,\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(for
mat, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents
\": \"Converts a string to a date in the specified format. \\n\\nExample: DATEPA
RSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"f
unc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\":
false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_
of_week])\",\"func-tooltip\": \"Returns the specified part of a date as an integ
er\",\"help-contents\": \"Returns a part of the given date as an integer where t
he part is defined by date_part. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DA
TEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":
[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATET
IME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datet
ime from a number\",\"help-contents\": \"Returns a datetime given a number, stri
ng, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\"
) \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"f
unc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"fu
nc-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Tr
uncates the specified date to the specified accuracy\",\"help-contents\": \"Trun
cates the specified date to the accuracy specified by the date_part and returns
the new date. If start_of_week is omitted, the week start day is determined by t
he start day configured for the data source.\\n\\nExample: DATETRUNC('quarter',
#2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-typ
es\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"
DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of th
e specified date as an integer\",\"help-contents\": \"Returns the day of the giv
en date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\
"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \
"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a valu
e in radians to degrees\",\"help-contents\": \"Converts a number in radians to d
egrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \
"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divis

ion operation\",\"help-contents\": \"Returns the integer part of a division.\\n\


\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"intege
r\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF
<expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func
-tooltip\": \"Performs a logical test and returns an appropriate value\",\"helpcontents\": \"Tests a series of expressions returning the <then> value for the f
irst true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profi
t] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <exp
r> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tool
tip\": \"Performs a logical test and returns an appropriate value\",\"help-conte
nts\": \"Tests a series of expressions returning the <then> value for the first
true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =
0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \
"Performs a logical test and returns an appropriate value\",\"help-contents\": \
"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, s
ubstring)\",\"func-tooltip\": \"Returns true if the specified string ends with t
he specified substring\",\"help-contents\": \"Returns true if the string ends wi
th the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"C
alculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\"
: \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"C
omputes an aggregate excluding the specified dimensions if present in the view.\
",\"help-contents\": \"Computes an aggregate excluding the specified dimensions
if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip
\": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns e
raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\":
\"Returns the position of a substring within a string\",\"help-contents\": \"Re
turns the position of a substring within a string, or 0 if the substring isn't f
ound. If the start argument is defined, any instances of substring that appear b
efore the start position are ignored. The first character in the string is posit
ion 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": fals
e},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)
\",\"func-tooltip\": \"Returns the position of the nth occurrence a substring wi
thin a string\",\"help-contents\": \"Returns the position of the nth occurrence
of a substring within a string, or 0 if that occurrence of the substring isn't f
ound. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\
\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"fun
c-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the
first row in the partition\",\"help-contents\": \"Returns the number of rows fro
m the current row to the first row in the partition.\\n\\nExample (current row i
ndex is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":
[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[,
dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate
using only the specified dimensions.\",\"help-contents\": \"Computes an aggregat
e using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-type
s\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expre
ssion)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-content
s\": \"Returns a float given an expression of any type. This function requires u
nformatted numbers which means exclude commas and other symbols. \\n\\nExample:

FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolea
n\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)
\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser
value\",\"help-contents\": \"Rounds a number to the nearest integer of equal or
lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"funcsig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current
user\",\"help-contents\": \"Returns the full name for the current user. This is
the Tableau Server or Tableau Online full name when the user is signed in; other
wise it is the local or network full name for the Tableau Desktop user.\",\"func
-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"H
EXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns t
he x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,
y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have si
de length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"nam
e\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"R
eturns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Map
s an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false
},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <
then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and
returns an appropriate value\",\"help-contents\": \"Tests a series of expression
s returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profi
t] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Return
s expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not nu
ll, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps
\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": fa
lse},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"fun
c-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",\"
help-contents\": \"Checks whether a condition is met, and returns one value if T
RUE, another value if FALSE, and an optional third value or NULL if unknown. \\n
\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregateexpression }\",\"func-tooltip\": \"Computes an aggregate using the specified dim
ensions and the view dimensions.\",\"help-contents\": \"Computes an aggregate us
ing the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\"
: \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the pa
rtition\",\"help-contents\": \"Returns the index of the current row in the parti
tion.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IN
T\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expressio
n and returns an integer\",\"help-contents\": \"Returns an integer given an expr
ession. This function truncates results to the closest integer toward zero. \\n\
\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"funcarg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"funcsig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a va
lid date\",\"help-contents\": \"Returns true if a given string is a valid date.
\\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"dat
e\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns
true if the current user's full name matches the specified name\",\"help-content
s\": \"Returns true if the current user's full name matches the specified full n
ame, or false if it does not match. This function uses the Tableau Server or Tab
leau Online full name when the user is signed in; otherwise it uses the local or

network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fu


nc-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\
"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the curr
ent user is a member of the specified group\",\"help-contents\": \"Returns true
if the current user is a member of the given group, false otherwise. This uses
the Tableau Server to resolve group membership if logged on, otherwise it always
returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has
-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\
"func-tooltip\": \"Returns true if the specified expression is null\",\"help-con
tents\": \"Returns true if the expression does not contain valid data (Null).\\n
\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"b
oolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISU
SERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name ma
tches the specified user name\",\"help-contents\": \"Returns true if the current
user's username matches the specified username, or false if it does not match.
This function uses the Tableau Server or Tableau Online username when the user i
s signed in; otherwise it uses the local or network username for the Tableau Des
ktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-varargs\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"
Returns the number of rows to the last row in the partition\",\"help-contents\":
\"Returns the number of rows from the current row to the last row in the partit
ion.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":
[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\
"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specifi
ed number of characters from the start of a string\",\"help-contents\": \"Return
s the specified number of characters from the start of the given string. \\n\\n
Example: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\
"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\"
,\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of charact
ers in a string\",\"help-contents\": \"Returns the number of characters in the g
iven string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str
\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"fu
nc-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a
number\",\"help-contents\": \"Returns the natural logarithm of the given number.
Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5))
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\":
\"Returns the logarithm of a number for the given base\",\"help-contents\": \"R
eturns the logarithm of a number for the given base. If the base value is omitte
d, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\
"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\":
false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"fu
nc-tooltip\": \"Returns the value of the expression in a row offset from current
row\",\"help-contents\": \"Returns the value of the given expression in a targe
t row, specified as a relative offset from the current row. Use FIRST()+n and LA
ST()-n for a target relative to the first/last rows in the partition. If offset
is omitted, the Compare To row may be set on the field menu. Returns NULL if the
target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) +
2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\"
: \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string
in all lowercase characters\",\"help-contents\": \"Converts a text string to al
l lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"
name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a
string with leading spaces removed\",\"help-contents\": \"Returns the string wit
h any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\
\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fals
e},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-t
ooltip\": \"Returns a date value constructed from a year, a month and a day of t

he month.\",\"help-contents\": \"Returns a date value constructed from a year, a


month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"funcgrps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has
-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(dat
e, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time
\",\"help-contents\": \"Returns a date and time value given a date expression an
d a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"
func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args
\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second
)\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes and
seconds.\",\"help-contents\": \"Returns a time value constructed from hours, mi
nutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cas
t\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\"
,\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \
"Returns the maximum of a single expression across all records or the maximum of
two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[
\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\
"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(express
ion)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents
\": \"Returns the median of a single expression. MEDIAN can be used with numeric
fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-g
rps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Retur
ns the characters from the middle of a text string\",\"help-contents\": \"Return
s the characters from the middle of a text string given a starting position and
a length. The first character in the string is position 1. If the length is not
included, all characters to the end of the string are returned. If the length is
included, up to that many characters are returned. \\n\\nExample: MID(\\\"Table
au Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\
",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"re
al\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(e
xpression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an
expression\",\"help-contents\": \"Returns the minimum of an expression across al
l records or the minimum of two expressions for each record. \\n\\nExample: MIN
([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-a
rg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"f
unc-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the spe
cified date as an integer\",\"help-contents\": \"Returns the month of a given da
te as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"dat
e\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT
\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs
logical negation on an expression\",\"help-contents\": \"Performs logical negati
on on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Re
turns the current date and time\",\"help-contents\": \"Returns the current date
and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\
"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\"
: \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logic
al disjunction on two expressions\",\"help-contents\": \"Performs a logical disj
unction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expre
ssion, number)\",\"func-tooltip\": \"Returns the percentile value at the specifi
ed number\",\"help-contents\": \"Aggregate calculation that returns the percenti
le value from the given expression corresponding to the specified number. Valid
values for the number are 0 through 1. PERCENTILE([expression], 0.50) will alway
s return the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0
.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-v
ar-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"R
eturns the numeric constant pi\",\"help-contents\": \"Returns the numeric consta

nt pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-ar


g-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER
(number,power)\",\"func-tooltip\": \"Raises the number to the specified power\",
\"help-contents\": \"Returns the result of a number raised to the given power. \
\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"fu
nc-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value o
f this calculation in the previous row\",\"help-contents\": \"Returns the value
of this calculation in the previous row. Returns the given expression if the cur
rent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIO
US_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE
(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\":
\"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\
",\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RA
NK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retu
rns the competition rank for the current partition row\",\"help-contents\": \"Re
turns the standard competition rank for the current row in the partition. Identi
cal values are assigned an identical rank. Use the optional 'asc' | 'desc' argum
ent to specify ascending or descending order. The default order is descending.\\
n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2
, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\
"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\"
,\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"he
lp-contents\": \"Returns the dense rank for the current row in the partition. Id
entical values are assigned an identical rank, but no gaps are inserted into the
number sequence. Use the optional 'asc' | 'desc' argument to specify ascending
or descending order. The default order is descending.\\n\\nWith this function, t
he set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\
\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFI
ED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\
": \"Returns the modified competition rank for the current partition row\",\"hel
p-contents\": \"Returns the modified competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'a
sc' | 'desc' argument to specify ascending or descending order. The default orde
r is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velo
city]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PER
CENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile
rank for the current partition row\",\"help-contents\": \"Returns the percentil
e rank for the current row in the partition. Use the optional 'asc' | 'desc' arg
ument to specify ascending or descending order. The default order is ascending.\
\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75
, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-va
r-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expressi
on, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the curren
t partition row\",\"help-contents\": \"Returns the unique rank for the current r
ow in the partition. Identical values are assigned different ranks. Use the opti
onal 'asc' | 'desc' argument to specify ascending or descending order. The defau
lt order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() =
1 for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRAC
T\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Return
s the portion of a string matching the capturing group in a regular expression\"

,\"help-contents\": \"Returns a substring of the given string that matches the c


apturing group within the regular expression pattern. The regular expression pa
ttern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 1
23', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\
"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"
Returns a substring of a string using a regular expression pattern\",\"help-cont
ents\": \"Returns a substring of the given string using the regular expression p
attern. The substring is matched to the nth capturing group, where n is the giv
en index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)',
2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"loci
nt\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEX
P_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches
a regular expression\",\"help-contents\": \"Returns true if a substring of the p
rovided string matches the regular expression pattern. \\n\\nExample: REGEXP_MAT
CH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') =
true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-a
rgs\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(strin
g, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrings
matching a regular expression are replaced\",\"help-contents\": \"Returns a cop
y of the given string where the matching pattern is substituted with the replace
ment string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123
'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-v
ar-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substri
ng, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring wit
hin a string\",\"help-contents\": \"Returns a string in which every occurrence o
f the substring is replaced with the replacement string. If the substring is not
found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\
"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",
\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the speci
fied number of characters from the end of a string\",\"help-contents\": \"Return
s the specified number of characters from the end of the given string. \\n\\nEx
ample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\
",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a numbe
r to the specified number of places\",\"help-contents\": \"Rounds a number to th
e nearest integer or to a specified number of decimal places. \\n\\nExample: ROU
ND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"rea
l\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)
\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-co
ntents\": \"Returns the string with any trailing spaces removed. \\n\\nExample:
RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\"
: \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of
an expression\",\"help-contents\": \"Returns the running average of the given e
xpression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUN
NING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Ret
urns the running count of an expression\",\"help-contents\": \"Returns the runni
ng count of the given expression, from the first row in the partition to the cur
rent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Prof
it)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"fu
nc-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\"
: \"Returns the running maximum of the given expression, from the first row in t
he partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = runn
ing maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum
of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"h

as-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(exp


ression)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"
help-contents\": \"Returns the running minimum of the given expression, from the
first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([P
rofit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) =
running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"
RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expr
ession\",\"help-contents\": \"Returns the running sum of the given expression, f
rom the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM
(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit]
)) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"i
nteger\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SC
RIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean resul
t from an R expression\",\"help-contents\": \"Returns a Boolean result from a gi
ven R expression. The R expression is passed directly to a running Rserve instan
ce. Use .arg# in the R expression to reference parameters. In the following exam
ple, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.
arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(
string, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an
R expression\",\"help-contents\": \"Returns an integer result from a given R ex
pression. The R expression is passed directly to a running Rserve instance. Use
.arg# in the R expression to reference parameters. In the following example, .ar
g1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5
)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\
"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(st
ring, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R
expression\",\"help-contents\": \"Returns a numeric result from a given R expres
sion. The R expression is passed directly to a running Rserve instance. Use .arg
# in the R expression to reference parameters. In the following example, .arg1 i
s equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([P
rofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args
\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expressio
n, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"h
elp-contents\": \"Returns a string result from a given R expression. The R expre
ssion is passed directly to a running Rserve instance. Use .arg# in the R expres
sion to reference parameters. In the following example, .arg1 is equal to ATTR([
Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))
\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true
},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns
1 for a positive number\",\"help-contents\": \"Returns the sign of a number: 1
if the number is positive, zero if the number is zero, or -1 if the number is ne
gative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(ang
le)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Re
turns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()
/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-too
ltip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Ret
urns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\
nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \
"Returns a string containing the specified number of spaces\",\"help-contents\":
\"Returns a string composed of the specified number of repeated spaces. \\n\\nE
xample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string
, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a str
ing\",\"help-contents\": \"Returns a substring from a string, as determined by a
delimiter extracting the characters from the beginning or end of the string. \\

n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-',


-2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"lo
cint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number
)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\":
\"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grp
s\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the squa
re of a number\",\"help-contents\": \"Returns the square of a given number. \\n\
\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"
],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(
string, substring)\",\"func-tooltip\": \"Returns true if the specified string st
arts with the specified substring\",\"help-contents\": \"Returns true if the str
ing starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\
\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"]
,\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)
\",\"func-tooltip\": \"Returns the sample standard deviation for an expression\"
,\"help-contents\": \"Returns the sample standard deviation of the expression.\\
n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expre
ssion)\",\"func-tooltip\": \"Returns the population standard deviation for an ex
pression\",\"help-contents\": \"Returns the population standard deviation of the
expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"
STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"help
-contents\": \"Returns a string given an expression. \\n\\nExample: STR([Age])
returns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\"
,\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values
in an expression\",\"help-contents\": \"Returns the sum of all the values in th
e expression. SUM can be used with numeric fields only. Null values are ignored.
\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"
func-tooltip\": \"Returns the tangent of an angle specified in radians\",\"helpcontents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\
\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\":
\"Performs a logical test and returns an appropriate value\",\"help-contents\":
\"Tests a series of expressions returning the <then> value for the first true <e
xpr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN
'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"
has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-too
ltip\": \"Returns the current date\",\"help-contents\": \"Returns the current da
te. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(ex
pression)\",\"func-tooltip\": \"Returns the total for an expression within the p
artition\",\"help-contents\": \"Returns the total for the given expression.\\n\\
nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribu
te to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"]
,\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"f
unc-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"h
elp-contents\": \"Returns the string with both leading and trailing spaces remov
ed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\"
,\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all upp
ercase characters\",\"help-contents\": \"Converts a text string to all uppercase
letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"U
SERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domai
n for the current user\",\"help-contents\": \"Returns the domain for the current

user when the user is signed on to Tableau Server. Returns the Windows domain i
f the Tableau Desktop user is on a domain. Otherwise this function returns a nul
l string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Ret
urns the user name for the current user\",\"help-contents\": \"Returns the usern
ame for the current user. This is the Tableau Server or Tableau Online username
when the user is signed in; otherwise it is the local or network username for th
e Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-to
oltip\": \"Returns the sample variance for an expression\",\"help-contents\": \"
Returns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"f
unc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n
ame\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns t
he population variance for an expression\",\"help-contents\": \"Returns the popu
lation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":
[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WH
EN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>]
END\",\"func-tooltip\": \"Performs logical tests and returns the appropriate val
ue\",\"help-contents\": \"Finds the first <value> that matches <expr> and return
s the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2
019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"f
unc-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig
\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the ave
rage of the values within the window\",\"help-contents\": \"Returns the average
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i
n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the t
wo previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIND
OW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-toolt
ip\": \"Returns the number of items within the window\",\"help-contents\": \"Ret
urns the count of the expression within the window. The window is defined as of
fsets from the current row. Use FIRST()+n and LAST()-n for offsets from the firs
t or last row in the partition. If start and end are omitted, the entire partit
ion is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Pro
fit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\
"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\
"func-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"
Returns the maximum of the expression within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire p
artition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Pr
ofit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM(
[Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the cur
rent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"
,\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\"
: \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the me
dian within the window\",\"help-contents\": \"Returns the median of the expressi
on within the window. The window is defined as offsets from the current row. Us
e FIRST()+n and LAST()-n for offsets from the first or last row in the partition
. If start and end are omitted, the entire partition is used.\\n\\nExample: WIN
DOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous r
ows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",
\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"fu
nc-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns t
he minimum within the window\",\"help-contents\": \"Returns the minimum of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa

rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous r
ows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args
\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(ex
pression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile val
ue at the specified number\",\"help-contents\": \"Returns the value correspondin
g to the specified percentile within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th
percentile of SUM(Profit) from the two previous rows to the current row\",\"func
-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integ
er\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDO
W_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample stand
ard deviation within the window\",\"help-contents\": \"Returns the sample standa
rd deviation of the expression within the window. The window is defined as offs
ets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partitio
n is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(P
rofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},
{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, e
nd])\",\"func-tooltip\": \"Returns the population standard deviation within the
window\",\"help-contents\": \"Returns the population standard deviation of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_
SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \
"Returns the sum of values within the window\",\"help-contents\": \"Returns the
sum of the expression within the window. The window is defined as offsets from
the current row. Use FIRST()+n and LAST()-n for offsets from the first or last r
ow in the partition. If start and end are omitted, the entire partition is used
.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the t
wo previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"W
INDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-toolti
p\": \"Returns the sample variance within the window\",\"help-contents\": \"Retu
rns the sample variance of the expression within the window. The window is defi
ned as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the enti
re partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [star
t, end])\",\"func-tooltip\": \"Returns the population variance within the window
\",\"help-contents\": \"Returns the population variance of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()
+n and LAST()-n for offsets from the first or last row in the partition. If sta
rt and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(
SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to th
e current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEA
R(date)\",\"func-tooltip\": \"Returns the year of the specified date as an integ
er\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\\
nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\

":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(e


xpression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"he
lp-contents\": \"Returns <expression> if it is not null, otherwise returns zero.
\\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-typ
es\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calcula
tion-dialog\",\"use-parameters\": true} position=\"63\"","name":"tabdoc:calculat
ion-auto-complete"}}
{"ts":"2016-09-29T16:42:59.804","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC(
'month',[Order Date])-DATETRUNC('month',[Calculationq\\\\])\" calculation={\"dat
asource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\"
: \"Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"
scope-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date
])-DATETRUNC('month',[Calculation5])\",\"fn\": \"\",\"fn-source\": \"\",\"calcul
ation-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"fold
er-role\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used
\": 0,\"style-token-list\":[],\"error-string\": \"Error in calculation:\\n\\nRef
erence to undefined field [Calculation5].\\n\\nWould you like to correct the cal
culation?\",\"error-info-list\":[{\"start-position-for-error\": 50,\"length-of-c
alc-of-error\": 14,\"error-message\": \"Reference to undefined field [Calculatio
n5].\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"
func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a
number\",\"help-contents\": \"Returns the absolute value of the given number. \\
n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"f
unc-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Retur
ns the arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1
) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"h
as-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2>
THEN <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two expr
essions\",\"help-contents\": \"Performs a logical conjunction on two expressions
\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"n
ame\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the
ASCII code for the first character in a string\",\"help-contents\": \"Returns t
he ASCII code value of the first character in a string. \\n\\nExample: ASCII(\\\
"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"hasvar-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-too
ltip\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the ar
c sine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.570796
3267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"
Returns the arc tangent of a number\",\"help-contents\": \"Returns the arc tange
nt of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408
283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"functooltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Retur
ns the arc tangent of two given numbers (x and y). The result is in radians. \\
n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func
-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expres
sion if it has one value for all rows\",\"help-contents\": \"Returns the value o
f the given expression if it only has a single value for all rows in the group,
otherwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: AT
TR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-va
r-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-too
ltip\": \"Returns the average of the values in the expression\",\"help-contents\
": \"Returns the average of all the values in the expression. AVG can be used wi
th numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\
"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\

"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [


ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns the ap
propriate value\",\"help-contents\": \"Finds the first <value> that matches <exp
r> and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WH
EN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\
"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",
\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nea
rest integer of equal or greater value\",\"help-contents\": \"Rounds a number to
the nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) =
4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Conv
erts an integer ASCII code into a character\",\"help-contents\": \"Converts the
given integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"fun
c-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\"
: \"Returns true if a string contains the specified substring\",\"help-contents\
": \"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(
\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig
\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified
in radians\",\"help-contents\": \"Returns the cosine of an angle. Specify the an
gle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\
"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\
",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an a
ngle specified in radians\",\"help-contents\": \"Returns the cotangent of an ang
le. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CO
UNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number
of items in the expression\",\"help-contents\": \"Returns the number of items i
n a group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"f
unc-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{
\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Re
turns the number of distinct items in the expression\",\"help-contents\": \"Retu
rns the number of distinct items in a group. NULL values are not counted. Each
unique value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\
":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\":
\"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date
from a number\",\"help-contents\": \"Returns a date given a number, string, or d
ate expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nN
ote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg
-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\":
\"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specifie
d date incremented by the specified amount\",\"help-contents\": \"Adds an increm
ent to the specified date and returns the new date. The increment is defined by
the interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#)
= 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locst
r\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\
"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"fu
nc-tooltip\": \"Returns the difference between two dates\",\"help-contents\": \"
Returns the difference between two dates where start_date is subtracted from end
_date. The difference is expressed in units of date_part. If start_of_week is om
itted, the week start day is determined by the start day configured for the data
source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') =
-3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"dat
etime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\
": \"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a
part of the specified date as a string\",\"help-contents\": \"Returns a part of
the given date as a string, where the part is defined by date_part. If start_of_
week is omitted, the week start day is determined by the start day configured fo
r the data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"

\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr
\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(
format, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-conte
nts\": \"Converts a string to a date in the specified format. \\n\\nExample: DAT
EPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",
\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\
": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [sta
rt_of_week])\",\"func-tooltip\": \"Returns the specified part of a date as an in
teger\",\"help-contents\": \"Returns a part of the given date as an integer wher
e the part is defined by date_part. If start_of_week is omitted, the week start
day is determined by the start day configured for the data source.\\n\\nExample:
DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types
\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DA
TETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a da
tetime from a number\",\"help-contents\": \"Returns a datetime given a number, s
tring, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\
\\") \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],
\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\
"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \
"Truncates the specified date to the specified accuracy\",\"help-contents\": \"T
runcates the specified date to the accuracy specified by the date_part and retur
ns the new date. If start_of_week is omitted, the week start day is determined b
y the start day configured for the data source.\\n\\nExample: DATETRUNC('quarter
', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-argtypes\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\":
\"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of
the specified date as an integer\",\"help-contents\": \"Returns the day of the
given date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\"
:[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\"
: \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a v
alue in radians to degrees\",\"help-contents\": \"Converts a number in radians t
o degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\"
: \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a di
vision operation\",\"help-contents\": \"Returns the integer part of a division.\
\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"int
eger\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \
"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"f
unc-tooltip\": \"Performs a logical test and returns an appropriate value\",\"he
lp-contents\": \"Tests a series of expressions returning the <then> value for th
e first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Pr
ofit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-ar
g-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <
expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-t
ooltip\": \"Performs a logical test and returns an appropriate value\",\"help-co
ntents\": \"Tests a series of expressions returning the <then> value for the fir
st true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit]
= 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-typ
es\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> TH
EN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\"
: \"Performs a logical test and returns an appropriate value\",\"help-contents\"
: \"Tests a series of expressions returning the <then> value for the first true
<expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THE
N 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string
, substring)\",\"func-tooltip\": \"Returns true if the specified string ends wit
h the specified substring\",\"help-contents\": \"Returns true if the string ends
with the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\
\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-si

g\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\":


\"Computes an aggregate excluding the specified dimensions if present in the vie
w.\",\"help-contents\": \"Computes an aggregate excluding the specified dimensio
ns if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has
-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tool
tip\": \"Returns e raised to the power of a number\",\"help-contents\": \"Return
s e raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"fu
nc-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip
\": \"Returns the position of a substring within a string\",\"help-contents\": \
"Returns the position of a substring within a string, or 0 if the substring isn'
t found. If the start argument is defined, any instances of substring that appea
r before the start position are ignored. The first character in the string is po
sition 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurren
ce)\",\"func-tooltip\": \"Returns the position of the nth occurrence a substring
within a string\",\"help-contents\": \"Returns the position of the nth occurren
ce of a substring within a string, or 0 if that occurrence of the substring isn'
t found. The first character in the string is position 1. \\n\\nExample: FINDNTH
(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"
func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to t
he first row in the partition\",\"help-contents\": \"Returns the number of rows
from the current row to the first row in the partition.\\n\\nExample (current ro
w index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim
1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggrega
te using only the specified dimensions.\",\"help-contents\": \"Computes an aggre
gate using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(ex
pression)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-cont
ents\": \"Returns a float given an expression of any type. This function require
s unformatted numbers which means exclude commas and other symbols. \\n\\nExamp
le: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boo
lean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(numb
er)\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or les
ser value\",\"help-contents\": \"Rounds a number to the nearest integer of equal
or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"f
unc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"fu
nc-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the curre
nt user\",\"help-contents\": \"Returns the full name for the current user. This
is the Tableau Server or Tableau Online full name when the user is signed in; ot
herwise it is the local or network full name for the Tableau Desktop user.\",\"f
unc-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Return
s the x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an
(x,y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have
side length 1, so the inputs may need to be scaled appropriately.\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"
name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\":
\"Returns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"
Maps an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The b
ins have side length 1, so the inputs may need to be scaled appropriately.\",\"f
unc-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": fa
lse},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THE
N <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test a
nd returns an appropriate value\",\"help-contents\": \"Tests a series of express
ions returning the <then> value for the first true <expr>. \\n\\nExample: IF [Pr
ofit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END

\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"n
ame\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Ret
urns expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not
null, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-g
rps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"
func-tooltip\": \"Evaluates a Boolean expression and returns one of two values\"
,\"help-contents\": \"Checks whether a condition is met, and returns one value i
f TRUE, another value if FALSE, and an optional third value or NULL if unknown.
\\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\
"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": fal
se},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggrega
te-expression }\",\"func-tooltip\": \"Computes an aggregate using the specified
dimensions and the view dimensions.\",\"help-contents\": \"Computes an aggregate
using the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\
"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-si
g\": \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the
partition\",\"help-contents\": \"Returns the index of the current row in the pa
rtition.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"fun
c-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \
"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expres
sion and returns an integer\",\"help-contents\": \"Returns an integer given an e
xpression. This function truncates results to the closest integer toward zero. \
\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"fu
nc-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"fu
nc-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a
valid date\",\"help-contents\": \"Returns true if a given string is a valid dat
e. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"
date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\
": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Retur
ns true if the current user's full name matches the specified name\",\"help-cont
ents\": \"Returns true if the current user's full name matches the specified ful
l name, or false if it does not match. This function uses the Tableau Server or
Tableau Online full name when the user is signed in; otherwise it uses the local
or network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\
"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\
",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the c
urrent user is a member of the specified group\",\"help-contents\": \"Returns tr
ue if the current user is a member of the given group, false otherwise. This us
es the Tableau Server to resolve group membership if logged on, otherwise it alw
ays returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"
has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\
",\"func-tooltip\": \"Returns true if the specified expression is null\",\"helpcontents\": \"Returns true if the expression does not contain valid data (Null).
\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[
\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"
ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name
matches the specified user name\",\"help-contents\": \"Returns true if the curr
ent user's username matches the specified username, or false if it does not matc
h. This function uses the Tableau Server or Tableau Online username when the use
r is signed in; otherwise it uses the local or network username for the Tableau
Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-v
ar-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\":
\"Returns the number of rows to the last row in the partition\",\"help-contents
\": \"Returns the number of rows from the current row to the last row in the par
tition.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps
\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\
",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the spec
ified number of characters from the start of a string\",\"help-contents\": \"Ret
urns the specified number of characters from the start of the given string. \\n

\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"


],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LE
N\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of char
acters in a string\",\"help-contents\": \"Returns the number of characters in th
e given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\
"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of
a number\",\"help-contents\": \"Returns the natural logarithm of the given numb
er. Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(
5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip
\": \"Returns the logarithm of a number for the given base\",\"help-contents\":
\"Returns the logarithm of a number for the given base. If the base value is omi
tted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\
",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\
": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\
"func-tooltip\": \"Returns the value of the expression in a row offset from curr
ent row\",\"help-contents\": \"Returns the value of the given expression in a ta
rget row, specified as a relative offset from the current row. Use FIRST()+n and
LAST()-n for a target relative to the first/last rows in the partition. If offs
et is omitted, the Compare To row may be set on the field menu. Returns NULL if
the target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST(
) + 2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table
\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"nam
e\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a str
ing in all lowercase characters\",\"help-contents\": \"Converts a text string to
all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\
",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},
{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns
a string with leading spaces removed\",\"help-contents\": \"Returns the string
with any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sale
s\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": f
alse},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"fun
c-tooltip\": \"Returns a date value constructed from a year, a month and a day o
f the month.\",\"help-contents\": \"Returns a date value constructed from a year
, a month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"fu
nc-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"
has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(
date, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a t
ime\",\"help-contents\": \"Returns a date and time value given a date expression
and a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\"
,\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-a
rgs\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, sec
ond)\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes
and seconds.\",\"help-contents\": \"Returns a time value constructed from hours,
minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"
cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\
": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2
)\",\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\"
: \"Returns the maximum of a single expression across all records or the maximum
of two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\
":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"re
al\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expr
ession)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-conte
nts\": \"Returns the median of a single expression. MEDIAN can be used with nume
ric fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"fun
c-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Re
turns the characters from the middle of a text string\",\"help-contents\": \"Ret
urns the characters from the middle of a text string given a starting position a

nd a length. The first character in the string is position 1. If the length is n


ot included, all characters to the end of the string are returned. If the length
is included, up to that many characters are returned. \\n\\nExample: MID(\\\"Ta
bleau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software
\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\
"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MI
N(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of
an expression\",\"help-contents\": \"Returns the minimum of an expression across
all records or the minimum of two expressions for each record. \\n\\nExample:
MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"fun
c-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",
\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the
specified date as an integer\",\"help-contents\": \"Returns the month of a given
date as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"
date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"
NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Perfor
ms logical negation on an expression\",\"help-contents\": \"Performs logical neg
ation on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \
"Returns the current date and time\",\"help-contents\": \"Returns the current da
te and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"da
te\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-si
g\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a lo
gical disjunction on two expressions\",\"help-contents\": \"Performs a logical d
isjunction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(ex
pression, number)\",\"func-tooltip\": \"Returns the percentile value at the spec
ified number\",\"help-contents\": \"Aggregate calculation that returns the perce
ntile value from the given expression corresponding to the specified number. Val
id values for the number are 0 through 1. PERCENTILE([expression], 0.50) will al
ways return the median value in the expression.\\n\\nExample: PERCENTILE([Sales]
, 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"ha
s-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\":
\"Returns the numeric constant pi\",\"help-contents\": \"Returns the numeric con
stant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func
-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"PO
WER(number,power)\",\"func-tooltip\": \"Raises the number to the specified power
\",\"help-contents\": \"Returns the result of a number raised to the given power
. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-type
s\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\
"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the valu
e of this calculation in the previous row\",\"help-contents\": \"Returns the val
ue of this calculation in the previous row. Returns the given expression if the
current row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PRE
VIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VA
LUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\
": \"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radia
ns\",\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"R
eturns the competition rank for the current partition row\",\"help-contents\": \
"Returns the standard competition rank for the current row in the partition. Ide
ntical values are assigned an identical rank. Use the optional 'asc' | 'desc' ar
gument to specify ascending or descending order. The default order is descending
.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2
, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":
[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false}
,{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc']
)\",\"func-tooltip\": \"Returns the dense rank for the current partition row\",\

"help-contents\": \"Returns the dense rank for the current row in the partition.
Identical values are assigned an identical rank, but no gaps are inserted into
the number sequence. Use the optional 'asc' | 'desc' argument to specify ascendi
ng or descending order. The default order is descending.\\n\\nWith this function
, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending orde
r.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg
-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MOD
IFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-toolt
ip\": \"Returns the modified competition rank for the current partition row\",\"
help-contents\": \"Returns the modified competition rank for the current row in
the partition. Identical values are assigned an identical rank. Use the optional
'asc' | 'desc' argument to specify ascending or descending order. The default o
rder is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) wou
ld be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([V
elocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\
"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_
PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percent
ile rank for the current partition row\",\"help-contents\": \"Returns the percen
tile rank for the current row in the partition. Use the optional 'asc' | 'desc'
argument to specify ascending or descending order. The default order is ascendin
g.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25,
75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]
))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has
-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expre
ssion, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the cur
rent partition row\",\"help-contents\": \"Returns the unique rank for the curren
t row in the partition. Identical values are assigned different ranks. Use the o
ptional 'asc' | 'desc' argument to specify ascending or descending order. The de
fault order is descending.\\n\\nWith this function, the set of values (6, 9, 9,
14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE()
= 1 for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXT
RACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Ret
urns the portion of a string matching the capturing group in a regular expressio
n\",\"help-contents\": \"Returns a substring of the given string that matches th
e capturing group within the regular expression pattern. The regular expression
pattern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('ab
c 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\
",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\":
\"Returns a substring of a string using a regular expression pattern\",\"help-c
ontents\": \"Returns a substring of the given string using the regular expressio
n pattern. The substring is matched to the nth capturing group, where n is the
given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+
)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"l
ocint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"RE
GEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string match
es a regular expression\",\"help-contents\": \"Returns true if a substring of th
e provided string matches the regular expression pattern. \\n\\nExample: REGEXP_
MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])'
) = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-va
r-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(st
ring, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substri
ngs matching a regular expression are replaced\",\"help-contents\": \"Returns a
copy of the given string where the matching pattern is substituted with the repl
acement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc-123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"ha
s-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, subs
tring, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring
within a string\",\"help-contents\": \"Returns a string in which every occurrenc

e of the substring is replaced with the replacement string. If the substring is


not found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\",
\\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-a
rg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT
\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the sp
ecified number of characters from the end of a string\",\"help-contents\": \"Ret
urns the specified number of characters from the end of the given string. \\n\\
nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROU
ND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a nu
mber to the specified number of places\",\"help-contents\": \"Rounds a number to
the nearest integer or to a specified number of decimal places. \\n\\nExample:
ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"
real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(stri
ng)\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help
-contents\": \"Returns the string with any trailing spaces removed. \\n\\nExamp
le: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-si
g\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average
of an expression\",\"help-contents\": \"Returns the running average of the give
n expression, from the first row in the partition to the current row.\\n\\nExamp
le: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":
[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"
Returns the running count of an expression\",\"help-contents\": \"Returns the ru
nning count of the given expression, from the first row in the partition to the
current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(P
rofit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\
"func-tooltip\": \"Returns the running maximum of an expression\",\"help-content
s\": \"Returns the running maximum of the given expression, from the first row i
n the partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = r
unning maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maxi
mum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],
\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(
expression)\",\"func-tooltip\": \"Returns the running minimum of an expression\"
,\"help-contents\": \"Returns the running minimum of the given expression, from
the first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN
([Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit]))
= running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\":
\"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an e
xpression\",\"help-contents\": \"Returns the running sum of the given expression
, from the first row in the partition to the current row.\\n\\nExample: RUNNING_
SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Prof
it])) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \
"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean re
sult from an R expression\",\"help-contents\": \"Returns a Boolean result from a
given R expression. The R expression is passed directly to a running Rserve ins
tance. Use .arg# in the R expression to reference parameters. In the following e
xample, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finit
e(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"s
tr\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_I
NT(string, expression, ...)\",\"func-tooltip\": \"Returns an integer result from
an R expression\",\"help-contents\": \"Returns an integer result from a given R
expression. The R expression is passed directly to a running Rserve instance. U
se .arg# in the R expression to reference parameters. In the following example,
.arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1
* 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"

],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL


(string, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an
R expression\",\"help-contents\": \"Returns a numeric result from a given R exp
ression. The R expression is passed directly to a running Rserve instance. Use .
arg# in the R expression to reference parameters. In the following example, .arg
1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM
([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-a
rgs\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expres
sion, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",
\"help-contents\": \"Returns a string result from a given R expression. The R ex
pression is passed directly to a running Rserve instance. Use .arg# in the R exp
ression to reference parameters. In the following example, .arg1 is equal to ATT
R([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region
]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": t
rue},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Retu
rns 1 for a positive number\",\"help-contents\": \"Returns the sign of a number:
1 if the number is positive, zero if the number is zero, or -1 if the number is
negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(
angle)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \
"Returns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(P
I()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\
"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"functooltip\": \"Returns the number of rows in the partition\",\"help-contents\": \"
Returns the number of rows in the partition.\\n\\nExample (partition has 5 rows)
:\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args
\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\"
: \"Returns a string containing the specified number of spaces\",\"help-contents
\": \"Returns a string composed of the specified number of repeated spaces. \\n\
\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\
"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(str
ing, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a
string\",\"help-contents\": \"Returns a substring from a string, as determined b
y a delimiter extracting the characters from the beginning or end of the string.
\\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '
-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\
"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(num
ber)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents
\": \"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the s
quare of a number\",\"help-contents\": \"Returns the square of a given number. \
\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWI
TH(string, substring)\",\"func-tooltip\": \"Returns true if the specified string
starts with the specified substring\",\"help-contents\": \"Returns true if the
string starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\",
\\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str
\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expressi
on)\",\"func-tooltip\": \"Returns the sample standard deviation for an expressio
n\",\"help-contents\": \"Returns the sample standard deviation of the expression
.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"
real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(ex
pression)\",\"func-tooltip\": \"Returns the population standard deviation for an
expression\",\"help-contents\": \"Returns the population standard deviation of
the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\":
\"STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"h
elp-contents\": \"Returns a string given an expression. \\n\\nExample: STR([Age
]) returns all of the values of the Age measure as strings.\",\"func-grps\":[\"c

ast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SU


M\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of val
ues in an expression\",\"help-contents\": \"Returns the sum of all the values in
the expression. SUM can be used with numeric fields only. Null values are ignor
ed.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"
real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\"
,\"func-tooltip\": \"Returns the tangent of an angle specified in radians\",\"he
lp-contents\": \"Returns the tangent of an angle. Specify the angle in radians.\
\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"
real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> T
HEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\
": \"Performs a logical test and returns an appropriate value\",\"help-contents\
": \"Tests a series of expressions returning the <then> value for the first true
<expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 TH
EN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[]
,\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"functooltip\": \"Returns the current date\",\"help-contents\": \"Returns the current
date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-ar
g-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL
(expression)\",\"func-tooltip\": \"Returns the total for an expression within th
e partition\",\"help-contents\": \"Returns the total for the given expression.\\
n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contr
ibute to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer
\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",
\"func-tooltip\": \"Returns a string with leading and trailing spaces removed\",
\"help-contents\": \"Returns the string with both leading and trailing spaces re
moved. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[
\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPE
R\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all
uppercase characters\",\"help-contents\": \"Converts a text string to all upperc
ase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the do
main for the current user\",\"help-contents\": \"Returns the domain for the curr
ent user when the user is signed on to Tableau Server. Returns the Windows domai
n if the Tableau Desktop user is on a domain. Otherwise this function returns a
null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"
Returns the user name for the current user\",\"help-contents\": \"Returns the us
ername for the current user. This is the Tableau Server or Tableau Online userna
me when the user is signed in; otherwise it is the local or network username for
the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func
-tooltip\": \"Returns the sample variance for an expression\",\"help-contents\":
\"Returns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",
\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{
\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Return
s the population variance for an expression\",\"help-contents\": \"Returns the p
opulation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps
\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else
>] END\",\"func-tooltip\": \"Performs logical tests and returns the appropriate
value\",\"help-contents\": \"Finds the first <value> that matches <expr> and ret
urns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I
\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"funcsig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the
average of the values within the window\",\"help-contents\": \"Returns the avera
ge of the expression within the window. The window is defined as offsets from t
he current row. Use FIRST()+n and LAST()-n for offsets from the first or last ro

w in the partition. If start and end are omitted, the entire partition is used.
\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from th
e two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"W
INDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-to
oltip\": \"Returns the number of items within the window\",\"help-contents\": \"
Returns the count of the expression within the window. The window is defined as
offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the f
irst or last row in the partition. If start and end are omitted, the entire par
tition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(
Profit) from the two previous rows to the current row\",\"func-grps\":[\"table\"
],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false}
,{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\
",\"func-tooltip\": \"Returns the maximum within the window\",\"help-contents\":
\"Returns the maximum of the expression within the window. The window is defin
ed as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the entir
e partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of
Profit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(S
UM([Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the
current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"intege
r\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-si
g\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the
median within the window\",\"help-contents\": \"Returns the median of the expre
ssion within the window. The window is defined as offsets from the current row.
Use FIRST()+n and LAST()-n for offsets from the first or last row in the partit
ion. If start and end are omitted, the entire partition is used.\\n\\nExample:
WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previou
s rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real
\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\
"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Return
s the minimum within the window\",\"help-contents\": \"Returns the minimum of th
e expression within the window. The window is defined as offsets from the curre
nt row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the
partition. If start and end are omitted, the entire partition is used.\\n\\nEx
ample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previou
s rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minim
um of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":
[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE
(expression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile
value at the specified number\",\"help-contents\": \"Returns the value correspon
ding to the specified percentile within the window. The window is defined as of
fsets from the current row. Use FIRST()+n and LAST()-n for offsets from the firs
t or last row in the partition. If start and end are omitted, the entire partit
ion is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75
th percentile of SUM(Profit) from the two previous rows to the current row\",\"f
unc-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"in
teger\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WI
NDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample st
andard deviation within the window\",\"help-contents\": \"Returns the sample sta
ndard deviation of the expression within the window. The window is defined as o
ffsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fir
st or last row in the partition. If start and end are omitted, the entire parti
tion is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SU
M(Profit) from the two previous rows to the current row\",\"func-grps\":[\"table
\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": fals
e},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start
, end])\",\"func-tooltip\": \"Returns the population standard deviation within t
he window\",\"help-contents\": \"Returns the population standard deviation of th

e expression within the window. The window is defined as offsets from the curre
nt row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the
partition. If start and end are omitted, the entire partition is used.\\n\\nEx
ample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the t
wo previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIND
OW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\"
: \"Returns the sum of values within the window\",\"help-contents\": \"Returns t
he sum of the expression within the window. The window is defined as offsets fr
om the current row. Use FIRST()+n and LAST()-n for offsets from the first or las
t row in the partition. If start and end are omitted, the entire partition is u
sed.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from th
e two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-too
ltip\": \"Returns the sample variance within the window\",\"help-contents\": \"R
eturns the sample variance of the expression within the window. The window is d
efined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets f
rom the first or last row in the partition. If start and end are omitted, the e
ntire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = varian
ce of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":
[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args
\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [s
tart, end])\",\"func-tooltip\": \"Returns the population variance within the win
dow\",\"help-contents\": \"Returns the population variance of the expression wit
hin the window. The window is defined as offsets from the current row. Use FIRS
T()+n and LAST()-n for offsets from the first or last row in the partition. If
start and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VA
RP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to
the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"inte
ger\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"
YEAR(date)\",\"func-tooltip\": \"Returns the year of the specified date as an in
teger\",\"help-contents\": \"Returns the year of a given date as an integer. \\
n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-typ
es\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"Z
N(expression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\
"help-contents\": \"Returns <expression> if it is not null, otherwise returns ze
ro. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-argtypes\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calc
ulation-dialog\",\"use-parameters\": true} position=\"64\"","name":"tabdoc:calcu
lation-auto-complete"}}
{"ts":"2016-09-29T16:42:59.804","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC
('month',[Order Date])-DATETRUNC('month',[Calculationq\\\\])\" calculation={\"da
tasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\
": \"Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\
"scope-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Dat
e])-DATETRUNC('month',[Calculation5])\",\"fn\": \"\",\"fn-source\": \"\",\"calcu
lation-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"fol
der-role\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-use
d\": 0,\"style-token-list\":[],\"error-string\": \"Error in calculation:\\n\\nRe
ference to undefined field [Calculation5].\\n\\nWould you like to correct the ca
lculation?\",\"error-info-list\":[{\"start-position-for-error\": 50,\"length-ofcalc-of-error\": 14,\"error-message\": \"Reference to undefined field [Calculati
on5].\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\
"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a
number\",\"help-contents\": \"Returns the absolute value of the given number. \
\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"
],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"

func-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Retu


rns the arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2>
THEN <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two exp
ressions\",\"help-contents\": \"Performs a logical conjunction on two expression
s\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"
name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns th
e ASCII code for the first character in a string\",\"help-contents\": \"Returns
the ASCII code value of the first character in a string. \\n\\nExample: ASCII(\\
\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has
-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-to
oltip\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the a
rc sine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.57079
63267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \
"Returns the arc tangent of a number\",\"help-contents\": \"Returns the arc tang
ent of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.565240
8283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func
-tooltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Retu
rns the arc tangent of two given numbers (x and y). The result is in radians. \
\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"fun
c-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expre
ssion if it has one value for all rows\",\"help-contents\": \"Returns the value
of the given expression if it only has a single value for all rows in the group,
otherwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: A
TTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-v
ar-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-to
oltip\": \"Returns the average of the values in the expression\",\"help-contents
\": \"Returns the average of all the values in the expression. AVG can be used w
ith numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",
\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{
\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ...
[ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns the a
ppropriate value\",\"help-contents\": \"Finds the first <value> that matches <ex
pr> and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] W
HEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[
\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\"
,\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the ne
arest integer of equal or greater value\",\"help-contents\": \"Rounds a number t
o the nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415)
= 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Con
verts an integer ASCII code into a character\",\"help-contents\": \"Converts the
given integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"fu
nc-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\
": \"Returns true if a string contains the specified substring\",\"help-contents
\": \"Returns true if the string contains the substring. \\n\\nExample: CONTAINS
(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-si
g\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified
in radians\",\"help-contents\": \"Returns the cosine of an angle. Specify the a
ngle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT
\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an
angle specified in radians\",\"help-contents\": \"Returns the cotangent of an an
gle. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\"

:[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"C


OUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the numbe
r of items in the expression\",\"help-contents\": \"Returns the number of items
in a group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"
func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},
{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"R
eturns the number of distinct items in the expression\",\"help-contents\": \"Ret
urns the number of distinct items in a group. NULL values are not counted. Each
unique value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps
\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\"
: \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date
from a number\",\"help-contents\": \"Returns a date given a number, string, or
date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\n
Note that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-ar
g-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\"
: \"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specifi
ed date incremented by the specified amount\",\"help-contents\": \"Adds an incre
ment to the specified date and returns the new date. The increment is defined by
the interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#
) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locs
tr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",
\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"f
unc-tooltip\": \"Returns the difference between two dates\",\"help-contents\": \
"Returns the difference between two dates where start_date is subtracted from en
d_date. The difference is expressed in units of date_part. If start_of_week is o
mitted, the week start day is determined by the start day configured for the dat
a source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday')
= -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"da
tetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig
\": \"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a
part of the specified date as a string\",\"help-contents\": \"Returns a part of
the given date as a string, where the part is defined by date_part. If start_of
_week is omitted, the week start day is determined by the start day configured f
or the data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\
"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locst
r\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE
(format, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-cont
ents\": \"Converts a string to a date in the specified format. \\n\\nExample: DA
TEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\"
,\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args
\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [st
art_of_week])\",\"func-tooltip\": \"Returns the specified part of a date as an i
nteger\",\"help-contents\": \"Returns a part of the given date as an integer whe
re the part is defined by date_part. If start_of_week is omitted, the week start
day is determined by the start day configured for the data source.\\n\\nExample
: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-type
s\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"D
ATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a d
atetime from a number\",\"help-contents\": \"Returns a datetime given a number,
string, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00
\\\") \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"]
,\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",
\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\":
\"Truncates the specified date to the specified accuracy\",\"help-contents\": \"
Truncates the specified date to the accuracy specified by the date_part and retu
rns the new date. If start_of_week is omitted, the week start day is determined
by the start day configured for the data source.\\n\\nExample: DATETRUNC('quarte
r', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg
-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\"
: \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part o

f the specified date as an integer\",\"help-contents\": \"Returns the day of the


given date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\
":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\
": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a
value in radians to degrees\",\"help-contents\": \"Converts a number in radians
to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"fun
c-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\
": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a d
ivision operation\",\"help-contents\": \"Returns the integer part of a division.
\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"in
teger\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\":
\"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"
func-tooltip\": \"Performs a logical test and returns an appropriate value\",\"h
elp-contents\": \"Tests a series of expressions returning the <then> value for t
he first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [P
rofit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-a
rg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF
<expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"functooltip\": \"Performs a logical test and returns an appropriate value\",\"help-c
ontents\": \"Tests a series of expressions returning the <then> value for the fi
rst true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit
] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> T
HEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\
": \"Performs a logical test and returns an appropriate value\",\"help-contents\
": \"Tests a series of expressions returning the <then> value for the first true
<expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 TH
EN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[]
,\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(strin
g, substring)\",\"func-tooltip\": \"Returns true if the specified string ends wi
th the specified substring\",\"help-contents\": \"Returns true if the string end
s with the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\
\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-s
ig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\":
\"Computes an aggregate excluding the specified dimensions if present in the vi
ew.\",\"help-contents\": \"Computes an aggregate excluding the specified dimensi
ons if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-too
ltip\": \"Returns e raised to the power of a number\",\"help-contents\": \"Retur
ns e raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"f
unc-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n
ame\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-toolti
p\": \"Returns the position of a substring within a string\",\"help-contents\":
\"Returns the position of a substring within a string, or 0 if the substring isn
't found. If the start argument is defined, any instances of substring that appe
ar before the start position are ignored. The first character in the string is p
osition 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\":
false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurre
nce)\",\"func-tooltip\": \"Returns the position of the nth occurrence a substrin
g within a string\",\"help-contents\": \"Returns the position of the nth occurre
nce of a substring within a string, or 0 if that occurrence of the substring isn
't found. The first character in the string is position 1. \\n\\nExample: FINDNT
H(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\
"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to
the first row in the partition\",\"help-contents\": \"Returns the number of rows
from the current row to the first row in the partition.\\n\\nExample (current r
ow index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-type

s\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [di


m1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggreg
ate using only the specified dimensions.\",\"help-contents\": \"Computes an aggr
egate using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(e
xpression)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-con
tents\": \"Returns a float given an expression of any type. This function requir
es unformatted numbers which means exclude commas and other symbols. \\n\\nExam
ple: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"bo
olean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(num
ber)\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or le
sser value\",\"help-contents\": \"Rounds a number to the nearest integer of equa
l or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"
func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"f
unc-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the curr
ent user\",\"help-contents\": \"Returns the full name for the current user. This
is the Tableau Server or Tableau Online full name when the user is signed in; o
therwise it is the local or network full name for the Tableau Desktop user.\",\"
func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Retur
ns the x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an
(x,y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins hav
e side length 1, so the inputs may need to be scaled appropriately.\",\"func-grp
s\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\
"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\":
\"Returns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \
"Maps an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The
bins have side length 1, so the inputs may need to be scaled appropriately.\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> TH
EN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test
and returns an appropriate value\",\"help-contents\": \"Tests a series of expres
sions returning the <then> value for the first true <expr>. \\n\\nExample: IF [P
rofit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' EN
D\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"
name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Re
turns expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is no
t null, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"funcgrps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\"
: false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\
"func-tooltip\": \"Evaluates a Boolean expression and returns one of two values\
",\"help-contents\": \"Checks whether a condition is met, and returns one value
if TRUE, another value if FALSE, and an optional third value or NULL if unknown.
\\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],
\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": fa
lse},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggreg
ate-expression }\",\"func-tooltip\": \"Computes an aggregate using the specified
dimensions and the view dimensions.\",\"help-contents\": \"Computes an aggregat
e using the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg
\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-s
ig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in th
e partition\",\"help-contents\": \"Returns the index of the current row in the p
artition.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"fu
nc-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expre
ssion and returns an integer\",\"help-contents\": \"Returns an integer given an
expression. This function truncates results to the closest integer toward zero.
\\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"f
unc-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"f
unc-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is

a valid date\",\"help-contents\": \"Returns true if a given string is a valid da


te. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\
"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name
\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Retu
rns true if the current user's full name matches the specified name\",\"help-con
tents\": \"Returns true if the current user's full name matches the specified fu
ll name, or false if it does not match. This function uses the Tableau Server or
Tableau Online full name when the user is signed in; otherwise it uses the loca
l or network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],
\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF
\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the
current user is a member of the specified group\",\"help-contents\": \"Returns t
rue if the current user is a member of the given group, false otherwise. This u
ses the Tableau Server to resolve group membership if logged on, otherwise it al
ways returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\
"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)
\",\"func-tooltip\": \"Returns true if the specified expression is null\",\"help
-contents\": \"Returns true if the expression does not contain valid data (Null)
.\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":
[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \
"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's nam
e matches the specified user name\",\"help-contents\": \"Returns true if the cur
rent user's username matches the specified username, or false if it does not mat
ch. This function uses the Tableau Server or Tableau Online username when the us
er is signed in; otherwise it uses the local or network username for the Tableau
Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"hasvar-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\"
: \"Returns the number of rows to the last row in the partition\",\"help-content
s\": \"Returns the number of rows from the current row to the last row in the pa
rtition.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT
\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the spe
cified number of characters from the start of a string\",\"help-contents\": \"Re
turns the specified number of characters from the start of the given string. \\
n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\
"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"L
EN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of cha
racters in a string\",\"help-contents\": \"Returns the number of characters in t
he given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\
"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",
\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm o
f a number\",\"help-contents\": \"Returns the natural logarithm of the given num
ber. Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP
(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-toolti
p\": \"Returns the logarithm of a number for the given base\",\"help-contents\":
\"Returns the logarithm of a number for the given base. If the base value is om
itted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8
\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args
\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",
\"func-tooltip\": \"Returns the value of the expression in a row offset from cur
rent row\",\"help-contents\": \"Returns the value of the given expression in a t
arget row, specified as a relative offset from the current row. Use FIRST()+n an
d LAST()-n for a target relative to the first/last rows in the partition. If off
set is omitted, the Compare To row may be set on the field menu. Returns NULL if
the target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST(
) + 2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"na
me\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a st
ring in all lowercase characters\",\"help-contents\": \"Converts a text string t

o all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"


\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false}
,{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Return
s a string with leading spaces removed\",\"help-contents\": \"Returns the string
with any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sal
es\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\":
false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"fu
nc-tooltip\": \"Returns a date value constructed from a year, a month and a day
of the month.\",\"help-contents\": \"Returns a date value constructed from a yea
r, a month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"f
unc-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\
"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME
(date, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a
time\",\"help-contents\": \"Returns a date and time value given a date expressio
n and a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\
",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-varargs\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, se
cond)\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes
and seconds.\",\"help-contents\": \"Returns a time value constructed from hours
, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\
"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args
\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr
2)\",\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\
": \"Returns the maximum of a single expression across all records or the maximu
m of two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps
\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"r
eal\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(exp
ression)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-cont
ents\": \"Returns the median of a single expression. MEDIAN can be used with num
eric fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"fu
nc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"R
eturns the characters from the middle of a text string\",\"help-contents\": \"Re
turns the characters from the middle of a text string given a starting position
and a length. The first character in the string is position 1. If the length is
not included, all characters to the end of the string are returned. If the lengt
h is included, up to that many characters are returned. \\n\\nExample: MID(\\\"T
ableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Softwar
e\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",
\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"M
IN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of
an expression\",\"help-contents\": \"Returns the minimum of an expression acros
s all records or the minimum of two expressions for each record. \\n\\nExample:
MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"fu
nc-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\"
,\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the
specified date as an integer\",\"help-contents\": \"Returns the month of a give
n date as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\
"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \
"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Perfo
rms logical negation on an expression\",\"help-contents\": \"Performs logical ne
gation on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"hasvar-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\":
\"Returns the current date and time\",\"help-contents\": \"Returns the current d
ate and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"d
ate\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-s
ig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a l
ogical disjunction on two expressions\",\"help-contents\": \"Performs a logical
disjunction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[]
,\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(e

xpression, number)\",\"func-tooltip\": \"Returns the percentile value at the spe


cified number\",\"help-contents\": \"Aggregate calculation that returns the perc
entile value from the given expression corresponding to the specified number. Va
lid values for the number are 0 through 1. PERCENTILE([expression], 0.50) will a
lways return the median value in the expression.\\n\\nExample: PERCENTILE([Sales
], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"h
as-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\":
\"Returns the numeric constant pi\",\"help-contents\": \"Returns the numeric co
nstant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"P
OWER(number,power)\",\"func-tooltip\": \"Raises the number to the specified powe
r\",\"help-contents\": \"Returns the result of a number raised to the given powe
r. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",
\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the val
ue of this calculation in the previous row\",\"help-contents\": \"Returns the va
lue of this calculation in the previous row. Returns the given expression if the
current row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PR
EVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_V
ALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-argtypes\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig
\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radi
ans\",\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grp
s\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"
Returns the competition rank for the current partition row\",\"help-contents\":
\"Returns the standard competition rank for the current row in the partition. Id
entical values are assigned an identical rank. Use the optional 'asc' | 'desc' a
rgument to specify ascending or descending order. The default order is descendin
g.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1,
2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\"
:[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false
},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'
])\",\"func-tooltip\": \"Returns the dense rank for the current partition row\",
\"help-contents\": \"Returns the dense rank for the current row in the partition
. Identical values are assigned an identical rank, but no gaps are inserted into
the number sequence. Use the optional 'asc' | 'desc' argument to specify ascend
ing or descending order. The default order is descending.\\n\\nWith this functio
n, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending ord
er.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-ar
g-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MO
DIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tool
tip\": \"Returns the modified competition rank for the current partition row\",\
"help-contents\": \"Returns the modified competition rank for the current row in
the partition. Identical values are assigned an identical rank. Use the optiona
l 'asc' | 'desc' argument to specify ascending or descending order. The default
order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) wo
uld be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([
Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr
\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK
_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percen
tile rank for the current partition row\",\"help-contents\": \"Returns the perce
ntile rank for the current row in the partition. Use the optional 'asc' | 'desc'
argument to specify ascending or descending order. The default order is ascendi
ng.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25
, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score
]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"ha
s-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expr
ession, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the cu
rrent partition row\",\"help-contents\": \"Returns the unique rank for the curre

nt row in the partition. Identical values are assigned different ranks. Use the
optional 'asc' | 'desc' argument to specify ascending or descending order. The d
efault order is descending.\\n\\nWith this function, the set of values (6, 9, 9,
14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE(
) = 1 for the first row in the partition\",\"func-grps\":[\"table\"],\"func-argtypes\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EX
TRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Re
turns the portion of a string matching the capturing group in a regular expressi
on\",\"help-contents\": \"Returns a substring of the given string that matches t
he capturing group within the regular expression pattern. The regular expressio
n pattern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('a
bc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH
\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\"
: \"Returns a substring of a string using a regular expression pattern\",\"helpcontents\": \"Returns a substring of the given string using the regular expressi
on pattern. The substring is matched to the nth capturing group, where n is the
given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d
+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"
locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"R
EGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matc
hes a regular expression\",\"help-contents\": \"Returns true if a substring of t
he provided string matches the regular expression pattern. \\n\\nExample: REGEXP
_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])
') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-v
ar-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(s
tring, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substr
ings matching a regular expression are replaced\",\"help-contents\": \"Returns a
copy of the given string where the matching pattern is substituted with the rep
lacement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc-123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"h
as-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, sub
string, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring
within a string\",\"help-contents\": \"Returns a string in which every occurren
ce of the substring is replaced with the replacement string. If the substring is
not found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\",
\\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"funcarg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGH
T\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the s
pecified number of characters from the end of a string\",\"help-contents\": \"Re
turns the specified number of characters from the end of the given string. \\n\
\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"
],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"RO
UND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a n
umber to the specified number of places\",\"help-contents\": \"Rounds a number t
o the nearest integer or to a specified number of decimal places. \\n\\nExample:
ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\
"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(str
ing)\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"hel
p-contents\": \"Returns the string with any trailing spaces removed. \\n\\nExam
ple: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-ar
g-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-s
ig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running averag
e of an expression\",\"help-contents\": \"Returns the running average of the giv
en expression, from the first row in the partition to the current row.\\n\\nExam
ple: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\"
:[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \
"Returns the running count of an expression\",\"help-contents\": \"Returns the r
unning count of the given expression, from the first row in the partition to the

current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(


Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args
\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",
\"func-tooltip\": \"Returns the running maximum of an expression\",\"help-conten
ts\": \"Returns the running maximum of the given expression, from the first row
in the partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) =
running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running max
imum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"]
,\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN
(expression)\",\"func-tooltip\": \"Returns the running minimum of an expression\
",\"help-contents\": \"Returns the running minimum of the given expression, from
the first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MI
N([Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])
) = running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\"
: \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an
expression\",\"help-contents\": \"Returns the running sum of the given expressio
n, from the first row in the partition to the current row.\\n\\nExample: RUNNING
_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Pro
fit])) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\":
\"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean r
esult from an R expression\",\"help-contents\": \"Returns a Boolean result from
a given R expression. The R expression is passed directly to a running Rserve in
stance. Use .arg# in the R expression to reference parameters. In the following
example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.fini
te(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_
INT(string, expression, ...)\",\"func-tooltip\": \"Returns an integer result fro
m an R expression\",\"help-contents\": \"Returns an integer result from a given
R expression. The R expression is passed directly to a running Rserve instance.
Use .arg# in the R expression to reference parameters. In the following example,
.arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1
* 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REA
L(string, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from a
n R expression\",\"help-contents\": \"Returns a numeric result from a given R ex
pression. The R expression is passed directly to a running Rserve instance. Use
.arg# in the R expression to reference parameters. In the following example, .ar
g1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SU
M([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-varargs\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expre
ssion, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\"
,\"help-contents\": \"Returns a string result from a given R expression. The R e
xpression is passed directly to a running Rserve instance. Use .arg# in the R ex
pression to reference parameters. In the following example, .arg1 is equal to AT
TR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Regio
n]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\":
true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Ret
urns 1 for a positive number\",\"help-contents\": \"Returns the sign of a number
: 1 if the number is positive, zero if the number is zero, or -1 if the number i
s negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-ty
pes\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN
(angle)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\":
\"Returns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(
PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func
-tooltip\": \"Returns the number of rows in the partition\",\"help-contents\": \
"Returns the number of rows in the partition.\\n\\nExample (partition has 5 rows
):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-arg

s\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\


": \"Returns a string containing the specified number of spaces\",\"help-content
s\": \"Returns a string composed of the specified number of repeated spaces. \\n
\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[
\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(st
ring, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a
string\",\"help-contents\": \"Returns a substring from a string, as determined
by a delimiter extracting the characters from the beginning or end of the string
. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d',
'-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",
\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(nu
mber)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-content
s\": \"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the
square of a number\",\"help-contents\": \"Returns the square of a given number.
\\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSW
ITH(string, substring)\",\"func-tooltip\": \"Returns true if the specified strin
g starts with the specified substring\",\"help-contents\": \"Returns true if the
string starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\"
, \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"st
r\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(express
ion)\",\"func-tooltip\": \"Returns the sample standard deviation for an expressi
on\",\"help-contents\": \"Returns the sample standard deviation of the expressio
n.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\
"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(e
xpression)\",\"func-tooltip\": \"Returns the population standard deviation for a
n expression\",\"help-contents\": \"Returns the population standard deviation of
the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\"
: \"STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"
help-contents\": \"Returns a string given an expression. \\n\\nExample: STR([Ag
e]) returns all of the values of the Age measure as strings.\",\"func-grps\":[\"
cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"S
UM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of va
lues in an expression\",\"help-contents\": \"Returns the sum of all the values i
n the expression. SUM can be used with numeric fields only. Null values are igno
red.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\
"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\
",\"func-tooltip\": \"Returns the tangent of an angle specified in radians\",\"h
elp-contents\": \"Returns the tangent of an angle. Specify the angle in radians.
\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\
"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr>
THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip
\": \"Performs a logical test and returns an appropriate value\",\"help-contents
\": \"Tests a series of expressions returning the <then> value for the first tru
e <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 T
HEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[
],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func
-tooltip\": \"Returns the current date\",\"help-contents\": \"Returns the curren
t date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-a
rg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTA
L(expression)\",\"func-tooltip\": \"Returns the total for an expression within t
he partition\",\"help-contents\": \"Returns the total for the given expression.\
\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that cont
ribute to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"intege
r\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\"
,\"func-tooltip\": \"Returns a string with leading and trailing spaces removed\"
,\"help-contents\": \"Returns the string with both leading and trailing spaces r

emoved. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":


[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPP
ER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all
uppercase characters\",\"help-contents\": \"Converts a text string to all upper
case letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the d
omain for the current user\",\"help-contents\": \"Returns the domain for the cur
rent user when the user is signed on to Tableau Server. Returns the Windows doma
in if the Tableau Desktop user is on a domain. Otherwise this function returns a
null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \
"Returns the user name for the current user\",\"help-contents\": \"Returns the u
sername for the current user. This is the Tableau Server or Tableau Online usern
ame when the user is signed in; otherwise it is the local or network username fo
r the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"fun
c-tooltip\": \"Returns the sample variance for an expression\",\"help-contents\"
: \"Returns the sample variance of the expression.\\n\\nExample: VAR([Profit])\"
,\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Retur
ns the population variance for an expression\",\"help-contents\": \"Returns the
population variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grp
s\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <els
e>] END\",\"func-tooltip\": \"Performs logical tests and returns the appropriate
value\",\"help-contents\": \"Finds the first <value> that matches <expr> and re
turns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018
I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"]
,\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func
-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the
average of the values within the window\",\"help-contents\": \"Returns the aver
age of the expression within the window. The window is defined as offsets from
the current row. Use FIRST()+n and LAST()-n for offsets from the first or last r
ow in the partition. If start and end are omitted, the entire partition is used
.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from t
he two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"
WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-t
ooltip\": \"Returns the number of items within the window\",\"help-contents\": \
"Returns the count of the expression within the window. The window is defined a
s offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire pa
rtition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM
(Profit) from the two previous rows to the current row\",\"func-grps\":[\"table\
"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false
},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])
\",\"func-tooltip\": \"Returns the maximum within the window\",\"help-contents\"
: \"Returns the maximum of the expression within the window. The window is defi
ned as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the enti
re partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum o
f Profit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(
SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the
current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integ
er\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-s
ig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns th
e median within the window\",\"help-contents\": \"Returns the median of the expr
ession within the window. The window is defined as offsets from the current row
. Use FIRST()+n and LAST()-n for offsets from the first or last row in the parti

tion. If start and end are omitted, the entire partition is used.\\n\\nExample:
WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previo
us rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"rea
l\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",
\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Retur
ns the minimum within the window\",\"help-contents\": \"Returns the minimum of t
he expression within the window. The window is defined as offsets from the curr
ent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in th
e partition. If start and end are omitted, the entire partition is used.\\n\\nE
xample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previo
us rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = mini
mum of SUM(Profit) from the two previous rows to the current row\",\"func-grps\"
:[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-varargs\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTIL
E(expression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile
value at the specified number\",\"help-contents\": \"Returns the value correspo
nding to the specified percentile within the window. The window is defined as o
ffsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fir
st or last row in the partition. If start and end are omitted, the entire parti
tion is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 7
5th percentile of SUM(Profit) from the two previous rows to the current row\",\"
func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"i
nteger\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"W
INDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample s
tandard deviation within the window\",\"help-contents\": \"Returns the sample st
andard deviation of the expression within the window. The window is defined as
offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fi
rst or last row in the partition. If start and end are omitted, the entire part
ition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of S
UM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [star
t, end])\",\"func-tooltip\": \"Returns the population standard deviation within
the window\",\"help-contents\": \"Returns the population standard deviation of t
he expression within the window. The window is defined as offsets from the curr
ent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in th
e partition. If start and end are omitted, the entire partition is used.\\n\\nE
xample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIN
DOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\
": \"Returns the sum of values within the window\",\"help-contents\": \"Returns
the sum of the expression within the window. The window is defined as offsets f
rom the current row. Use FIRST()+n and LAST()-n for offsets from the first or la
st row in the partition. If start and end are omitted, the entire partition is
used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from t
he two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-to
oltip\": \"Returns the sample variance within the window\",\"help-contents\": \"
Returns the sample variance of the expression within the window. The window is
defined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets
from the first or last row in the partition. If start and end are omitted, the
entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = varia
nce of SUM(Profit) from the two previous rows to the current row\",\"func-grps\"
:[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-arg
s\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [
start, end])\",\"func-tooltip\": \"Returns the population variance within the wi
ndow\",\"help-contents\": \"Returns the population variance of the expression wi
thin the window. The window is defined as offsets from the current row. Use FIR

ST()+n and LAST()-n for offsets from the first or last row in the partition. If
start and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_V
ARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows t
o the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"int
eger\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \
"YEAR(date)\",\"func-tooltip\": \"Returns the year of the specified date as an i
nteger\",\"help-contents\": \"Returns the year of a given date as an integer. \
\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-ty
pes\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"
ZN(expression)\",\"func-tooltip\": \"Returns the expression if it is not null\",
\"help-contents\": \"Returns <expression> if it is not null, otherwise returns z
ero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg
-types\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"cal
culation-dialog\",\"use-parameters\": true} position=\"64\"","name":"tabdoc:calc
ulation-auto-complete"}}
{"ts":"2016-09-29T16:42:59.805","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC(
'month',[Order Date])-DATETRUNC('month',[Calculationq\\\\])\" calculation={\"dat
asource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\"
: \"Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"
scope-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date
])-DATETRUNC('month',[Calculation5])\",\"fn\": \"\",\"fn-source\": \"\",\"calcul
ation-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"fold
er-role\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used
\": 0,\"style-token-list\":[],\"error-string\": \"Error in calculation:\\n\\nRef
erence to undefined field [Calculation5].\\n\\nWould you like to correct the cal
culation?\",\"error-info-list\":[{\"start-position-for-error\": 50,\"length-of-c
alc-of-error\": 14,\"error-message\": \"Reference to undefined field [Calculatio
n5].\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"
func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a
number\",\"help-contents\": \"Returns the absolute value of the given number. \\
n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"f
unc-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Retur
ns the arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1
) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"h
as-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2>
THEN <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two expr
essions\",\"help-contents\": \"Performs a logical conjunction on two expressions
\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"n
ame\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the
ASCII code for the first character in a string\",\"help-contents\": \"Returns t
he ASCII code value of the first character in a string. \\n\\nExample: ASCII(\\\
"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"hasvar-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-too
ltip\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the ar
c sine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.570796
3267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"
Returns the arc tangent of a number\",\"help-contents\": \"Returns the arc tange
nt of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408
283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"functooltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Retur
ns the arc tangent of two given numbers (x and y). The result is in radians. \\
n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func
-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expres
sion if it has one value for all rows\",\"help-contents\": \"Returns the value o

f the given expression if it only has a single value for all rows in the group,
otherwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: AT
TR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-va
r-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-too
ltip\": \"Returns the average of the values in the expression\",\"help-contents\
": \"Returns the average of all the values in the expression. AVG can be used wi
th numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\
"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\
"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [
ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns the ap
propriate value\",\"help-contents\": \"Finds the first <value> that matches <exp
r> and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WH
EN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\
"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",
\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nea
rest integer of equal or greater value\",\"help-contents\": \"Rounds a number to
the nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) =
4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Conv
erts an integer ASCII code into a character\",\"help-contents\": \"Converts the
given integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"fun
c-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\"
: \"Returns true if a string contains the specified substring\",\"help-contents\
": \"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(
\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig
\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified
in radians\",\"help-contents\": \"Returns the cosine of an angle. Specify the an
gle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\
"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\
",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an a
ngle specified in radians\",\"help-contents\": \"Returns the cotangent of an ang
le. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CO
UNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number
of items in the expression\",\"help-contents\": \"Returns the number of items i
n a group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"f
unc-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{
\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Re
turns the number of distinct items in the expression\",\"help-contents\": \"Retu
rns the number of distinct items in a group. NULL values are not counted. Each
unique value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\
":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\":
\"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date
from a number\",\"help-contents\": \"Returns a date given a number, string, or d
ate expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nN
ote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg
-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\":
\"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specifie
d date incremented by the specified amount\",\"help-contents\": \"Adds an increm
ent to the specified date and returns the new date. The increment is defined by
the interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#)
= 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locst
r\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\
"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"fu
nc-tooltip\": \"Returns the difference between two dates\",\"help-contents\": \"
Returns the difference between two dates where start_date is subtracted from end
_date. The difference is expressed in units of date_part. If start_of_week is om
itted, the week start day is determined by the start day configured for the data

source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') =


-3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"dat
etime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\
": \"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a
part of the specified date as a string\",\"help-contents\": \"Returns a part of
the given date as a string, where the part is defined by date_part. If start_of_
week is omitted, the week start day is determined by the start day configured fo
r the data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"
\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr
\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(
format, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-conte
nts\": \"Converts a string to a date in the specified format. \\n\\nExample: DAT
EPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",
\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\
": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [sta
rt_of_week])\",\"func-tooltip\": \"Returns the specified part of a date as an in
teger\",\"help-contents\": \"Returns a part of the given date as an integer wher
e the part is defined by date_part. If start_of_week is omitted, the week start
day is determined by the start day configured for the data source.\\n\\nExample:
DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types
\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DA
TETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a da
tetime from a number\",\"help-contents\": \"Returns a datetime given a number, s
tring, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\
\\") \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],
\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\
"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \
"Truncates the specified date to the specified accuracy\",\"help-contents\": \"T
runcates the specified date to the accuracy specified by the date_part and retur
ns the new date. If start_of_week is omitted, the week start day is determined b
y the start day configured for the data source.\\n\\nExample: DATETRUNC('quarter
', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-argtypes\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\":
\"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of
the specified date as an integer\",\"help-contents\": \"Returns the day of the
given date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\"
:[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\"
: \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a v
alue in radians to degrees\",\"help-contents\": \"Converts a number in radians t
o degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\"
: \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a di
vision operation\",\"help-contents\": \"Returns the integer part of a division.\
\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"int
eger\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \
"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"f
unc-tooltip\": \"Performs a logical test and returns an appropriate value\",\"he
lp-contents\": \"Tests a series of expressions returning the <then> value for th
e first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Pr
ofit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-ar
g-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <
expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-t
ooltip\": \"Performs a logical test and returns an appropriate value\",\"help-co
ntents\": \"Tests a series of expressions returning the <then> value for the fir
st true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit]
= 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-typ
es\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> TH
EN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\"
: \"Performs a logical test and returns an appropriate value\",\"help-contents\"
: \"Tests a series of expressions returning the <then> value for the first true

<expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THE


N 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string
, substring)\",\"func-tooltip\": \"Returns true if the specified string ends wit
h the specified substring\",\"help-contents\": \"Returns true if the string ends
with the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\
\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-si
g\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\":
\"Computes an aggregate excluding the specified dimensions if present in the vie
w.\",\"help-contents\": \"Computes an aggregate excluding the specified dimensio
ns if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has
-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tool
tip\": \"Returns e raised to the power of a number\",\"help-contents\": \"Return
s e raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"fu
nc-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip
\": \"Returns the position of a substring within a string\",\"help-contents\": \
"Returns the position of a substring within a string, or 0 if the substring isn'
t found. If the start argument is defined, any instances of substring that appea
r before the start position are ignored. The first character in the string is po
sition 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurren
ce)\",\"func-tooltip\": \"Returns the position of the nth occurrence a substring
within a string\",\"help-contents\": \"Returns the position of the nth occurren
ce of a substring within a string, or 0 if that occurrence of the substring isn'
t found. The first character in the string is position 1. \\n\\nExample: FINDNTH
(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"
func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to t
he first row in the partition\",\"help-contents\": \"Returns the number of rows
from the current row to the first row in the partition.\\n\\nExample (current ro
w index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim
1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggrega
te using only the specified dimensions.\",\"help-contents\": \"Computes an aggre
gate using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(ex
pression)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-cont
ents\": \"Returns a float given an expression of any type. This function require
s unformatted numbers which means exclude commas and other symbols. \\n\\nExamp
le: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boo
lean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(numb
er)\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or les
ser value\",\"help-contents\": \"Rounds a number to the nearest integer of equal
or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"f
unc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"fu
nc-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the curre
nt user\",\"help-contents\": \"Returns the full name for the current user. This
is the Tableau Server or Tableau Online full name when the user is signed in; ot
herwise it is the local or network full name for the Tableau Desktop user.\",\"f
unc-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Return
s the x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an
(x,y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have
side length 1, so the inputs may need to be scaled appropriately.\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"
name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\":
\"Returns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"

Maps an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The b
ins have side length 1, so the inputs may need to be scaled appropriately.\",\"f
unc-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": fa
lse},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THE
N <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test a
nd returns an appropriate value\",\"help-contents\": \"Tests a series of express
ions returning the <then> value for the first true <expr>. \\n\\nExample: IF [Pr
ofit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END
\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"n
ame\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Ret
urns expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not
null, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-g
rps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"
func-tooltip\": \"Evaluates a Boolean expression and returns one of two values\"
,\"help-contents\": \"Checks whether a condition is met, and returns one value i
f TRUE, another value if FALSE, and an optional third value or NULL if unknown.
\\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\
"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": fal
se},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggrega
te-expression }\",\"func-tooltip\": \"Computes an aggregate using the specified
dimensions and the view dimensions.\",\"help-contents\": \"Computes an aggregate
using the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\
"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-si
g\": \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the
partition\",\"help-contents\": \"Returns the index of the current row in the pa
rtition.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"fun
c-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \
"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expres
sion and returns an integer\",\"help-contents\": \"Returns an integer given an e
xpression. This function truncates results to the closest integer toward zero. \
\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"fu
nc-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"fu
nc-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a
valid date\",\"help-contents\": \"Returns true if a given string is a valid dat
e. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"
date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\
": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Retur
ns true if the current user's full name matches the specified name\",\"help-cont
ents\": \"Returns true if the current user's full name matches the specified ful
l name, or false if it does not match. This function uses the Tableau Server or
Tableau Online full name when the user is signed in; otherwise it uses the local
or network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\
"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\
",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the c
urrent user is a member of the specified group\",\"help-contents\": \"Returns tr
ue if the current user is a member of the given group, false otherwise. This us
es the Tableau Server to resolve group membership if logged on, otherwise it alw
ays returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"
has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\
",\"func-tooltip\": \"Returns true if the specified expression is null\",\"helpcontents\": \"Returns true if the expression does not contain valid data (Null).
\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[
\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"
ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name
matches the specified user name\",\"help-contents\": \"Returns true if the curr
ent user's username matches the specified username, or false if it does not matc
h. This function uses the Tableau Server or Tableau Online username when the use
r is signed in; otherwise it uses the local or network username for the Tableau
Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-v

ar-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\":


\"Returns the number of rows to the last row in the partition\",\"help-contents
\": \"Returns the number of rows from the current row to the last row in the par
tition.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps
\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\
",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the spec
ified number of characters from the start of a string\",\"help-contents\": \"Ret
urns the specified number of characters from the start of the given string. \\n
\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"
],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LE
N\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of char
acters in a string\",\"help-contents\": \"Returns the number of characters in th
e given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\
"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of
a number\",\"help-contents\": \"Returns the natural logarithm of the given numb
er. Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(
5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip
\": \"Returns the logarithm of a number for the given base\",\"help-contents\":
\"Returns the logarithm of a number for the given base. If the base value is omi
tted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\
",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\
": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\
"func-tooltip\": \"Returns the value of the expression in a row offset from curr
ent row\",\"help-contents\": \"Returns the value of the given expression in a ta
rget row, specified as a relative offset from the current row. Use FIRST()+n and
LAST()-n for a target relative to the first/last rows in the partition. If offs
et is omitted, the Compare To row may be set on the field menu. Returns NULL if
the target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST(
) + 2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table
\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"nam
e\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a str
ing in all lowercase characters\",\"help-contents\": \"Converts a text string to
all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\
",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},
{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns
a string with leading spaces removed\",\"help-contents\": \"Returns the string
with any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sale
s\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": f
alse},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"fun
c-tooltip\": \"Returns a date value constructed from a year, a month and a day o
f the month.\",\"help-contents\": \"Returns a date value constructed from a year
, a month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"fu
nc-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"
has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(
date, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a t
ime\",\"help-contents\": \"Returns a date and time value given a date expression
and a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\"
,\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-a
rgs\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, sec
ond)\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes
and seconds.\",\"help-contents\": \"Returns a time value constructed from hours,
minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"
cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\
": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2
)\",\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\"
: \"Returns the maximum of a single expression across all records or the maximum
of two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\
":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"re

al\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expr


ession)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-conte
nts\": \"Returns the median of a single expression. MEDIAN can be used with nume
ric fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"fun
c-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Re
turns the characters from the middle of a text string\",\"help-contents\": \"Ret
urns the characters from the middle of a text string given a starting position a
nd a length. The first character in the string is position 1. If the length is n
ot included, all characters to the end of the string are returned. If the length
is included, up to that many characters are returned. \\n\\nExample: MID(\\\"Ta
bleau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software
\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\
"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MI
N(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of
an expression\",\"help-contents\": \"Returns the minimum of an expression across
all records or the minimum of two expressions for each record. \\n\\nExample:
MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"fun
c-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",
\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the
specified date as an integer\",\"help-contents\": \"Returns the month of a given
date as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"
date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"
NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Perfor
ms logical negation on an expression\",\"help-contents\": \"Performs logical neg
ation on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \
"Returns the current date and time\",\"help-contents\": \"Returns the current da
te and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"da
te\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-si
g\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a lo
gical disjunction on two expressions\",\"help-contents\": \"Performs a logical d
isjunction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(ex
pression, number)\",\"func-tooltip\": \"Returns the percentile value at the spec
ified number\",\"help-contents\": \"Aggregate calculation that returns the perce
ntile value from the given expression corresponding to the specified number. Val
id values for the number are 0 through 1. PERCENTILE([expression], 0.50) will al
ways return the median value in the expression.\\n\\nExample: PERCENTILE([Sales]
, 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"ha
s-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\":
\"Returns the numeric constant pi\",\"help-contents\": \"Returns the numeric con
stant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func
-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"PO
WER(number,power)\",\"func-tooltip\": \"Raises the number to the specified power
\",\"help-contents\": \"Returns the result of a number raised to the given power
. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-type
s\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\
"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the valu
e of this calculation in the previous row\",\"help-contents\": \"Returns the val
ue of this calculation in the previous row. Returns the given expression if the
current row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PRE
VIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VA
LUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\
": \"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radia
ns\",\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"R
eturns the competition rank for the current partition row\",\"help-contents\": \

"Returns the standard competition rank for the current row in the partition. Ide
ntical values are assigned an identical rank. Use the optional 'asc' | 'desc' ar
gument to specify ascending or descending order. The default order is descending
.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2
, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":
[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false}
,{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc']
)\",\"func-tooltip\": \"Returns the dense rank for the current partition row\",\
"help-contents\": \"Returns the dense rank for the current row in the partition.
Identical values are assigned an identical rank, but no gaps are inserted into
the number sequence. Use the optional 'asc' | 'desc' argument to specify ascendi
ng or descending order. The default order is descending.\\n\\nWith this function
, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending orde
r.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg
-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MOD
IFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-toolt
ip\": \"Returns the modified competition rank for the current partition row\",\"
help-contents\": \"Returns the modified competition rank for the current row in
the partition. Identical values are assigned an identical rank. Use the optional
'asc' | 'desc' argument to specify ascending or descending order. The default o
rder is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) wou
ld be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([V
elocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\
"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_
PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percent
ile rank for the current partition row\",\"help-contents\": \"Returns the percen
tile rank for the current row in the partition. Use the optional 'asc' | 'desc'
argument to specify ascending or descending order. The default order is ascendin
g.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25,
75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]
))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has
-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expre
ssion, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the cur
rent partition row\",\"help-contents\": \"Returns the unique rank for the curren
t row in the partition. Identical values are assigned different ranks. Use the o
ptional 'asc' | 'desc' argument to specify ascending or descending order. The de
fault order is descending.\\n\\nWith this function, the set of values (6, 9, 9,
14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE()
= 1 for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXT
RACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Ret
urns the portion of a string matching the capturing group in a regular expressio
n\",\"help-contents\": \"Returns a substring of the given string that matches th
e capturing group within the regular expression pattern. The regular expression
pattern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('ab
c 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\
",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\":
\"Returns a substring of a string using a regular expression pattern\",\"help-c
ontents\": \"Returns a substring of the given string using the regular expressio
n pattern. The substring is matched to the nth capturing group, where n is the
given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+
)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"l
ocint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"RE
GEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string match
es a regular expression\",\"help-contents\": \"Returns true if a substring of th
e provided string matches the regular expression pattern. \\n\\nExample: REGEXP_
MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])'
) = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-va
r-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(st

ring, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substri


ngs matching a regular expression are replaced\",\"help-contents\": \"Returns a
copy of the given string where the matching pattern is substituted with the repl
acement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc-123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"ha
s-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, subs
tring, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring
within a string\",\"help-contents\": \"Returns a string in which every occurrenc
e of the substring is replaced with the replacement string. If the substring is
not found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\",
\\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-a
rg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT
\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the sp
ecified number of characters from the end of a string\",\"help-contents\": \"Ret
urns the specified number of characters from the end of the given string. \\n\\
nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROU
ND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a nu
mber to the specified number of places\",\"help-contents\": \"Rounds a number to
the nearest integer or to a specified number of decimal places. \\n\\nExample:
ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"
real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(stri
ng)\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help
-contents\": \"Returns the string with any trailing spaces removed. \\n\\nExamp
le: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-si
g\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average
of an expression\",\"help-contents\": \"Returns the running average of the give
n expression, from the first row in the partition to the current row.\\n\\nExamp
le: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":
[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"
Returns the running count of an expression\",\"help-contents\": \"Returns the ru
nning count of the given expression, from the first row in the partition to the
current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(P
rofit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\
"func-tooltip\": \"Returns the running maximum of an expression\",\"help-content
s\": \"Returns the running maximum of the given expression, from the first row i
n the partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = r
unning maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maxi
mum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],
\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(
expression)\",\"func-tooltip\": \"Returns the running minimum of an expression\"
,\"help-contents\": \"Returns the running minimum of the given expression, from
the first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN
([Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit]))
= running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\":
\"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an e
xpression\",\"help-contents\": \"Returns the running sum of the given expression
, from the first row in the partition to the current row.\\n\\nExample: RUNNING_
SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Prof
it])) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \
"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean re
sult from an R expression\",\"help-contents\": \"Returns a Boolean result from a
given R expression. The R expression is passed directly to a running Rserve ins
tance. Use .arg# in the R expression to reference parameters. In the following e
xample, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finit

e(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"s
tr\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_I
NT(string, expression, ...)\",\"func-tooltip\": \"Returns an integer result from
an R expression\",\"help-contents\": \"Returns an integer result from a given R
expression. The R expression is passed directly to a running Rserve instance. U
se .arg# in the R expression to reference parameters. In the following example,
.arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1
* 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL
(string, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an
R expression\",\"help-contents\": \"Returns a numeric result from a given R exp
ression. The R expression is passed directly to a running Rserve instance. Use .
arg# in the R expression to reference parameters. In the following example, .arg
1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM
([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-a
rgs\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expres
sion, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",
\"help-contents\": \"Returns a string result from a given R expression. The R ex
pression is passed directly to a running Rserve instance. Use .arg# in the R exp
ression to reference parameters. In the following example, .arg1 is equal to ATT
R([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region
]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": t
rue},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Retu
rns 1 for a positive number\",\"help-contents\": \"Returns the sign of a number:
1 if the number is positive, zero if the number is zero, or -1 if the number is
negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(
angle)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \
"Returns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(P
I()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\
"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"functooltip\": \"Returns the number of rows in the partition\",\"help-contents\": \"
Returns the number of rows in the partition.\\n\\nExample (partition has 5 rows)
:\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args
\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\"
: \"Returns a string containing the specified number of spaces\",\"help-contents
\": \"Returns a string composed of the specified number of repeated spaces. \\n\
\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\
"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(str
ing, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a
string\",\"help-contents\": \"Returns a substring from a string, as determined b
y a delimiter extracting the characters from the beginning or end of the string.
\\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '
-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\
"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(num
ber)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents
\": \"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the s
quare of a number\",\"help-contents\": \"Returns the square of a given number. \
\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWI
TH(string, substring)\",\"func-tooltip\": \"Returns true if the specified string
starts with the specified substring\",\"help-contents\": \"Returns true if the
string starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\",
\\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str
\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expressi
on)\",\"func-tooltip\": \"Returns the sample standard deviation for an expressio
n\",\"help-contents\": \"Returns the sample standard deviation of the expression
.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"

real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(ex


pression)\",\"func-tooltip\": \"Returns the population standard deviation for an
expression\",\"help-contents\": \"Returns the population standard deviation of
the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\":
\"STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"h
elp-contents\": \"Returns a string given an expression. \\n\\nExample: STR([Age
]) returns all of the values of the Age measure as strings.\",\"func-grps\":[\"c
ast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SU
M\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of val
ues in an expression\",\"help-contents\": \"Returns the sum of all the values in
the expression. SUM can be used with numeric fields only. Null values are ignor
ed.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"
real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\"
,\"func-tooltip\": \"Returns the tangent of an angle specified in radians\",\"he
lp-contents\": \"Returns the tangent of an angle. Specify the angle in radians.\
\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"
real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> T
HEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\
": \"Performs a logical test and returns an appropriate value\",\"help-contents\
": \"Tests a series of expressions returning the <then> value for the first true
<expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 TH
EN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[]
,\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"functooltip\": \"Returns the current date\",\"help-contents\": \"Returns the current
date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-ar
g-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL
(expression)\",\"func-tooltip\": \"Returns the total for an expression within th
e partition\",\"help-contents\": \"Returns the total for the given expression.\\
n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contr
ibute to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer
\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",
\"func-tooltip\": \"Returns a string with leading and trailing spaces removed\",
\"help-contents\": \"Returns the string with both leading and trailing spaces re
moved. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[
\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPE
R\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all
uppercase characters\",\"help-contents\": \"Converts a text string to all upperc
ase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the do
main for the current user\",\"help-contents\": \"Returns the domain for the curr
ent user when the user is signed on to Tableau Server. Returns the Windows domai
n if the Tableau Desktop user is on a domain. Otherwise this function returns a
null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"
Returns the user name for the current user\",\"help-contents\": \"Returns the us
ername for the current user. This is the Tableau Server or Tableau Online userna
me when the user is signed in; otherwise it is the local or network username for
the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func
-tooltip\": \"Returns the sample variance for an expression\",\"help-contents\":
\"Returns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",
\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{
\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Return
s the population variance for an expression\",\"help-contents\": \"Returns the p
opulation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps
\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else
>] END\",\"func-tooltip\": \"Performs logical tests and returns the appropriate

value\",\"help-contents\": \"Finds the first <value> that matches <expr> and ret
urns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I
\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"funcsig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the
average of the values within the window\",\"help-contents\": \"Returns the avera
ge of the expression within the window. The window is defined as offsets from t
he current row. Use FIRST()+n and LAST()-n for offsets from the first or last ro
w in the partition. If start and end are omitted, the entire partition is used.
\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from th
e two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"W
INDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-to
oltip\": \"Returns the number of items within the window\",\"help-contents\": \"
Returns the count of the expression within the window. The window is defined as
offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the f
irst or last row in the partition. If start and end are omitted, the entire par
tition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(
Profit) from the two previous rows to the current row\",\"func-grps\":[\"table\"
],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false}
,{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\
",\"func-tooltip\": \"Returns the maximum within the window\",\"help-contents\":
\"Returns the maximum of the expression within the window. The window is defin
ed as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the entir
e partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of
Profit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(S
UM([Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the
current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"intege
r\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-si
g\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the
median within the window\",\"help-contents\": \"Returns the median of the expre
ssion within the window. The window is defined as offsets from the current row.
Use FIRST()+n and LAST()-n for offsets from the first or last row in the partit
ion. If start and end are omitted, the entire partition is used.\\n\\nExample:
WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previou
s rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real
\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\
"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Return
s the minimum within the window\",\"help-contents\": \"Returns the minimum of th
e expression within the window. The window is defined as offsets from the curre
nt row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the
partition. If start and end are omitted, the entire partition is used.\\n\\nEx
ample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previou
s rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minim
um of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":
[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE
(expression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile
value at the specified number\",\"help-contents\": \"Returns the value correspon
ding to the specified percentile within the window. The window is defined as of
fsets from the current row. Use FIRST()+n and LAST()-n for offsets from the firs
t or last row in the partition. If start and end are omitted, the entire partit
ion is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75
th percentile of SUM(Profit) from the two previous rows to the current row\",\"f
unc-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"in
teger\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WI
NDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample st
andard deviation within the window\",\"help-contents\": \"Returns the sample sta
ndard deviation of the expression within the window. The window is defined as o

ffsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fir
st or last row in the partition. If start and end are omitted, the entire parti
tion is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SU
M(Profit) from the two previous rows to the current row\",\"func-grps\":[\"table
\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": fals
e},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start
, end])\",\"func-tooltip\": \"Returns the population standard deviation within t
he window\",\"help-contents\": \"Returns the population standard deviation of th
e expression within the window. The window is defined as offsets from the curre
nt row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the
partition. If start and end are omitted, the entire partition is used.\\n\\nEx
ample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the t
wo previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIND
OW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\"
: \"Returns the sum of values within the window\",\"help-contents\": \"Returns t
he sum of the expression within the window. The window is defined as offsets fr
om the current row. Use FIRST()+n and LAST()-n for offsets from the first or las
t row in the partition. If start and end are omitted, the entire partition is u
sed.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from th
e two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-too
ltip\": \"Returns the sample variance within the window\",\"help-contents\": \"R
eturns the sample variance of the expression within the window. The window is d
efined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets f
rom the first or last row in the partition. If start and end are omitted, the e
ntire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = varian
ce of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":
[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args
\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [s
tart, end])\",\"func-tooltip\": \"Returns the population variance within the win
dow\",\"help-contents\": \"Returns the population variance of the expression wit
hin the window. The window is defined as offsets from the current row. Use FIRS
T()+n and LAST()-n for offsets from the first or last row in the partition. If
start and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VA
RP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to
the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"inte
ger\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"
YEAR(date)\",\"func-tooltip\": \"Returns the year of the specified date as an in
teger\",\"help-contents\": \"Returns the year of a given date as an integer. \\
n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-typ
es\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"Z
N(expression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\
"help-contents\": \"Returns <expression> if it is not null, otherwise returns ze
ro. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-argtypes\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calc
ulation-dialog\",\"use-parameters\": true} position=\"64\"","name":"tabdoc:calcu
lation-auto-complete"}}
{"ts":"2016-09-29T16:42:59.805","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC
('month',[Order Date])-DATETRUNC('month',[Calculationq\\\\])\" calculation={\"da
tasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\
": \"Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\
"scope-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Dat
e])-DATETRUNC('month',[Calculation5])\",\"fn\": \"\",\"fn-source\": \"\",\"calcu
lation-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"fol
der-role\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-use
d\": 0,\"style-token-list\":[],\"error-string\": \"Error in calculation:\\n\\nRe

ference to undefined field [Calculation5].\\n\\nWould you like to correct the ca


lculation?\",\"error-info-list\":[{\"start-position-for-error\": 50,\"length-ofcalc-of-error\": 14,\"error-message\": \"Reference to undefined field [Calculati
on5].\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\
"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a
number\",\"help-contents\": \"Returns the absolute value of the given number. \
\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"
],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"
func-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Retu
rns the arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2>
THEN <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two exp
ressions\",\"help-contents\": \"Performs a logical conjunction on two expression
s\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"
name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns th
e ASCII code for the first character in a string\",\"help-contents\": \"Returns
the ASCII code value of the first character in a string. \\n\\nExample: ASCII(\\
\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has
-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-to
oltip\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the a
rc sine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.57079
63267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \
"Returns the arc tangent of a number\",\"help-contents\": \"Returns the arc tang
ent of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.565240
8283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func
-tooltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Retu
rns the arc tangent of two given numbers (x and y). The result is in radians. \
\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"fun
c-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expre
ssion if it has one value for all rows\",\"help-contents\": \"Returns the value
of the given expression if it only has a single value for all rows in the group,
otherwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: A
TTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-v
ar-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-to
oltip\": \"Returns the average of the values in the expression\",\"help-contents
\": \"Returns the average of all the values in the expression. AVG can be used w
ith numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",
\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{
\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ...
[ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns the a
ppropriate value\",\"help-contents\": \"Finds the first <value> that matches <ex
pr> and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] W
HEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[
\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\"
,\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the ne
arest integer of equal or greater value\",\"help-contents\": \"Rounds a number t
o the nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415)
= 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Con
verts an integer ASCII code into a character\",\"help-contents\": \"Converts the
given integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"fu
nc-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\
": \"Returns true if a string contains the specified substring\",\"help-contents
\": \"Returns true if the string contains the substring. \\n\\nExample: CONTAINS
(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg

-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-si


g\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified
in radians\",\"help-contents\": \"Returns the cosine of an angle. Specify the a
ngle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT
\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an
angle specified in radians\",\"help-contents\": \"Returns the cotangent of an an
gle. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\"
:[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"C
OUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the numbe
r of items in the expression\",\"help-contents\": \"Returns the number of items
in a group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"
func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},
{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"R
eturns the number of distinct items in the expression\",\"help-contents\": \"Ret
urns the number of distinct items in a group. NULL values are not counted. Each
unique value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps
\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\"
: \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date
from a number\",\"help-contents\": \"Returns a date given a number, string, or
date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\n
Note that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-ar
g-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\"
: \"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specifi
ed date incremented by the specified amount\",\"help-contents\": \"Adds an incre
ment to the specified date and returns the new date. The increment is defined by
the interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#
) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locs
tr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",
\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"f
unc-tooltip\": \"Returns the difference between two dates\",\"help-contents\": \
"Returns the difference between two dates where start_date is subtracted from en
d_date. The difference is expressed in units of date_part. If start_of_week is o
mitted, the week start day is determined by the start day configured for the dat
a source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday')
= -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"da
tetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig
\": \"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a
part of the specified date as a string\",\"help-contents\": \"Returns a part of
the given date as a string, where the part is defined by date_part. If start_of
_week is omitted, the week start day is determined by the start day configured f
or the data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\
"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locst
r\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE
(format, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-cont
ents\": \"Converts a string to a date in the specified format. \\n\\nExample: DA
TEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\"
,\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args
\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [st
art_of_week])\",\"func-tooltip\": \"Returns the specified part of a date as an i
nteger\",\"help-contents\": \"Returns a part of the given date as an integer whe
re the part is defined by date_part. If start_of_week is omitted, the week start
day is determined by the start day configured for the data source.\\n\\nExample
: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-type
s\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"D
ATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a d
atetime from a number\",\"help-contents\": \"Returns a datetime given a number,
string, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00
\\\") \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"]
,\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",

\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\":


\"Truncates the specified date to the specified accuracy\",\"help-contents\": \"
Truncates the specified date to the accuracy specified by the date_part and retu
rns the new date. If start_of_week is omitted, the week start day is determined
by the start day configured for the data source.\\n\\nExample: DATETRUNC('quarte
r', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg
-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\"
: \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part o
f the specified date as an integer\",\"help-contents\": \"Returns the day of the
given date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\
":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\
": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a
value in radians to degrees\",\"help-contents\": \"Converts a number in radians
to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"fun
c-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\
": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a d
ivision operation\",\"help-contents\": \"Returns the integer part of a division.
\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"in
teger\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\":
\"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"
func-tooltip\": \"Performs a logical test and returns an appropriate value\",\"h
elp-contents\": \"Tests a series of expressions returning the <then> value for t
he first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [P
rofit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-a
rg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF
<expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"functooltip\": \"Performs a logical test and returns an appropriate value\",\"help-c
ontents\": \"Tests a series of expressions returning the <then> value for the fi
rst true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit
] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> T
HEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\
": \"Performs a logical test and returns an appropriate value\",\"help-contents\
": \"Tests a series of expressions returning the <then> value for the first true
<expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 TH
EN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[]
,\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(strin
g, substring)\",\"func-tooltip\": \"Returns true if the specified string ends wi
th the specified substring\",\"help-contents\": \"Returns true if the string end
s with the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\
\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-s
ig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\":
\"Computes an aggregate excluding the specified dimensions if present in the vi
ew.\",\"help-contents\": \"Computes an aggregate excluding the specified dimensi
ons if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-too
ltip\": \"Returns e raised to the power of a number\",\"help-contents\": \"Retur
ns e raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"f
unc-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n
ame\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-toolti
p\": \"Returns the position of a substring within a string\",\"help-contents\":
\"Returns the position of a substring within a string, or 0 if the substring isn
't found. If the start argument is defined, any instances of substring that appe
ar before the start position are ignored. The first character in the string is p
osition 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\":
false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurre
nce)\",\"func-tooltip\": \"Returns the position of the nth occurrence a substrin
g within a string\",\"help-contents\": \"Returns the position of the nth occurre

nce of a substring within a string, or 0 if that occurrence of the substring isn


't found. The first character in the string is position 1. \\n\\nExample: FINDNT
H(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\
"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to
the first row in the partition\",\"help-contents\": \"Returns the number of rows
from the current row to the first row in the partition.\\n\\nExample (current r
ow index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [di
m1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggreg
ate using only the specified dimensions.\",\"help-contents\": \"Computes an aggr
egate using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(e
xpression)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-con
tents\": \"Returns a float given an expression of any type. This function requir
es unformatted numbers which means exclude commas and other symbols. \\n\\nExam
ple: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"bo
olean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(num
ber)\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or le
sser value\",\"help-contents\": \"Rounds a number to the nearest integer of equa
l or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"
func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"f
unc-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the curr
ent user\",\"help-contents\": \"Returns the full name for the current user. This
is the Tableau Server or Tableau Online full name when the user is signed in; o
therwise it is the local or network full name for the Tableau Desktop user.\",\"
func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Retur
ns the x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an
(x,y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins hav
e side length 1, so the inputs may need to be scaled appropriately.\",\"func-grp
s\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\
"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\":
\"Returns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \
"Maps an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The
bins have side length 1, so the inputs may need to be scaled appropriately.\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> TH
EN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test
and returns an appropriate value\",\"help-contents\": \"Tests a series of expres
sions returning the <then> value for the first true <expr>. \\n\\nExample: IF [P
rofit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' EN
D\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"
name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Re
turns expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is no
t null, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"funcgrps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\"
: false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\
"func-tooltip\": \"Evaluates a Boolean expression and returns one of two values\
",\"help-contents\": \"Checks whether a condition is met, and returns one value
if TRUE, another value if FALSE, and an optional third value or NULL if unknown.
\\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],
\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": fa
lse},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggreg
ate-expression }\",\"func-tooltip\": \"Computes an aggregate using the specified
dimensions and the view dimensions.\",\"help-contents\": \"Computes an aggregat
e using the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg
\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-s
ig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in th
e partition\",\"help-contents\": \"Returns the index of the current row in the p

artition.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"fu


nc-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expre
ssion and returns an integer\",\"help-contents\": \"Returns an integer given an
expression. This function truncates results to the closest integer toward zero.
\\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"f
unc-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"f
unc-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is
a valid date\",\"help-contents\": \"Returns true if a given string is a valid da
te. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\
"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name
\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Retu
rns true if the current user's full name matches the specified name\",\"help-con
tents\": \"Returns true if the current user's full name matches the specified fu
ll name, or false if it does not match. This function uses the Tableau Server or
Tableau Online full name when the user is signed in; otherwise it uses the loca
l or network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],
\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF
\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the
current user is a member of the specified group\",\"help-contents\": \"Returns t
rue if the current user is a member of the given group, false otherwise. This u
ses the Tableau Server to resolve group membership if logged on, otherwise it al
ways returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\
"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)
\",\"func-tooltip\": \"Returns true if the specified expression is null\",\"help
-contents\": \"Returns true if the expression does not contain valid data (Null)
.\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":
[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \
"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's nam
e matches the specified user name\",\"help-contents\": \"Returns true if the cur
rent user's username matches the specified username, or false if it does not mat
ch. This function uses the Tableau Server or Tableau Online username when the us
er is signed in; otherwise it uses the local or network username for the Tableau
Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"hasvar-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\"
: \"Returns the number of rows to the last row in the partition\",\"help-content
s\": \"Returns the number of rows from the current row to the last row in the pa
rtition.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT
\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the spe
cified number of characters from the start of a string\",\"help-contents\": \"Re
turns the specified number of characters from the start of the given string. \\
n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\
"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"L
EN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of cha
racters in a string\",\"help-contents\": \"Returns the number of characters in t
he given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\
"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",
\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm o
f a number\",\"help-contents\": \"Returns the natural logarithm of the given num
ber. Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP
(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-toolti
p\": \"Returns the logarithm of a number for the given base\",\"help-contents\":
\"Returns the logarithm of a number for the given base. If the base value is om
itted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8
\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args
\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",
\"func-tooltip\": \"Returns the value of the expression in a row offset from cur
rent row\",\"help-contents\": \"Returns the value of the given expression in a t

arget row, specified as a relative offset from the current row. Use FIRST()+n an
d LAST()-n for a target relative to the first/last rows in the partition. If off
set is omitted, the Compare To row may be set on the field menu. Returns NULL if
the target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST(
) + 2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"na
me\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a st
ring in all lowercase characters\",\"help-contents\": \"Converts a text string t
o all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"
\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false}
,{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Return
s a string with leading spaces removed\",\"help-contents\": \"Returns the string
with any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sal
es\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\":
false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"fu
nc-tooltip\": \"Returns a date value constructed from a year, a month and a day
of the month.\",\"help-contents\": \"Returns a date value constructed from a yea
r, a month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"f
unc-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\
"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME
(date, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a
time\",\"help-contents\": \"Returns a date and time value given a date expressio
n and a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\
",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-varargs\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, se
cond)\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes
and seconds.\",\"help-contents\": \"Returns a time value constructed from hours
, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\
"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args
\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr
2)\",\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\
": \"Returns the maximum of a single expression across all records or the maximu
m of two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps
\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"r
eal\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(exp
ression)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-cont
ents\": \"Returns the median of a single expression. MEDIAN can be used with num
eric fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"fu
nc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"R
eturns the characters from the middle of a text string\",\"help-contents\": \"Re
turns the characters from the middle of a text string given a starting position
and a length. The first character in the string is position 1. If the length is
not included, all characters to the end of the string are returned. If the lengt
h is included, up to that many characters are returned. \\n\\nExample: MID(\\\"T
ableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Softwar
e\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",
\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"M
IN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of
an expression\",\"help-contents\": \"Returns the minimum of an expression acros
s all records or the minimum of two expressions for each record. \\n\\nExample:
MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"fu
nc-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\"
,\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the
specified date as an integer\",\"help-contents\": \"Returns the month of a give
n date as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\
"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \
"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Perfo
rms logical negation on an expression\",\"help-contents\": \"Performs logical ne
gation on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-

var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\":


\"Returns the current date and time\",\"help-contents\": \"Returns the current d
ate and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"d
ate\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-s
ig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a l
ogical disjunction on two expressions\",\"help-contents\": \"Performs a logical
disjunction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[]
,\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(e
xpression, number)\",\"func-tooltip\": \"Returns the percentile value at the spe
cified number\",\"help-contents\": \"Aggregate calculation that returns the perc
entile value from the given expression corresponding to the specified number. Va
lid values for the number are 0 through 1. PERCENTILE([expression], 0.50) will a
lways return the median value in the expression.\\n\\nExample: PERCENTILE([Sales
], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"h
as-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\":
\"Returns the numeric constant pi\",\"help-contents\": \"Returns the numeric co
nstant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"P
OWER(number,power)\",\"func-tooltip\": \"Raises the number to the specified powe
r\",\"help-contents\": \"Returns the result of a number raised to the given powe
r. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",
\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the val
ue of this calculation in the previous row\",\"help-contents\": \"Returns the va
lue of this calculation in the previous row. Returns the given expression if the
current row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PR
EVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_V
ALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-argtypes\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig
\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radi
ans\",\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grp
s\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"
Returns the competition rank for the current partition row\",\"help-contents\":
\"Returns the standard competition rank for the current row in the partition. Id
entical values are assigned an identical rank. Use the optional 'asc' | 'desc' a
rgument to specify ascending or descending order. The default order is descendin
g.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1,
2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\"
:[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false
},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'
])\",\"func-tooltip\": \"Returns the dense rank for the current partition row\",
\"help-contents\": \"Returns the dense rank for the current row in the partition
. Identical values are assigned an identical rank, but no gaps are inserted into
the number sequence. Use the optional 'asc' | 'desc' argument to specify ascend
ing or descending order. The default order is descending.\\n\\nWith this functio
n, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending ord
er.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-ar
g-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MO
DIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tool
tip\": \"Returns the modified competition rank for the current partition row\",\
"help-contents\": \"Returns the modified competition rank for the current row in
the partition. Identical values are assigned an identical rank. Use the optiona
l 'asc' | 'desc' argument to specify ascending or descending order. The default
order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) wo
uld be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([
Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr
\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK
_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percen
tile rank for the current partition row\",\"help-contents\": \"Returns the perce

ntile rank for the current row in the partition. Use the optional 'asc' | 'desc'
argument to specify ascending or descending order. The default order is ascendi
ng.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25
, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score
]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"ha
s-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expr
ession, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the cu
rrent partition row\",\"help-contents\": \"Returns the unique rank for the curre
nt row in the partition. Identical values are assigned different ranks. Use the
optional 'asc' | 'desc' argument to specify ascending or descending order. The d
efault order is descending.\\n\\nWith this function, the set of values (6, 9, 9,
14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE(
) = 1 for the first row in the partition\",\"func-grps\":[\"table\"],\"func-argtypes\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EX
TRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Re
turns the portion of a string matching the capturing group in a regular expressi
on\",\"help-contents\": \"Returns a substring of the given string that matches t
he capturing group within the regular expression pattern. The regular expressio
n pattern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('a
bc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH
\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\"
: \"Returns a substring of a string using a regular expression pattern\",\"helpcontents\": \"Returns a substring of the given string using the regular expressi
on pattern. The substring is matched to the nth capturing group, where n is the
given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d
+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"
locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"R
EGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matc
hes a regular expression\",\"help-contents\": \"Returns true if a substring of t
he provided string matches the regular expression pattern. \\n\\nExample: REGEXP
_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])
') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-v
ar-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(s
tring, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substr
ings matching a regular expression are replaced\",\"help-contents\": \"Returns a
copy of the given string where the matching pattern is substituted with the rep
lacement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc-123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"h
as-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, sub
string, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring
within a string\",\"help-contents\": \"Returns a string in which every occurren
ce of the substring is replaced with the replacement string. If the substring is
not found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\",
\\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"funcarg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGH
T\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the s
pecified number of characters from the end of a string\",\"help-contents\": \"Re
turns the specified number of characters from the end of the given string. \\n\
\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"
],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"RO
UND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a n
umber to the specified number of places\",\"help-contents\": \"Rounds a number t
o the nearest integer or to a specified number of decimal places. \\n\\nExample:
ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\
"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(str
ing)\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"hel
p-contents\": \"Returns the string with any trailing spaces removed. \\n\\nExam
ple: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-ar
g-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-s

ig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running averag


e of an expression\",\"help-contents\": \"Returns the running average of the giv
en expression, from the first row in the partition to the current row.\\n\\nExam
ple: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\"
:[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \
"Returns the running count of an expression\",\"help-contents\": \"Returns the r
unning count of the given expression, from the first row in the partition to the
current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(
Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args
\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",
\"func-tooltip\": \"Returns the running maximum of an expression\",\"help-conten
ts\": \"Returns the running maximum of the given expression, from the first row
in the partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) =
running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running max
imum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"]
,\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN
(expression)\",\"func-tooltip\": \"Returns the running minimum of an expression\
",\"help-contents\": \"Returns the running minimum of the given expression, from
the first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MI
N([Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])
) = running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\"
: \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an
expression\",\"help-contents\": \"Returns the running sum of the given expressio
n, from the first row in the partition to the current row.\\n\\nExample: RUNNING
_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Pro
fit])) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\":
\"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean r
esult from an R expression\",\"help-contents\": \"Returns a Boolean result from
a given R expression. The R expression is passed directly to a running Rserve in
stance. Use .arg# in the R expression to reference parameters. In the following
example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.fini
te(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_
INT(string, expression, ...)\",\"func-tooltip\": \"Returns an integer result fro
m an R expression\",\"help-contents\": \"Returns an integer result from a given
R expression. The R expression is passed directly to a running Rserve instance.
Use .arg# in the R expression to reference parameters. In the following example,
.arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1
* 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REA
L(string, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from a
n R expression\",\"help-contents\": \"Returns a numeric result from a given R ex
pression. The R expression is passed directly to a running Rserve instance. Use
.arg# in the R expression to reference parameters. In the following example, .ar
g1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SU
M([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-varargs\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expre
ssion, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\"
,\"help-contents\": \"Returns a string result from a given R expression. The R e
xpression is passed directly to a running Rserve instance. Use .arg# in the R ex
pression to reference parameters. In the following example, .arg1 is equal to AT
TR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Regio
n]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\":
true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Ret
urns 1 for a positive number\",\"help-contents\": \"Returns the sign of a number
: 1 if the number is positive, zero if the number is zero, or -1 if the number i
s negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-ty

pes\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN


(angle)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\":
\"Returns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(
PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func
-tooltip\": \"Returns the number of rows in the partition\",\"help-contents\": \
"Returns the number of rows in the partition.\\n\\nExample (partition has 5 rows
):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-arg
s\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\
": \"Returns a string containing the specified number of spaces\",\"help-content
s\": \"Returns a string composed of the specified number of repeated spaces. \\n
\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[
\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(st
ring, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a
string\",\"help-contents\": \"Returns a substring from a string, as determined
by a delimiter extracting the characters from the beginning or end of the string
. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d',
'-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",
\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(nu
mber)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-content
s\": \"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the
square of a number\",\"help-contents\": \"Returns the square of a given number.
\\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSW
ITH(string, substring)\",\"func-tooltip\": \"Returns true if the specified strin
g starts with the specified substring\",\"help-contents\": \"Returns true if the
string starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\"
, \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"st
r\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(express
ion)\",\"func-tooltip\": \"Returns the sample standard deviation for an expressi
on\",\"help-contents\": \"Returns the sample standard deviation of the expressio
n.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\
"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(e
xpression)\",\"func-tooltip\": \"Returns the population standard deviation for a
n expression\",\"help-contents\": \"Returns the population standard deviation of
the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\"
: \"STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"
help-contents\": \"Returns a string given an expression. \\n\\nExample: STR([Ag
e]) returns all of the values of the Age measure as strings.\",\"func-grps\":[\"
cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"S
UM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of va
lues in an expression\",\"help-contents\": \"Returns the sum of all the values i
n the expression. SUM can be used with numeric fields only. Null values are igno
red.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\
"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\
",\"func-tooltip\": \"Returns the tangent of an angle specified in radians\",\"h
elp-contents\": \"Returns the tangent of an angle. Specify the angle in radians.
\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\
"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr>
THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip
\": \"Performs a logical test and returns an appropriate value\",\"help-contents
\": \"Tests a series of expressions returning the <then> value for the first tru
e <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 T
HEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[
],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func
-tooltip\": \"Returns the current date\",\"help-contents\": \"Returns the curren
t date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-a

rg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTA


L(expression)\",\"func-tooltip\": \"Returns the total for an expression within t
he partition\",\"help-contents\": \"Returns the total for the given expression.\
\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that cont
ribute to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"intege
r\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\"
,\"func-tooltip\": \"Returns a string with leading and trailing spaces removed\"
,\"help-contents\": \"Returns the string with both leading and trailing spaces r
emoved. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":
[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPP
ER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all
uppercase characters\",\"help-contents\": \"Converts a text string to all upper
case letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the d
omain for the current user\",\"help-contents\": \"Returns the domain for the cur
rent user when the user is signed on to Tableau Server. Returns the Windows doma
in if the Tableau Desktop user is on a domain. Otherwise this function returns a
null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \
"Returns the user name for the current user\",\"help-contents\": \"Returns the u
sername for the current user. This is the Tableau Server or Tableau Online usern
ame when the user is signed in; otherwise it is the local or network username fo
r the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"fun
c-tooltip\": \"Returns the sample variance for an expression\",\"help-contents\"
: \"Returns the sample variance of the expression.\\n\\nExample: VAR([Profit])\"
,\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Retur
ns the population variance for an expression\",\"help-contents\": \"Returns the
population variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grp
s\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <els
e>] END\",\"func-tooltip\": \"Performs logical tests and returns the appropriate
value\",\"help-contents\": \"Finds the first <value> that matches <expr> and re
turns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018
I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"]
,\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func
-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the
average of the values within the window\",\"help-contents\": \"Returns the aver
age of the expression within the window. The window is defined as offsets from
the current row. Use FIRST()+n and LAST()-n for offsets from the first or last r
ow in the partition. If start and end are omitted, the entire partition is used
.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from t
he two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"
WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-t
ooltip\": \"Returns the number of items within the window\",\"help-contents\": \
"Returns the count of the expression within the window. The window is defined a
s offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire pa
rtition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM
(Profit) from the two previous rows to the current row\",\"func-grps\":[\"table\
"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false
},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])
\",\"func-tooltip\": \"Returns the maximum within the window\",\"help-contents\"
: \"Returns the maximum of the expression within the window. The window is defi
ned as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the enti
re partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum o

f Profit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(
SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the
current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integ
er\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-s
ig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns th
e median within the window\",\"help-contents\": \"Returns the median of the expr
ession within the window. The window is defined as offsets from the current row
. Use FIRST()+n and LAST()-n for offsets from the first or last row in the parti
tion. If start and end are omitted, the entire partition is used.\\n\\nExample:
WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previo
us rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"rea
l\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",
\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Retur
ns the minimum within the window\",\"help-contents\": \"Returns the minimum of t
he expression within the window. The window is defined as offsets from the curr
ent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in th
e partition. If start and end are omitted, the entire partition is used.\\n\\nE
xample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previo
us rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = mini
mum of SUM(Profit) from the two previous rows to the current row\",\"func-grps\"
:[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-varargs\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTIL
E(expression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile
value at the specified number\",\"help-contents\": \"Returns the value correspo
nding to the specified percentile within the window. The window is defined as o
ffsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fir
st or last row in the partition. If start and end are omitted, the entire parti
tion is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 7
5th percentile of SUM(Profit) from the two previous rows to the current row\",\"
func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"i
nteger\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"W
INDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample s
tandard deviation within the window\",\"help-contents\": \"Returns the sample st
andard deviation of the expression within the window. The window is defined as
offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fi
rst or last row in the partition. If start and end are omitted, the entire part
ition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of S
UM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [star
t, end])\",\"func-tooltip\": \"Returns the population standard deviation within
the window\",\"help-contents\": \"Returns the population standard deviation of t
he expression within the window. The window is defined as offsets from the curr
ent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in th
e partition. If start and end are omitted, the entire partition is used.\\n\\nE
xample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIN
DOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\
": \"Returns the sum of values within the window\",\"help-contents\": \"Returns
the sum of the expression within the window. The window is defined as offsets f
rom the current row. Use FIRST()+n and LAST()-n for offsets from the first or la
st row in the partition. If start and end are omitted, the entire partition is
used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from t
he two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-to
oltip\": \"Returns the sample variance within the window\",\"help-contents\": \"
Returns the sample variance of the expression within the window. The window is
defined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets

from the first or last row in the partition. If start and end are omitted, the
entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = varia
nce of SUM(Profit) from the two previous rows to the current row\",\"func-grps\"
:[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-arg
s\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [
start, end])\",\"func-tooltip\": \"Returns the population variance within the wi
ndow\",\"help-contents\": \"Returns the population variance of the expression wi
thin the window. The window is defined as offsets from the current row. Use FIR
ST()+n and LAST()-n for offsets from the first or last row in the partition. If
start and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_V
ARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows t
o the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"int
eger\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \
"YEAR(date)\",\"func-tooltip\": \"Returns the year of the specified date as an i
nteger\",\"help-contents\": \"Returns the year of a given date as an integer. \
\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-ty
pes\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"
ZN(expression)\",\"func-tooltip\": \"Returns the expression if it is not null\",
\"help-contents\": \"Returns <expression> if it is not null, otherwise returns z
ero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg
-types\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"cal
culation-dialog\",\"use-parameters\": true} position=\"64\"","name":"tabdoc:calc
ulation-auto-complete"}}
{"ts":"2016-09-29T16:43:00.214","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC(
'month',[Order Date])-DATETRUNC('month',[Calculationq])\" calculation={\"datasou
rce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \"
Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"scop
e-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])-D
ATETRUNC('month',[Calculation5])\",\"fn\": \"\",\"fn-source\": \"\",\"calculatio
n-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-r
ole\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\":
0,\"style-token-list\":[],\"error-string\": \"Error in calculation:\\n\\nReferen
ce to undefined field [Calculation5].\\n\\nWould you like to correct the calcula
tion?\",\"error-info-list\":[{\"start-position-for-error\": 50,\"length-of-calcof-error\": 14,\"error-message\": \"Reference to undefined field [Calculation5].
\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func
-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a numb
er\",\"help-contents\": \"Returns the absolute value of the given number. \\n\\n
Example: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"h
as-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"functooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns t
he arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-v
ar-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN
<then> END\",\"func-tooltip\": \"Performs a logical conjunction on two expressi
ons\",\"help-contents\": \"Performs a logical conjunction on two expressions\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASC
II code for the first character in a string\",\"help-contents\": \"Returns the A
SCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"aut
hors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-varargs\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip
\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc si
ne of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267
949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Retu
rns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent o
f a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.56524082839

42\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tool
tip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns t
he arc tangent of two given numbers (x and y). The result is in radians. \\n\\n
Example: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig
\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expression
if it has one value for all rows\",\"help-contents\": \"Returns the value of th
e given expression if it only has a single value for all rows in the group, othe
rwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([
Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip
\": \"Returns the average of the values in the expression\",\"help-contents\": \
"Returns the average of all the values in the expression. AVG can be used with n
umeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"fun
c-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE
<else>] END\",\"func-tooltip\": \"Performs logical tests and returns the approp
riate value\",\"help-contents\": \"Finds the first <value> that matches <expr> a
nd returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \
u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"log
ic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"fu
nc-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest
integer of equal or greater value\",\"help-contents\": \"Rounds a number to the
nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts
an integer ASCII code into a character\",\"help-contents\": \"Converts the give
n integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"
Returns true if a string contains the specified substring\",\"help-contents\": \
"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\"
Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\":
\"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in r
adians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle
in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"
func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle
specified in radians\",\"help-contents\": \"Returns the cotangent of an angle.
Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"n
um\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\
",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of
items in the expression\",\"help-contents\": \"Returns the number of items in a
group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"na
me\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Return
s the number of distinct items in the expression\",\"help-contents\": \"Returns
the number of distinct items in a group. NULL values are not counted. Each uniq
ue value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"D
ATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from
a number\",\"help-contents\": \"Returns a date given a number, string, or date
expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote
that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"D
ATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified da
te incremented by the specified amount\",\"help-contents\": \"Adds an increment
to the specified date and returns the new date. The increment is defined by the

interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2


004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",
\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"fun
c-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-t
ooltip\": \"Returns the difference between two dates\",\"help-contents\": \"Retu
rns the difference between two dates where start_date is subtracted from end_dat
e. The difference is expressed in units of date_part. If start_of_week is omitte
d, the week start day is determined by the start day configured for the data sou
rce.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\
",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetim
e\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \
"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part
of the specified date as a string\",\"help-contents\": \"Returns a part of the
given date as a string, where the part is defined by date_part. If start_of_week
is omitted, the week start day is determined by the start day configured for th
e data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\
"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(form
at, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents\
": \"Converts a string to a date in the specified format. \\n\\nExample: DATEPAR
SE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"fu
nc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": f
alse},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_o
f_week])\",\"func-tooltip\": \"Returns the specified part of a date as an intege
r\",\"help-contents\": \"Returns a part of the given date as an integer where th
e part is defined by date_part. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DAT
EPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[
\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETI
ME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a dateti
me from a number\",\"help-contents\": \"Returns a datetime given a number, strin
g, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\")
\\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"fu
nc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"fun
c-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Tru
ncates the specified date to the specified accuracy\",\"help-contents\": \"Trunc
ates the specified date to the accuracy specified by the date_part and returns t
he new date. If start_of_week is omitted, the week start day is determined by th
e start day configured for the data source.\\n\\nExample: DATETRUNC('quarter', #
2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-type
s\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"D
AY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the
specified date as an integer\",\"help-contents\": \"Returns the day of the give
n date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"
date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"
DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value
in radians to degrees\",\"help-contents\": \"Converts a number in radians to de
grees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"
DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divisi
on operation\",\"help-contents\": \"Returns the integer part of a division.\\n\\
nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF
<expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"functooltip\": \"Performs a logical test and returns an appropriate value\",\"help-c
ontents\": \"Tests a series of expressions returning the <then> value for the fi
rst true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit
] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr
> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-toolt

ip\": \"Performs a logical test and returns an appropriate value\",\"help-conten


ts\": \"Tests a series of expressions returning the <then> value for the first t
rue <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0
THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <
then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"
Performs a logical test and returns an appropriate value\",\"help-contents\": \"
Tests a series of expressions returning the <then> value for the first true <exp
r>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'B
reakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, su
bstring)\",\"func-tooltip\": \"Returns true if the specified string ends with th
e specified substring\",\"help-contents\": \"Returns true if the string ends wit
h the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Ca
lculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\":
\"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Co
mputes an aggregate excluding the specified dimensions if present in the view.\"
,\"help-contents\": \"Computes an aggregate excluding the specified dimensions i
f present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\
": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns e
raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\":
\"Returns the position of a substring within a string\",\"help-contents\": \"Ret
urns the position of a substring within a string, or 0 if the substring isn't fo
und. If the start argument is defined, any instances of substring that appear be
fore the start position are ignored. The first character in the string is positi
on 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false
},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\
",\"func-tooltip\": \"Returns the position of the nth occurrence a substring wit
hin a string\",\"help-contents\": \"Returns the position of the nth occurrence o
f a substring within a string, or 0 if that occurrence of the substring isn't fo
und. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\\
"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func
-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the f
irst row in the partition\",\"help-contents\": \"Returns the number of rows from
the current row to the first row in the partition.\\n\\nExample (current row in
dex is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[
],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[,
dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate u
sing only the specified dimensions.\",\"help-contents\": \"Computes an aggregate
using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expres
sion)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-contents
\": \"Returns a float given an expression of any type. This function requires un
formatted numbers which means exclude commas and other symbols. \\n\\nExample:
FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean
\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\
",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser
value\",\"help-contents\": \"Rounds a number to the nearest integer of equal or
lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-s
ig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current u
ser\",\"help-contents\": \"Returns the full name for the current user. This is t
he Tableau Server or Tableau Online full name when the user is signed in; otherw
ise it is the local or network full name for the Tableau Desktop user.\",\"func-

grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HE


XBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns th
e x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y
) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have sid
e length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name
\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Re
turns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps
an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <t
hen2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and r
eturns an appropriate value\",\"help-contents\": \"Tests a series of expressions
returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profit
] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns
expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not nul
l, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\
":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func
-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",\"h
elp-contents\": \"Checks whether a condition is met, and returns one value if TR
UE, another value if FALSE, and an optional third value or NULL if unknown. \\n\
\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},
{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-e
xpression }\",\"func-tooltip\": \"Computes an aggregate using the specified dime
nsions and the view dimensions.\",\"help-contents\": \"Computes an aggregate usi
ng the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\":
\"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the par
tition\",\"help-contents\": \"Returns the index of the current row in the partit
ion.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT
\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression
and returns an integer\",\"help-contents\": \"Returns an integer given an expre
ssion. This function truncates results to the closest integer toward zero. \\n\\
nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-a
rg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-s
ig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a val
id date\",\"help-contents\": \"Returns true if a given string is a valid date.
\\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date
\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \
"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns t
rue if the current user's full name matches the specified name\",\"help-contents
\": \"Returns true if the current user's full name matches the specified full na
me, or false if it does not match. This function uses the Tableau Server or Tabl
eau Online full name when the user is signed in; otherwise it uses the local or
network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fun
c-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"
func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the curre
nt user is a member of the specified group\",\"help-contents\": \"Returns true i
f the current user is a member of the given group, false otherwise. This uses t
he Tableau Server to resolve group membership if logged on, otherwise it always
returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"hasvar-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"
func-tooltip\": \"Returns true if the specified expression is null\",\"help-cont
ents\": \"Returns true if the expression does not contain valid data (Null).\\n\

\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"bo
olean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUS
ERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name mat
ches the specified user name\",\"help-contents\": \"Returns true if the current
user's username matches the specified username, or false if it does not match. T
his function uses the Tableau Server or Tableau Online username when the user is
signed in; otherwise it uses the local or network username for the Tableau Desk
top user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-a
rgs\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"R
eturns the number of rows to the last row in the partition\",\"help-contents\":
\"Returns the number of rows from the current row to the last row in the partiti
on.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[
\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"
func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specifie
d number of characters from the start of a string\",\"help-contents\": \"Returns
the specified number of characters from the start of the given string. \\n\\nE
xample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",
\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of characte
rs in a string\",\"help-contents\": \"Returns the number of characters in the gi
ven string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\
"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"fun
c-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a n
umber\",\"help-contents\": \"Returns the natural logarithm of the given number.
Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5))
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\":
\"Returns the logarithm of a number for the given base\",\"help-contents\": \"Re
turns the logarithm of a number for the given base. If the base value is omitted
, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"fun
c-tooltip\": \"Returns the value of the expression in a row offset from current
row\",\"help-contents\": \"Returns the value of the given expression in a target
row, specified as a relative offset from the current row. Use FIRST()+n and LAS
T()-n for a target relative to the first/last rows in the partition. If offset i
s omitted, the Compare To row may be set on the field menu. Returns NULL if the
target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) +
2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string
in all lowercase characters\",\"help-contents\": \"Converts a text string to all
lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"
func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"n
ame\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a s
tring with leading spaces removed\",\"help-contents\": \"Returns the string with
any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\
"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false
},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-to
oltip\": \"Returns a date value constructed from a year, a month and a day of th
e month.\",\"help-contents\": \"Returns a date value constructed from a year, a
month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-g
rps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"hasvar-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date
, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time\
",\"help-contents\": \"Returns a date and time value given a date expression and
a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"f
unc-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\
": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)
\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes and

seconds.\",\"help-contents\": \"Returns a time value constructed from hours, min


utes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",
\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \"
Returns the maximum of a single expression across all records or the maximum of
two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\
"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"
],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expressi
on)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents\
": \"Returns the median of a single expression. MEDIAN can be used with numeric
fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-gr
ps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Return
s the characters from the middle of a text string\",\"help-contents\": \"Returns
the characters from the middle of a text string given a starting position and a
length. The first character in the string is position 1. If the length is not i
ncluded, all characters to the end of the string are returned. If the length is
included, up to that many characters are returned. \\n\\nExample: MID(\\\"Tablea
u Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\"
,2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"rea
l\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(ex
pression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an e
xpression\",\"help-contents\": \"Returns the minimum of an expression across all
records or the minimum of two expressions for each record. \\n\\nExample: MIN(
[Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-ar
g-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"fu
nc-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the spec
ified date as an integer\",\"help-contents\": \"Returns the month of a given dat
e as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date
\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\
",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs l
ogical negation on an expression\",\"help-contents\": \"Performs logical negatio
n on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-a
rgs\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Ret
urns the current date and time\",\"help-contents\": \"Returns the current date a
nd time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"
],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\":
\"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logica
l disjunction on two expressions\",\"help-contents\": \"Performs a logical disju
nction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expres
sion, number)\",\"func-tooltip\": \"Returns the percentile value at the specifie
d number\",\"help-contents\": \"Aggregate calculation that returns the percentil
e value from the given expression corresponding to the specified number. Valid v
alues for the number are 0 through 1. PERCENTILE([expression], 0.50) will always
return the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.
90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-va
r-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Re
turns the numeric constant pi\",\"help-contents\": \"Returns the numeric constan
t pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(
number,power)\",\"func-tooltip\": \"Raises the number to the specified power\",\
"help-contents\": \"Returns the result of a number raised to the given power. \\
n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":
[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"fun
c-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of
this calculation in the previous row\",\"help-contents\": \"Returns the value o
f this calculation in the previous row. Returns the given expression if the curr
ent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOU

S_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(


1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \
"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\"
,\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RAN
K\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retur
ns the competition rank for the current partition row\",\"help-contents\": \"Ret
urns the standard competition rank for the current row in the partition. Identic
al values are assigned an identical rank. Use the optional 'asc' | 'desc' argume
nt to specify ascending or descending order. The default order is descending.\\n
\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2,
4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"
name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",
\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"hel
p-contents\": \"Returns the dense rank for the current row in the partition. Ide
ntical values are assigned an identical rank, but no gaps are inserted into the
number sequence. Use the optional 'asc' | 'desc' argument to specify ascending o
r descending order. The default order is descending.\\n\\nWith this function, th
e set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\
n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIE
D\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\"
: \"Returns the modified competition rank for the current partition row\",\"help
-contents\": \"Returns the modified competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'as
c' | 'desc' argument to specify ascending or descending order. The default order
is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would b
e ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Veloc
ity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\
"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERC
ENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile
rank for the current partition row\",\"help-contents\": \"Returns the percentile
rank for the current row in the partition. Use the optional 'asc' | 'desc' argu
ment to specify ascending or descending order. The default order is ascending.\\
n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75,
75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var
-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expressio
n, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the current
partition row\",\"help-contents\": \"Returns the unique rank for the current ro
w in the partition. Identical values are assigned different ranks. Use the optio
nal 'asc' | 'desc' argument to specify ascending or descending order. The defaul
t order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1
for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT
\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns
the portion of a string matching the capturing group in a regular expression\",
\"help-contents\": \"Returns a substring of the given string that matches the ca
pturing group within the regular expression pattern. The regular expression pat
tern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 12
3', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"
func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"R
eturns a substring of a string using a regular expression pattern\",\"help-conte
nts\": \"Returns a substring of the given string using the regular expression pa
ttern. The substring is matched to the nth capturing group, where n is the give
n index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)',

2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locin
t\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP
_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches a
regular expression\",\"help-contents\": \"Returns true if a substring of the pr
ovided string matches the regular expression pattern. \\n\\nExample: REGEXP_MATC
H('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') =
true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-ar
gs\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string
, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrings
matching a regular expression are replaced\",\"help-contents\": \"Returns a copy
of the given string where the matching pattern is substituted with the replacem
ent string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'
\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-va
r-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substrin
g, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring with
in a string\",\"help-contents\": \"Returns a string in which every occurrence of
the substring is replaced with the replacement string. If the substring is not
found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"
ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-t
ypes\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\
"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specif
ied number of characters from the end of a string\",\"help-contents\": \"Returns
the specified number of characters from the end of the given string. \\n\\nExa
mple: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"f
unc-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\"
,\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number
to the specified number of places\",\"help-contents\": \"Rounds a number to the
nearest integer or to a specified number of decimal places. \\n\\nExample: ROUN
D(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real
\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\
",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-con
tents\": \"Returns the string with any trailing spaces removed. \\n\\nExample:
RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\":
\"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of
an expression\",\"help-contents\": \"Returns the running average of the given ex
pression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNN
ING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Retu
rns the running count of an expression\",\"help-contents\": \"Returns the runnin
g count of the given expression, from the first row in the partition to the curr
ent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profi
t)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"fun
c-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\":
\"Returns the running maximum of the given expression, from the first row in th
e partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = runni
ng maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum
of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expr
ession)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"h
elp-contents\": \"Returns the running minimum of the given expression, from the
first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Pr
ofit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = r
unning minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"R
UNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expre
ssion\",\"help-contents\": \"Returns the running sum of the given expression, fr
om the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM(

SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])


) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"in
teger\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCR
IPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result
from an R expression\",\"help-contents\": \"Returns a Boolean result from a giv
en R expression. The R expression is passed directly to a running Rserve instanc
e. Use .arg# in the R expression to reference parameters. In the following examp
le, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.a
rg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(s
tring, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an
R expression\",\"help-contents\": \"Returns an integer result from a given R exp
ression. The R expression is passed directly to a running Rserve instance. Use .
arg# in the R expression to reference parameters. In the following example, .arg
1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)
\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"
has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(str
ing, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R e
xpression\",\"help-contents\": \"Returns a numeric result from a given R express
ion. The R expression is passed directly to a running Rserve instance. Use .arg#
in the R expression to reference parameters. In the following example, .arg1 is
equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Pr
ofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression
, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"he
lp-contents\": \"Returns a string result from a given R expression. The R expres
sion is passed directly to a running Rserve instance. Use .arg# in the R express
ion to reference parameters. In the following example, .arg1 is equal to ATTR([R
egion]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true}
,{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns
1 for a positive number\",\"help-contents\": \"Returns the sign of a number: 1 i
f the number is positive, zero if the number is zero, or -1 if the number is neg
ative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angl
e)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Ret
urns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/
4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tool
tip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Retu
rns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\n
SIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"
Returns a string containing the specified number of spaces\",\"help-contents\":
\"Returns a string composed of the specified number of repeated spaces. \\n\\nEx
ample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string,
delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a stri
ng\",\"help-contents\": \"Returns a substring from a string, as determined by a
delimiter extracting the characters from the beginning or end of the string. \\n
\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-',
-2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"loc
int\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)
\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\":
\"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the squar
e of a number\",\"help-contents\": \"Returns the square of a given number. \\n\\
nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(s

tring, substring)\",\"func-tooltip\": \"Returns true if the specified string sta


rts with the specified substring\",\"help-contents\": \"Returns true if the stri
ng starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\
"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],
\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\
",\"func-tooltip\": \"Returns the sample standard deviation for an expression\",
\"help-contents\": \"Returns the sample standard deviation of the expression.\\n
\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expres
sion)\",\"func-tooltip\": \"Returns the population standard deviation for an exp
ression\",\"help-contents\": \"Returns the population standard deviation of the
expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"S
TR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"helpcontents\": \"Returns a string given an expression. \\n\\nExample: STR([Age]) r
eturns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast\
"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",
\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values
in an expression\",\"help-contents\": \"Returns the sum of all the values in the
expression. SUM can be used with numeric fields only. Null values are ignored.\
\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"f
unc-tooltip\": \"Returns the tangent of an angle specified in radians\",\"help-c
ontents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\\
nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \
"Performs a logical test and returns an appropriate value\",\"help-contents\": \
"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tool
tip\": \"Returns the current date\",\"help-contents\": \"Returns the current dat
e. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(exp
ression)\",\"func-tooltip\": \"Returns the total for an expression within the pa
rtition\",\"help-contents\": \"Returns the total for the given expression.\\n\\n
Example: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribut
e to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],
\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"fu
nc-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"he
lp-contents\": \"Returns the string with both leading and trailing spaces remove
d. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",
\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all uppe
rcase characters\",\"help-contents\": \"Converts a text string to all uppercase
letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"US
ERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain
for the current user\",\"help-contents\": \"Returns the domain for the current
user when the user is signed on to Tableau Server. Returns the Windows domain if
the Tableau Desktop user is on a domain. Otherwise this function returns a null
string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Retu
rns the user name for the current user\",\"help-contents\": \"Returns the userna
me for the current user. This is the Tableau Server or Tableau Online username w
hen the user is signed in; otherwise it is the local or network username for the
Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-too
ltip\": \"Returns the sample variance for an expression\",\"help-contents\": \"R

eturns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"fu


nc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns th
e population variance for an expression\",\"help-contents\": \"Returns the popul
ation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHE
N\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] E
ND\",\"func-tooltip\": \"Performs logical tests and returns the appropriate valu
e\",\"help-contents\": \"Finds the first <value> that matches <expr> and returns
the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u20
19 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\
": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the aver
age of the values within the window\",\"help-contents\": \"Returns the average o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDO
W_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-toolti
p\": \"Returns the number of items within the window\",\"help-contents\": \"Retu
rns the count of the expression within the window. The window is defined as off
sets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partiti
on is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Prof
it) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"
func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"
name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"
func-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"R
eturns the maximum of the expression within the window. The window is defined a
s offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire pa
rtition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Pro
fit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([
Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the curr
ent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\":
\"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the med
ian within the window\",\"help-contents\": \"Returns the median of the expressio
n within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WIND
OW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous ro
ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"fun
c-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns th
e minimum within the window\",\"help-contents\": \"Returns the minimum of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous ro
ws to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\
": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(exp
ression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile valu
e at the specified number\",\"help-contents\": \"Returns the value corresponding
to the specified percentile within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or

last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th p
ercentile of SUM(Profit) from the two previous rows to the current row\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"intege
r\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW
_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample standa
rd deviation within the window\",\"help-contents\": \"Returns the sample standar
d deviation of the expression within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Pr
ofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{
\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, en
d])\",\"func-tooltip\": \"Returns the population standard deviation within the w
indow\",\"help-contents\": \"Returns the population standard deviation of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two p
revious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_S
UM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"
Returns the sum of values within the window\",\"help-contents\": \"Returns the s
um of the expression within the window. The window is defined as offsets from t
he current row. Use FIRST()+n and LAST()-n for offsets from the first or last ro
w in the partition. If start and end are omitted, the entire partition is used.
\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WI
NDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip
\": \"Returns the sample variance within the window\",\"help-contents\": \"Retur
ns the sample variance of the expression within the window. The window is defin
ed as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the entir
e partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start
, end])\",\"func-tooltip\": \"Returns the population variance within the window\
",\"help-contents\": \"Returns the population variance of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()+
n and LAST()-n for offsets from the first or last row in the partition. If star
t and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(S
UM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to the
current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\
",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR
(date)\",\"func-tooltip\": \"Returns the year of the specified date as an intege
r\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\\n
Example: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\"
:[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(ex
pression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"hel
p-contents\": \"Returns <expression> if it is not null, otherwise returns zero.
\\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calculat
ion-dialog\",\"use-parameters\": true} position=\"63\"","name":"tabdoc:calculati
on-auto-complete"}}
{"ts":"2016-09-29T16:43:00.215","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC

('month',[Order Date])-DATETRUNC('month',[Calculationq])\" calculation={\"dataso


urce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \
"Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"sco
pe-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])DATETRUNC('month',[Calculation5])\",\"fn\": \"\",\"fn-source\": \"\",\"calculati
on-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folderrole\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\":
0,\"style-token-list\":[],\"error-string\": \"Error in calculation:\\n\\nRefere
nce to undefined field [Calculation5].\\n\\nWould you like to correct the calcul
ation?\",\"error-info-list\":[{\"start-position-for-error\": 50,\"length-of-calc
-of-error\": 14,\"error-message\": \"Reference to undefined field [Calculation5]
.\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"fun
c-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a num
ber\",\"help-contents\": \"Returns the absolute value of the given number. \\n\\
nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func
-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns
the arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"hasvar-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THE
N <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two express
ions\",\"help-contents\": \"Performs a logical conjunction on two expressions\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the AS
CII code for the first character in a string\",\"help-contents\": \"Returns the
ASCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"au
thors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var
-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-toolti
p\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc s
ine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.570796326
7949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Ret
urns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent
of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408283
942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-too
ltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns
the arc tangent of two given numbers (x and y). The result is in radians. \\n\\
nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-ty
pes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-si
g\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expressio
n if it has one value for all rows\",\"help-contents\": \"Returns the value of t
he given expression if it only has a single value for all rows in the group, oth
erwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR(
[Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-toolti
p\": \"Returns the average of the values in the expression\",\"help-contents\":
\"Returns the average of all the values in the expression. AVG can be used with
numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"fu
nc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELS
E <else>] END\",\"func-tooltip\": \"Performs logical tests and returns the appro
priate value\",\"help-contents\": \"Finds the first <value> that matches <expr>
and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN
\u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"lo
gic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"f
unc-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the neares
t integer of equal or greater value\",\"help-contents\": \"Rounds a number to th
e nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\
",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false}

,{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Convert


s an integer ASCII code into a character\",\"help-contents\": \"Converts the giv
en integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \
"Returns true if a string contains the specified substring\",\"help-contents\":
\"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\
"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\":
\"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in
radians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle
in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"nu
m\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\
"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angl
e specified in radians\",\"help-contents\": \"Returns the cotangent of an angle.
Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"
num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT
\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of
items in the expression\",\"help-contents\": \"Returns the number of items in a
group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"n
ame\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Retur
ns the number of distinct items in the expression\",\"help-contents\": \"Returns
the number of distinct items in a group. NULL values are not counted. Each uni
que value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"
DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date fro
m a number\",\"help-contents\": \"Returns a date given a number, string, or date
expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote
that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"
DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified d
ate incremented by the specified amount\",\"help-contents\": \"Adds an increment
to the specified date and returns the new date. The increment is defined by the
interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) =
2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\"
,\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"fu
nc-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"functooltip\": \"Returns the difference between two dates\",\"help-contents\": \"Ret
urns the difference between two dates where start_date is subtracted from end_da
te. The difference is expressed in units of date_part. If start_of_week is omitt
ed, the week start day is determined by the start day configured for the data so
urce.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3
\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"dateti
me\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\":
\"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a par
t of the specified date as a string\",\"help-contents\": \"Returns a part of the
given date as a string, where the part is defined by date_part. If start_of_wee
k is omitted, the week start day is determined by the start day configured for t
he data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",
\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"]
,\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(for
mat, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents
\": \"Converts a string to a date in the specified format. \\n\\nExample: DATEPA
RSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"f
unc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\":
false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_
of_week])\",\"func-tooltip\": \"Returns the specified part of a date as an integ
er\",\"help-contents\": \"Returns a part of the given date as an integer where t
he part is defined by date_part. If start_of_week is omitted, the week start day

is determined by the start day configured for the data source.\\n\\nExample: DA


TEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":
[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATET
IME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datet
ime from a number\",\"help-contents\": \"Returns a datetime given a number, stri
ng, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\"
) \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"f
unc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"fu
nc-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Tr
uncates the specified date to the specified accuracy\",\"help-contents\": \"Trun
cates the specified date to the accuracy specified by the date_part and returns
the new date. If start_of_week is omitted, the week start day is determined by t
he start day configured for the data source.\\n\\nExample: DATETRUNC('quarter',
#2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-typ
es\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"
DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of th
e specified date as an integer\",\"help-contents\": \"Returns the day of the giv
en date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\
"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \
"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a valu
e in radians to degrees\",\"help-contents\": \"Converts a number in radians to d
egrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \
"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divis
ion operation\",\"help-contents\": \"Returns the integer part of a division.\\n\
\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"intege
r\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF
<expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func
-tooltip\": \"Performs a logical test and returns an appropriate value\",\"helpcontents\": \"Tests a series of expressions returning the <then> value for the f
irst true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profi
t] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <exp
r> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tool
tip\": \"Performs a logical test and returns an appropriate value\",\"help-conte
nts\": \"Tests a series of expressions returning the <then> value for the first
true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =
0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \
"Performs a logical test and returns an appropriate value\",\"help-contents\": \
"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, s
ubstring)\",\"func-tooltip\": \"Returns true if the specified string ends with t
he specified substring\",\"help-contents\": \"Returns true if the string ends wi
th the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"C
alculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\"
: \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"C
omputes an aggregate excluding the specified dimensions if present in the view.\
",\"help-contents\": \"Computes an aggregate excluding the specified dimensions
if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip
\": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns e
raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\":
\"Returns the position of a substring within a string\",\"help-contents\": \"Re

turns the position of a substring within a string, or 0 if the substring isn't f


ound. If the start argument is defined, any instances of substring that appear b
efore the start position are ignored. The first character in the string is posit
ion 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": fals
e},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)
\",\"func-tooltip\": \"Returns the position of the nth occurrence a substring wi
thin a string\",\"help-contents\": \"Returns the position of the nth occurrence
of a substring within a string, or 0 if that occurrence of the substring isn't f
ound. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\
\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"fun
c-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the
first row in the partition\",\"help-contents\": \"Returns the number of rows fro
m the current row to the first row in the partition.\\n\\nExample (current row i
ndex is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":
[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[,
dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate
using only the specified dimensions.\",\"help-contents\": \"Computes an aggregat
e using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-type
s\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expre
ssion)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-content
s\": \"Returns a float given an expression of any type. This function requires u
nformatted numbers which means exclude commas and other symbols. \\n\\nExample:
FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolea
n\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)
\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser
value\",\"help-contents\": \"Rounds a number to the nearest integer of equal or
lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"funcsig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current
user\",\"help-contents\": \"Returns the full name for the current user. This is
the Tableau Server or Tableau Online full name when the user is signed in; other
wise it is the local or network full name for the Tableau Desktop user.\",\"func
-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"H
EXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns t
he x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,
y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have si
de length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"nam
e\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"R
eturns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Map
s an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false
},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <
then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and
returns an appropriate value\",\"help-contents\": \"Tests a series of expression
s returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profi
t] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Return
s expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not nu
ll, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps
\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": fa
lse},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"fun
c-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",\"
help-contents\": \"Checks whether a condition is met, and returns one value if T
RUE, another value if FALSE, and an optional third value or NULL if unknown. \\n
\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"fu

nc-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregateexpression }\",\"func-tooltip\": \"Computes an aggregate using the specified dim
ensions and the view dimensions.\",\"help-contents\": \"Computes an aggregate us
ing the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\"
: \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the pa
rtition\",\"help-contents\": \"Returns the index of the current row in the parti
tion.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IN
T\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expressio
n and returns an integer\",\"help-contents\": \"Returns an integer given an expr
ession. This function truncates results to the closest integer toward zero. \\n\
\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"funcarg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"funcsig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a va
lid date\",\"help-contents\": \"Returns true if a given string is a valid date.
\\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"dat
e\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns
true if the current user's full name matches the specified name\",\"help-content
s\": \"Returns true if the current user's full name matches the specified full n
ame, or false if it does not match. This function uses the Tableau Server or Tab
leau Online full name when the user is signed in; otherwise it uses the local or
network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fu
nc-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\
"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the curr
ent user is a member of the specified group\",\"help-contents\": \"Returns true
if the current user is a member of the given group, false otherwise. This uses
the Tableau Server to resolve group membership if logged on, otherwise it always
returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has
-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\
"func-tooltip\": \"Returns true if the specified expression is null\",\"help-con
tents\": \"Returns true if the expression does not contain valid data (Null).\\n
\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"b
oolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISU
SERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name ma
tches the specified user name\",\"help-contents\": \"Returns true if the current
user's username matches the specified username, or false if it does not match.
This function uses the Tableau Server or Tableau Online username when the user i
s signed in; otherwise it uses the local or network username for the Tableau Des
ktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-varargs\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"
Returns the number of rows to the last row in the partition\",\"help-contents\":
\"Returns the number of rows from the current row to the last row in the partit
ion.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":
[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\
"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specifi
ed number of characters from the start of a string\",\"help-contents\": \"Return
s the specified number of characters from the start of the given string. \\n\\n
Example: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\
"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\"
,\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of charact
ers in a string\",\"help-contents\": \"Returns the number of characters in the g
iven string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str
\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"fu
nc-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a
number\",\"help-contents\": \"Returns the natural logarithm of the given number.
Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5))
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f

alse},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\":


\"Returns the logarithm of a number for the given base\",\"help-contents\": \"R
eturns the logarithm of a number for the given base. If the base value is omitte
d, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\
"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\":
false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"fu
nc-tooltip\": \"Returns the value of the expression in a row offset from current
row\",\"help-contents\": \"Returns the value of the given expression in a targe
t row, specified as a relative offset from the current row. Use FIRST()+n and LA
ST()-n for a target relative to the first/last rows in the partition. If offset
is omitted, the Compare To row may be set on the field menu. Returns NULL if the
target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) +
2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\"
: \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string
in all lowercase characters\",\"help-contents\": \"Converts a text string to al
l lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"
name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a
string with leading spaces removed\",\"help-contents\": \"Returns the string wit
h any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\
\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fals
e},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-t
ooltip\": \"Returns a date value constructed from a year, a month and a day of t
he month.\",\"help-contents\": \"Returns a date value constructed from a year, a
month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"funcgrps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has
-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(dat
e, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time
\",\"help-contents\": \"Returns a date and time value given a date expression an
d a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"
func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args
\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second
)\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes and
seconds.\",\"help-contents\": \"Returns a time value constructed from hours, mi
nutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cas
t\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\"
,\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \
"Returns the maximum of a single expression across all records or the maximum of
two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[
\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\
"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(express
ion)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents
\": \"Returns the median of a single expression. MEDIAN can be used with numeric
fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-g
rps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Retur
ns the characters from the middle of a text string\",\"help-contents\": \"Return
s the characters from the middle of a text string given a starting position and
a length. The first character in the string is position 1. If the length is not
included, all characters to the end of the string are returned. If the length is
included, up to that many characters are returned. \\n\\nExample: MID(\\\"Table
au Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\
",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"re
al\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(e
xpression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an
expression\",\"help-contents\": \"Returns the minimum of an expression across al
l records or the minimum of two expressions for each record. \\n\\nExample: MIN
([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-a

rg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"f


unc-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the spe
cified date as an integer\",\"help-contents\": \"Returns the month of a given da
te as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"dat
e\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT
\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs
logical negation on an expression\",\"help-contents\": \"Performs logical negati
on on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Re
turns the current date and time\",\"help-contents\": \"Returns the current date
and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\
"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\"
: \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logic
al disjunction on two expressions\",\"help-contents\": \"Performs a logical disj
unction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expre
ssion, number)\",\"func-tooltip\": \"Returns the percentile value at the specifi
ed number\",\"help-contents\": \"Aggregate calculation that returns the percenti
le value from the given expression corresponding to the specified number. Valid
values for the number are 0 through 1. PERCENTILE([expression], 0.50) will alway
s return the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0
.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-v
ar-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"R
eturns the numeric constant pi\",\"help-contents\": \"Returns the numeric consta
nt pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER
(number,power)\",\"func-tooltip\": \"Raises the number to the specified power\",
\"help-contents\": \"Returns the result of a number raised to the given power. \
\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"fu
nc-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value o
f this calculation in the previous row\",\"help-contents\": \"Returns the value
of this calculation in the previous row. Returns the given expression if the cur
rent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIO
US_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE
(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\":
\"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\
",\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RA
NK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retu
rns the competition rank for the current partition row\",\"help-contents\": \"Re
turns the standard competition rank for the current row in the partition. Identi
cal values are assigned an identical rank. Use the optional 'asc' | 'desc' argum
ent to specify ascending or descending order. The default order is descending.\\
n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2
, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\
"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\"
,\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"he
lp-contents\": \"Returns the dense rank for the current row in the partition. Id
entical values are assigned an identical rank, but no gaps are inserted into the
number sequence. Use the optional 'asc' | 'desc' argument to specify ascending
or descending order. The default order is descending.\\n\\nWith this function, t
he set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\
\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFI
ED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\
": \"Returns the modified competition rank for the current partition row\",\"hel
p-contents\": \"Returns the modified competition rank for the current row in the

partition. Identical values are assigned an identical rank. Use the optional 'a
sc' | 'desc' argument to specify ascending or descending order. The default orde
r is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velo
city]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PER
CENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile
rank for the current partition row\",\"help-contents\": \"Returns the percentil
e rank for the current row in the partition. Use the optional 'asc' | 'desc' arg
ument to specify ascending or descending order. The default order is ascending.\
\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75
, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-va
r-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expressi
on, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the curren
t partition row\",\"help-contents\": \"Returns the unique rank for the current r
ow in the partition. Identical values are assigned different ranks. Use the opti
onal 'asc' | 'desc' argument to specify ascending or descending order. The defau
lt order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() =
1 for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRAC
T\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Return
s the portion of a string matching the capturing group in a regular expression\"
,\"help-contents\": \"Returns a substring of the given string that matches the c
apturing group within the regular expression pattern. The regular expression pa
ttern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 1
23', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\
"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"
Returns a substring of a string using a regular expression pattern\",\"help-cont
ents\": \"Returns a substring of the given string using the regular expression p
attern. The substring is matched to the nth capturing group, where n is the giv
en index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)',
2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"loci
nt\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEX
P_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches
a regular expression\",\"help-contents\": \"Returns true if a substring of the p
rovided string matches the regular expression pattern. \\n\\nExample: REGEXP_MAT
CH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') =
true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-a
rgs\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(strin
g, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrings
matching a regular expression are replaced\",\"help-contents\": \"Returns a cop
y of the given string where the matching pattern is substituted with the replace
ment string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123
'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-v
ar-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substri
ng, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring wit
hin a string\",\"help-contents\": \"Returns a string in which every occurrence o
f the substring is replaced with the replacement string. If the substring is not
found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\
"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",
\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the speci
fied number of characters from the end of a string\",\"help-contents\": \"Return
s the specified number of characters from the end of the given string. \\n\\nEx
ample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\
",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a numbe

r to the specified number of places\",\"help-contents\": \"Rounds a number to th


e nearest integer or to a specified number of decimal places. \\n\\nExample: ROU
ND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"rea
l\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)
\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-co
ntents\": \"Returns the string with any trailing spaces removed. \\n\\nExample:
RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\"
: \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of
an expression\",\"help-contents\": \"Returns the running average of the given e
xpression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUN
NING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Ret
urns the running count of an expression\",\"help-contents\": \"Returns the runni
ng count of the given expression, from the first row in the partition to the cur
rent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Prof
it)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"fu
nc-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\"
: \"Returns the running maximum of the given expression, from the first row in t
he partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = runn
ing maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum
of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"h
as-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(exp
ression)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"
help-contents\": \"Returns the running minimum of the given expression, from the
first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([P
rofit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) =
running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"
RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expr
ession\",\"help-contents\": \"Returns the running sum of the given expression, f
rom the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM
(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit]
)) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"i
nteger\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SC
RIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean resul
t from an R expression\",\"help-contents\": \"Returns a Boolean result from a gi
ven R expression. The R expression is passed directly to a running Rserve instan
ce. Use .arg# in the R expression to reference parameters. In the following exam
ple, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.
arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(
string, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an
R expression\",\"help-contents\": \"Returns an integer result from a given R ex
pression. The R expression is passed directly to a running Rserve instance. Use
.arg# in the R expression to reference parameters. In the following example, .ar
g1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5
)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\
"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(st
ring, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R
expression\",\"help-contents\": \"Returns a numeric result from a given R expres
sion. The R expression is passed directly to a running Rserve instance. Use .arg
# in the R expression to reference parameters. In the following example, .arg1 i
s equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([P
rofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args
\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expressio
n, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"h
elp-contents\": \"Returns a string result from a given R expression. The R expre

ssion is passed directly to a running Rserve instance. Use .arg# in the R expres
sion to reference parameters. In the following example, .arg1 is equal to ATTR([
Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))
\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true
},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns
1 for a positive number\",\"help-contents\": \"Returns the sign of a number: 1
if the number is positive, zero if the number is zero, or -1 if the number is ne
gative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(ang
le)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Re
turns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()
/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-too
ltip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Ret
urns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\
nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \
"Returns a string containing the specified number of spaces\",\"help-contents\":
\"Returns a string composed of the specified number of repeated spaces. \\n\\nE
xample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string
, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a str
ing\",\"help-contents\": \"Returns a substring from a string, as determined by a
delimiter extracting the characters from the beginning or end of the string. \\
n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-',
-2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"lo
cint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number
)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\":
\"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grp
s\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the squa
re of a number\",\"help-contents\": \"Returns the square of a given number. \\n\
\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"
],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(
string, substring)\",\"func-tooltip\": \"Returns true if the specified string st
arts with the specified substring\",\"help-contents\": \"Returns true if the str
ing starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\
\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"]
,\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)
\",\"func-tooltip\": \"Returns the sample standard deviation for an expression\"
,\"help-contents\": \"Returns the sample standard deviation of the expression.\\
n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expre
ssion)\",\"func-tooltip\": \"Returns the population standard deviation for an ex
pression\",\"help-contents\": \"Returns the population standard deviation of the
expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"
STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"help
-contents\": \"Returns a string given an expression. \\n\\nExample: STR([Age])
returns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\"
,\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values
in an expression\",\"help-contents\": \"Returns the sum of all the values in th
e expression. SUM can be used with numeric fields only. Null values are ignored.
\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"
func-tooltip\": \"Returns the tangent of an angle specified in radians\",\"helpcontents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\
\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN

<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\":


\"Performs a logical test and returns an appropriate value\",\"help-contents\":
\"Tests a series of expressions returning the <then> value for the first true <e
xpr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN
'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"
has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-too
ltip\": \"Returns the current date\",\"help-contents\": \"Returns the current da
te. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(ex
pression)\",\"func-tooltip\": \"Returns the total for an expression within the p
artition\",\"help-contents\": \"Returns the total for the given expression.\\n\\
nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribu
te to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"]
,\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"f
unc-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"h
elp-contents\": \"Returns the string with both leading and trailing spaces remov
ed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\"
,\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all upp
ercase characters\",\"help-contents\": \"Converts a text string to all uppercase
letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"U
SERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domai
n for the current user\",\"help-contents\": \"Returns the domain for the current
user when the user is signed on to Tableau Server. Returns the Windows domain i
f the Tableau Desktop user is on a domain. Otherwise this function returns a nul
l string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Ret
urns the user name for the current user\",\"help-contents\": \"Returns the usern
ame for the current user. This is the Tableau Server or Tableau Online username
when the user is signed in; otherwise it is the local or network username for th
e Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-to
oltip\": \"Returns the sample variance for an expression\",\"help-contents\": \"
Returns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"f
unc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n
ame\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns t
he population variance for an expression\",\"help-contents\": \"Returns the popu
lation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":
[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WH
EN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>]
END\",\"func-tooltip\": \"Performs logical tests and returns the appropriate val
ue\",\"help-contents\": \"Finds the first <value> that matches <expr> and return
s the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2
019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"f
unc-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig
\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the ave
rage of the values within the window\",\"help-contents\": \"Returns the average
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i
n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the t
wo previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIND
OW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-toolt
ip\": \"Returns the number of items within the window\",\"help-contents\": \"Ret
urns the count of the expression within the window. The window is defined as of
fsets from the current row. Use FIRST()+n and LAST()-n for offsets from the firs
t or last row in the partition. If start and end are omitted, the entire partit
ion is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Pro

fit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\


"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\
"func-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"
Returns the maximum of the expression within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire p
artition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Pr
ofit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM(
[Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the cur
rent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"
,\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\"
: \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the me
dian within the window\",\"help-contents\": \"Returns the median of the expressi
on within the window. The window is defined as offsets from the current row. Us
e FIRST()+n and LAST()-n for offsets from the first or last row in the partition
. If start and end are omitted, the entire partition is used.\\n\\nExample: WIN
DOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous r
ows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",
\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"fu
nc-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns t
he minimum within the window\",\"help-contents\": \"Returns the minimum of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous r
ows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args
\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(ex
pression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile val
ue at the specified number\",\"help-contents\": \"Returns the value correspondin
g to the specified percentile within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th
percentile of SUM(Profit) from the two previous rows to the current row\",\"func
-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integ
er\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDO
W_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample stand
ard deviation within the window\",\"help-contents\": \"Returns the sample standa
rd deviation of the expression within the window. The window is defined as offs
ets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partitio
n is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(P
rofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},
{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, e
nd])\",\"func-tooltip\": \"Returns the population standard deviation within the
window\",\"help-contents\": \"Returns the population standard deviation of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_
SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \
"Returns the sum of values within the window\",\"help-contents\": \"Returns the
sum of the expression within the window. The window is defined as offsets from
the current row. Use FIRST()+n and LAST()-n for offsets from the first or last r

ow in the partition. If start and end are omitted, the entire partition is used
.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the t
wo previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"W
INDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-toolti
p\": \"Returns the sample variance within the window\",\"help-contents\": \"Retu
rns the sample variance of the expression within the window. The window is defi
ned as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the enti
re partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [star
t, end])\",\"func-tooltip\": \"Returns the population variance within the window
\",\"help-contents\": \"Returns the population variance of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()
+n and LAST()-n for offsets from the first or last row in the partition. If sta
rt and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(
SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to th
e current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEA
R(date)\",\"func-tooltip\": \"Returns the year of the specified date as an integ
er\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\\
nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\
":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(e
xpression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"he
lp-contents\": \"Returns <expression> if it is not null, otherwise returns zero.
\\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-typ
es\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calcula
tion-dialog\",\"use-parameters\": true} position=\"63\"","name":"tabdoc:calculat
ion-auto-complete"}}
{"ts":"2016-09-29T16:43:00.216","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC(
'month',[Order Date])-DATETRUNC('month',[Calculationq])\" calculation={\"datasou
rce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \"
Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"scop
e-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])-D
ATETRUNC('month',[Calculation5])\",\"fn\": \"\",\"fn-source\": \"\",\"calculatio
n-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-r
ole\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\":
0,\"style-token-list\":[],\"error-string\": \"Error in calculation:\\n\\nReferen
ce to undefined field [Calculation5].\\n\\nWould you like to correct the calcula
tion?\",\"error-info-list\":[{\"start-position-for-error\": 50,\"length-of-calcof-error\": 14,\"error-message\": \"Reference to undefined field [Calculation5].
\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func
-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a numb
er\",\"help-contents\": \"Returns the absolute value of the given number. \\n\\n
Example: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"h
as-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"functooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns t
he arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-v
ar-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN
<then> END\",\"func-tooltip\": \"Performs a logical conjunction on two expressi
ons\",\"help-contents\": \"Performs a logical conjunction on two expressions\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASC
II code for the first character in a string\",\"help-contents\": \"Returns the A
SCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"aut

hors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-varargs\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip


\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc si
ne of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267
949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Retu
rns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent o
f a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.56524082839
42\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tool
tip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns t
he arc tangent of two given numbers (x and y). The result is in radians. \\n\\n
Example: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig
\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expression
if it has one value for all rows\",\"help-contents\": \"Returns the value of th
e given expression if it only has a single value for all rows in the group, othe
rwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([
Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip
\": \"Returns the average of the values in the expression\",\"help-contents\": \
"Returns the average of all the values in the expression. AVG can be used with n
umeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"fun
c-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE
<else>] END\",\"func-tooltip\": \"Performs logical tests and returns the approp
riate value\",\"help-contents\": \"Finds the first <value> that matches <expr> a
nd returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \
u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"log
ic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"fu
nc-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest
integer of equal or greater value\",\"help-contents\": \"Rounds a number to the
nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts
an integer ASCII code into a character\",\"help-contents\": \"Converts the give
n integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"
Returns true if a string contains the specified substring\",\"help-contents\": \
"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\"
Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\":
\"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in r
adians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle
in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"
func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle
specified in radians\",\"help-contents\": \"Returns the cotangent of an angle.
Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"n
um\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\
",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of
items in the expression\",\"help-contents\": \"Returns the number of items in a
group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"na
me\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Return
s the number of distinct items in the expression\",\"help-contents\": \"Returns
the number of distinct items in a group. NULL values are not counted. Each uniq
ue value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"D

ATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from


a number\",\"help-contents\": \"Returns a date given a number, string, or date
expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote
that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"D
ATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified da
te incremented by the specified amount\",\"help-contents\": \"Adds an increment
to the specified date and returns the new date. The increment is defined by the
interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2
004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",
\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"fun
c-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-t
ooltip\": \"Returns the difference between two dates\",\"help-contents\": \"Retu
rns the difference between two dates where start_date is subtracted from end_dat
e. The difference is expressed in units of date_part. If start_of_week is omitte
d, the week start day is determined by the start day configured for the data sou
rce.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\
",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetim
e\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \
"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part
of the specified date as a string\",\"help-contents\": \"Returns a part of the
given date as a string, where the part is defined by date_part. If start_of_week
is omitted, the week start day is determined by the start day configured for th
e data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\
"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(form
at, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents\
": \"Converts a string to a date in the specified format. \\n\\nExample: DATEPAR
SE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"fu
nc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": f
alse},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_o
f_week])\",\"func-tooltip\": \"Returns the specified part of a date as an intege
r\",\"help-contents\": \"Returns a part of the given date as an integer where th
e part is defined by date_part. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DAT
EPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[
\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETI
ME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a dateti
me from a number\",\"help-contents\": \"Returns a datetime given a number, strin
g, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\")
\\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"fu
nc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"fun
c-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Tru
ncates the specified date to the specified accuracy\",\"help-contents\": \"Trunc
ates the specified date to the accuracy specified by the date_part and returns t
he new date. If start_of_week is omitted, the week start day is determined by th
e start day configured for the data source.\\n\\nExample: DATETRUNC('quarter', #
2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-type
s\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"D
AY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the
specified date as an integer\",\"help-contents\": \"Returns the day of the give
n date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"
date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"
DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value
in radians to degrees\",\"help-contents\": \"Converts a number in radians to de
grees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"
DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divisi
on operation\",\"help-contents\": \"Returns the integer part of a division.\\n\\
nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer

\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF


<expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"functooltip\": \"Performs a logical test and returns an appropriate value\",\"help-c
ontents\": \"Tests a series of expressions returning the <then> value for the fi
rst true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit
] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr
> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-toolt
ip\": \"Performs a logical test and returns an appropriate value\",\"help-conten
ts\": \"Tests a series of expressions returning the <then> value for the first t
rue <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0
THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <
then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"
Performs a logical test and returns an appropriate value\",\"help-contents\": \"
Tests a series of expressions returning the <then> value for the first true <exp
r>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'B
reakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, su
bstring)\",\"func-tooltip\": \"Returns true if the specified string ends with th
e specified substring\",\"help-contents\": \"Returns true if the string ends wit
h the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Ca
lculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\":
\"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Co
mputes an aggregate excluding the specified dimensions if present in the view.\"
,\"help-contents\": \"Computes an aggregate excluding the specified dimensions i
f present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\
": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns e
raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\":
\"Returns the position of a substring within a string\",\"help-contents\": \"Ret
urns the position of a substring within a string, or 0 if the substring isn't fo
und. If the start argument is defined, any instances of substring that appear be
fore the start position are ignored. The first character in the string is positi
on 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false
},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\
",\"func-tooltip\": \"Returns the position of the nth occurrence a substring wit
hin a string\",\"help-contents\": \"Returns the position of the nth occurrence o
f a substring within a string, or 0 if that occurrence of the substring isn't fo
und. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\\
"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func
-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the f
irst row in the partition\",\"help-contents\": \"Returns the number of rows from
the current row to the first row in the partition.\\n\\nExample (current row in
dex is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[
],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[,
dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate u
sing only the specified dimensions.\",\"help-contents\": \"Computes an aggregate
using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expres
sion)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-contents
\": \"Returns a float given an expression of any type. This function requires un
formatted numbers which means exclude commas and other symbols. \\n\\nExample:
FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean
\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\

",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser


value\",\"help-contents\": \"Rounds a number to the nearest integer of equal or
lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-s
ig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current u
ser\",\"help-contents\": \"Returns the full name for the current user. This is t
he Tableau Server or Tableau Online full name when the user is signed in; otherw
ise it is the local or network full name for the Tableau Desktop user.\",\"funcgrps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HE
XBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns th
e x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y
) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have sid
e length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name
\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Re
turns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps
an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <t
hen2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and r
eturns an appropriate value\",\"help-contents\": \"Tests a series of expressions
returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profit
] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns
expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not nul
l, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\
":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func
-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",\"h
elp-contents\": \"Checks whether a condition is met, and returns one value if TR
UE, another value if FALSE, and an optional third value or NULL if unknown. \\n\
\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},
{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-e
xpression }\",\"func-tooltip\": \"Computes an aggregate using the specified dime
nsions and the view dimensions.\",\"help-contents\": \"Computes an aggregate usi
ng the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\":
\"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the par
tition\",\"help-contents\": \"Returns the index of the current row in the partit
ion.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT
\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression
and returns an integer\",\"help-contents\": \"Returns an integer given an expre
ssion. This function truncates results to the closest integer toward zero. \\n\\
nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-a
rg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-s
ig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a val
id date\",\"help-contents\": \"Returns true if a given string is a valid date.
\\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date
\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \
"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns t
rue if the current user's full name matches the specified name\",\"help-contents
\": \"Returns true if the current user's full name matches the specified full na
me, or false if it does not match. This function uses the Tableau Server or Tabl
eau Online full name when the user is signed in; otherwise it uses the local or
network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fun
c-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"

func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the curre


nt user is a member of the specified group\",\"help-contents\": \"Returns true i
f the current user is a member of the given group, false otherwise. This uses t
he Tableau Server to resolve group membership if logged on, otherwise it always
returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"hasvar-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"
func-tooltip\": \"Returns true if the specified expression is null\",\"help-cont
ents\": \"Returns true if the expression does not contain valid data (Null).\\n\
\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"bo
olean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUS
ERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name mat
ches the specified user name\",\"help-contents\": \"Returns true if the current
user's username matches the specified username, or false if it does not match. T
his function uses the Tableau Server or Tableau Online username when the user is
signed in; otherwise it uses the local or network username for the Tableau Desk
top user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-a
rgs\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"R
eturns the number of rows to the last row in the partition\",\"help-contents\":
\"Returns the number of rows from the current row to the last row in the partiti
on.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[
\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"
func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specifie
d number of characters from the start of a string\",\"help-contents\": \"Returns
the specified number of characters from the start of the given string. \\n\\nE
xample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",
\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of characte
rs in a string\",\"help-contents\": \"Returns the number of characters in the gi
ven string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\
"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"fun
c-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a n
umber\",\"help-contents\": \"Returns the natural logarithm of the given number.
Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5))
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\":
\"Returns the logarithm of a number for the given base\",\"help-contents\": \"Re
turns the logarithm of a number for the given base. If the base value is omitted
, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"fun
c-tooltip\": \"Returns the value of the expression in a row offset from current
row\",\"help-contents\": \"Returns the value of the given expression in a target
row, specified as a relative offset from the current row. Use FIRST()+n and LAS
T()-n for a target relative to the first/last rows in the partition. If offset i
s omitted, the Compare To row may be set on the field menu. Returns NULL if the
target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) +
2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string
in all lowercase characters\",\"help-contents\": \"Converts a text string to all
lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"
func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"n
ame\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a s
tring with leading spaces removed\",\"help-contents\": \"Returns the string with
any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\
"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false
},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-to
oltip\": \"Returns a date value constructed from a year, a month and a day of th
e month.\",\"help-contents\": \"Returns a date value constructed from a year, a
month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-g

rps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"hasvar-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date


, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time\
",\"help-contents\": \"Returns a date and time value given a date expression and
a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"f
unc-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\
": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)
\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes and
seconds.\",\"help-contents\": \"Returns a time value constructed from hours, min
utes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",
\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \"
Returns the maximum of a single expression across all records or the maximum of
two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\
"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"
],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expressi
on)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents\
": \"Returns the median of a single expression. MEDIAN can be used with numeric
fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-gr
ps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Return
s the characters from the middle of a text string\",\"help-contents\": \"Returns
the characters from the middle of a text string given a starting position and a
length. The first character in the string is position 1. If the length is not i
ncluded, all characters to the end of the string are returned. If the length is
included, up to that many characters are returned. \\n\\nExample: MID(\\\"Tablea
u Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\"
,2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"rea
l\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(ex
pression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an e
xpression\",\"help-contents\": \"Returns the minimum of an expression across all
records or the minimum of two expressions for each record. \\n\\nExample: MIN(
[Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-ar
g-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"fu
nc-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the spec
ified date as an integer\",\"help-contents\": \"Returns the month of a given dat
e as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date
\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\
",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs l
ogical negation on an expression\",\"help-contents\": \"Performs logical negatio
n on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-a
rgs\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Ret
urns the current date and time\",\"help-contents\": \"Returns the current date a
nd time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"
],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\":
\"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logica
l disjunction on two expressions\",\"help-contents\": \"Performs a logical disju
nction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expres
sion, number)\",\"func-tooltip\": \"Returns the percentile value at the specifie
d number\",\"help-contents\": \"Aggregate calculation that returns the percentil
e value from the given expression corresponding to the specified number. Valid v
alues for the number are 0 through 1. PERCENTILE([expression], 0.50) will always
return the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.
90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-va
r-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Re
turns the numeric constant pi\",\"help-contents\": \"Returns the numeric constan
t pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(

number,power)\",\"func-tooltip\": \"Raises the number to the specified power\",\


"help-contents\": \"Returns the result of a number raised to the given power. \\
n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":
[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"fun
c-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of
this calculation in the previous row\",\"help-contents\": \"Returns the value o
f this calculation in the previous row. Returns the given expression if the curr
ent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOU
S_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(
1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \
"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\"
,\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RAN
K\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retur
ns the competition rank for the current partition row\",\"help-contents\": \"Ret
urns the standard competition rank for the current row in the partition. Identic
al values are assigned an identical rank. Use the optional 'asc' | 'desc' argume
nt to specify ascending or descending order. The default order is descending.\\n
\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2,
4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"
name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",
\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"hel
p-contents\": \"Returns the dense rank for the current row in the partition. Ide
ntical values are assigned an identical rank, but no gaps are inserted into the
number sequence. Use the optional 'asc' | 'desc' argument to specify ascending o
r descending order. The default order is descending.\\n\\nWith this function, th
e set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\
n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIE
D\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\"
: \"Returns the modified competition rank for the current partition row\",\"help
-contents\": \"Returns the modified competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'as
c' | 'desc' argument to specify ascending or descending order. The default order
is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would b
e ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Veloc
ity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\
"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERC
ENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile
rank for the current partition row\",\"help-contents\": \"Returns the percentile
rank for the current row in the partition. Use the optional 'asc' | 'desc' argu
ment to specify ascending or descending order. The default order is ascending.\\
n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75,
75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var
-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expressio
n, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the current
partition row\",\"help-contents\": \"Returns the unique rank for the current ro
w in the partition. Identical values are assigned different ranks. Use the optio
nal 'asc' | 'desc' argument to specify ascending or descending order. The defaul
t order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1
for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT
\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns
the portion of a string matching the capturing group in a regular expression\",
\"help-contents\": \"Returns a substring of the given string that matches the ca
pturing group within the regular expression pattern. The regular expression pat

tern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 12


3', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"
func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"R
eturns a substring of a string using a regular expression pattern\",\"help-conte
nts\": \"Returns a substring of the given string using the regular expression pa
ttern. The substring is matched to the nth capturing group, where n is the give
n index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)',
2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locin
t\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP
_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches a
regular expression\",\"help-contents\": \"Returns true if a substring of the pr
ovided string matches the regular expression pattern. \\n\\nExample: REGEXP_MATC
H('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') =
true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-ar
gs\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string
, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrings
matching a regular expression are replaced\",\"help-contents\": \"Returns a copy
of the given string where the matching pattern is substituted with the replacem
ent string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'
\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-va
r-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substrin
g, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring with
in a string\",\"help-contents\": \"Returns a string in which every occurrence of
the substring is replaced with the replacement string. If the substring is not
found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"
ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-t
ypes\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\
"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specif
ied number of characters from the end of a string\",\"help-contents\": \"Returns
the specified number of characters from the end of the given string. \\n\\nExa
mple: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"f
unc-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\"
,\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number
to the specified number of places\",\"help-contents\": \"Rounds a number to the
nearest integer or to a specified number of decimal places. \\n\\nExample: ROUN
D(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real
\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\
",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-con
tents\": \"Returns the string with any trailing spaces removed. \\n\\nExample:
RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\":
\"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of
an expression\",\"help-contents\": \"Returns the running average of the given ex
pression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNN
ING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Retu
rns the running count of an expression\",\"help-contents\": \"Returns the runnin
g count of the given expression, from the first row in the partition to the curr
ent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profi
t)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"fun
c-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\":
\"Returns the running maximum of the given expression, from the first row in th
e partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = runni
ng maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum
of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expr
ession)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"h

elp-contents\": \"Returns the running minimum of the given expression, from the
first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Pr
ofit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = r
unning minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"R
UNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expre
ssion\",\"help-contents\": \"Returns the running sum of the given expression, fr
om the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM(
SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])
) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"in
teger\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCR
IPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result
from an R expression\",\"help-contents\": \"Returns a Boolean result from a giv
en R expression. The R expression is passed directly to a running Rserve instanc
e. Use .arg# in the R expression to reference parameters. In the following examp
le, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.a
rg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(s
tring, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an
R expression\",\"help-contents\": \"Returns an integer result from a given R exp
ression. The R expression is passed directly to a running Rserve instance. Use .
arg# in the R expression to reference parameters. In the following example, .arg
1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)
\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"
has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(str
ing, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R e
xpression\",\"help-contents\": \"Returns a numeric result from a given R express
ion. The R expression is passed directly to a running Rserve instance. Use .arg#
in the R expression to reference parameters. In the following example, .arg1 is
equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Pr
ofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression
, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"he
lp-contents\": \"Returns a string result from a given R expression. The R expres
sion is passed directly to a running Rserve instance. Use .arg# in the R express
ion to reference parameters. In the following example, .arg1 is equal to ATTR([R
egion]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true}
,{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns
1 for a positive number\",\"help-contents\": \"Returns the sign of a number: 1 i
f the number is positive, zero if the number is zero, or -1 if the number is neg
ative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angl
e)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Ret
urns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/
4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tool
tip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Retu
rns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\n
SIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"
Returns a string containing the specified number of spaces\",\"help-contents\":
\"Returns a string composed of the specified number of repeated spaces. \\n\\nEx
ample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string,
delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a stri
ng\",\"help-contents\": \"Returns a substring from a string, as determined by a
delimiter extracting the characters from the beginning or end of the string. \\n
\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-',
-2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"loc

int\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)


\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\":
\"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the squar
e of a number\",\"help-contents\": \"Returns the square of a given number. \\n\\
nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(s
tring, substring)\",\"func-tooltip\": \"Returns true if the specified string sta
rts with the specified substring\",\"help-contents\": \"Returns true if the stri
ng starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\
"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],
\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\
",\"func-tooltip\": \"Returns the sample standard deviation for an expression\",
\"help-contents\": \"Returns the sample standard deviation of the expression.\\n
\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expres
sion)\",\"func-tooltip\": \"Returns the population standard deviation for an exp
ression\",\"help-contents\": \"Returns the population standard deviation of the
expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"S
TR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"helpcontents\": \"Returns a string given an expression. \\n\\nExample: STR([Age]) r
eturns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast\
"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",
\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values
in an expression\",\"help-contents\": \"Returns the sum of all the values in the
expression. SUM can be used with numeric fields only. Null values are ignored.\
\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"f
unc-tooltip\": \"Returns the tangent of an angle specified in radians\",\"help-c
ontents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\\
nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \
"Performs a logical test and returns an appropriate value\",\"help-contents\": \
"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tool
tip\": \"Returns the current date\",\"help-contents\": \"Returns the current dat
e. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(exp
ression)\",\"func-tooltip\": \"Returns the total for an expression within the pa
rtition\",\"help-contents\": \"Returns the total for the given expression.\\n\\n
Example: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribut
e to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],
\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"fu
nc-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"he
lp-contents\": \"Returns the string with both leading and trailing spaces remove
d. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",
\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all uppe
rcase characters\",\"help-contents\": \"Converts a text string to all uppercase
letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"US
ERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain
for the current user\",\"help-contents\": \"Returns the domain for the current
user when the user is signed on to Tableau Server. Returns the Windows domain if
the Tableau Desktop user is on a domain. Otherwise this function returns a null

string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Retu
rns the user name for the current user\",\"help-contents\": \"Returns the userna
me for the current user. This is the Tableau Server or Tableau Online username w
hen the user is signed in; otherwise it is the local or network username for the
Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-too
ltip\": \"Returns the sample variance for an expression\",\"help-contents\": \"R
eturns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"fu
nc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns th
e population variance for an expression\",\"help-contents\": \"Returns the popul
ation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHE
N\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] E
ND\",\"func-tooltip\": \"Performs logical tests and returns the appropriate valu
e\",\"help-contents\": \"Finds the first <value> that matches <expr> and returns
the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u20
19 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\
": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the aver
age of the values within the window\",\"help-contents\": \"Returns the average o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDO
W_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-toolti
p\": \"Returns the number of items within the window\",\"help-contents\": \"Retu
rns the count of the expression within the window. The window is defined as off
sets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partiti
on is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Prof
it) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"
func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"
name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"
func-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"R
eturns the maximum of the expression within the window. The window is defined a
s offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire pa
rtition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Pro
fit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([
Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the curr
ent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\":
\"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the med
ian within the window\",\"help-contents\": \"Returns the median of the expressio
n within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WIND
OW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous ro
ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"fun
c-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns th
e minimum within the window\",\"help-contents\": \"Returns the minimum of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous ro

ws to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum o


f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\
": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(exp
ression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile valu
e at the specified number\",\"help-contents\": \"Returns the value corresponding
to the specified percentile within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th p
ercentile of SUM(Profit) from the two previous rows to the current row\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"intege
r\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW
_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample standa
rd deviation within the window\",\"help-contents\": \"Returns the sample standar
d deviation of the expression within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Pr
ofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{
\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, en
d])\",\"func-tooltip\": \"Returns the population standard deviation within the w
indow\",\"help-contents\": \"Returns the population standard deviation of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two p
revious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_S
UM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"
Returns the sum of values within the window\",\"help-contents\": \"Returns the s
um of the expression within the window. The window is defined as offsets from t
he current row. Use FIRST()+n and LAST()-n for offsets from the first or last ro
w in the partition. If start and end are omitted, the entire partition is used.
\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WI
NDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip
\": \"Returns the sample variance within the window\",\"help-contents\": \"Retur
ns the sample variance of the expression within the window. The window is defin
ed as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the entir
e partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start
, end])\",\"func-tooltip\": \"Returns the population variance within the window\
",\"help-contents\": \"Returns the population variance of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()+
n and LAST()-n for offsets from the first or last row in the partition. If star
t and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(S
UM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to the
current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\
",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR
(date)\",\"func-tooltip\": \"Returns the year of the specified date as an intege
r\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\\n
Example: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\"
:[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(ex
pression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"hel

p-contents\": \"Returns <expression> if it is not null, otherwise returns zero.


\\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calculat
ion-dialog\",\"use-parameters\": true} position=\"63\"","name":"tabdoc:calculati
on-auto-complete"}}
{"ts":"2016-09-29T16:43:00.216","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC
('month',[Order Date])-DATETRUNC('month',[Calculationq])\" calculation={\"dataso
urce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \
"Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"sco
pe-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])DATETRUNC('month',[Calculation5])\",\"fn\": \"\",\"fn-source\": \"\",\"calculati
on-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folderrole\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\":
0,\"style-token-list\":[],\"error-string\": \"Error in calculation:\\n\\nRefere
nce to undefined field [Calculation5].\\n\\nWould you like to correct the calcul
ation?\",\"error-info-list\":[{\"start-position-for-error\": 50,\"length-of-calc
-of-error\": 14,\"error-message\": \"Reference to undefined field [Calculation5]
.\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"fun
c-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a num
ber\",\"help-contents\": \"Returns the absolute value of the given number. \\n\\
nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func
-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns
the arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"hasvar-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THE
N <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two express
ions\",\"help-contents\": \"Performs a logical conjunction on two expressions\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the AS
CII code for the first character in a string\",\"help-contents\": \"Returns the
ASCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"au
thors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var
-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-toolti
p\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc s
ine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.570796326
7949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Ret
urns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent
of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408283
942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-too
ltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns
the arc tangent of two given numbers (x and y). The result is in radians. \\n\\
nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-ty
pes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-si
g\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expressio
n if it has one value for all rows\",\"help-contents\": \"Returns the value of t
he given expression if it only has a single value for all rows in the group, oth
erwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR(
[Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-toolti
p\": \"Returns the average of the values in the expression\",\"help-contents\":
\"Returns the average of all the values in the expression. AVG can be used with
numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"fu
nc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELS
E <else>] END\",\"func-tooltip\": \"Performs logical tests and returns the appro

priate value\",\"help-contents\": \"Finds the first <value> that matches <expr>


and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN
\u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"lo
gic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"f
unc-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the neares
t integer of equal or greater value\",\"help-contents\": \"Rounds a number to th
e nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\
",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false}
,{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Convert
s an integer ASCII code into a character\",\"help-contents\": \"Converts the giv
en integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \
"Returns true if a string contains the specified substring\",\"help-contents\":
\"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\
"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\":
\"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in
radians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle
in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"nu
m\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\
"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angl
e specified in radians\",\"help-contents\": \"Returns the cotangent of an angle.
Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"
num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT
\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of
items in the expression\",\"help-contents\": \"Returns the number of items in a
group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"n
ame\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Retur
ns the number of distinct items in the expression\",\"help-contents\": \"Returns
the number of distinct items in a group. NULL values are not counted. Each uni
que value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"
DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date fro
m a number\",\"help-contents\": \"Returns a date given a number, string, or date
expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote
that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"
DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified d
ate incremented by the specified amount\",\"help-contents\": \"Adds an increment
to the specified date and returns the new date. The increment is defined by the
interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) =
2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\"
,\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"fu
nc-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"functooltip\": \"Returns the difference between two dates\",\"help-contents\": \"Ret
urns the difference between two dates where start_date is subtracted from end_da
te. The difference is expressed in units of date_part. If start_of_week is omitt
ed, the week start day is determined by the start day configured for the data so
urce.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3
\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"dateti
me\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\":
\"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a par
t of the specified date as a string\",\"help-contents\": \"Returns a part of the
given date as a string, where the part is defined by date_part. If start_of_wee
k is omitted, the week start day is determined by the start day configured for t
he data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",
\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"]
,\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(for

mat, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents


\": \"Converts a string to a date in the specified format. \\n\\nExample: DATEPA
RSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"f
unc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\":
false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_
of_week])\",\"func-tooltip\": \"Returns the specified part of a date as an integ
er\",\"help-contents\": \"Returns a part of the given date as an integer where t
he part is defined by date_part. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DA
TEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":
[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATET
IME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datet
ime from a number\",\"help-contents\": \"Returns a datetime given a number, stri
ng, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\"
) \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"f
unc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"fu
nc-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Tr
uncates the specified date to the specified accuracy\",\"help-contents\": \"Trun
cates the specified date to the accuracy specified by the date_part and returns
the new date. If start_of_week is omitted, the week start day is determined by t
he start day configured for the data source.\\n\\nExample: DATETRUNC('quarter',
#2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-typ
es\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"
DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of th
e specified date as an integer\",\"help-contents\": \"Returns the day of the giv
en date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\
"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \
"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a valu
e in radians to degrees\",\"help-contents\": \"Converts a number in radians to d
egrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \
"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divis
ion operation\",\"help-contents\": \"Returns the integer part of a division.\\n\
\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"intege
r\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF
<expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func
-tooltip\": \"Performs a logical test and returns an appropriate value\",\"helpcontents\": \"Tests a series of expressions returning the <then> value for the f
irst true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profi
t] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <exp
r> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tool
tip\": \"Performs a logical test and returns an appropriate value\",\"help-conte
nts\": \"Tests a series of expressions returning the <then> value for the first
true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =
0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \
"Performs a logical test and returns an appropriate value\",\"help-contents\": \
"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, s
ubstring)\",\"func-tooltip\": \"Returns true if the specified string ends with t
he specified substring\",\"help-contents\": \"Returns true if the string ends wi
th the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"C
alculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\"
: \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"C
omputes an aggregate excluding the specified dimensions if present in the view.\

",\"help-contents\": \"Computes an aggregate excluding the specified dimensions


if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip
\": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns e
raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\":
\"Returns the position of a substring within a string\",\"help-contents\": \"Re
turns the position of a substring within a string, or 0 if the substring isn't f
ound. If the start argument is defined, any instances of substring that appear b
efore the start position are ignored. The first character in the string is posit
ion 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": fals
e},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)
\",\"func-tooltip\": \"Returns the position of the nth occurrence a substring wi
thin a string\",\"help-contents\": \"Returns the position of the nth occurrence
of a substring within a string, or 0 if that occurrence of the substring isn't f
ound. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\
\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"fun
c-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the
first row in the partition\",\"help-contents\": \"Returns the number of rows fro
m the current row to the first row in the partition.\\n\\nExample (current row i
ndex is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":
[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[,
dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate
using only the specified dimensions.\",\"help-contents\": \"Computes an aggregat
e using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-type
s\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expre
ssion)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-content
s\": \"Returns a float given an expression of any type. This function requires u
nformatted numbers which means exclude commas and other symbols. \\n\\nExample:
FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolea
n\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)
\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser
value\",\"help-contents\": \"Rounds a number to the nearest integer of equal or
lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"funcsig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current
user\",\"help-contents\": \"Returns the full name for the current user. This is
the Tableau Server or Tableau Online full name when the user is signed in; other
wise it is the local or network full name for the Tableau Desktop user.\",\"func
-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"H
EXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns t
he x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,
y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have si
de length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"nam
e\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"R
eturns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Map
s an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false
},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <
then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and
returns an appropriate value\",\"help-contents\": \"Tests a series of expression
s returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profi
t] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Return

s expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not nu


ll, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps
\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": fa
lse},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"fun
c-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",\"
help-contents\": \"Checks whether a condition is met, and returns one value if T
RUE, another value if FALSE, and an optional third value or NULL if unknown. \\n
\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregateexpression }\",\"func-tooltip\": \"Computes an aggregate using the specified dim
ensions and the view dimensions.\",\"help-contents\": \"Computes an aggregate us
ing the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\"
: \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the pa
rtition\",\"help-contents\": \"Returns the index of the current row in the parti
tion.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IN
T\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expressio
n and returns an integer\",\"help-contents\": \"Returns an integer given an expr
ession. This function truncates results to the closest integer toward zero. \\n\
\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"funcarg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"funcsig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a va
lid date\",\"help-contents\": \"Returns true if a given string is a valid date.
\\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"dat
e\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns
true if the current user's full name matches the specified name\",\"help-content
s\": \"Returns true if the current user's full name matches the specified full n
ame, or false if it does not match. This function uses the Tableau Server or Tab
leau Online full name when the user is signed in; otherwise it uses the local or
network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fu
nc-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\
"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the curr
ent user is a member of the specified group\",\"help-contents\": \"Returns true
if the current user is a member of the given group, false otherwise. This uses
the Tableau Server to resolve group membership if logged on, otherwise it always
returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has
-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\
"func-tooltip\": \"Returns true if the specified expression is null\",\"help-con
tents\": \"Returns true if the expression does not contain valid data (Null).\\n
\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"b
oolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISU
SERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name ma
tches the specified user name\",\"help-contents\": \"Returns true if the current
user's username matches the specified username, or false if it does not match.
This function uses the Tableau Server or Tableau Online username when the user i
s signed in; otherwise it uses the local or network username for the Tableau Des
ktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-varargs\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"
Returns the number of rows to the last row in the partition\",\"help-contents\":
\"Returns the number of rows from the current row to the last row in the partit
ion.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":
[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\
"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specifi
ed number of characters from the start of a string\",\"help-contents\": \"Return
s the specified number of characters from the start of the given string. \\n\\n
Example: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\
"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\"

,\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of charact


ers in a string\",\"help-contents\": \"Returns the number of characters in the g
iven string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str
\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"fu
nc-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a
number\",\"help-contents\": \"Returns the natural logarithm of the given number.
Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5))
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\":
\"Returns the logarithm of a number for the given base\",\"help-contents\": \"R
eturns the logarithm of a number for the given base. If the base value is omitte
d, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\
"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\":
false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"fu
nc-tooltip\": \"Returns the value of the expression in a row offset from current
row\",\"help-contents\": \"Returns the value of the given expression in a targe
t row, specified as a relative offset from the current row. Use FIRST()+n and LA
ST()-n for a target relative to the first/last rows in the partition. If offset
is omitted, the Compare To row may be set on the field menu. Returns NULL if the
target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) +
2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\"
: \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string
in all lowercase characters\",\"help-contents\": \"Converts a text string to al
l lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"
name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a
string with leading spaces removed\",\"help-contents\": \"Returns the string wit
h any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\
\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fals
e},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-t
ooltip\": \"Returns a date value constructed from a year, a month and a day of t
he month.\",\"help-contents\": \"Returns a date value constructed from a year, a
month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"funcgrps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has
-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(dat
e, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time
\",\"help-contents\": \"Returns a date and time value given a date expression an
d a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"
func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args
\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second
)\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes and
seconds.\",\"help-contents\": \"Returns a time value constructed from hours, mi
nutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cas
t\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\"
,\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \
"Returns the maximum of a single expression across all records or the maximum of
two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[
\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\
"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(express
ion)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents
\": \"Returns the median of a single expression. MEDIAN can be used with numeric
fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-g
rps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Retur
ns the characters from the middle of a text string\",\"help-contents\": \"Return
s the characters from the middle of a text string given a starting position and
a length. The first character in the string is position 1. If the length is not
included, all characters to the end of the string are returned. If the length is

included, up to that many characters are returned. \\n\\nExample: MID(\\\"Table


au Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\
",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"re
al\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(e
xpression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an
expression\",\"help-contents\": \"Returns the minimum of an expression across al
l records or the minimum of two expressions for each record. \\n\\nExample: MIN
([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-a
rg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"f
unc-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the spe
cified date as an integer\",\"help-contents\": \"Returns the month of a given da
te as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"dat
e\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT
\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs
logical negation on an expression\",\"help-contents\": \"Performs logical negati
on on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Re
turns the current date and time\",\"help-contents\": \"Returns the current date
and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\
"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\"
: \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logic
al disjunction on two expressions\",\"help-contents\": \"Performs a logical disj
unction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expre
ssion, number)\",\"func-tooltip\": \"Returns the percentile value at the specifi
ed number\",\"help-contents\": \"Aggregate calculation that returns the percenti
le value from the given expression corresponding to the specified number. Valid
values for the number are 0 through 1. PERCENTILE([expression], 0.50) will alway
s return the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0
.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-v
ar-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"R
eturns the numeric constant pi\",\"help-contents\": \"Returns the numeric consta
nt pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER
(number,power)\",\"func-tooltip\": \"Raises the number to the specified power\",
\"help-contents\": \"Returns the result of a number raised to the given power. \
\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"fu
nc-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value o
f this calculation in the previous row\",\"help-contents\": \"Returns the value
of this calculation in the previous row. Returns the given expression if the cur
rent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIO
US_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE
(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\":
\"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\
",\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RA
NK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retu
rns the competition rank for the current partition row\",\"help-contents\": \"Re
turns the standard competition rank for the current row in the partition. Identi
cal values are assigned an identical rank. Use the optional 'asc' | 'desc' argum
ent to specify ascending or descending order. The default order is descending.\\
n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2
, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\
"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\"
,\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"he
lp-contents\": \"Returns the dense rank for the current row in the partition. Id
entical values are assigned an identical rank, but no gaps are inserted into the

number sequence. Use the optional 'asc' | 'desc' argument to specify ascending
or descending order. The default order is descending.\\n\\nWith this function, t
he set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\
\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFI
ED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\
": \"Returns the modified competition rank for the current partition row\",\"hel
p-contents\": \"Returns the modified competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'a
sc' | 'desc' argument to specify ascending or descending order. The default orde
r is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velo
city]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PER
CENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile
rank for the current partition row\",\"help-contents\": \"Returns the percentil
e rank for the current row in the partition. Use the optional 'asc' | 'desc' arg
ument to specify ascending or descending order. The default order is ascending.\
\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75
, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-va
r-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expressi
on, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the curren
t partition row\",\"help-contents\": \"Returns the unique rank for the current r
ow in the partition. Identical values are assigned different ranks. Use the opti
onal 'asc' | 'desc' argument to specify ascending or descending order. The defau
lt order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() =
1 for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRAC
T\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Return
s the portion of a string matching the capturing group in a regular expression\"
,\"help-contents\": \"Returns a substring of the given string that matches the c
apturing group within the regular expression pattern. The regular expression pa
ttern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 1
23', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\
"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"
Returns a substring of a string using a regular expression pattern\",\"help-cont
ents\": \"Returns a substring of the given string using the regular expression p
attern. The substring is matched to the nth capturing group, where n is the giv
en index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)',
2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"loci
nt\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEX
P_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches
a regular expression\",\"help-contents\": \"Returns true if a substring of the p
rovided string matches the regular expression pattern. \\n\\nExample: REGEXP_MAT
CH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') =
true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-a
rgs\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(strin
g, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrings
matching a regular expression are replaced\",\"help-contents\": \"Returns a cop
y of the given string where the matching pattern is substituted with the replace
ment string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123
'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-v
ar-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substri
ng, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring wit
hin a string\",\"help-contents\": \"Returns a string in which every occurrence o
f the substring is replaced with the replacement string. If the substring is not
found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\

"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",


\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the speci
fied number of characters from the end of a string\",\"help-contents\": \"Return
s the specified number of characters from the end of the given string. \\n\\nEx
ample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\
",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a numbe
r to the specified number of places\",\"help-contents\": \"Rounds a number to th
e nearest integer or to a specified number of decimal places. \\n\\nExample: ROU
ND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"rea
l\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)
\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-co
ntents\": \"Returns the string with any trailing spaces removed. \\n\\nExample:
RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\"
: \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of
an expression\",\"help-contents\": \"Returns the running average of the given e
xpression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUN
NING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Ret
urns the running count of an expression\",\"help-contents\": \"Returns the runni
ng count of the given expression, from the first row in the partition to the cur
rent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Prof
it)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"fu
nc-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\"
: \"Returns the running maximum of the given expression, from the first row in t
he partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = runn
ing maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum
of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"h
as-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(exp
ression)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"
help-contents\": \"Returns the running minimum of the given expression, from the
first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([P
rofit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) =
running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"
RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expr
ession\",\"help-contents\": \"Returns the running sum of the given expression, f
rom the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM
(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit]
)) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"i
nteger\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SC
RIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean resul
t from an R expression\",\"help-contents\": \"Returns a Boolean result from a gi
ven R expression. The R expression is passed directly to a running Rserve instan
ce. Use .arg# in the R expression to reference parameters. In the following exam
ple, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.
arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(
string, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an
R expression\",\"help-contents\": \"Returns an integer result from a given R ex
pression. The R expression is passed directly to a running Rserve instance. Use
.arg# in the R expression to reference parameters. In the following example, .ar
g1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5
)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\
"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(st
ring, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R

expression\",\"help-contents\": \"Returns a numeric result from a given R expres


sion. The R expression is passed directly to a running Rserve instance. Use .arg
# in the R expression to reference parameters. In the following example, .arg1 i
s equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([P
rofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args
\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expressio
n, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"h
elp-contents\": \"Returns a string result from a given R expression. The R expre
ssion is passed directly to a running Rserve instance. Use .arg# in the R expres
sion to reference parameters. In the following example, .arg1 is equal to ATTR([
Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))
\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true
},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns
1 for a positive number\",\"help-contents\": \"Returns the sign of a number: 1
if the number is positive, zero if the number is zero, or -1 if the number is ne
gative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(ang
le)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Re
turns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()
/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-too
ltip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Ret
urns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\
nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \
"Returns a string containing the specified number of spaces\",\"help-contents\":
\"Returns a string composed of the specified number of repeated spaces. \\n\\nE
xample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string
, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a str
ing\",\"help-contents\": \"Returns a substring from a string, as determined by a
delimiter extracting the characters from the beginning or end of the string. \\
n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-',
-2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"lo
cint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number
)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\":
\"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grp
s\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the squa
re of a number\",\"help-contents\": \"Returns the square of a given number. \\n\
\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"
],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(
string, substring)\",\"func-tooltip\": \"Returns true if the specified string st
arts with the specified substring\",\"help-contents\": \"Returns true if the str
ing starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\
\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"]
,\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)
\",\"func-tooltip\": \"Returns the sample standard deviation for an expression\"
,\"help-contents\": \"Returns the sample standard deviation of the expression.\\
n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expre
ssion)\",\"func-tooltip\": \"Returns the population standard deviation for an ex
pression\",\"help-contents\": \"Returns the population standard deviation of the
expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"
STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"help
-contents\": \"Returns a string given an expression. \\n\\nExample: STR([Age])
returns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\"
,\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values

in an expression\",\"help-contents\": \"Returns the sum of all the values in th


e expression. SUM can be used with numeric fields only. Null values are ignored.
\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"
func-tooltip\": \"Returns the tangent of an angle specified in radians\",\"helpcontents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\
\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\":
\"Performs a logical test and returns an appropriate value\",\"help-contents\":
\"Tests a series of expressions returning the <then> value for the first true <e
xpr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN
'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"
has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-too
ltip\": \"Returns the current date\",\"help-contents\": \"Returns the current da
te. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(ex
pression)\",\"func-tooltip\": \"Returns the total for an expression within the p
artition\",\"help-contents\": \"Returns the total for the given expression.\\n\\
nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribu
te to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"]
,\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"f
unc-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"h
elp-contents\": \"Returns the string with both leading and trailing spaces remov
ed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\"
,\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all upp
ercase characters\",\"help-contents\": \"Converts a text string to all uppercase
letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"U
SERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domai
n for the current user\",\"help-contents\": \"Returns the domain for the current
user when the user is signed on to Tableau Server. Returns the Windows domain i
f the Tableau Desktop user is on a domain. Otherwise this function returns a nul
l string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Ret
urns the user name for the current user\",\"help-contents\": \"Returns the usern
ame for the current user. This is the Tableau Server or Tableau Online username
when the user is signed in; otherwise it is the local or network username for th
e Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-to
oltip\": \"Returns the sample variance for an expression\",\"help-contents\": \"
Returns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"f
unc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n
ame\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns t
he population variance for an expression\",\"help-contents\": \"Returns the popu
lation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":
[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WH
EN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>]
END\",\"func-tooltip\": \"Performs logical tests and returns the appropriate val
ue\",\"help-contents\": \"Finds the first <value> that matches <expr> and return
s the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2
019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"f
unc-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig
\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the ave
rage of the values within the window\",\"help-contents\": \"Returns the average
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i
n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the t

wo previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types


\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIND
OW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-toolt
ip\": \"Returns the number of items within the window\",\"help-contents\": \"Ret
urns the count of the expression within the window. The window is defined as of
fsets from the current row. Use FIRST()+n and LAST()-n for offsets from the firs
t or last row in the partition. If start and end are omitted, the entire partit
ion is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Pro
fit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\
"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\
"func-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"
Returns the maximum of the expression within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire p
artition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Pr
ofit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM(
[Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the cur
rent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"
,\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\"
: \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the me
dian within the window\",\"help-contents\": \"Returns the median of the expressi
on within the window. The window is defined as offsets from the current row. Us
e FIRST()+n and LAST()-n for offsets from the first or last row in the partition
. If start and end are omitted, the entire partition is used.\\n\\nExample: WIN
DOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous r
ows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",
\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"fu
nc-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns t
he minimum within the window\",\"help-contents\": \"Returns the minimum of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous r
ows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args
\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(ex
pression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile val
ue at the specified number\",\"help-contents\": \"Returns the value correspondin
g to the specified percentile within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th
percentile of SUM(Profit) from the two previous rows to the current row\",\"func
-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integ
er\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDO
W_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample stand
ard deviation within the window\",\"help-contents\": \"Returns the sample standa
rd deviation of the expression within the window. The window is defined as offs
ets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partitio
n is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(P
rofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},
{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, e
nd])\",\"func-tooltip\": \"Returns the population standard deviation within the
window\",\"help-contents\": \"Returns the population standard deviation of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa

rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_
SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \
"Returns the sum of values within the window\",\"help-contents\": \"Returns the
sum of the expression within the window. The window is defined as offsets from
the current row. Use FIRST()+n and LAST()-n for offsets from the first or last r
ow in the partition. If start and end are omitted, the entire partition is used
.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the t
wo previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"W
INDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-toolti
p\": \"Returns the sample variance within the window\",\"help-contents\": \"Retu
rns the sample variance of the expression within the window. The window is defi
ned as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the enti
re partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [star
t, end])\",\"func-tooltip\": \"Returns the population variance within the window
\",\"help-contents\": \"Returns the population variance of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()
+n and LAST()-n for offsets from the first or last row in the partition. If sta
rt and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(
SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to th
e current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEA
R(date)\",\"func-tooltip\": \"Returns the year of the specified date as an integ
er\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\\
nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\
":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(e
xpression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"he
lp-contents\": \"Returns <expression> if it is not null, otherwise returns zero.
\\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-typ
es\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calcula
tion-dialog\",\"use-parameters\": true} position=\"63\"","name":"tabdoc:calculat
ion-auto-complete"}}
{"ts":"2016-09-29T16:43:00.450","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC(
'month',[Order Date])-DATETRUNC('month',[Calculation])\" calculation={\"datasour
ce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \"C
alculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"scope
-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])-DA
TETRUNC('month',[Calculation5])\",\"fn\": \"\",\"fn-source\": \"\",\"calculation
-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-ro
le\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\": 0
,\"style-token-list\":[],\"error-string\": \"Error in calculation:\\n\\nReferenc
e to undefined field [Calculation5].\\n\\nWould you like to correct the calculat
ion?\",\"error-info-list\":[{\"start-position-for-error\": 50,\"length-of-calc-o
f-error\": 14,\"error-message\": \"Reference to undefined field [Calculation5].\
"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"funcsig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a numbe
r\",\"help-contents\": \"Returns the absolute value of the given number. \\n\\nE
xample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"ha
s-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-t
ooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns th
e arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) = 3

.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN
<then> END\",\"func-tooltip\": \"Performs a logical conjunction on two expressio
ns\",\"help-contents\": \"Performs a logical conjunction on two expressions\",\"
func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\"
: \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASCI
I code for the first character in a string\",\"help-contents\": \"Returns the AS
CII code value of the first character in a string. \\n\\nExample: ASCII(\\\"auth
ors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-a
rgs\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\
": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc sin
e of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.57079632679
49\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Retur
ns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent of
a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.565240828394
2\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-toolt
ip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns th
e arc tangent of two given numbers (x and y). The result is in radians. \\n\\nE
xample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-type
s\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig\
": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expression
if it has one value for all rows\",\"help-contents\": \"Returns the value of the
given expression if it only has a single value for all rows in the group, other
wise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([M
arket])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-arg
s\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip\
": \"Returns the average of the values in the expression\",\"help-contents\": \"
Returns the average of all the values in the expression. AVG can be used with nu
meric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE
<else>] END\",\"func-tooltip\": \"Performs logical tests and returns the appropr
iate value\",\"help-contents\": \"Finds the first <value> that matches <expr> an
d returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u
2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logi
c\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"fun
c-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest
integer of equal or greater value\",\"help-contents\": \"Rounds a number to the
nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\",
\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{
\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts
an integer ASCII code into a character\",\"help-contents\": \"Converts the given
integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-grp
s\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"R
eturns true if a string contains the specified substring\",\"help-contents\": \"
Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\"C
alculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types
\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\": \
"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in ra
dians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle i
n radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"f
unc-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle
specified in radians\",\"help-contents\": \"Returns the cotangent of an angle. S
pecify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"nu
m\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\"
,\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of i

tems in the expression\",\"help-contents\": \"Returns the number of items in a g


roup. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func-g
rps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"nam
e\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Returns
the number of distinct items in the expression\",\"help-contents\": \"Returns t
he number of distinct items in a group. NULL values are not counted. Each uniqu
e value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"
agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"DA
TE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from
a number\",\"help-contents\": \"Returns a date given a number, string, or date e
xpression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote t
hat the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-type
s\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"DA
TEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified dat
e incremented by the specified amount\",\"help-contents\": \"Adds an increment t
o the specified date and returns the new date. The increment is defined by the i
nterval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 20
04-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\
"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"func
-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-to
oltip\": \"Returns the difference between two dates\",\"help-contents\": \"Retur
ns the difference between two dates where start_date is subtracted from end_date
. The difference is expressed in units of date_part. If start_of_week is omitted
, the week start day is determined by the start day configured for the data sour
ce.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\"
,\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetime
\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \"
DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part
of the specified date as a string\",\"help-contents\": \"Returns a part of the g
iven date as a string, where the part is defined by date_part. If start_of_week
is omitted, the week start day is determined by the start day configured for the
data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"
func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\
"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(forma
t, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents\"
: \"Converts a string to a date in the specified format. \\n\\nExample: DATEPARS
E (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"fun
c-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": fa
lse},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_of
_week])\",\"func-tooltip\": \"Returns the specified part of a date as an integer
\",\"help-contents\": \"Returns a part of the given date as an integer where the
part is defined by date_part. If start_of_week is omitted, the week start day i
s determined by the start day configured for the data source.\\n\\nExample: DATE
PART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\
"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETIM
E\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datetim
e from a number\",\"help-contents\": \"Returns a datetime given a number, string
, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\")
\\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"fun
c-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"func
-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Trun
cates the specified date to the specified accuracy\",\"help-contents\": \"Trunca
tes the specified date to the accuracy specified by the date_part and returns th
e new date. If start_of_week is omitted, the week start day is determined by the
start day configured for the data source.\\n\\nExample: DATETRUNC('quarter', #2
004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types
\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DA
Y\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the
specified date as an integer\",\"help-contents\": \"Returns the day of the given
date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"d

ate\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"D


EGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value
in radians to degrees\",\"help-contents\": \"Converts a number in radians to deg
rees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"D
IV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divisio
n operation\",\"help-contents\": \"Returns the integer part of a division.\\n\\n
Example: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer\
",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <
expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-t
ooltip\": \"Performs a logical test and returns an appropriate value\",\"help-co
ntents\": \"Tests a series of expressions returning the <then> value for the fir
st true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit]
= 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-typ
es\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr>
THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-toolti
p\": \"Performs a logical test and returns an appropriate value\",\"help-content
s\": \"Tests a series of expressions returning the <then> value for the first tr
ue <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0
THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":
[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <t
hen> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"P
erforms a logical test and returns an appropriate value\",\"help-contents\": \"T
ests a series of expressions returning the <then> value for the first true <expr
>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Br
eakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has
-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, sub
string)\",\"func-tooltip\": \"Returns true if the specified string ends with the
specified substring\",\"help-contents\": \"Returns true if the string ends with
the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Cal
culation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":
[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\":
\"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Com
putes an aggregate excluding the specified dimensions if present in the view.\",
\"help-contents\": \"Computes an aggregate excluding the specified dimensions if
present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\"
: \"Returns e raised to the power of a number\",\"help-contents\": \"Returns e r
aised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-gr
ps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\": \
"Returns the position of a substring within a string\",\"help-contents\": \"Retu
rns the position of a substring within a string, or 0 if the substring isn't fou
nd. If the start argument is defined, any instances of substring that appear bef
ore the start position are ignored. The first character in the string is positio
n 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\":
[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false}
,{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\"
,\"func-tooltip\": \"Returns the position of the nth occurrence a substring with
in a string\",\"help-contents\": \"Returns the position of the nth occurrence of
a substring within a string, or 0 if that occurrence of the substring isn't fou
nd. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\\"
Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\":
[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"funcsig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the fi
rst row in the partition\",\"help-contents\": \"Returns the number of rows from
the current row to the first row in the partition.\\n\\nExample (current row ind
ex is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[]
,\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[, d
im2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate us

ing only the specified dimensions.\",\"help-contents\": \"Computes an aggregate


using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(express
ion)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-contents\
": \"Returns a float given an expression of any type. This function requires unf
ormatted numbers which means exclude commas and other symbols. \\n\\nExample: F
LOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\
"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\"
,\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser v
alue\",\"help-contents\": \"Rounds a number to the nearest integer of equal or l
esser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-si
g\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current us
er\",\"help-contents\": \"Returns the full name for the current user. This is th
e Tableau Server or Tableau Online full name when the user is signed in; otherwi
se it is the local or network full name for the Tableau Desktop user.\",\"func-g
rps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HEX
BINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns the
x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y)
coordinate to the x-coordinate of the nearest hexagonal bin. The bins have side
length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[\
"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\
": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Ret
urns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps
an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins h
ave side length 1, so the inputs may need to be scaled appropriately.\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},
{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <th
en2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and re
turns an appropriate value\",\"help-contents\": \"Tests a series of expressions
returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profit]
> 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"
func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\"
: \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns
expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not null
, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\"
:[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": fals
e},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"functooltip\": \"Evaluates a Boolean expression and returns one of two values\",\"he
lp-contents\": \"Checks whether a condition is met, and returns one value if TRU
E, another value if FALSE, and an optional third value or NULL if unknown. \\n\\
nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"func
-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},{
\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-ex
pression }\",\"func-tooltip\": \"Computes an aggregate using the specified dimen
sions and the view dimensions.\",\"help-contents\": \"Computes an aggregate usin
g the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\"
func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\":
\"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the part
ition\",\"help-contents\": \"Returns the index of the current row in the partiti
on.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT\
",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression
and returns an integer\",\"help-contents\": \"Returns an integer given an expres
sion. This function truncates results to the closest integer toward zero. \\n\\n
Example: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-ar
g-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-si
g\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a vali
d date\",\"help-contents\": \"Returns true if a given string is a valid date. \
\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date\

",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"


ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns tr
ue if the current user's full name matches the specified name\",\"help-contents\
": \"Returns true if the current user's full name matches the specified full nam
e, or false if it does not match. This function uses the Tableau Server or Table
au Online full name when the user is signed in; otherwise it uses the local or n
etwork full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func
-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"f
unc-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the curren
t user is a member of the specified group\",\"help-contents\": \"Returns true if
the current user is a member of the given group, false otherwise. This uses th
e Tableau Server to resolve group membership if logged on, otherwise it always r
eturns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-v
ar-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"f
unc-tooltip\": \"Returns true if the specified expression is null\",\"help-conte
nts\": \"Returns true if the expression does not contain valid data (Null).\\n\\
nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boo
lean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUSE
RNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name matc
hes the specified user name\",\"help-contents\": \"Returns true if the current u
ser's username matches the specified username, or false if it does not match. Th
is function uses the Tableau Server or Tableau Online username when the user is
signed in; otherwise it uses the local or network username for the Tableau Deskt
op user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-ar
gs\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"Re
turns the number of rows to the last row in the partition\",\"help-contents\": \
"Returns the number of rows from the current row to the last row in the partitio
n.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[\
"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"f
unc-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specified
number of characters from the start of a string\",\"help-contents\": \"Returns
the specified number of characters from the start of the given string. \\n\\nEx
ample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"f
unc-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",\
"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of character
s in a string\",\"help-contents\": \"Returns the number of characters in the giv
en string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\"
],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"func
-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a nu
mber\",\"help-contents\": \"Returns the natural logarithm of the given number. R
eturns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5)) =
5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\": \
"Returns the logarithm of a number for the given base\",\"help-contents\": \"Ret
urns the logarithm of a number for the given base. If the base value is omitted,
base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"f
unc-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": fa
lse},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"func
-tooltip\": \"Returns the value of the expression in a row offset from current r
ow\",\"help-contents\": \"Returns the value of the given expression in a target
row, specified as a relative offset from the current row. Use FIRST()+n and LAST
()-n for a target relative to the first/last rows in the partition. If offset is
omitted, the Compare To row may be set on the field menu. Returns NULL if the t
arget row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) + 2
) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"],\
"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string i
n all lowercase characters\",\"help-contents\": \"Converts a text string to all
lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"f
unc-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"na

me\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a st


ring with leading spaces removed\",\"help-contents\": \"Returns the string with
any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\"
\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false}
,{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-too
ltip\": \"Returns a date value constructed from a year, a month and a day of the
month.\",\"help-contents\": \"Returns a date value constructed from a year, a m
onth and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-gr
ps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-v
ar-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date,
time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time\"
,\"help-contents\": \"Returns a date and time value given a date expression and
a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"fu
nc-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\"
: false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)\
",\"func-tooltip\": \"Returns a time value constructed from hours, minutes and s
econds.\",\"help-contents\": \"Returns a time value constructed from hours, minu
tes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast\
"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": fa
lse},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",\
"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \"R
eturns the maximum of a single expression across all records or the maximum of t
wo expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\"
num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"]
,\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expressio
n)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents\"
: \"Returns the median of a single expression. MEDIAN can be used with numeric f
ields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-grp
s\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Returns
the characters from the middle of a text string\",\"help-contents\": \"Returns
the characters from the middle of a text string given a starting position and a
length. The first character in the string is position 1. If the length is not in
cluded, all characters to the end of the string are returned. If the length is i
ncluded, up to that many characters are returned. \\n\\nExample: MID(\\\"Tableau
Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\",
2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real
\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(exp
ression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an ex
pression\",\"help-contents\": \"Returns the minimum of an expression across all
records or the minimum of two expressions for each record. \\n\\nExample: MIN([
Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg
-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"fun
c-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the speci
fied date as an integer\",\"help-contents\": \"Returns the month of a given date
as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date\
"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\"
,\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs lo
gical negation on an expression\",\"help-contents\": \"Performs logical negation
on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-ar
gs\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Retu
rns the current date and time\",\"help-contents\": \"Returns the current date an
d time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"]
,\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\":
\"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical
disjunction on two expressions\",\"help-contents\": \"Performs a logical disjun
ction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has
-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(express
ion, number)\",\"func-tooltip\": \"Returns the percentile value at the specified
number\",\"help-contents\": \"Aggregate calculation that returns the percentile

value from the given expression corresponding to the specified number. Valid va
lues for the number are 0 through 1. PERCENTILE([expression], 0.50) will always
return the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.9
0)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-var
-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Ret
urns the numeric constant pi\",\"help-contents\": \"Returns the numeric constant
pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(n
umber,power)\",\"func-tooltip\": \"Raises the number to the specified power\",\"
help-contents\": \"Returns the result of a number raised to the given power. \\n
\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[
\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"func
-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of
this calculation in the previous row\",\"help-contents\": \"Returns the value of
this calculation in the previous row. Returns the given expression if the curre
nt row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOUS
_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(1
) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \"
RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\",
\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":[\
"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RANK
\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Return
s the competition rank for the current partition row\",\"help-contents\": \"Retu
rns the standard competition rank for the current row in the partition. Identica
l values are assigned an identical rank. Use the optional 'asc' | 'desc' argumen
t to specify ascending or descending order. The default order is descending.\\n\
\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2,
4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"ta
ble\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"n
ame\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",\
"func-tooltip\": \"Returns the dense rank for the current partition row\",\"help
-contents\": \"Returns the dense rank for the current row in the partition. Iden
tical values are assigned an identical rank, but no gaps are inserted into the n
umber sequence. Use the optional 'asc' | 'desc' argument to specify ascending or
descending order. The default order is descending.\\n\\nWith this function, the
set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\n
\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIED
\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\":
\"Returns the modified competition rank for the current partition row\",\"helpcontents\": \"Returns the modified competition rank for the current row in the p
artition. Identical values are assigned an identical rank. Use the optional 'asc
' | 'desc' argument to specify ascending or descending order. The default order
is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be
ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Veloci
ty]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"
has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERCE
NTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile r
ank for the current partition row\",\"help-contents\": \"Returns the percentile
rank for the current row in the partition. Use the optional 'asc' | 'desc' argum
ent to specify ascending or descending order. The default order is ascending.\\n
\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75,
75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\",
\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-varargs\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expression
, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the current
partition row\",\"help-contents\": \"Returns the unique rank for the current row
in the partition. Identical values are assigned different ranks. Use the option
al 'asc' | 'desc' argument to specify ascending or descending order. The default

order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) w


ould be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1
for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT\
",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns
the portion of a string matching the capturing group in a regular expression\",\
"help-contents\": \"Returns a substring of the given string that matches the cap
turing group within the regular expression pattern. The regular expression patt
ern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 123
', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":
[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"f
unc-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"Re
turns a substring of a string using a regular expression pattern\",\"help-conten
ts\": \"Returns a substring of the given string using the regular expression pat
tern. The substring is matched to the nth capturing group, where n is the given
index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)', 2
) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locint
\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP_
MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches a
regular expression\",\"help-contents\": \"Returns true if a substring of the pro
vided string matches the regular expression pattern. \\n\\nExample: REGEXP_MATCH
('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') = t
rue\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-arg
s\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string,
pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrings m
atching a regular expression are replaced\",\"help-contents\": \"Returns a copy
of the given string where the matching pattern is substituted with the replaceme
nt string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'\
",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var
-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substring
, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring withi
n a string\",\"help-contents\": \"Returns a string in which every occurrence of
the substring is replaced with the replacement string. If the substring is not f
ound, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"i
on\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\"
func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specifi
ed number of characters from the end of a string\",\"help-contents\": \"Returns
the specified number of characters from the end of the given string. \\n\\nExam
ple: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"fu
nc-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\",
\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number
to the specified number of places\",\"help-contents\": \"Rounds a number to the
nearest integer or to a specified number of decimal places. \\n\\nExample: ROUND
(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\
"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\"
,\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-cont
ents\": \"Returns the string with any trailing spaces removed. \\n\\nExample: R
TRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\":
\"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of a
n expression\",\"help-contents\": \"Returns the running average of the given exp
ression, from the first row in the partition to the current row.\\n\\nExample: R
UNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"ta
ble\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNI
NG_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Retur
ns the running count of an expression\",\"help-contents\": \"Returns the running
count of the given expression, from the first row in the partition to the curre
nt row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profit
)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa

lse},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"func


-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\":
\"Returns the running maximum of the given expression, from the first row in the
partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = runnin
g maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum o
f SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has
-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expre
ssion)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"he
lp-contents\": \"Returns the running minimum of the given expression, from the f
irst row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Pro
fit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = ru
nning minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"i
nteger\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"RU
NNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expres
sion\",\"help-contents\": \"Returns the running sum of the given expression, fro
m the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM(S
UM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit]))
= running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"int
eger\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCRI
PT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result
from an R expression\",\"help-contents\": \"Returns a Boolean result from a give
n R expression. The R expression is passed directly to a running Rserve instance
. Use .arg# in the R expression to reference parameters. In the following exampl
e, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.ar
g1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"]
,\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(st
ring, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an R
expression\",\"help-contents\": \"Returns an integer result from a given R expr
ession. The R expression is passed directly to a running Rserve instance. Use .a
rg# in the R expression to reference parameters. In the following example, .arg1
is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)\
\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"h
as-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(stri
ng, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R ex
pression\",\"help-contents\": \"Returns a numeric result from a given R expressi
on. The R expression is passed directly to a running Rserve instance. Use .arg#
in the R expression to reference parameters. In the following example, .arg1 is
equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Pro
fit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\"
: true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression,
...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"hel
p-contents\": \"Returns a string result from a given R expression. The R express
ion is passed directly to a running Rserve instance. Use .arg# in the R expressi
on to reference parameters. In the following example, .arg1 is equal to ATTR([Re
gion]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},
{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns 1
for a positive number\",\"help-contents\": \"Returns the sign of a number: 1 if
the number is positive, zero if the number is zero, or -1 if the number is nega
tive.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\":
[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angle
)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Retu
rns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/4
) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-toolt
ip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Retur
ns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\nS
IZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": f
alse},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"R
eturns a string containing the specified number of spaces\",\"help-contents\": \

"Returns a string composed of the specified number of repeated spaces. \\n\\nExa


mple: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string,
delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a strin
g\",\"help-contents\": \"Returns a substring from a string, as determined by a d
elimiter extracting the characters from the beginning or end of the string. \\n\
\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"loci
nt\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)\
",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\": \
"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps\
":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the square
of a number\",\"help-contents\": \"Returns the square of a given number. \\n\\n
Example: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(st
ring, substring)\",\"func-tooltip\": \"Returns true if the specified string star
ts with the specified substring\",\"help-contents\": \"Returns true if the strin
g starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\"
Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\
"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\"
,\"func-tooltip\": \"Returns the sample standard deviation for an expression\",\
"help-contents\": \"Returns the sample standard deviation of the expression.\\n\
\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\
"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(express
ion)\",\"func-tooltip\": \"Returns the population standard deviation for an expr
ession\",\"help-contents\": \"Returns the population standard deviation of the e
xpression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-t
ypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"ST
R(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"help-c
ontents\": \"Returns a string given an expression. \\n\\nExample: STR([Age]) re
turns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast\"
],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",\
"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values i
n an expression\",\"help-contents\": \"Returns the sum of all the values in the
expression. SUM can be used with numeric fields only. Null values are ignored.\\
n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\
"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"fu
nc-tooltip\": \"Returns the tangent of an angle specified in radians\",\"help-co
ntents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\\n
Example: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\
"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN <
then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"
Performs a logical test and returns an appropriate value\",\"help-contents\": \"
Tests a series of expressions returning the <then> value for the first true <exp
r>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'B
reakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-toolt
ip\": \"Returns the current date\",\"help-contents\": \"Returns the current date
. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-typ
es\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(expr
ession)\",\"func-tooltip\": \"Returns the total for an expression within the par
tition\",\"help-contents\": \"Returns the total for the given expression.\\n\\nE
xample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribute
to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\
"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"fun
c-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"hel
p-contents\": \"Returns the string with both leading and trailing spaces removed
. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"str
\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",\

"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all upper


case characters\",\"help-contents\": \"Converts a text string to all uppercase l
etters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\":
[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"USE
RDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain
for the current user\",\"help-contents\": \"Returns the domain for the current u
ser when the user is signed on to Tableau Server. Returns the Windows domain if
the Tableau Desktop user is on a domain. Otherwise this function returns a null
string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false
},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Retur
ns the user name for the current user\",\"help-contents\": \"Returns the usernam
e for the current user. This is the Tableau Server or Tableau Online username wh
en the user is signed in; otherwise it is the local or network username for the
Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-tool
tip\": \"Returns the sample variance for an expression\",\"help-contents\": \"Re
turns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"fun
c-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns the
population variance for an expression\",\"help-contents\": \"Returns the popula
tion variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHEN
\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] EN
D\",\"func-tooltip\": \"Performs logical tests and returns the appropriate value
\",\"help-contents\": \"Finds the first <value> that matches <expr> and returns
the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u201
9 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\"
: \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the avera
ge of the values within the window\",\"help-contents\": \"Returns the average of
the expression within the window. The window is defined as offsets from the cu
rrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\\
nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW
_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-tooltip
\": \"Returns the number of items within the window\",\"help-contents\": \"Retur
ns the count of the expression within the window. The window is defined as offs
ets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partitio
n is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Profi
t) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"f
unc-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"n
ame\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"f
unc-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"Re
turns the maximum of the expression within the window. The window is defined as
offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the f
irst or last row in the partition. If start and end are omitted, the entire par
tition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Prof
it from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([P
rofit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the curre
nt row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\
"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\":
\"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the medi
an within the window\",\"help-contents\": \"Returns the median of the expression
within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WINDO
W_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous row

s to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"


integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"func
-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns the
minimum within the window\",\"help-contents\": \"Returns the minimum of the exp
ression within the window. The window is defined as offsets from the current ro
w. Use FIRST()+n and LAST()-n for offsets from the first or last row in the part
ition. If start and end are omitted, the entire partition is used.\\n\\nExample
: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous row
s to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"ta
ble\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\"
: false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(expr
ession, number, [start, end])\",\"func-tooltip\": \"Returns the percentile value
at the specified number\",\"help-contents\": \"Returns the value corresponding
to the specified percentile within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition i
s used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th pe
rcentile of SUM(Profit) from the two previous rows to the current row\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integer
\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW_
STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample standar
d deviation within the window\",\"help-contents\": \"Returns the sample standard
deviation of the expression within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Pro
fit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\
"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, end
])\",\"func-tooltip\": \"Returns the population standard deviation within the wi
ndow\",\"help-contents\": \"Returns the population standard deviation of the exp
ression within the window. The window is defined as offsets from the current ro
w. Use FIRST()+n and LAST()-n for offsets from the first or last row in the part
ition. If start and end are omitted, the entire partition is used.\\n\\nExample
: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two pr
evious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_SU
M\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"R
eturns the sum of values within the window\",\"help-contents\": \"Returns the su
m of the expression within the window. The window is defined as offsets from th
e current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\
\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIN
DOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip\
": \"Returns the sample variance within the window\",\"help-contents\": \"Return
s the sample variance of the expression within the window. The window is define
d as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from t
he first or last row in the partition. If start and end are omitted, the entire
partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"ta
ble\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start,
end])\",\"func-tooltip\": \"Returns the population variance within the window\"
,\"help-contents\": \"Returns the population variance of the expression within t
he window. The window is defined as offsets from the current row. Use FIRST()+n
and LAST()-n for offsets from the first or last row in the partition. If start
and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(SU

M([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to the
current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\"
,\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR(
date)\",\"func-tooltip\": \"Returns the year of the specified date as an integer
\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\\nE
xample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\":
[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(exp
ression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"help
-contents\": \"Returns <expression> if it is not null, otherwise returns zero.
\\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-types
\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calculati
on-dialog\",\"use-parameters\": true} position=\"62\"","name":"tabdoc:calculatio
n-auto-complete"}}
{"ts":"2016-09-29T16:43:00.450","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC
('month',[Order Date])-DATETRUNC('month',[Calculation])\" calculation={\"datasou
rce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \"
Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"scop
e-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])-D
ATETRUNC('month',[Calculation5])\",\"fn\": \"\",\"fn-source\": \"\",\"calculatio
n-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-r
ole\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\":
0,\"style-token-list\":[],\"error-string\": \"Error in calculation:\\n\\nReferen
ce to undefined field [Calculation5].\\n\\nWould you like to correct the calcula
tion?\",\"error-info-list\":[{\"start-position-for-error\": 50,\"length-of-calcof-error\": 14,\"error-message\": \"Reference to undefined field [Calculation5].
\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func
-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a numb
er\",\"help-contents\": \"Returns the absolute value of the given number. \\n\\n
Example: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"h
as-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"functooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns t
he arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-v
ar-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN
<then> END\",\"func-tooltip\": \"Performs a logical conjunction on two expressi
ons\",\"help-contents\": \"Performs a logical conjunction on two expressions\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASC
II code for the first character in a string\",\"help-contents\": \"Returns the A
SCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"aut
hors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-varargs\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip
\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc si
ne of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267
949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Retu
rns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent o
f a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.56524082839
42\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tool
tip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns t
he arc tangent of two given numbers (x and y). The result is in radians. \\n\\n
Example: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig
\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expression
if it has one value for all rows\",\"help-contents\": \"Returns the value of th
e given expression if it only has a single value for all rows in the group, othe
rwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([

Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip
\": \"Returns the average of the values in the expression\",\"help-contents\": \
"Returns the average of all the values in the expression. AVG can be used with n
umeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"fun
c-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE
<else>] END\",\"func-tooltip\": \"Performs logical tests and returns the approp
riate value\",\"help-contents\": \"Finds the first <value> that matches <expr> a
nd returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \
u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"log
ic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"fu
nc-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest
integer of equal or greater value\",\"help-contents\": \"Rounds a number to the
nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts
an integer ASCII code into a character\",\"help-contents\": \"Converts the give
n integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"
Returns true if a string contains the specified substring\",\"help-contents\": \
"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\"
Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\":
\"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in r
adians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle
in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"
func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle
specified in radians\",\"help-contents\": \"Returns the cotangent of an angle.
Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"n
um\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\
",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of
items in the expression\",\"help-contents\": \"Returns the number of items in a
group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"na
me\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Return
s the number of distinct items in the expression\",\"help-contents\": \"Returns
the number of distinct items in a group. NULL values are not counted. Each uniq
ue value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"D
ATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from
a number\",\"help-contents\": \"Returns a date given a number, string, or date
expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote
that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"D
ATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified da
te incremented by the specified amount\",\"help-contents\": \"Adds an increment
to the specified date and returns the new date. The increment is defined by the
interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2
004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",
\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"fun
c-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-t
ooltip\": \"Returns the difference between two dates\",\"help-contents\": \"Retu
rns the difference between two dates where start_date is subtracted from end_dat
e. The difference is expressed in units of date_part. If start_of_week is omitte
d, the week start day is determined by the start day configured for the data sou
rce.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\
",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetim

e\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \


"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part
of the specified date as a string\",\"help-contents\": \"Returns a part of the
given date as a string, where the part is defined by date_part. If start_of_week
is omitted, the week start day is determined by the start day configured for th
e data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\
"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(form
at, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents\
": \"Converts a string to a date in the specified format. \\n\\nExample: DATEPAR
SE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"fu
nc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": f
alse},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_o
f_week])\",\"func-tooltip\": \"Returns the specified part of a date as an intege
r\",\"help-contents\": \"Returns a part of the given date as an integer where th
e part is defined by date_part. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DAT
EPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[
\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETI
ME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a dateti
me from a number\",\"help-contents\": \"Returns a datetime given a number, strin
g, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\")
\\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"fu
nc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"fun
c-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Tru
ncates the specified date to the specified accuracy\",\"help-contents\": \"Trunc
ates the specified date to the accuracy specified by the date_part and returns t
he new date. If start_of_week is omitted, the week start day is determined by th
e start day configured for the data source.\\n\\nExample: DATETRUNC('quarter', #
2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-type
s\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"D
AY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the
specified date as an integer\",\"help-contents\": \"Returns the day of the give
n date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"
date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"
DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value
in radians to degrees\",\"help-contents\": \"Converts a number in radians to de
grees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"
DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divisi
on operation\",\"help-contents\": \"Returns the integer part of a division.\\n\\
nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF
<expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"functooltip\": \"Performs a logical test and returns an appropriate value\",\"help-c
ontents\": \"Tests a series of expressions returning the <then> value for the fi
rst true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit
] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr
> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-toolt
ip\": \"Performs a logical test and returns an appropriate value\",\"help-conten
ts\": \"Tests a series of expressions returning the <then> value for the first t
rue <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0
THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <
then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"
Performs a logical test and returns an appropriate value\",\"help-contents\": \"
Tests a series of expressions returning the <then> value for the first true <exp
r>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'B
reakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha

s-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, su


bstring)\",\"func-tooltip\": \"Returns true if the specified string ends with th
e specified substring\",\"help-contents\": \"Returns true if the string ends wit
h the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Ca
lculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\":
\"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Co
mputes an aggregate excluding the specified dimensions if present in the view.\"
,\"help-contents\": \"Computes an aggregate excluding the specified dimensions i
f present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\
": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns e
raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\":
\"Returns the position of a substring within a string\",\"help-contents\": \"Ret
urns the position of a substring within a string, or 0 if the substring isn't fo
und. If the start argument is defined, any instances of substring that appear be
fore the start position are ignored. The first character in the string is positi
on 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false
},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\
",\"func-tooltip\": \"Returns the position of the nth occurrence a substring wit
hin a string\",\"help-contents\": \"Returns the position of the nth occurrence o
f a substring within a string, or 0 if that occurrence of the substring isn't fo
und. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\\
"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func
-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the f
irst row in the partition\",\"help-contents\": \"Returns the number of rows from
the current row to the first row in the partition.\\n\\nExample (current row in
dex is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[
],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[,
dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate u
sing only the specified dimensions.\",\"help-contents\": \"Computes an aggregate
using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expres
sion)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-contents
\": \"Returns a float given an expression of any type. This function requires un
formatted numbers which means exclude commas and other symbols. \\n\\nExample:
FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean
\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\
",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser
value\",\"help-contents\": \"Rounds a number to the nearest integer of equal or
lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-s
ig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current u
ser\",\"help-contents\": \"Returns the full name for the current user. This is t
he Tableau Server or Tableau Online full name when the user is signed in; otherw
ise it is the local or network full name for the Tableau Desktop user.\",\"funcgrps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HE
XBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns th
e x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y
) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have sid
e length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name
\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Re
turns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps
an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"func-

grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <t
hen2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and r
eturns an appropriate value\",\"help-contents\": \"Tests a series of expressions
returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profit
] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns
expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not nul
l, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\
":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func
-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",\"h
elp-contents\": \"Checks whether a condition is met, and returns one value if TR
UE, another value if FALSE, and an optional third value or NULL if unknown. \\n\
\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},
{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-e
xpression }\",\"func-tooltip\": \"Computes an aggregate using the specified dime
nsions and the view dimensions.\",\"help-contents\": \"Computes an aggregate usi
ng the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\":
\"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the par
tition\",\"help-contents\": \"Returns the index of the current row in the partit
ion.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT
\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression
and returns an integer\",\"help-contents\": \"Returns an integer given an expre
ssion. This function truncates results to the closest integer toward zero. \\n\\
nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-a
rg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-s
ig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a val
id date\",\"help-contents\": \"Returns true if a given string is a valid date.
\\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date
\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \
"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns t
rue if the current user's full name matches the specified name\",\"help-contents
\": \"Returns true if the current user's full name matches the specified full na
me, or false if it does not match. This function uses the Tableau Server or Tabl
eau Online full name when the user is signed in; otherwise it uses the local or
network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fun
c-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"
func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the curre
nt user is a member of the specified group\",\"help-contents\": \"Returns true i
f the current user is a member of the given group, false otherwise. This uses t
he Tableau Server to resolve group membership if logged on, otherwise it always
returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"hasvar-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"
func-tooltip\": \"Returns true if the specified expression is null\",\"help-cont
ents\": \"Returns true if the expression does not contain valid data (Null).\\n\
\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"bo
olean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUS
ERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name mat
ches the specified user name\",\"help-contents\": \"Returns true if the current
user's username matches the specified username, or false if it does not match. T
his function uses the Tableau Server or Tableau Online username when the user is
signed in; otherwise it uses the local or network username for the Tableau Desk
top user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-a
rgs\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"R
eturns the number of rows to the last row in the partition\",\"help-contents\":

\"Returns the number of rows from the current row to the last row in the partiti
on.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[
\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"
func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specifie
d number of characters from the start of a string\",\"help-contents\": \"Returns
the specified number of characters from the start of the given string. \\n\\nE
xample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",
\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of characte
rs in a string\",\"help-contents\": \"Returns the number of characters in the gi
ven string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\
"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"fun
c-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a n
umber\",\"help-contents\": \"Returns the natural logarithm of the given number.
Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5))
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\":
\"Returns the logarithm of a number for the given base\",\"help-contents\": \"Re
turns the logarithm of a number for the given base. If the base value is omitted
, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"fun
c-tooltip\": \"Returns the value of the expression in a row offset from current
row\",\"help-contents\": \"Returns the value of the given expression in a target
row, specified as a relative offset from the current row. Use FIRST()+n and LAS
T()-n for a target relative to the first/last rows in the partition. If offset i
s omitted, the Compare To row may be set on the field menu. Returns NULL if the
target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) +
2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string
in all lowercase characters\",\"help-contents\": \"Converts a text string to all
lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"
func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"n
ame\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a s
tring with leading spaces removed\",\"help-contents\": \"Returns the string with
any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\
"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false
},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-to
oltip\": \"Returns a date value constructed from a year, a month and a day of th
e month.\",\"help-contents\": \"Returns a date value constructed from a year, a
month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-g
rps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"hasvar-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date
, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time\
",\"help-contents\": \"Returns a date and time value given a date expression and
a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"f
unc-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\
": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)
\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes and
seconds.\",\"help-contents\": \"Returns a time value constructed from hours, min
utes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",
\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \"
Returns the maximum of a single expression across all records or the maximum of
two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\
"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"
],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expressi
on)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents\

": \"Returns the median of a single expression. MEDIAN can be used with numeric
fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-gr
ps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Return
s the characters from the middle of a text string\",\"help-contents\": \"Returns
the characters from the middle of a text string given a starting position and a
length. The first character in the string is position 1. If the length is not i
ncluded, all characters to the end of the string are returned. If the length is
included, up to that many characters are returned. \\n\\nExample: MID(\\\"Tablea
u Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\"
,2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"rea
l\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(ex
pression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an e
xpression\",\"help-contents\": \"Returns the minimum of an expression across all
records or the minimum of two expressions for each record. \\n\\nExample: MIN(
[Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-ar
g-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"fu
nc-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the spec
ified date as an integer\",\"help-contents\": \"Returns the month of a given dat
e as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date
\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\
",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs l
ogical negation on an expression\",\"help-contents\": \"Performs logical negatio
n on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-a
rgs\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Ret
urns the current date and time\",\"help-contents\": \"Returns the current date a
nd time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"
],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\":
\"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logica
l disjunction on two expressions\",\"help-contents\": \"Performs a logical disju
nction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expres
sion, number)\",\"func-tooltip\": \"Returns the percentile value at the specifie
d number\",\"help-contents\": \"Aggregate calculation that returns the percentil
e value from the given expression corresponding to the specified number. Valid v
alues for the number are 0 through 1. PERCENTILE([expression], 0.50) will always
return the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.
90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-va
r-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Re
turns the numeric constant pi\",\"help-contents\": \"Returns the numeric constan
t pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(
number,power)\",\"func-tooltip\": \"Raises the number to the specified power\",\
"help-contents\": \"Returns the result of a number raised to the given power. \\
n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":
[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"fun
c-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of
this calculation in the previous row\",\"help-contents\": \"Returns the value o
f this calculation in the previous row. Returns the given expression if the curr
ent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOU
S_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(
1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \
"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\"
,\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RAN
K\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retur
ns the competition rank for the current partition row\",\"help-contents\": \"Ret
urns the standard competition rank for the current row in the partition. Identic
al values are assigned an identical rank. Use the optional 'asc' | 'desc' argume

nt to specify ascending or descending order. The default order is descending.\\n


\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2,
4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"
name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",
\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"hel
p-contents\": \"Returns the dense rank for the current row in the partition. Ide
ntical values are assigned an identical rank, but no gaps are inserted into the
number sequence. Use the optional 'asc' | 'desc' argument to specify ascending o
r descending order. The default order is descending.\\n\\nWith this function, th
e set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\
n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIE
D\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\"
: \"Returns the modified competition rank for the current partition row\",\"help
-contents\": \"Returns the modified competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'as
c' | 'desc' argument to specify ascending or descending order. The default order
is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would b
e ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Veloc
ity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\
"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERC
ENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile
rank for the current partition row\",\"help-contents\": \"Returns the percentile
rank for the current row in the partition. Use the optional 'asc' | 'desc' argu
ment to specify ascending or descending order. The default order is ascending.\\
n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75,
75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var
-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expressio
n, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the current
partition row\",\"help-contents\": \"Returns the unique rank for the current ro
w in the partition. Identical values are assigned different ranks. Use the optio
nal 'asc' | 'desc' argument to specify ascending or descending order. The defaul
t order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1
for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT
\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns
the portion of a string matching the capturing group in a regular expression\",
\"help-contents\": \"Returns a substring of the given string that matches the ca
pturing group within the regular expression pattern. The regular expression pat
tern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 12
3', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"
func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"R
eturns a substring of a string using a regular expression pattern\",\"help-conte
nts\": \"Returns a substring of the given string using the regular expression pa
ttern. The substring is matched to the nth capturing group, where n is the give
n index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)',
2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locin
t\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP
_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches a
regular expression\",\"help-contents\": \"Returns true if a substring of the pr
ovided string matches the regular expression pattern. \\n\\nExample: REGEXP_MATC
H('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') =
true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-ar
gs\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string
, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrings
matching a regular expression are replaced\",\"help-contents\": \"Returns a copy

of the given string where the matching pattern is substituted with the replacem
ent string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'
\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-va
r-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substrin
g, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring with
in a string\",\"help-contents\": \"Returns a string in which every occurrence of
the substring is replaced with the replacement string. If the substring is not
found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"
ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-t
ypes\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\
"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specif
ied number of characters from the end of a string\",\"help-contents\": \"Returns
the specified number of characters from the end of the given string. \\n\\nExa
mple: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"f
unc-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\"
,\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number
to the specified number of places\",\"help-contents\": \"Rounds a number to the
nearest integer or to a specified number of decimal places. \\n\\nExample: ROUN
D(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real
\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\
",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-con
tents\": \"Returns the string with any trailing spaces removed. \\n\\nExample:
RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\":
\"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of
an expression\",\"help-contents\": \"Returns the running average of the given ex
pression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNN
ING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Retu
rns the running count of an expression\",\"help-contents\": \"Returns the runnin
g count of the given expression, from the first row in the partition to the curr
ent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profi
t)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"fun
c-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\":
\"Returns the running maximum of the given expression, from the first row in th
e partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = runni
ng maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum
of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expr
ession)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"h
elp-contents\": \"Returns the running minimum of the given expression, from the
first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Pr
ofit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = r
unning minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"R
UNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expre
ssion\",\"help-contents\": \"Returns the running sum of the given expression, fr
om the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM(
SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])
) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"in
teger\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCR
IPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result
from an R expression\",\"help-contents\": \"Returns a Boolean result from a giv
en R expression. The R expression is passed directly to a running Rserve instanc
e. Use .arg# in the R expression to reference parameters. In the following examp
le, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.a
rg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(s

tring, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an


R expression\",\"help-contents\": \"Returns an integer result from a given R exp
ression. The R expression is passed directly to a running Rserve instance. Use .
arg# in the R expression to reference parameters. In the following example, .arg
1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)
\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"
has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(str
ing, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R e
xpression\",\"help-contents\": \"Returns a numeric result from a given R express
ion. The R expression is passed directly to a running Rserve instance. Use .arg#
in the R expression to reference parameters. In the following example, .arg1 is
equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Pr
ofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression
, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"he
lp-contents\": \"Returns a string result from a given R expression. The R expres
sion is passed directly to a running Rserve instance. Use .arg# in the R express
ion to reference parameters. In the following example, .arg1 is equal to ATTR([R
egion]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true}
,{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns
1 for a positive number\",\"help-contents\": \"Returns the sign of a number: 1 i
f the number is positive, zero if the number is zero, or -1 if the number is neg
ative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angl
e)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Ret
urns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/
4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tool
tip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Retu
rns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\n
SIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"
Returns a string containing the specified number of spaces\",\"help-contents\":
\"Returns a string composed of the specified number of repeated spaces. \\n\\nEx
ample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string,
delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a stri
ng\",\"help-contents\": \"Returns a substring from a string, as determined by a
delimiter extracting the characters from the beginning or end of the string. \\n
\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-',
-2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"loc
int\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)
\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\":
\"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the squar
e of a number\",\"help-contents\": \"Returns the square of a given number. \\n\\
nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(s
tring, substring)\",\"func-tooltip\": \"Returns true if the specified string sta
rts with the specified substring\",\"help-contents\": \"Returns true if the stri
ng starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\
"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],
\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\
",\"func-tooltip\": \"Returns the sample standard deviation for an expression\",
\"help-contents\": \"Returns the sample standard deviation of the expression.\\n
\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expres
sion)\",\"func-tooltip\": \"Returns the population standard deviation for an exp

ression\",\"help-contents\": \"Returns the population standard deviation of the


expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"S
TR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"helpcontents\": \"Returns a string given an expression. \\n\\nExample: STR([Age]) r
eturns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast\
"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",
\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values
in an expression\",\"help-contents\": \"Returns the sum of all the values in the
expression. SUM can be used with numeric fields only. Null values are ignored.\
\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"f
unc-tooltip\": \"Returns the tangent of an angle specified in radians\",\"help-c
ontents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\\
nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \
"Performs a logical test and returns an appropriate value\",\"help-contents\": \
"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tool
tip\": \"Returns the current date\",\"help-contents\": \"Returns the current dat
e. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(exp
ression)\",\"func-tooltip\": \"Returns the total for an expression within the pa
rtition\",\"help-contents\": \"Returns the total for the given expression.\\n\\n
Example: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribut
e to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],
\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"fu
nc-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"he
lp-contents\": \"Returns the string with both leading and trailing spaces remove
d. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",
\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all uppe
rcase characters\",\"help-contents\": \"Converts a text string to all uppercase
letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"US
ERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain
for the current user\",\"help-contents\": \"Returns the domain for the current
user when the user is signed on to Tableau Server. Returns the Windows domain if
the Tableau Desktop user is on a domain. Otherwise this function returns a null
string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Retu
rns the user name for the current user\",\"help-contents\": \"Returns the userna
me for the current user. This is the Tableau Server or Tableau Online username w
hen the user is signed in; otherwise it is the local or network username for the
Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-too
ltip\": \"Returns the sample variance for an expression\",\"help-contents\": \"R
eturns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"fu
nc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns th
e population variance for an expression\",\"help-contents\": \"Returns the popul
ation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHE
N\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] E
ND\",\"func-tooltip\": \"Performs logical tests and returns the appropriate valu
e\",\"help-contents\": \"Finds the first <value> that matches <expr> and returns
the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u20

19 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"fu


nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\
": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the aver
age of the values within the window\",\"help-contents\": \"Returns the average o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDO
W_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-toolti
p\": \"Returns the number of items within the window\",\"help-contents\": \"Retu
rns the count of the expression within the window. The window is defined as off
sets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partiti
on is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Prof
it) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"
func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"
name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"
func-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"R
eturns the maximum of the expression within the window. The window is defined a
s offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire pa
rtition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Pro
fit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([
Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the curr
ent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\":
\"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the med
ian within the window\",\"help-contents\": \"Returns the median of the expressio
n within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WIND
OW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous ro
ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"fun
c-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns th
e minimum within the window\",\"help-contents\": \"Returns the minimum of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous ro
ws to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\
": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(exp
ression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile valu
e at the specified number\",\"help-contents\": \"Returns the value corresponding
to the specified percentile within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th p
ercentile of SUM(Profit) from the two previous rows to the current row\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"intege
r\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW
_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample standa
rd deviation within the window\",\"help-contents\": \"Returns the sample standar
d deviation of the expression within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition

is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Pr


ofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{
\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, en
d])\",\"func-tooltip\": \"Returns the population standard deviation within the w
indow\",\"help-contents\": \"Returns the population standard deviation of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two p
revious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_S
UM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"
Returns the sum of values within the window\",\"help-contents\": \"Returns the s
um of the expression within the window. The window is defined as offsets from t
he current row. Use FIRST()+n and LAST()-n for offsets from the first or last ro
w in the partition. If start and end are omitted, the entire partition is used.
\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WI
NDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip
\": \"Returns the sample variance within the window\",\"help-contents\": \"Retur
ns the sample variance of the expression within the window. The window is defin
ed as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the entir
e partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start
, end])\",\"func-tooltip\": \"Returns the population variance within the window\
",\"help-contents\": \"Returns the population variance of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()+
n and LAST()-n for offsets from the first or last row in the partition. If star
t and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(S
UM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to the
current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\
",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR
(date)\",\"func-tooltip\": \"Returns the year of the specified date as an intege
r\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\\n
Example: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\"
:[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(ex
pression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"hel
p-contents\": \"Returns <expression> if it is not null, otherwise returns zero.
\\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calculat
ion-dialog\",\"use-parameters\": true} position=\"62\"","name":"tabdoc:calculati
on-auto-complete"}}
{"ts":"2016-09-29T16:43:01.259","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC(
'month',[Order Date])-DATETRUNC('month',[Calculation1])\" calculation={\"datasou
rce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \"
Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"scop
e-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])-D
ATETRUNC('month',[Calculation5])\",\"fn\": \"\",\"fn-source\": \"\",\"calculatio
n-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-r
ole\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\":
0,\"style-token-list\":[],\"error-string\": \"Error in calculation:\\n\\nReferen
ce to undefined field [Calculation5].\\n\\nWould you like to correct the calcula
tion?\",\"error-info-list\":[{\"start-position-for-error\": 50,\"length-of-calc-

of-error\": 14,\"error-message\": \"Reference to undefined field [Calculation5].


\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func
-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a numb
er\",\"help-contents\": \"Returns the absolute value of the given number. \\n\\n
Example: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"h
as-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"functooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns t
he arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-v
ar-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN
<then> END\",\"func-tooltip\": \"Performs a logical conjunction on two expressi
ons\",\"help-contents\": \"Performs a logical conjunction on two expressions\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASC
II code for the first character in a string\",\"help-contents\": \"Returns the A
SCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"aut
hors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-varargs\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip
\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc si
ne of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267
949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Retu
rns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent o
f a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.56524082839
42\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tool
tip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns t
he arc tangent of two given numbers (x and y). The result is in radians. \\n\\n
Example: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig
\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expression
if it has one value for all rows\",\"help-contents\": \"Returns the value of th
e given expression if it only has a single value for all rows in the group, othe
rwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([
Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip
\": \"Returns the average of the values in the expression\",\"help-contents\": \
"Returns the average of all the values in the expression. AVG can be used with n
umeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"fun
c-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE
<else>] END\",\"func-tooltip\": \"Performs logical tests and returns the approp
riate value\",\"help-contents\": \"Finds the first <value> that matches <expr> a
nd returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \
u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"log
ic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"fu
nc-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest
integer of equal or greater value\",\"help-contents\": \"Rounds a number to the
nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts
an integer ASCII code into a character\",\"help-contents\": \"Converts the give
n integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"
Returns true if a string contains the specified substring\",\"help-contents\": \
"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\"
Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\":
\"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in r

adians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle


in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"
func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle
specified in radians\",\"help-contents\": \"Returns the cotangent of an angle.
Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"n
um\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\
",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of
items in the expression\",\"help-contents\": \"Returns the number of items in a
group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"na
me\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Return
s the number of distinct items in the expression\",\"help-contents\": \"Returns
the number of distinct items in a group. NULL values are not counted. Each uniq
ue value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"D
ATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from
a number\",\"help-contents\": \"Returns a date given a number, string, or date
expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote
that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"D
ATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified da
te incremented by the specified amount\",\"help-contents\": \"Adds an increment
to the specified date and returns the new date. The increment is defined by the
interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2
004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",
\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"fun
c-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-t
ooltip\": \"Returns the difference between two dates\",\"help-contents\": \"Retu
rns the difference between two dates where start_date is subtracted from end_dat
e. The difference is expressed in units of date_part. If start_of_week is omitte
d, the week start day is determined by the start day configured for the data sou
rce.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\
",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetim
e\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \
"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part
of the specified date as a string\",\"help-contents\": \"Returns a part of the
given date as a string, where the part is defined by date_part. If start_of_week
is omitted, the week start day is determined by the start day configured for th
e data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\
"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(form
at, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents\
": \"Converts a string to a date in the specified format. \\n\\nExample: DATEPAR
SE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"fu
nc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": f
alse},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_o
f_week])\",\"func-tooltip\": \"Returns the specified part of a date as an intege
r\",\"help-contents\": \"Returns a part of the given date as an integer where th
e part is defined by date_part. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DAT
EPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[
\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETI
ME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a dateti
me from a number\",\"help-contents\": \"Returns a datetime given a number, strin
g, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\")
\\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"fu
nc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"fun
c-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Tru
ncates the specified date to the specified accuracy\",\"help-contents\": \"Trunc

ates the specified date to the accuracy specified by the date_part and returns t
he new date. If start_of_week is omitted, the week start day is determined by th
e start day configured for the data source.\\n\\nExample: DATETRUNC('quarter', #
2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-type
s\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"D
AY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the
specified date as an integer\",\"help-contents\": \"Returns the day of the give
n date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"
date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"
DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value
in radians to degrees\",\"help-contents\": \"Converts a number in radians to de
grees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"
DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divisi
on operation\",\"help-contents\": \"Returns the integer part of a division.\\n\\
nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF
<expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"functooltip\": \"Performs a logical test and returns an appropriate value\",\"help-c
ontents\": \"Tests a series of expressions returning the <then> value for the fi
rst true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit
] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr
> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-toolt
ip\": \"Performs a logical test and returns an appropriate value\",\"help-conten
ts\": \"Tests a series of expressions returning the <then> value for the first t
rue <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0
THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <
then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"
Performs a logical test and returns an appropriate value\",\"help-contents\": \"
Tests a series of expressions returning the <then> value for the first true <exp
r>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'B
reakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, su
bstring)\",\"func-tooltip\": \"Returns true if the specified string ends with th
e specified substring\",\"help-contents\": \"Returns true if the string ends wit
h the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Ca
lculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\":
\"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Co
mputes an aggregate excluding the specified dimensions if present in the view.\"
,\"help-contents\": \"Computes an aggregate excluding the specified dimensions i
f present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\
": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns e
raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\":
\"Returns the position of a substring within a string\",\"help-contents\": \"Ret
urns the position of a substring within a string, or 0 if the substring isn't fo
und. If the start argument is defined, any instances of substring that appear be
fore the start position are ignored. The first character in the string is positi
on 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false
},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\
",\"func-tooltip\": \"Returns the position of the nth occurrence a substring wit
hin a string\",\"help-contents\": \"Returns the position of the nth occurrence o
f a substring within a string, or 0 if that occurrence of the substring isn't fo
und. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\\

"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\"


:[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func
-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the f
irst row in the partition\",\"help-contents\": \"Returns the number of rows from
the current row to the first row in the partition.\\n\\nExample (current row in
dex is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[
],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[,
dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate u
sing only the specified dimensions.\",\"help-contents\": \"Computes an aggregate
using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expres
sion)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-contents
\": \"Returns a float given an expression of any type. This function requires un
formatted numbers which means exclude commas and other symbols. \\n\\nExample:
FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean
\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\
",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser
value\",\"help-contents\": \"Rounds a number to the nearest integer of equal or
lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-s
ig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current u
ser\",\"help-contents\": \"Returns the full name for the current user. This is t
he Tableau Server or Tableau Online full name when the user is signed in; otherw
ise it is the local or network full name for the Tableau Desktop user.\",\"funcgrps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HE
XBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns th
e x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y
) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have sid
e length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name
\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Re
turns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps
an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <t
hen2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and r
eturns an appropriate value\",\"help-contents\": \"Tests a series of expressions
returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profit
] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns
expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not nul
l, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\
":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func
-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",\"h
elp-contents\": \"Checks whether a condition is met, and returns one value if TR
UE, another value if FALSE, and an optional third value or NULL if unknown. \\n\
\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},
{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-e
xpression }\",\"func-tooltip\": \"Computes an aggregate using the specified dime
nsions and the view dimensions.\",\"help-contents\": \"Computes an aggregate usi
ng the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\":
\"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the par
tition\",\"help-contents\": \"Returns the index of the current row in the partit
ion.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT

\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression


and returns an integer\",\"help-contents\": \"Returns an integer given an expre
ssion. This function truncates results to the closest integer toward zero. \\n\\
nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-a
rg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-s
ig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a val
id date\",\"help-contents\": \"Returns true if a given string is a valid date.
\\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date
\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \
"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns t
rue if the current user's full name matches the specified name\",\"help-contents
\": \"Returns true if the current user's full name matches the specified full na
me, or false if it does not match. This function uses the Tableau Server or Tabl
eau Online full name when the user is signed in; otherwise it uses the local or
network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fun
c-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"
func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the curre
nt user is a member of the specified group\",\"help-contents\": \"Returns true i
f the current user is a member of the given group, false otherwise. This uses t
he Tableau Server to resolve group membership if logged on, otherwise it always
returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"hasvar-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"
func-tooltip\": \"Returns true if the specified expression is null\",\"help-cont
ents\": \"Returns true if the expression does not contain valid data (Null).\\n\
\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"bo
olean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUS
ERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name mat
ches the specified user name\",\"help-contents\": \"Returns true if the current
user's username matches the specified username, or false if it does not match. T
his function uses the Tableau Server or Tableau Online username when the user is
signed in; otherwise it uses the local or network username for the Tableau Desk
top user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-a
rgs\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"R
eturns the number of rows to the last row in the partition\",\"help-contents\":
\"Returns the number of rows from the current row to the last row in the partiti
on.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[
\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"
func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specifie
d number of characters from the start of a string\",\"help-contents\": \"Returns
the specified number of characters from the start of the given string. \\n\\nE
xample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",
\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of characte
rs in a string\",\"help-contents\": \"Returns the number of characters in the gi
ven string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\
"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"fun
c-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a n
umber\",\"help-contents\": \"Returns the natural logarithm of the given number.
Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5))
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\":
\"Returns the logarithm of a number for the given base\",\"help-contents\": \"Re
turns the logarithm of a number for the given base. If the base value is omitted
, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"fun
c-tooltip\": \"Returns the value of the expression in a row offset from current
row\",\"help-contents\": \"Returns the value of the given expression in a target
row, specified as a relative offset from the current row. Use FIRST()+n and LAS
T()-n for a target relative to the first/last rows in the partition. If offset i

s omitted, the Compare To row may be set on the field menu. Returns NULL if the
target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) +
2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string
in all lowercase characters\",\"help-contents\": \"Converts a text string to all
lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"
func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"n
ame\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a s
tring with leading spaces removed\",\"help-contents\": \"Returns the string with
any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\
"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false
},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-to
oltip\": \"Returns a date value constructed from a year, a month and a day of th
e month.\",\"help-contents\": \"Returns a date value constructed from a year, a
month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-g
rps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"hasvar-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date
, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time\
",\"help-contents\": \"Returns a date and time value given a date expression and
a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"f
unc-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\
": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)
\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes and
seconds.\",\"help-contents\": \"Returns a time value constructed from hours, min
utes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",
\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \"
Returns the maximum of a single expression across all records or the maximum of
two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\
"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"
],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expressi
on)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents\
": \"Returns the median of a single expression. MEDIAN can be used with numeric
fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-gr
ps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Return
s the characters from the middle of a text string\",\"help-contents\": \"Returns
the characters from the middle of a text string given a starting position and a
length. The first character in the string is position 1. If the length is not i
ncluded, all characters to the end of the string are returned. If the length is
included, up to that many characters are returned. \\n\\nExample: MID(\\\"Tablea
u Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\"
,2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"rea
l\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(ex
pression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an e
xpression\",\"help-contents\": \"Returns the minimum of an expression across all
records or the minimum of two expressions for each record. \\n\\nExample: MIN(
[Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-ar
g-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"fu
nc-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the spec
ified date as an integer\",\"help-contents\": \"Returns the month of a given dat
e as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date
\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\
",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs l
ogical negation on an expression\",\"help-contents\": \"Performs logical negatio
n on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-a
rgs\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Ret
urns the current date and time\",\"help-contents\": \"Returns the current date a

nd time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"


],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\":
\"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logica
l disjunction on two expressions\",\"help-contents\": \"Performs a logical disju
nction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expres
sion, number)\",\"func-tooltip\": \"Returns the percentile value at the specifie
d number\",\"help-contents\": \"Aggregate calculation that returns the percentil
e value from the given expression corresponding to the specified number. Valid v
alues for the number are 0 through 1. PERCENTILE([expression], 0.50) will always
return the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.
90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-va
r-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Re
turns the numeric constant pi\",\"help-contents\": \"Returns the numeric constan
t pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(
number,power)\",\"func-tooltip\": \"Raises the number to the specified power\",\
"help-contents\": \"Returns the result of a number raised to the given power. \\
n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":
[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"fun
c-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of
this calculation in the previous row\",\"help-contents\": \"Returns the value o
f this calculation in the previous row. Returns the given expression if the curr
ent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOU
S_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(
1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \
"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\"
,\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RAN
K\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retur
ns the competition rank for the current partition row\",\"help-contents\": \"Ret
urns the standard competition rank for the current row in the partition. Identic
al values are assigned an identical rank. Use the optional 'asc' | 'desc' argume
nt to specify ascending or descending order. The default order is descending.\\n
\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2,
4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"
name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",
\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"hel
p-contents\": \"Returns the dense rank for the current row in the partition. Ide
ntical values are assigned an identical rank, but no gaps are inserted into the
number sequence. Use the optional 'asc' | 'desc' argument to specify ascending o
r descending order. The default order is descending.\\n\\nWith this function, th
e set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\
n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIE
D\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\"
: \"Returns the modified competition rank for the current partition row\",\"help
-contents\": \"Returns the modified competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'as
c' | 'desc' argument to specify ascending or descending order. The default order
is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would b
e ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Veloc
ity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\
"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERC
ENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile
rank for the current partition row\",\"help-contents\": \"Returns the percentile
rank for the current row in the partition. Use the optional 'asc' | 'desc' argu
ment to specify ascending or descending order. The default order is ascending.\\

n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75,
75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var
-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expressio
n, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the current
partition row\",\"help-contents\": \"Returns the unique rank for the current ro
w in the partition. Identical values are assigned different ranks. Use the optio
nal 'asc' | 'desc' argument to specify ascending or descending order. The defaul
t order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1
for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT
\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns
the portion of a string matching the capturing group in a regular expression\",
\"help-contents\": \"Returns a substring of the given string that matches the ca
pturing group within the regular expression pattern. The regular expression pat
tern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 12
3', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"
func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"R
eturns a substring of a string using a regular expression pattern\",\"help-conte
nts\": \"Returns a substring of the given string using the regular expression pa
ttern. The substring is matched to the nth capturing group, where n is the give
n index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)',
2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locin
t\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP
_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches a
regular expression\",\"help-contents\": \"Returns true if a substring of the pr
ovided string matches the regular expression pattern. \\n\\nExample: REGEXP_MATC
H('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') =
true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-ar
gs\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string
, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrings
matching a regular expression are replaced\",\"help-contents\": \"Returns a copy
of the given string where the matching pattern is substituted with the replacem
ent string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'
\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-va
r-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substrin
g, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring with
in a string\",\"help-contents\": \"Returns a string in which every occurrence of
the substring is replaced with the replacement string. If the substring is not
found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"
ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-t
ypes\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\
"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specif
ied number of characters from the end of a string\",\"help-contents\": \"Returns
the specified number of characters from the end of the given string. \\n\\nExa
mple: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"f
unc-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\"
,\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number
to the specified number of places\",\"help-contents\": \"Rounds a number to the
nearest integer or to a specified number of decimal places. \\n\\nExample: ROUN
D(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real
\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\
",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-con
tents\": \"Returns the string with any trailing spaces removed. \\n\\nExample:
RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\":
\"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of
an expression\",\"help-contents\": \"Returns the running average of the given ex

pression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNN
ING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Retu
rns the running count of an expression\",\"help-contents\": \"Returns the runnin
g count of the given expression, from the first row in the partition to the curr
ent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profi
t)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"fun
c-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\":
\"Returns the running maximum of the given expression, from the first row in th
e partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = runni
ng maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum
of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expr
ession)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"h
elp-contents\": \"Returns the running minimum of the given expression, from the
first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Pr
ofit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = r
unning minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"R
UNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expre
ssion\",\"help-contents\": \"Returns the running sum of the given expression, fr
om the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM(
SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])
) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"in
teger\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCR
IPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result
from an R expression\",\"help-contents\": \"Returns a Boolean result from a giv
en R expression. The R expression is passed directly to a running Rserve instanc
e. Use .arg# in the R expression to reference parameters. In the following examp
le, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.a
rg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(s
tring, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an
R expression\",\"help-contents\": \"Returns an integer result from a given R exp
ression. The R expression is passed directly to a running Rserve instance. Use .
arg# in the R expression to reference parameters. In the following example, .arg
1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)
\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"
has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(str
ing, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R e
xpression\",\"help-contents\": \"Returns a numeric result from a given R express
ion. The R expression is passed directly to a running Rserve instance. Use .arg#
in the R expression to reference parameters. In the following example, .arg1 is
equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Pr
ofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression
, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"he
lp-contents\": \"Returns a string result from a given R expression. The R expres
sion is passed directly to a running Rserve instance. Use .arg# in the R express
ion to reference parameters. In the following example, .arg1 is equal to ATTR([R
egion]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true}
,{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns
1 for a positive number\",\"help-contents\": \"Returns the sign of a number: 1 i
f the number is positive, zero if the number is zero, or -1 if the number is neg
ative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angl
e)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Ret

urns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/


4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tool
tip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Retu
rns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\n
SIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"
Returns a string containing the specified number of spaces\",\"help-contents\":
\"Returns a string composed of the specified number of repeated spaces. \\n\\nEx
ample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string,
delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a stri
ng\",\"help-contents\": \"Returns a substring from a string, as determined by a
delimiter extracting the characters from the beginning or end of the string. \\n
\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-',
-2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"loc
int\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)
\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\":
\"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the squar
e of a number\",\"help-contents\": \"Returns the square of a given number. \\n\\
nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(s
tring, substring)\",\"func-tooltip\": \"Returns true if the specified string sta
rts with the specified substring\",\"help-contents\": \"Returns true if the stri
ng starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\
"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],
\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\
",\"func-tooltip\": \"Returns the sample standard deviation for an expression\",
\"help-contents\": \"Returns the sample standard deviation of the expression.\\n
\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expres
sion)\",\"func-tooltip\": \"Returns the population standard deviation for an exp
ression\",\"help-contents\": \"Returns the population standard deviation of the
expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"S
TR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"helpcontents\": \"Returns a string given an expression. \\n\\nExample: STR([Age]) r
eturns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast\
"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",
\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values
in an expression\",\"help-contents\": \"Returns the sum of all the values in the
expression. SUM can be used with numeric fields only. Null values are ignored.\
\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"f
unc-tooltip\": \"Returns the tangent of an angle specified in radians\",\"help-c
ontents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\\
nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \
"Performs a logical test and returns an appropriate value\",\"help-contents\": \
"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tool
tip\": \"Returns the current date\",\"help-contents\": \"Returns the current dat
e. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(exp
ression)\",\"func-tooltip\": \"Returns the total for an expression within the pa

rtition\",\"help-contents\": \"Returns the total for the given expression.\\n\\n


Example: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribut
e to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],
\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"fu
nc-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"he
lp-contents\": \"Returns the string with both leading and trailing spaces remove
d. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",
\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all uppe
rcase characters\",\"help-contents\": \"Converts a text string to all uppercase
letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"US
ERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain
for the current user\",\"help-contents\": \"Returns the domain for the current
user when the user is signed on to Tableau Server. Returns the Windows domain if
the Tableau Desktop user is on a domain. Otherwise this function returns a null
string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Retu
rns the user name for the current user\",\"help-contents\": \"Returns the userna
me for the current user. This is the Tableau Server or Tableau Online username w
hen the user is signed in; otherwise it is the local or network username for the
Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-too
ltip\": \"Returns the sample variance for an expression\",\"help-contents\": \"R
eturns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"fu
nc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns th
e population variance for an expression\",\"help-contents\": \"Returns the popul
ation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHE
N\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] E
ND\",\"func-tooltip\": \"Performs logical tests and returns the appropriate valu
e\",\"help-contents\": \"Finds the first <value> that matches <expr> and returns
the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u20
19 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\
": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the aver
age of the values within the window\",\"help-contents\": \"Returns the average o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDO
W_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-toolti
p\": \"Returns the number of items within the window\",\"help-contents\": \"Retu
rns the count of the expression within the window. The window is defined as off
sets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partiti
on is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Prof
it) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"
func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"
name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"
func-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"R
eturns the maximum of the expression within the window. The window is defined a
s offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire pa
rtition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Pro
fit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([
Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the curr

ent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\":
\"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the med
ian within the window\",\"help-contents\": \"Returns the median of the expressio
n within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WIND
OW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous ro
ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"fun
c-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns th
e minimum within the window\",\"help-contents\": \"Returns the minimum of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous ro
ws to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\
": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(exp
ression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile valu
e at the specified number\",\"help-contents\": \"Returns the value corresponding
to the specified percentile within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th p
ercentile of SUM(Profit) from the two previous rows to the current row\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"intege
r\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW
_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample standa
rd deviation within the window\",\"help-contents\": \"Returns the sample standar
d deviation of the expression within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Pr
ofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{
\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, en
d])\",\"func-tooltip\": \"Returns the population standard deviation within the w
indow\",\"help-contents\": \"Returns the population standard deviation of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two p
revious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_S
UM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"
Returns the sum of values within the window\",\"help-contents\": \"Returns the s
um of the expression within the window. The window is defined as offsets from t
he current row. Use FIRST()+n and LAST()-n for offsets from the first or last ro
w in the partition. If start and end are omitted, the entire partition is used.
\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WI
NDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip
\": \"Returns the sample variance within the window\",\"help-contents\": \"Retur
ns the sample variance of the expression within the window. The window is defin
ed as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the entir
e partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance o

f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t


able\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start
, end])\",\"func-tooltip\": \"Returns the population variance within the window\
",\"help-contents\": \"Returns the population variance of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()+
n and LAST()-n for offsets from the first or last row in the partition. If star
t and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(S
UM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to the
current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\
",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR
(date)\",\"func-tooltip\": \"Returns the year of the specified date as an intege
r\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\\n
Example: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\"
:[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(ex
pression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"hel
p-contents\": \"Returns <expression> if it is not null, otherwise returns zero.
\\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calculat
ion-dialog\",\"use-parameters\": true} position=\"63\"","name":"tabdoc:calculati
on-auto-complete"}}
{"ts":"2016-09-29T16:43:01.259","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC
('month',[Order Date])-DATETRUNC('month',[Calculation1])\" calculation={\"dataso
urce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \
"Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"sco
pe-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])DATETRUNC('month',[Calculation5])\",\"fn\": \"\",\"fn-source\": \"\",\"calculati
on-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folderrole\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\":
0,\"style-token-list\":[],\"error-string\": \"Error in calculation:\\n\\nRefere
nce to undefined field [Calculation5].\\n\\nWould you like to correct the calcul
ation?\",\"error-info-list\":[{\"start-position-for-error\": 50,\"length-of-calc
-of-error\": 14,\"error-message\": \"Reference to undefined field [Calculation5]
.\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"fun
c-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a num
ber\",\"help-contents\": \"Returns the absolute value of the given number. \\n\\
nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func
-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns
the arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"hasvar-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THE
N <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two express
ions\",\"help-contents\": \"Performs a logical conjunction on two expressions\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the AS
CII code for the first character in a string\",\"help-contents\": \"Returns the
ASCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"au
thors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var
-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-toolti
p\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc s
ine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.570796326
7949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Ret
urns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent
of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408283
942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-too

ltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns


the arc tangent of two given numbers (x and y). The result is in radians. \\n\\
nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-ty
pes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-si
g\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expressio
n if it has one value for all rows\",\"help-contents\": \"Returns the value of t
he given expression if it only has a single value for all rows in the group, oth
erwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR(
[Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-toolti
p\": \"Returns the average of the values in the expression\",\"help-contents\":
\"Returns the average of all the values in the expression. AVG can be used with
numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"fu
nc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELS
E <else>] END\",\"func-tooltip\": \"Performs logical tests and returns the appro
priate value\",\"help-contents\": \"Finds the first <value> that matches <expr>
and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN
\u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"lo
gic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"f
unc-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the neares
t integer of equal or greater value\",\"help-contents\": \"Rounds a number to th
e nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\
",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false}
,{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Convert
s an integer ASCII code into a character\",\"help-contents\": \"Converts the giv
en integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \
"Returns true if a string contains the specified substring\",\"help-contents\":
\"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\
"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\":
\"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in
radians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle
in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"nu
m\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\
"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angl
e specified in radians\",\"help-contents\": \"Returns the cotangent of an angle.
Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"
num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT
\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of
items in the expression\",\"help-contents\": \"Returns the number of items in a
group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"n
ame\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Retur
ns the number of distinct items in the expression\",\"help-contents\": \"Returns
the number of distinct items in a group. NULL values are not counted. Each uni
que value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"
DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date fro
m a number\",\"help-contents\": \"Returns a date given a number, string, or date
expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote
that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"
DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified d
ate incremented by the specified amount\",\"help-contents\": \"Adds an increment
to the specified date and returns the new date. The increment is defined by the
interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) =
2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\"

,\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"fu


nc-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"functooltip\": \"Returns the difference between two dates\",\"help-contents\": \"Ret
urns the difference between two dates where start_date is subtracted from end_da
te. The difference is expressed in units of date_part. If start_of_week is omitt
ed, the week start day is determined by the start day configured for the data so
urce.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3
\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"dateti
me\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\":
\"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a par
t of the specified date as a string\",\"help-contents\": \"Returns a part of the
given date as a string, where the part is defined by date_part. If start_of_wee
k is omitted, the week start day is determined by the start day configured for t
he data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",
\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"]
,\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(for
mat, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents
\": \"Converts a string to a date in the specified format. \\n\\nExample: DATEPA
RSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"f
unc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\":
false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_
of_week])\",\"func-tooltip\": \"Returns the specified part of a date as an integ
er\",\"help-contents\": \"Returns a part of the given date as an integer where t
he part is defined by date_part. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DA
TEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":
[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATET
IME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datet
ime from a number\",\"help-contents\": \"Returns a datetime given a number, stri
ng, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\"
) \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"f
unc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"fu
nc-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Tr
uncates the specified date to the specified accuracy\",\"help-contents\": \"Trun
cates the specified date to the accuracy specified by the date_part and returns
the new date. If start_of_week is omitted, the week start day is determined by t
he start day configured for the data source.\\n\\nExample: DATETRUNC('quarter',
#2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-typ
es\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"
DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of th
e specified date as an integer\",\"help-contents\": \"Returns the day of the giv
en date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\
"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \
"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a valu
e in radians to degrees\",\"help-contents\": \"Converts a number in radians to d
egrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \
"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divis
ion operation\",\"help-contents\": \"Returns the integer part of a division.\\n\
\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"intege
r\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF
<expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func
-tooltip\": \"Performs a logical test and returns an appropriate value\",\"helpcontents\": \"Tests a series of expressions returning the <then> value for the f
irst true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profi
t] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <exp
r> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tool
tip\": \"Performs a logical test and returns an appropriate value\",\"help-conte
nts\": \"Tests a series of expressions returning the <then> value for the first

true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =


0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \
"Performs a logical test and returns an appropriate value\",\"help-contents\": \
"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, s
ubstring)\",\"func-tooltip\": \"Returns true if the specified string ends with t
he specified substring\",\"help-contents\": \"Returns true if the string ends wi
th the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"C
alculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\"
: \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"C
omputes an aggregate excluding the specified dimensions if present in the view.\
",\"help-contents\": \"Computes an aggregate excluding the specified dimensions
if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip
\": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns e
raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\":
\"Returns the position of a substring within a string\",\"help-contents\": \"Re
turns the position of a substring within a string, or 0 if the substring isn't f
ound. If the start argument is defined, any instances of substring that appear b
efore the start position are ignored. The first character in the string is posit
ion 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": fals
e},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)
\",\"func-tooltip\": \"Returns the position of the nth occurrence a substring wi
thin a string\",\"help-contents\": \"Returns the position of the nth occurrence
of a substring within a string, or 0 if that occurrence of the substring isn't f
ound. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\
\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"fun
c-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the
first row in the partition\",\"help-contents\": \"Returns the number of rows fro
m the current row to the first row in the partition.\\n\\nExample (current row i
ndex is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":
[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[,
dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate
using only the specified dimensions.\",\"help-contents\": \"Computes an aggregat
e using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-type
s\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expre
ssion)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-content
s\": \"Returns a float given an expression of any type. This function requires u
nformatted numbers which means exclude commas and other symbols. \\n\\nExample:
FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolea
n\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)
\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser
value\",\"help-contents\": \"Rounds a number to the nearest integer of equal or
lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"funcsig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current
user\",\"help-contents\": \"Returns the full name for the current user. This is
the Tableau Server or Tableau Online full name when the user is signed in; other
wise it is the local or network full name for the Tableau Desktop user.\",\"func
-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"H
EXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns t

he x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,


y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have si
de length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"nam
e\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"R
eturns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Map
s an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false
},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <
then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and
returns an appropriate value\",\"help-contents\": \"Tests a series of expression
s returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profi
t] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Return
s expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not nu
ll, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps
\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": fa
lse},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"fun
c-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",\"
help-contents\": \"Checks whether a condition is met, and returns one value if T
RUE, another value if FALSE, and an optional third value or NULL if unknown. \\n
\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregateexpression }\",\"func-tooltip\": \"Computes an aggregate using the specified dim
ensions and the view dimensions.\",\"help-contents\": \"Computes an aggregate us
ing the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\"
: \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the pa
rtition\",\"help-contents\": \"Returns the index of the current row in the parti
tion.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IN
T\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expressio
n and returns an integer\",\"help-contents\": \"Returns an integer given an expr
ession. This function truncates results to the closest integer toward zero. \\n\
\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"funcarg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"funcsig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a va
lid date\",\"help-contents\": \"Returns true if a given string is a valid date.
\\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"dat
e\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns
true if the current user's full name matches the specified name\",\"help-content
s\": \"Returns true if the current user's full name matches the specified full n
ame, or false if it does not match. This function uses the Tableau Server or Tab
leau Online full name when the user is signed in; otherwise it uses the local or
network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fu
nc-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\
"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the curr
ent user is a member of the specified group\",\"help-contents\": \"Returns true
if the current user is a member of the given group, false otherwise. This uses
the Tableau Server to resolve group membership if logged on, otherwise it always
returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has
-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\
"func-tooltip\": \"Returns true if the specified expression is null\",\"help-con
tents\": \"Returns true if the expression does not contain valid data (Null).\\n
\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"b
oolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISU

SERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name ma


tches the specified user name\",\"help-contents\": \"Returns true if the current
user's username matches the specified username, or false if it does not match.
This function uses the Tableau Server or Tableau Online username when the user i
s signed in; otherwise it uses the local or network username for the Tableau Des
ktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-varargs\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"
Returns the number of rows to the last row in the partition\",\"help-contents\":
\"Returns the number of rows from the current row to the last row in the partit
ion.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":
[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\
"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specifi
ed number of characters from the start of a string\",\"help-contents\": \"Return
s the specified number of characters from the start of the given string. \\n\\n
Example: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\
"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\"
,\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of charact
ers in a string\",\"help-contents\": \"Returns the number of characters in the g
iven string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str
\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"fu
nc-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a
number\",\"help-contents\": \"Returns the natural logarithm of the given number.
Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5))
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\":
\"Returns the logarithm of a number for the given base\",\"help-contents\": \"R
eturns the logarithm of a number for the given base. If the base value is omitte
d, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\
"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\":
false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"fu
nc-tooltip\": \"Returns the value of the expression in a row offset from current
row\",\"help-contents\": \"Returns the value of the given expression in a targe
t row, specified as a relative offset from the current row. Use FIRST()+n and LA
ST()-n for a target relative to the first/last rows in the partition. If offset
is omitted, the Compare To row may be set on the field menu. Returns NULL if the
target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) +
2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\"
: \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string
in all lowercase characters\",\"help-contents\": \"Converts a text string to al
l lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"
name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a
string with leading spaces removed\",\"help-contents\": \"Returns the string wit
h any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\
\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fals
e},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-t
ooltip\": \"Returns a date value constructed from a year, a month and a day of t
he month.\",\"help-contents\": \"Returns a date value constructed from a year, a
month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"funcgrps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has
-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(dat
e, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time
\",\"help-contents\": \"Returns a date and time value given a date expression an
d a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"
func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args
\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second
)\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes and
seconds.\",\"help-contents\": \"Returns a time value constructed from hours, mi
nutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cas

t\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\"
,\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \
"Returns the maximum of a single expression across all records or the maximum of
two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[
\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\
"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(express
ion)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents
\": \"Returns the median of a single expression. MEDIAN can be used with numeric
fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-g
rps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Retur
ns the characters from the middle of a text string\",\"help-contents\": \"Return
s the characters from the middle of a text string given a starting position and
a length. The first character in the string is position 1. If the length is not
included, all characters to the end of the string are returned. If the length is
included, up to that many characters are returned. \\n\\nExample: MID(\\\"Table
au Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\
",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"re
al\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(e
xpression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an
expression\",\"help-contents\": \"Returns the minimum of an expression across al
l records or the minimum of two expressions for each record. \\n\\nExample: MIN
([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-a
rg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"f
unc-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the spe
cified date as an integer\",\"help-contents\": \"Returns the month of a given da
te as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"dat
e\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT
\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs
logical negation on an expression\",\"help-contents\": \"Performs logical negati
on on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Re
turns the current date and time\",\"help-contents\": \"Returns the current date
and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\
"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\"
: \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logic
al disjunction on two expressions\",\"help-contents\": \"Performs a logical disj
unction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expre
ssion, number)\",\"func-tooltip\": \"Returns the percentile value at the specifi
ed number\",\"help-contents\": \"Aggregate calculation that returns the percenti
le value from the given expression corresponding to the specified number. Valid
values for the number are 0 through 1. PERCENTILE([expression], 0.50) will alway
s return the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0
.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-v
ar-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"R
eturns the numeric constant pi\",\"help-contents\": \"Returns the numeric consta
nt pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER
(number,power)\",\"func-tooltip\": \"Raises the number to the specified power\",
\"help-contents\": \"Returns the result of a number raised to the given power. \
\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"fu
nc-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value o
f this calculation in the previous row\",\"help-contents\": \"Returns the value
of this calculation in the previous row. Returns the given expression if the cur
rent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIO
US_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE
(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-type

s\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\":


\"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\
",\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RA
NK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retu
rns the competition rank for the current partition row\",\"help-contents\": \"Re
turns the standard competition rank for the current row in the partition. Identi
cal values are assigned an identical rank. Use the optional 'asc' | 'desc' argum
ent to specify ascending or descending order. The default order is descending.\\
n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2
, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\
"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\"
,\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"he
lp-contents\": \"Returns the dense rank for the current row in the partition. Id
entical values are assigned an identical rank, but no gaps are inserted into the
number sequence. Use the optional 'asc' | 'desc' argument to specify ascending
or descending order. The default order is descending.\\n\\nWith this function, t
he set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\
\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFI
ED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\
": \"Returns the modified competition rank for the current partition row\",\"hel
p-contents\": \"Returns the modified competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'a
sc' | 'desc' argument to specify ascending or descending order. The default orde
r is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velo
city]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PER
CENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile
rank for the current partition row\",\"help-contents\": \"Returns the percentil
e rank for the current row in the partition. Use the optional 'asc' | 'desc' arg
ument to specify ascending or descending order. The default order is ascending.\
\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75
, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-va
r-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expressi
on, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the curren
t partition row\",\"help-contents\": \"Returns the unique rank for the current r
ow in the partition. Identical values are assigned different ranks. Use the opti
onal 'asc' | 'desc' argument to specify ascending or descending order. The defau
lt order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() =
1 for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRAC
T\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Return
s the portion of a string matching the capturing group in a regular expression\"
,\"help-contents\": \"Returns a substring of the given string that matches the c
apturing group within the regular expression pattern. The regular expression pa
ttern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 1
23', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\
"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"
Returns a substring of a string using a regular expression pattern\",\"help-cont
ents\": \"Returns a substring of the given string using the regular expression p
attern. The substring is matched to the nth capturing group, where n is the giv
en index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)',
2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"loci
nt\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEX

P_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches


a regular expression\",\"help-contents\": \"Returns true if a substring of the p
rovided string matches the regular expression pattern. \\n\\nExample: REGEXP_MAT
CH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') =
true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-a
rgs\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(strin
g, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrings
matching a regular expression are replaced\",\"help-contents\": \"Returns a cop
y of the given string where the matching pattern is substituted with the replace
ment string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123
'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-v
ar-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substri
ng, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring wit
hin a string\",\"help-contents\": \"Returns a string in which every occurrence o
f the substring is replaced with the replacement string. If the substring is not
found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\
"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",
\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the speci
fied number of characters from the end of a string\",\"help-contents\": \"Return
s the specified number of characters from the end of the given string. \\n\\nEx
ample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\
",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a numbe
r to the specified number of places\",\"help-contents\": \"Rounds a number to th
e nearest integer or to a specified number of decimal places. \\n\\nExample: ROU
ND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"rea
l\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)
\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-co
ntents\": \"Returns the string with any trailing spaces removed. \\n\\nExample:
RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\"
: \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of
an expression\",\"help-contents\": \"Returns the running average of the given e
xpression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUN
NING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Ret
urns the running count of an expression\",\"help-contents\": \"Returns the runni
ng count of the given expression, from the first row in the partition to the cur
rent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Prof
it)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"fu
nc-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\"
: \"Returns the running maximum of the given expression, from the first row in t
he partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = runn
ing maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum
of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"h
as-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(exp
ression)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"
help-contents\": \"Returns the running minimum of the given expression, from the
first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([P
rofit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) =
running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"
RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expr
ession\",\"help-contents\": \"Returns the running sum of the given expression, f
rom the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM
(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit]
)) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"i

nteger\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SC


RIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean resul
t from an R expression\",\"help-contents\": \"Returns a Boolean result from a gi
ven R expression. The R expression is passed directly to a running Rserve instan
ce. Use .arg# in the R expression to reference parameters. In the following exam
ple, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.
arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(
string, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an
R expression\",\"help-contents\": \"Returns an integer result from a given R ex
pression. The R expression is passed directly to a running Rserve instance. Use
.arg# in the R expression to reference parameters. In the following example, .ar
g1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5
)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\
"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(st
ring, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R
expression\",\"help-contents\": \"Returns a numeric result from a given R expres
sion. The R expression is passed directly to a running Rserve instance. Use .arg
# in the R expression to reference parameters. In the following example, .arg1 i
s equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([P
rofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args
\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expressio
n, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"h
elp-contents\": \"Returns a string result from a given R expression. The R expre
ssion is passed directly to a running Rserve instance. Use .arg# in the R expres
sion to reference parameters. In the following example, .arg1 is equal to ATTR([
Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))
\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true
},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns
1 for a positive number\",\"help-contents\": \"Returns the sign of a number: 1
if the number is positive, zero if the number is zero, or -1 if the number is ne
gative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(ang
le)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Re
turns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()
/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-too
ltip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Ret
urns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\
nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \
"Returns a string containing the specified number of spaces\",\"help-contents\":
\"Returns a string composed of the specified number of repeated spaces. \\n\\nE
xample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string
, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a str
ing\",\"help-contents\": \"Returns a substring from a string, as determined by a
delimiter extracting the characters from the beginning or end of the string. \\
n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-',
-2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"lo
cint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number
)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\":
\"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grp
s\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the squa
re of a number\",\"help-contents\": \"Returns the square of a given number. \\n\
\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"
],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(
string, substring)\",\"func-tooltip\": \"Returns true if the specified string st
arts with the specified substring\",\"help-contents\": \"Returns true if the str

ing starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\


\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"]
,\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)
\",\"func-tooltip\": \"Returns the sample standard deviation for an expression\"
,\"help-contents\": \"Returns the sample standard deviation of the expression.\\
n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expre
ssion)\",\"func-tooltip\": \"Returns the population standard deviation for an ex
pression\",\"help-contents\": \"Returns the population standard deviation of the
expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"
STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"help
-contents\": \"Returns a string given an expression. \\n\\nExample: STR([Age])
returns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\"
,\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values
in an expression\",\"help-contents\": \"Returns the sum of all the values in th
e expression. SUM can be used with numeric fields only. Null values are ignored.
\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"
func-tooltip\": \"Returns the tangent of an angle specified in radians\",\"helpcontents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\
\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\":
\"Performs a logical test and returns an appropriate value\",\"help-contents\":
\"Tests a series of expressions returning the <then> value for the first true <e
xpr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN
'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"
has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-too
ltip\": \"Returns the current date\",\"help-contents\": \"Returns the current da
te. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(ex
pression)\",\"func-tooltip\": \"Returns the total for an expression within the p
artition\",\"help-contents\": \"Returns the total for the given expression.\\n\\
nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribu
te to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"]
,\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"f
unc-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"h
elp-contents\": \"Returns the string with both leading and trailing spaces remov
ed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\"
,\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all upp
ercase characters\",\"help-contents\": \"Converts a text string to all uppercase
letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"U
SERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domai
n for the current user\",\"help-contents\": \"Returns the domain for the current
user when the user is signed on to Tableau Server. Returns the Windows domain i
f the Tableau Desktop user is on a domain. Otherwise this function returns a nul
l string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Ret
urns the user name for the current user\",\"help-contents\": \"Returns the usern
ame for the current user. This is the Tableau Server or Tableau Online username
when the user is signed in; otherwise it is the local or network username for th
e Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-to
oltip\": \"Returns the sample variance for an expression\",\"help-contents\": \"
Returns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"f
unc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n

ame\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns t


he population variance for an expression\",\"help-contents\": \"Returns the popu
lation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":
[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WH
EN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>]
END\",\"func-tooltip\": \"Performs logical tests and returns the appropriate val
ue\",\"help-contents\": \"Finds the first <value> that matches <expr> and return
s the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2
019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"f
unc-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig
\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the ave
rage of the values within the window\",\"help-contents\": \"Returns the average
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i
n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the t
wo previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIND
OW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-toolt
ip\": \"Returns the number of items within the window\",\"help-contents\": \"Ret
urns the count of the expression within the window. The window is defined as of
fsets from the current row. Use FIRST()+n and LAST()-n for offsets from the firs
t or last row in the partition. If start and end are omitted, the entire partit
ion is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Pro
fit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\
"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\
"func-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"
Returns the maximum of the expression within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire p
artition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Pr
ofit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM(
[Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the cur
rent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"
,\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\"
: \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the me
dian within the window\",\"help-contents\": \"Returns the median of the expressi
on within the window. The window is defined as offsets from the current row. Us
e FIRST()+n and LAST()-n for offsets from the first or last row in the partition
. If start and end are omitted, the entire partition is used.\\n\\nExample: WIN
DOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous r
ows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",
\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"fu
nc-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns t
he minimum within the window\",\"help-contents\": \"Returns the minimum of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous r
ows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args
\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(ex
pression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile val
ue at the specified number\",\"help-contents\": \"Returns the value correspondin
g to the specified percentile within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th

percentile of SUM(Profit) from the two previous rows to the current row\",\"func
-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integ
er\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDO
W_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample stand
ard deviation within the window\",\"help-contents\": \"Returns the sample standa
rd deviation of the expression within the window. The window is defined as offs
ets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partitio
n is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(P
rofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},
{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, e
nd])\",\"func-tooltip\": \"Returns the population standard deviation within the
window\",\"help-contents\": \"Returns the population standard deviation of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_
SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \
"Returns the sum of values within the window\",\"help-contents\": \"Returns the
sum of the expression within the window. The window is defined as offsets from
the current row. Use FIRST()+n and LAST()-n for offsets from the first or last r
ow in the partition. If start and end are omitted, the entire partition is used
.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the t
wo previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"W
INDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-toolti
p\": \"Returns the sample variance within the window\",\"help-contents\": \"Retu
rns the sample variance of the expression within the window. The window is defi
ned as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the enti
re partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [star
t, end])\",\"func-tooltip\": \"Returns the population variance within the window
\",\"help-contents\": \"Returns the population variance of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()
+n and LAST()-n for offsets from the first or last row in the partition. If sta
rt and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(
SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to th
e current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEA
R(date)\",\"func-tooltip\": \"Returns the year of the specified date as an integ
er\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\\
nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\
":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(e
xpression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"he
lp-contents\": \"Returns <expression> if it is not null, otherwise returns zero.
\\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-typ
es\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calcula
tion-dialog\",\"use-parameters\": true} position=\"63\"","name":"tabdoc:calculat
ion-auto-complete"}}
{"ts":"2016-09-29T16:43:02.951","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC(
'month',[Order Date])-DATETRUNC('month',)\" calculation={\"datasource\": \"excel
-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \"Calculation2\"

,\"pending-calc-name\": \"Calculation_5489888009455718401\",\"scope-isolation\":
true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])-DATETRUNC('mont
h',[Calculation1])\",\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencies
\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-role\": \"dimen
sions\",\"has-table-calc-data\": false,\"table-calc-types-used\": 0,\"style-toke
n-list\":[],\"error-string\": \"\",\"error-info-list\":[],\"expression-func-pm\"
:{\"expression-func-list\":[{\"name\": \"ABS\",\"func-sig\": \"ABS(number)\",\"f
unc-tooltip\": \"Returns the absolute value of a number\",\"help-contents\": \"R
eturns the absolute value of the given number. \\n\\nExample: ABS(-7) = 7\",\"fu
nc-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-tooltip\": \"Returns the ar
c cosine of a number\",\"help-contents\": \"Returns the arc cosine of a number.
The result is in radians. \\n\\nExample: ACOS(-1) = 3.14159265358979\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN <then> END\",\"func-toolti
p\": \"Performs a logical conjunction on two expressions\",\"help-contents\": \"
Performs a logical conjunction on two expressions\",\"func-grps\":[\"logic\"],\"
func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ASCII\",\"func-sig\":
\"ASCII(string)\",\"func-tooltip\": \"Returns the ASCII code for the first chara
cter in a string\",\"help-contents\": \"Returns the ASCII code value of the firs
t character in a string. \\n\\nExample: ASCII(\\\"authors\\\") = 97\",\"func-grp
s\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \
"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\": \"Returns the arc sine
of a number\",\"help-contents\": \"Returns the arc sine of a number. The result
is in radians. \\n\\nExample: ASIN(1) = 1.5707963267949\",\"func-grps\":[\"num\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ATAN\",\"
func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Returns the arc tangent of a nu
mber\",\"help-contents\": \"Returns the arc tangent of a number. The result is
in radians. \\n\\nExample: ATAN(180) = 1.5652408283942\",\"func-grps\":[\"num\"
],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ATAN2\",\"
func-sig\": \"ATAN2(y number, x number)\",\"func-tooltip\": \"Returns the arc ta
ngent of two numbers\",\"help-contents\": \"Returns the arc tangent of two given
numbers (x and y). The result is in radians. \\n\\nExample: ATAN2(2, 1) = 1.10
714871779409\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"
has-var-args\": false},{\"name\": \"ATTR\",\"func-sig\": \"ATTR(expression)\",\"
func-tooltip\": \"Returns the value of the expression if it has one value for al
l rows\",\"help-contents\": \"Returns the value of the given expression if it on
ly has a single value for all rows in the group, otherwise it displays an asteri
sk (*). Null values are ignored.\\n\\nExample: ATTR([Market])\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"A
VG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip\": \"Returns the average o
f the values in the expression\",\"help-contents\": \"Returns the average of all
the values in the expression. AVG can be used with numeric fields only. Null va
lues are ignored.\\n\\nExample: AVG([Profit])\",\"func-grps\":[\"agg\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CASE\",\"func-sig\":
\"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"func-toolt
ip\": \"Performs logical tests and returns the appropriate value\",\"help-conten
ts\": \"Finds the first <value> that matches <expr> and returns the correspondin
g <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u
2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[]
,\"has-var-args\": false},{\"name\": \"CEILING\",\"func-sig\": \"CEILING(number)
\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or greate
r value\",\"help-contents\": \"Rounds a number to the nearest integer of equal o
r greater value. \\n\\nExample: CEILING(3.1415) = 4\",\"func-grps\":[\"num\"],\"
func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CHAR\",\"funcsig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts an integer ASCII code into
a character\",\"help-contents\": \"Converts the given integer ASCII code into a
character. \\n\\nExample: CHAR(65) = 'A'\",\"func-grps\":[\"str\"],\"func-arg-t
ypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"CONTAINS\",\"func-sig\":
\"CONTAINS(string, substring)\",\"func-tooltip\": \"Returns true if a string co

ntains the specified substring\",\"help-contents\": \"Returns true if the string


contains the substring. \\n\\nExample: CONTAINS(\\\"Calculation\\\", \\\"alcu\\
\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has
-var-args\": false},{\"name\": \"COS\",\"func-sig\": \"COS(angle)\",\"func-toolt
ip\": \"Returns the cosine of an angle specified in radians\",\"help-contents\":
\"Returns the cosine of an angle. Specify the angle in radians.\\n\\nExample: C
OS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"COT\",\"func-sig\": \"COT(angle)\",
\"func-tooltip\": \"Returns the cotangent of an angle specified in radians\",\"h
elp-contents\": \"Returns the cotangent of an angle. Specify the angle in radian
s.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\
"real\"],\"has-var-args\": false},{\"name\": \"COUNT\",\"func-sig\": \"COUNT(exp
ression)\",\"func-tooltip\": \"Returns the number of items in the expression\",\
"help-contents\": \"Returns the number of items in a group. NULL values are not
counted.\\n\\nExample: COUNT([Customer ID])\",\"func-grps\":[\"agg\"],\"func-arg
-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"COUNTD\",\"func-sig
\": \"COUNTD(expression)\",\"func-tooltip\": \"Returns the number of distinct it
ems in the expression\",\"help-contents\": \"Returns the number of distinct item
s in a group. NULL values are not counted. Each unique value is counted only on
ce.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"agg\"],\"func-arg-types\":
[\"boolean\"],\"has-var-args\": false},{\"name\": \"DATE\",\"func-sig\": \"DATE(
expression)\",\"func-tooltip\": \"Returns a date from a number\",\"help-contents
\": \"Returns a date given a number, string, or date expression. \\n\\nExample:
DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote that the quotation marks ar
e required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-ar
gs\": false},{\"name\": \"DATEADD\",\"func-sig\": \"DATEADD(date_part, interval,
date)\",\"func-tooltip\": \"Returns the specified date incremented by the speci
fied amount\",\"help-contents\": \"Adds an increment to the specified date and r
eturns the new date. The increment is defined by the interval and the date_part.
\\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM\",\"f
unc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"integer\",\"datetime\"],\
"has-var-args\": false},{\"name\": \"DATEDIFF\",\"func-sig\": \"DATEDIFF(date_pa
rt, start_date, end_date, [start_of_week])\",\"func-tooltip\": \"Returns the dif
ference between two dates\",\"help-contents\": \"Returns the difference between
two dates where start_date is subtracted from end_date. The difference is expres
sed in units of date_part. If start_of_week is omitted, the week start day is de
termined by the start day configured for the data source.\\n\\nExample: DATEDIFF
('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\",\"func-grps\":[\"date\"],
\"func-arg-types\":[\"locstr\",\"datetime\",\"datetime\",\"locstr\"],\"has-var-a
rgs\": false},{\"name\": \"DATENAME\",\"func-sig\": \"DATENAME(date_part, date,
[start_of_week])\",\"func-tooltip\": \"Returns a part of the specified date as a
string\",\"help-contents\": \"Returns a part of the given date as a string, whe
re the part is defined by date_part. If start_of_week is omitted, the week start
day is determined by the start day configured for the data source.\\n\\nExample
: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"func-grps\":[\"date\"],\"f
unc-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\
"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(format, string)\",\"func-toolti
p\": \"Converts a string to a date\",\"help-contents\": \"Converts a string to a
date in the specified format. \\n\\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\\\", \
\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func
-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": false},{\"name\": \"DATEPART
\",\"func-sig\": \"DATEPART(date_part, date, [start_of_week])\",\"func-tooltip\"
: \"Returns the specified part of a date as an integer\",\"help-contents\": \"Re
turns a part of the given date as an integer where the part is defined by date_p
art. If start_of_week is omitted, the week start day is determined by the start
day configured for the data source.\\n\\nExample: DATEPART('month', #2004-04-15#
) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"l
ocstr\"],\"has-var-args\": false},{\"name\": \"DATETIME\",\"func-sig\": \"DATETI
ME(expression)\",\"func-tooltip\": \"Returns a datetime from a number\",\"help-c
ontents\": \"Returns a datetime given a number, string, or date expression. \\n

\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\") \\nNote that the quotatio


n marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\"],\"
has-var-args\": false},{\"name\": \"DATETRUNC\",\"func-sig\": \"DATETRUNC(date_p
art, date, [start_of_week])\",\"func-tooltip\": \"Truncates the specified date t
o the specified accuracy\",\"help-contents\": \"Truncates the specified date to
the accuracy specified by the date_part and returns the new date. If start_of_we
ek is omitted, the week start day is determined by the start day configured for
the data source.\\n\\nExample: DATETRUNC('quarter', #2004-08-15#) = 2004-07-01 1
2:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\
",\"locstr\"],\"has-var-args\": false},{\"name\": \"DAY\",\"func-sig\": \"DAY(da
te)\",\"func-tooltip\": \"Returns the day part of the specified date as an integ
er\",\"help-contents\": \"Returns the day of the given date as an integer. \\n\
\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"date\"],\"func-arg-types\":
[\"datetime\"],\"has-var-args\": false},{\"name\": \"DEGREES\",\"func-sig\": \"D
EGREES(number)\",\"func-tooltip\": \"Converts a value in radians to degrees\",\"
help-contents\": \"Converts a number in radians to degrees.\\n\\nExample: DEGREE
S(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-v
ar-args\": false},{\"name\": \"DIV\",\"func-sig\": \"DIV(integer, integer)\",\"f
unc-tooltip\": \"Returns the integer part of a division operation\",\"help-conte
nts\": \"Returns the integer part of a division.\\n\\nExample: DIV(11, 2) = 5\",
\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF
<expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a log
ical test and returns an appropriate value\",\"help-contents\": \"Tests a series
of expressions returning the <then> value for the first true <expr>. \\n\\nExam
ple: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE
'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr
2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical
test and returns an appropriate value\",\"help-contents\": \"Tests a series of e
xpressions returning the <then> value for the first true <expr>. \\n\\nExample:
IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Los
s' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false
},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN
<then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and
returns an appropriate value\",\"help-contents\": \"Tests a series of expressio
ns returning the <then> value for the first true <expr>. \\n\\nExample: IF [Prof
it] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\"
,\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"nam
e\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, substring)\",\"func-tooltip\"
: \"Returns true if the specified string ends with the specified substring\",\"h
elp-contents\": \"Returns true if the string ends with the substring (trailing w
hitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Calculation\\\", \\\"ion\\\")
is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-va
r-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\": \"{ EXCLUDE [dim1[, dim2].
..] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate excludi
ng the specified dimensions if present in the view.\",\"help-contents\": \"Compu
tes an aggregate excluding the specified dimensions if present in the view.\",\"
func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\": \"Returns e raised to th
e power of a number\",\"help-contents\": \"Returns e raised to the power of the
given number. \\n\\nExample: EXP(5) = e^5\",\"func-grps\":[\"num\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"FIND\",\"func-sig\": \"
FIND(string, substring, [start])\",\"func-tooltip\": \"Returns the position of a
substring within a string\",\"help-contents\": \"Returns the position of a subs
tring within a string, or 0 if the substring isn't found. If the start argument
is defined, any instances of substring that appear before the start position are
ignored. The first character in the string is position 1. \\n\\nExample: FIND(\
\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\":[\"str\"],\"func-arg-types
\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FINDNTH\",\"

func-sig\": \"FINDNTH(string, substring, occurrence)\",\"func-tooltip\": \"Retur


ns the position of the nth occurrence a substring within a string\",\"help-conte
nts\": \"Returns the position of the nth occurrence of a substring within a stri
ng, or 0 if that occurrence of the substring isn't found. The first character in
the string is position 1. \\n\\nExample: FINDNTH(\\\"Calculation\\\", \\\"a\\\"
, 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"]
,\"has-var-args\": false},{\"name\": \"FIRST\",\"func-sig\": \"FIRST()\",\"functooltip\": \"Returns the number of rows from to the first row in the partition\"
,\"help-contents\": \"Returns the number of rows from the current row to the fir
st row in the partition.\\n\\nExample (current row index is 3 of 7):\\nFIRST( )
= -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},
{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[, dim2]...] : aggregate-expre
ssion }\",\"func-tooltip\": \"Computes an aggregate using only the specified dim
ensions.\",\"help-contents\": \"Computes an aggregate using only the specified d
imensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expression)\",\"func-tooltip\": \
"Returns a float from an expression\",\"help-contents\": \"Returns a float given
an expression of any type. This function requires unformatted numbers which mea
ns exclude commas and other symbols. \\n\\nExample: FLOAT(\\\"3\\\")= 3.000\",\
"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false
},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\",\"func-tooltip\": \"Round
s a number to the nearest integer of equal or lesser value\",\"help-contents\":
\"Rounds a number to the nearest integer of equal or lesser value. \\n\\nExample
: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"ha
s-var-args\": false},{\"name\": \"FULLNAME\",\"func-sig\": \"FULLNAME()\",\"func
-tooltip\": \"Returns the full name for the current user\",\"help-contents\": \"
Returns the full name for the current user. This is the Tableau Server or Tablea
u Online full name when the user is signed in; otherwise it is the local or netw
ork full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-ar
g-types\":[],\"has-var-args\": false},{\"name\": \"HEXBINX\",\"func-sig\": \"HEX
BINX(number, number)\",\"func-tooltip\": \"Returns the x-coordinate of the neare
st hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate to the x-coord
inate of the nearest hexagonal bin. The bins have side length 1, so the inputs m
ay need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"HEXBINY\",\"func-sig\
": \"HEXBINY(number, number)\",\"func-tooltip\": \"Returns the y-coordinate of t
he nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate to the
y-coordinate of the nearest hexagonal bin. The bins have side length 1, so the
inputs may need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"IF\",\"func-s
ig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] EN
D\",\"func-tooltip\": \"Performs a logical test and returns an appropriate value
\",\"help-contents\": \"Tests a series of expressions returning the <then> value
for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELS
EIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"
func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IFNULL\",\"func-sig\":
\"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns expression1 if not null\",
\"help-contents\": \"Returns <expr1> if it is not null, otherwise returns <expr2
>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\":[\"logic\"],\"func-arg-ty
pes\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"IIF\",\"fu
nc-sig\": \"IIF(test, then, else, [unknown])\",\"func-tooltip\": \"Evaluates a B
oolean expression and returns one of two values\",\"help-contents\": \"Checks wh
ether a condition is met, and returns one value if TRUE, another value if FALSE,
and an optional third value or NULL if unknown. \\n\\nExample: IIF([Profit] > 0
, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\",
\"real\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"INCLUDE\",\"fu
nc-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-toolti
p\": \"Computes an aggregate using the specified dimensions and the view dimensi
ons.\",\"help-contents\": \"Computes an aggregate using the specified dimensions
and the view dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-

var-args\": false},{\"name\": \"INDEX\",\"func-sig\": \"INDEX()\",\"func-tooltip


\": \"Returns the index of the current row in the partition\",\"help-contents\":
\"Returns the index of the current row in the partition.\\n\\nExample (for the
first row in the partition): INDEX( ) = 1\",\"func-grps\":[\"table\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"INT\",\"func-sig\": \"INT(expr
ession)\",\"func-tooltip\": \"Evaluates an expression and returns an integer\",\
"help-contents\": \"Returns an integer given an expression. This function trunca
tes results to the closest integer toward zero. \\n\\nExample: INT(8.0/3.0) = 2
or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"
has-var-args\": false},{\"name\": \"ISDATE\",\"func-sig\": \"ISDATE(string)\",\"
func-tooltip\": \"Returns true if the string is a valid date\",\"help-contents\"
: \"Returns true if a given string is a valid date. \\n\\nExample: ISDATE(\\\"2
004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date\",\"logic\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"ISFULLNAME\",\"func-sig\":
\"ISFULLNAME(string)\",\"func-tooltip\": \"Returns true if the current user's f
ull name matches the specified name\",\"help-contents\": \"Returns true if the c
urrent user's full name matches the specified full name, or false if it does not
match. This function uses the Tableau Server or Tableau Online full name when t
he user is signed in; otherwise it uses the local or network full name for the T
ableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],
\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"func-sig\": \"ISMEMBEROF(st
ring)\",\"func-tooltip\": \"Returns true if the current user is a member of the
specified group\",\"help-contents\": \"Returns true if the current user is a mem
ber of the given group, false otherwise. This uses the Tableau Server to resolv
e group membership if logged on, otherwise it always returns false.\",\"func-grp
s\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\
": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"func-tooltip\": \"Returns t
rue if the specified expression is null\",\"help-contents\": \"Returns true if t
he expression does not contain valid data (Null).\\n\\nExample: ISNULL([Profit])
\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\":
false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUSERNAME(string)\",\"func-too
ltip\": \"Returns true if the current user's name matches the specified user nam
e\",\"help-contents\": \"Returns true if the current user's username matches the
specified username, or false if it does not match. This function uses the Table
au Server or Tableau Online username when the user is signed in; otherwise it us
es the local or network username for the Tableau Desktop user.\",\"func-grps\":[
\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"
LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"Returns the number of rows t
o the last row in the partition\",\"help-contents\": \"Returns the number of row
s from the current row to the last row in the partition.\\n\\nExample (current r
ow is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[\"table\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"func-sig\": \"LEFT(string,
num_chars)\",\"func-tooltip\": \"Returns the specified number of characters from
the start of a string\",\"help-contents\": \"Returns the specified number of ch
aracters from the start of the given string. \\n\\nExample: LEFT(\\\"Calculatio
n\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\
"real\"],\"has-var-args\": false},{\"name\": \"LEN\",\"func-sig\": \"LEN(string)
\",\"func-tooltip\": \"Returns the number of characters in a string\",\"help-con
tents\": \"Returns the number of characters in the given string. \\n\\nExample:
LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"st
r\"],\"has-var-args\": false},{\"name\": \"LN\",\"func-sig\": \"LN(number)\",\"f
unc-tooltip\": \"Returns the natural logarithm of a number\",\"help-contents\":
\"Returns the natural logarithm of the given number. Returns Null if the number
is less than or equal to 0.\\n\\nExample: LN(EXP(5)) = 5\",\"func-grps\":[\"num\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"LOG\",\"f
unc-sig\": \"LOG(number, [base])\",\"func-tooltip\": \"Returns the logarithm of
a number for the given base\",\"help-contents\": \"Returns the logarithm of a nu
mber for the given base. If the base value is omitted, base 10 is used.\\n\\nExa
mple: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"func-grps\":[\"num\"],\"fun
c-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"LOOKUP\"

,\"func-sig\": \"LOOKUP(expression, [offset])\",\"func-tooltip\": \"Returns the


value of the expression in a row offset from current row\",\"help-contents\": \"
Returns the value of the given expression in a target row, specified as a relati
ve offset from the current row. Use FIRST()+n and LAST()-n for a target relative
to the first/last rows in the partition. If offset is omitted, the Compare To r
ow may be set on the field menu. Returns NULL if the target row cannot be determ
ined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) + 2) = SUM(Profit) in the th
ird row of the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integ
er\",\"integer\"],\"has-var-args\": false},{\"name\": \"LOWER\",\"func-sig\": \"
LOWER(string)\",\"func-tooltip\": \"Returns a string in all lowercase characters
\",\"help-contents\": \"Converts a text string to all lowercase letters. \\n\\nE
xample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"func-grps\":[\"str\"],\"fun
c-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LTRIM\",\"func-sig
\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a string with leading spaces r
emoved\",\"help-contents\": \"Returns the string with any leading spaces removed
. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\"\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"MAKEDATE\",\
"func-sig\": \"MAKEDATE(year, month, day)\",\"func-tooltip\": \"Returns a date v
alue constructed from a year, a month and a day of the month.\",\"help-contents\
": \"Returns a date value constructed from a year, a month and a day of the mont
h. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-grps\":[\"cast\"],\"func-arg
-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\
": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date, time)\",\"func-tooltip\":
\"Returns a datetime by combining a date and a time\",\"help-contents\": \"Retu
rns a date and time value given a date expression and a time expression. \\n\\n
Example: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"func-grps\":[\"cast\"],\"fun
c-arg-types\":[\"date\",\"datetime\"],\"has-var-args\": false},{\"name\": \"MAKE
TIME\",\"func-sig\": \"MAKETIME(hour, minute, second)\",\"func-tooltip\": \"Retu
rns a time value constructed from hours, minutes and seconds.\",\"help-contents\
": \"Returns a time value constructed from hours, minutes and seconds. \\n\\nEx
ample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"i
nteger\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"MAX\",\"
func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",\"func-tooltip\": \"Returns
the maximum of an expression\",\"help-contents\": \"Returns the maximum of a si
ngle expression across all records or the maximum of two expressions for each re
cord. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\"num\",\"str\",\"date\",\"l
ogic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},
{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expression)\",\"func-tooltip\": \"R
eturns the median of an expression\",\"help-contents\": \"Returns the median of
a single expression. MEDIAN can be used with numeric fields only. Null values ar
e ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-t
ypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"MID\",\"func-sig\": \"MI
D(string,start,[length])\",\"func-tooltip\": \"Returns the characters from the m
iddle of a text string\",\"help-contents\": \"Returns the characters from the mi
ddle of a text string given a starting position and a length. The first characte
r in the string is position 1. If the length is not included, all characters to
the end of the string are returned. If the length is included, up to that many c
haracters are returned. \\n\\nExample: MID(\\\"Tableau Software\\\",9) = \\\"Sof
tware\\\" \\n\\nExample: MID(\\\"Tableau Software\\\",2,4) = \\\"able\\\"\",\"fu
nc-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\",\"real\"],\"has-var-arg
s\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(expression) or MIN(expr1, exp
r2)\",\"func-tooltip\": \"Returns the minimum of an expression\",\"help-contents
\": \"Returns the minimum of an expression across all records or the minimum of
two expressions for each record. \\n\\nExample: MIN([Profit])\",\"func-grps\":[
\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\
"],\"has-var-args\": false},{\"name\": \"MONTH\",\"func-sig\": \"MONTH(date)\",\
"func-tooltip\": \"Returns the month part of the specified date as an integer\",
\"help-contents\": \"Returns the month of a given date as an integer. \\n\\nExa
mple: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"d
atetime\"],\"has-var-args\": false},{\"name\": \"NOT\",\"func-sig\": \"IF NOT <e

xpr> THEN <then> END\",\"func-tooltip\": \"Performs logical negation on an expre


ssion\",\"help-contents\": \"Performs logical negation on an expression\",\"func
-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"
NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Returns the current date and t
ime\",\"help-contents\": \"Returns the current date and time. \\n\\nExample: NO
W() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"OR\",\"func-sig\": \"IF <expr1> OR <expr2> TH
EN <then> END\",\"func-tooltip\": \"Performs a logical disjunction on two expres
sions\",\"help-contents\": \"Performs a logical disjunction on two expressions\"
,\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"nam
e\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expression, number)\",\"func-tool
tip\": \"Returns the percentile value at the specified number\",\"help-contents\
": \"Aggregate calculation that returns the percentile value from the given expr
ession corresponding to the specified number. Valid values for the number are 0
through 1. PERCENTILE([expression], 0.50) will always return the median value in
the expression.\\n\\nExample: PERCENTILE([Sales], 0.90)\",\"func-grps\":[\"agg\
"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-var-args\": false},{\"name\":
\"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Returns the numeric constant
pi\",\"help-contents\": \"Returns the numeric constant pi.\\n\\nExample: PI() =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(number,power)\",\"func-tool
tip\": \"Raises the number to the specified power\",\"help-contents\": \"Returns
the result of a number raised to the given power. \\n\\nExample: POWER(5,2) = 5
^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-v
ar-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"func-sig\": \"PREVIOUS_VALUE(e
xpression)\",\"func-tooltip\": \"Returns the value of this calculation in the pr
evious row\",\"help-contents\": \"Returns the value of this calculation in the p
revious row. Returns the given expression if the current row is the first row of
the partition.\\n\\nExample: SUM([Profit]) + PREVIOUS_VALUE(0) = running sum of
Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(1) = running product of SUM
(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-varargs\": false},{\"name\": \"RADIANS\",\"func-sig\": \"RADIANS(number)\",\"func-t
ooltip\": \"Converts a number in degrees to radians\",\"help-contents\": \"Conve
rts a number in degrees to radians.\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"RANK\",\"func-sig\": \"RANK(ex
pression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the competition rank for
the current partition row\",\"help-contents\": \"Returns the standard competiti
on rank for the current row in the partition. Identical values are assigned an i
dentical rank. Use the optional 'asc' | 'desc' argument to specify ascending or
descending order. The default order is descending.\\n\\nWith this function, the
set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 4) in ascending order.\\n\
\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_DENSE\",\"fu
nc-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns
the dense rank for the current partition row\",\"help-contents\": \"Returns the
dense rank for the current row in the partition. Identical values are assigned
an identical rank, but no gaps are inserted into the number sequence. Use the op
tional 'asc' | 'desc' argument to specify ascending or descending order. The def
ault order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 1
4) would be ranked (1, 2, 2, 3) in ascending order.\\n\\nExample: RANK_DENSE(SUM
([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\
"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIED\",\"func-sig\": \"RANK_MO
DIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the modified co
mpetition rank for the current partition row\",\"help-contents\": \"Returns the
modified competition rank for the current row in the partition. Identical values
are assigned an identical rank. Use the optional 'asc' | 'desc' argument to spe
cify ascending or descending order. The default order is descending.\\n\\nWith t
his function, the set of values (6, 9, 9, 14) would be ranked (1, 3, 3, 4) in as
cending order.\\n\\nExample: RANK_MODIFIED(AVG([Velocity]))\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"

name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERCENTILE(expression, ['asc'|'


desc'])\",\"func-tooltip\": \"Returns the percentile rank for the current partit
ion row\",\"help-contents\": \"Returns the percentile rank for the current row i
n the partition. Use the optional 'asc' | 'desc' argument to specify ascending o
r descending order. The default order is ascending.\\n\\nWith this function, the
set of values (6, 9, 9, 14) would be ranked (25, 75, 75, 100) in ascending orde
r.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\":
\"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expression, ['asc'|'desc'])\",\"func
-tooltip\": \"Returns the unique rank for the current partition row\",\"help-con
tents\": \"Returns the unique rank for the current row in the partition. Identic
al values are assigned different ranks. Use the optional 'asc' | 'desc' argument
to specify ascending or descending order. The default order is descending.\\n\\
nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 3, 4
) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1 for the first row in the p
artition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"]
,\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT\",\"func-sig\": \"REGEXP_E
XTRACT(string, pattern)\",\"func-tooltip\": \"Returns the portion of a string ma
tching the capturing group in a regular expression\",\"help-contents\": \"Return
s a substring of the given string that matches the capturing group within the re
gular expression pattern. The regular expression pattern requires exactly one c
apturing group. \\n\\nExample: REGEXP_EXTRACT('abc 123', '[a-z]+\\\\s+(\\\\d+)')
= '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-va
r-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"func-sig\": \"REGEXP_EXTRAC
T_NTH(string, pattern, index)\",\"func-tooltip\": \"Returns a substring of a str
ing using a regular expression pattern\",\"help-contents\": \"Returns a substrin
g of the given string using the regular expression pattern. The substring is ma
tched to the nth capturing group, where n is the given index. \\n\\nExample: REG
EXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)', 2) = '123'\",\"func-grps\":
[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locint\"],\"has-var-args\": fals
e},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP_MATCH(string, pattern)\",\
"func-tooltip\": \"Returns true if a string matches a regular expression\",\"hel
p-contents\": \"Returns true if a substring of the provided string matches the r
egular expression pattern. \\n\\nExample: REGEXP_MATCH('-([1234].[ The.Market ])
-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') = true\",\"func-grps\":[\"str
\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"R
EGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string, pattern, replacement)\",\
"func-tooltip\": \"Returns a string where substrings matching a regular expressi
on are replaced\",\"help-contents\": \"Returns a copy of the given string where
the matching pattern is substituted with the replacement string. \\n\\nExample:
REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'\",\"func-grps\":[\"str\"],
\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\":
\"REPLACE\",\"func-sig\": \"REPLACE(string, substring, replacement)\",\"func-to
oltip\": \"Replaces all instances of a substring within a string\",\"help-conten
ts\": \"Returns a string in which every occurrence of the substring is replaced
with the replacement string. If the substring is not found, the string is unchan
ged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"ion\\\", \\\"ed\\\") = \\\"
Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"s
tr\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\"func-sig\": \"RIGHT(string
, num_chars)\",\"func-tooltip\": \"Returns the specified number of characters fr
om the end of a string\",\"help-contents\": \"Returns the specified number of ch
aracters from the end of the given string. \\n\\nExample: RIGHT(\\\"Calculation
\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"
real\"],\"has-var-args\": false},{\"name\": \"ROUND\",\"func-sig\": \"ROUND(numb
er, [decimals])\",\"func-tooltip\": \"Rounds a number to the specified number of
places\",\"help-contents\": \"Rounds a number to the nearest integer or to a sp
ecified number of decimal places. \\n\\nExample: ROUND(3.1415, 1) = 3.1\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false
},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\",\"func-tooltip\": \"Retur
ns a string with trailing spaces removed\",\"help-contents\": \"Returns the stri

ng with any trailing spaces removed. \\n\\nExample: RTRIM(\\\"Market \\\") = \\


\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-ar
gs\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\": \"RUNNING_AVG(expression)\
",\"func-tooltip\": \"Returns the running average of an expression\",\"help-cont
ents\": \"Returns the running average of the given expression, from the first ro
w in the partition to the current row.\\n\\nExample: RUNNING_AVG(SUM([Profit]))
= running average of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING_COUNT\",\"func-sig\": \
"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Returns the running count of an
expression\",\"help-contents\": \"Returns the running count of the given expres
sion, from the first row in the partition to the current row.\\n\\nExample: RUNN
ING_COUNT(SUM([Profit])) = running count of SUM(Profit)\",\"func-grps\":[\"table
\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING_
MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"func-tooltip\": \"Returns the
running maximum of an expression\",\"help-contents\": \"Returns the running maxi
mum of the given expression, from the first row in the partition to the current
row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = running maximum of Profit\\n\\nE
xample: RUNNING_MAX(SUM([Profit])) = running maximum of SUM(Profit)\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"nam
e\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expression)\",\"func-tooltip\":
\"Returns the running minimum of an expression\",\"help-contents\": \"Returns t
he running minimum of the given expression, from the first row in the partition
to the current row.\\n\\nExample: RUNNING_MIN(MIN([Profit])) = running minimum o
f Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = running minimum of SUM(Profi
t)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\"
: false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"RUNNING_SUM(expression)\",\"
func-tooltip\": \"Returns the running sum of an expression\",\"help-contents\":
\"Returns the running sum of the given expression, from the first row in the par
tition to the current row.\\n\\nExample: RUNNING_SUM(SUM([Profit])) = running su
m of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])) = running count of Profit
\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\":
false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCRIPT_BOOL(string, expression
, ...)\",\"func-tooltip\": \"Returns a Boolean result from an R expression\",\"h
elp-contents\": \"Returns a Boolean result from a given R expression. The R expr
ession is passed directly to a running Rserve instance. Use .arg# in the R expre
ssion to reference parameters. In the following example, .arg1 is equal to SUM([
Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.arg1)\\\", SUM([Profit]))\",
\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{
\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(string, expression, ...)\",\
"func-tooltip\": \"Returns an integer result from an R expression\",\"help-conte
nts\": \"Returns an integer result from a given R expression. The R expression i
s passed directly to a running Rserve instance. Use .arg# in the R expression to
reference parameters. In the following example, .arg1 is equal to SUM([Profit])
. \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)\\\", SUM([Profit]))\",\"fu
nc-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"na
me\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(string, expression, ...)\",\"f
unc-tooltip\": \"Returns a numeric result from an R expression\",\"help-contents
\": \"Returns a numeric result from a given R expression. The R expression is pa
ssed directly to a running Rserve instance. Use .arg# in the R expression to ref
erence parameters. In the following example, .arg1 is equal to SUM([Profit]). \\
n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Profit]))\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIP
T_STR\",\"func-sig\": \"SCRIPT_STR(string, expression, ...)\",\"func-tooltip\":
\"Returns a string result from an R expression\",\"help-contents\": \"Returns a
string result from a given R expression. The R expression is passed directly to
a running Rserve instance. Use .arg# in the R expression to reference parameters
. In the following example, .arg1 is equal to ATTR([Region]). \\n\\nExample: SCR
IPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SIGN\",\"func
-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns 1 for a positive number\",\

"help-contents\": \"Returns the sign of a number: 1 if the number is positive, z


ero if the number is zero, or -1 if the number is negative.\\n\\nExample: SIGN([
Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angle)\",\"func-tooltip\": \"Re
turns the sine of a number\",\"help-contents\": \"Returns the sine of an angle.
Specify the angle in radians.\\n\\nExample: SIN(PI()/4) = 0.707106781186548\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"
name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tooltip\": \"Returns the number
of rows in the partition\",\"help-contents\": \"Returns the number of rows in t
he partition.\\n\\nExample (partition has 5 rows):\\nSIZE( ) = 5\",\"func-grps\"
:[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"SPACE\"
,\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"Returns a string containing
the specified number of spaces\",\"help-contents\": \"Returns a string composed
of the specified number of repeated spaces. \\n\\nExample: SPACE(2) = \\\" \\\
"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string, delimiter, token number)\"
,\"func-tooltip\": \"Extracts a substring from a string\",\"help-contents\": \"R
eturns a substring from a string, as determined by a delimiter extracting the ch
aracters from the beginning or end of the string. \\n\\nExample: SPLIT('a-b-c-d'
, '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-', -2) = 'c'\",\"func-grps\":[
\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"locint\"],\"has-var-args\": fa
lse},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)\",\"func-tooltip\": \"Retu
rns the square root of a number\",\"help-contents\": \"Returns the square root o
f a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\"],\"has-var-args\": false},{\"name\": \"SQUARE\",\"func-sig\": \"S
QUARE(number)\",\"func-tooltip\": \"Returns the square of a number\",\"help-cont
ents\": \"Returns the square of a given number. \\n\\nExample: SQUARE(5) = 25\",
\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{
\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(string, substring)\",\"functooltip\": \"Returns true if the specified string starts with the specified subs
tring\",\"help-contents\": \"Returns true if the string starts with the substrin
g. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\"Ca\\\") is true\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\
"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\",\"func-tooltip\": \"Retur
ns the sample standard deviation for an expression\",\"help-contents\": \"Return
s the sample standard deviation of the expression.\\n\\nExample: STDEV([Profit])
\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expression)\",\"func-tooltip\": \
"Returns the population standard deviation for an expression\",\"help-contents\"
: \"Returns the population standard deviation of the expression.\\n\\nExample: S
TDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"STR\",\"func-sig\": \"STR(expression)\",\"func-too
ltip\": \"Returns an expression as a string\",\"help-contents\": \"Returns a str
ing given an expression. \\n\\nExample: STR([Age]) returns all of the values of
the Age measure as strings.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"bo
olean\"],\"has-var-args\": false},{\"name\": \"SUM\",\"func-sig\": \"SUM(express
ion)\",\"func-tooltip\": \"Returns the sum of values in an expression\",\"help-c
ontents\": \"Returns the sum of all the values in the expression. SUM can be use
d with numeric fields only. Null values are ignored.\\n\\nExample: SUM([Profit])
\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"func-tooltip\": \"Returns th
e tangent of an angle specified in radians\",\"help-contents\": \"Returns the ta
ngent of an angle. Specify the angle in radians.\\n\\nExample: TAN(PI()/4) = 1.0
\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN
<then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test an
d returns an appropriate value\",\"help-contents\": \"Tests a series of expressi
ons returning the <then> value for the first true <expr>. \\n\\nExample: IF [Pro
fit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\
",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"na

me\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tooltip\": \"Returns the curren


t date\",\"help-contents\": \"Returns the current date. \\n\\nExample: TODAY()
= 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(expression)\",\"func-tooltip\"
: \"Returns the total for an expression within the partition\",\"help-contents\"
: \"Returns the total for the given expression.\\n\\nExample: TOTAL(AVG([Profit]
)) = AVG(Profit) for all database rows that contribute to the partition\",\"func
-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\
"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"func-tooltip\": \"Returns a s
tring with leading and trailing spaces removed\",\"help-contents\": \"Returns th
e string with both leading and trailing spaces removed. \\n\\nExample: TRIM(\\\"
Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"
str\"],\"has-var-args\": false},{\"name\": \"UPPER\",\"func-sig\": \"UPPER(strin
g)\",\"func-tooltip\": \"Returns a string in all uppercase characters\",\"help-c
ontents\": \"Converts a text string to all uppercase letters. \\n\\nExample: UPP
ER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\":[\"str\"],\"func-arg-types
\":[\"str\"],\"has-var-args\": false},{\"name\": \"USERDOMAIN\",\"func-sig\": \"
USERDOMAIN()\",\"func-tooltip\": \"Returns the domain for the current user\",\"h
elp-contents\": \"Returns the domain for the current user when the user is signe
d on to Tableau Server. Returns the Windows domain if the Tableau Desktop user i
s on a domain. Otherwise this function returns a null string.\",\"func-grps\":[\
"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"USERNAME\",
\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Returns the user name for the c
urrent user\",\"help-contents\": \"Returns the username for the current user. Th
is is the Tableau Server or Tableau Online username when the user is signed in;
otherwise it is the local or network username for the Tableau Desktop user.\",\"
func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"VAR\",\"func-sig\": \"VAR(expression)\",\"func-tooltip\": \"Returns the sampl
e variance for an expression\",\"help-contents\": \"Returns the sample variance
of the expression.\\n\\nExample: VAR([Profit])\",\"func-grps\":[\"agg\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"VARP\",\"func-sig\"
: \"VARP(expression)\",\"func-tooltip\": \"Returns the population variance for a
n expression\",\"help-contents\": \"Returns the population variance of the expre
ssion.\\n\\nExample: VARP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"WHEN\",\"func-sig\": \"CASE <e
xpr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"func-tooltip\": \"Pe
rforms logical tests and returns the appropriate value\",\"help-contents\": \"Fi
nds the first <value> that matches <expr> and returns the corresponding <return>
. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u20
19 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\": \"WINDOW_AVG(expression,
[start, end])\",\"func-tooltip\": \"Returns the average of the values within th
e window\",\"help-contents\": \"Returns the average of the expression within the
window. The window is defined as offsets from the current row. Use FIRST()+n a
nd LAST()-n for offsets from the first or last row in the partition. If start a
nd end are omitted, the entire partition is used.\\n\\nExample: WINDOW_AVG(SUM([
Profit]), -2, 0) = average of SUM(Profit) from the two previous rows to the curr
ent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"i
nteger\"],\"has-var-args\": false},{\"name\": \"WINDOW_COUNT\",\"func-sig\": \"W
INDOW_COUNT(expression, [start, end])\",\"func-tooltip\": \"Returns the number o
f items within the window\",\"help-contents\": \"Returns the count of the expres
sion within the window. The window is defined as offsets from the current row.
Use FIRST()+n and LAST()-n for offsets from the first or last row in the partiti
on. If start and end are omitted, the entire partition is used.\\n\\nExample: W
INDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Profit) from the two previous r
ows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",
\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MAX\",\"fu
nc-sig\": \"WINDOW_MAX(expression, [start, end])\",\"func-tooltip\": \"Returns t
he maximum within the window\",\"help-contents\": \"Returns the maximum of the e
xpression within the window. The window is defined as offsets from the current

row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Profit from the two previous r
ows to the current row\\n\\nExample: WINDOW_MAX(SUM([Profit]), -2, 0) = maximum
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args
\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\": \"WINDOW_MEDIAN(expression
, [start, end])\",\"func-tooltip\": \"Returns the median within the window\",\"h
elp-contents\": \"Returns the median of the expression within the window. The w
indow is defined as offsets from the current row. Use FIRST()+n and LAST()-n for
offsets from the first or last row in the partition. If start and end are omit
ted, the entire partition is used.\\n\\nExample: WINDOW_MEDIAN(SUM([Profit]), -2
, 0) = median of SUM(Profit) from the two previous rows to the current row\",\"f
unc-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"h
as-var-args\": false},{\"name\": \"WINDOW_MIN\",\"func-sig\": \"WINDOW_MIN(expre
ssion, [start, end])\",\"func-tooltip\": \"Returns the minimum within the window
\",\"help-contents\": \"Returns the minimum of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST(
)-n for offsets from the first or last row in the partition. If start and end a
re omitted, the entire partition is used.\\n\\nExample: WINDOW_MIN(MIN([Profit])
, -2, 0) = minimum of Profit from the two previous rows to the current row\\n\\n
Example: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIND
OW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(expression, number, [start, en
d])\",\"func-tooltip\": \"Returns the percentile value at the specified number\"
,\"help-contents\": \"Returns the value corresponding to the specified percentil
e within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WIND
OW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th percentile of SUM(Profit) fr
om the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"real\",\"locreal\",\"integer\",\"integer\"],\"has-var-args\": fals
e},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW_STDEV(expression, [start,
end])\",\"func-tooltip\": \"Returns the sample standard deviation within the win
dow\",\"help-contents\": \"Returns the sample standard deviation of the expressi
on within the window. The window is defined as offsets from the current row. Us
e FIRST()+n and LAST()-n for offsets from the first or last row in the partition
. If start and end are omitted, the entire partition is used.\\n\\nExample: WIN
DOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two previous
rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\
",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEVP\"
,\"func-sig\": \"WINDOW_STDEVP(expression, [start, end])\",\"func-tooltip\": \"R
eturns the population standard deviation within the window\",\"help-contents\":
\"Returns the population standard deviation of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST(
)-n for offsets from the first or last row in the partition. If start and end a
re omitted, the entire partition is used.\\n\\nExample: WINDOW_STDEVP(SUM([Profi
t]), -2, 0) = std. dev. of SUM(Profit) from the two previous rows to the current
row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"inte
ger\"],\"has-var-args\": false},{\"name\": \"WINDOW_SUM\",\"func-sig\": \"WINDOW
_SUM(expression, [start, end])\",\"func-tooltip\": \"Returns the sum of values w
ithin the window\",\"help-contents\": \"Returns the sum of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()
+n and LAST()-n for offsets from the first or last row in the partition. If sta
rt and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_SUM(S
UM([Profit]), -2, 0) = sum of SUM(Profit) from the two previous rows to the curr
ent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_VAR\",\"func-sig\": \"
WINDOW_VAR(expression, [start, end])\",\"func-tooltip\": \"Returns the sample va

riance within the window\",\"help-contents\": \"Returns the sample variance of t


he expression within the window. The window is defined as offsets from the curr
ent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in th
e partition. If start and end are omitted, the entire partition is used.\\n\\nE
xample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_
VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start, end])\",\"func-tooltip\":
\"Returns the population variance within the window\",\"help-contents\": \"Retu
rns the population variance of the expression within the window. The window is
defined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets
from the first or last row in the partition. If start and end are omitted, the
entire partition is used.\\n\\nExample: WINDOW_VARP(SUM([Profit]), -2, 0) = vari
ance of SUM(Profit) from the two previous rows to the current row\",\"func-grps\
":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR(date)\",\"func-tooltip\":
\"Returns the year of the specified date as an integer\",\"help-contents\": \"Re
turns the year of a given date as an integer. \\n\\nExample: YEAR(#2004-04-12#)
= 2004\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-a
rgs\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(expression)\",\"func-tooltip\
": \"Returns the expression if it is not null\",\"help-contents\": \"Returns <ex
pression> if it is not null, otherwise returns zero. \\n\\nExample: ZN([Profit]
)\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-types\":[\"integer\"],\"has-var
-args\": false}]},\"calculation-context\": \"calculation-dialog\",\"use-paramete
rs\": true} position=\"50\"","name":"tabdoc:calculation-auto-complete"}}
{"ts":"2016-09-29T16:43:02.951","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC
('month',[Order Date])-DATETRUNC('month',)\" calculation={\"datasource\": \"exce
l-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \"Calculation2\
",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"scope-isolation\"
: true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])-DATETRUNC('mon
th',[Calculation1])\",\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencie
s\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-role\": \"dime
nsions\",\"has-table-calc-data\": false,\"table-calc-types-used\": 0,\"style-tok
en-list\":[],\"error-string\": \"\",\"error-info-list\":[],\"expression-func-pm\
":{\"expression-func-list\":[{\"name\": \"ABS\",\"func-sig\": \"ABS(number)\",\"
func-tooltip\": \"Returns the absolute value of a number\",\"help-contents\": \"
Returns the absolute value of the given number. \\n\\nExample: ABS(-7) = 7\",\"f
unc-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n
ame\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-tooltip\": \"Returns the a
rc cosine of a number\",\"help-contents\": \"Returns the arc cosine of a number.
The result is in radians. \\n\\nExample: ACOS(-1) = 3.14159265358979\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN <then> END\",\"func-toolt
ip\": \"Performs a logical conjunction on two expressions\",\"help-contents\": \
"Performs a logical conjunction on two expressions\",\"func-grps\":[\"logic\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ASCII\",\"func-sig\":
\"ASCII(string)\",\"func-tooltip\": \"Returns the ASCII code for the first char
acter in a string\",\"help-contents\": \"Returns the ASCII code value of the fir
st character in a string. \\n\\nExample: ASCII(\\\"authors\\\") = 97\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\": \"Returns the arc sine
of a number\",\"help-contents\": \"Returns the arc sine of a number. The resul
t is in radians. \\n\\nExample: ASIN(1) = 1.5707963267949\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ATAN\",\
"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Returns the arc tangent of a n
umber\",\"help-contents\": \"Returns the arc tangent of a number. The result is
in radians. \\n\\nExample: ATAN(180) = 1.5652408283942\",\"func-grps\":[\"num\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ATAN2\",\

"func-sig\": \"ATAN2(y number, x number)\",\"func-tooltip\": \"Returns the arc t


angent of two numbers\",\"help-contents\": \"Returns the arc tangent of two give
n numbers (x and y). The result is in radians. \\n\\nExample: ATAN2(2, 1) = 1.1
0714871779409\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\
"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig\": \"ATTR(expression)\",\
"func-tooltip\": \"Returns the value of the expression if it has one value for a
ll rows\",\"help-contents\": \"Returns the value of the given expression if it o
nly has a single value for all rows in the group, otherwise it displays an aster
isk (*). Null values are ignored.\\n\\nExample: ATTR([Market])\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"
AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip\": \"Returns the average
of the values in the expression\",\"help-contents\": \"Returns the average of al
l the values in the expression. AVG can be used with numeric fields only. Null v
alues are ignored.\\n\\nExample: AVG([Profit])\",\"func-grps\":[\"agg\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CASE\",\"func-sig\"
: \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"func-tool
tip\": \"Performs logical tests and returns the appropriate value\",\"help-conte
nts\": \"Finds the first <value> that matches <expr> and returns the correspondi
ng <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \
u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[
],\"has-var-args\": false},{\"name\": \"CEILING\",\"func-sig\": \"CEILING(number
)\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or great
er value\",\"help-contents\": \"Rounds a number to the nearest integer of equal
or greater value. \\n\\nExample: CEILING(3.1415) = 4\",\"func-grps\":[\"num\"],\
"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CHAR\",\"func
-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts an integer ASCII code int
o a character\",\"help-contents\": \"Converts the given integer ASCII code into
a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"CONTAINS\",\"func-sig\"
: \"CONTAINS(string, substring)\",\"func-tooltip\": \"Returns true if a string c
ontains the specified substring\",\"help-contents\": \"Returns true if the strin
g contains the substring. \\n\\nExample: CONTAINS(\\\"Calculation\\\", \\\"alcu\
\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"ha
s-var-args\": false},{\"name\": \"COS\",\"func-sig\": \"COS(angle)\",\"func-tool
tip\": \"Returns the cosine of an angle specified in radians\",\"help-contents\"
: \"Returns the cosine of an angle. Specify the angle in radians.\\n\\nExample:
COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"
real\"],\"has-var-args\": false},{\"name\": \"COT\",\"func-sig\": \"COT(angle)\"
,\"func-tooltip\": \"Returns the cotangent of an angle specified in radians\",\"
help-contents\": \"Returns the cotangent of an angle. Specify the angle in radia
ns.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"num\"],\"func-arg-types\":[
\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\",\"func-sig\": \"COUNT(ex
pression)\",\"func-tooltip\": \"Returns the number of items in the expression\",
\"help-contents\": \"Returns the number of items in a group. NULL values are not
counted.\\n\\nExample: COUNT([Customer ID])\",\"func-grps\":[\"agg\"],\"func-ar
g-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"COUNTD\",\"func-si
g\": \"COUNTD(expression)\",\"func-tooltip\": \"Returns the number of distinct i
tems in the expression\",\"help-contents\": \"Returns the number of distinct ite
ms in a group. NULL values are not counted. Each unique value is counted only o
nce.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"agg\"],\"func-arg-types\"
:[\"boolean\"],\"has-var-args\": false},{\"name\": \"DATE\",\"func-sig\": \"DATE
(expression)\",\"func-tooltip\": \"Returns a date from a number\",\"help-content
s\": \"Returns a date given a number, string, or date expression. \\n\\nExample
: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote that the quotation marks a
re required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-a
rgs\": false},{\"name\": \"DATEADD\",\"func-sig\": \"DATEADD(date_part, interval
, date)\",\"func-tooltip\": \"Returns the specified date incremented by the spec
ified amount\",\"help-contents\": \"Adds an increment to the specified date and
returns the new date. The increment is defined by the interval and the date_part
. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM\",\"

func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"integer\",\"datetime\"],
\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"func-sig\": \"DATEDIFF(date_p
art, start_date, end_date, [start_of_week])\",\"func-tooltip\": \"Returns the di
fference between two dates\",\"help-contents\": \"Returns the difference between
two dates where start_date is subtracted from end_date. The difference is expre
ssed in units of date_part. If start_of_week is omitted, the week start day is d
etermined by the start day configured for the data source.\\n\\nExample: DATEDIF
F('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\",\"func-grps\":[\"date\"]
,\"func-arg-types\":[\"locstr\",\"datetime\",\"datetime\",\"locstr\"],\"has-varargs\": false},{\"name\": \"DATENAME\",\"func-sig\": \"DATENAME(date_part, date,
[start_of_week])\",\"func-tooltip\": \"Returns a part of the specified date as
a string\",\"help-contents\": \"Returns a part of the given date as a string, wh
ere the part is defined by date_part. If start_of_week is omitted, the week star
t day is determined by the start day configured for the data source.\\n\\nExampl
e: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"func-grps\":[\"date\"],\"
func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{
\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(format, string)\",\"func-toolt
ip\": \"Converts a string to a date\",\"help-contents\": \"Converts a string to
a date in the specified format. \\n\\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\\\",
\\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"fun
c-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": false},{\"name\": \"DATEPAR
T\",\"func-sig\": \"DATEPART(date_part, date, [start_of_week])\",\"func-tooltip\
": \"Returns the specified part of a date as an integer\",\"help-contents\": \"R
eturns a part of the given date as an integer where the part is defined by date_
part. If start_of_week is omitted, the week start day is determined by the start
day configured for the data source.\\n\\nExample: DATEPART('month', #2004-04-15
#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"
locstr\"],\"has-var-args\": false},{\"name\": \"DATETIME\",\"func-sig\": \"DATET
IME(expression)\",\"func-tooltip\": \"Returns a datetime from a number\",\"helpcontents\": \"Returns a datetime given a number, string, or date expression. \\
n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\") \\nNote that the quotati
on marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\"],\
"has-var-args\": false},{\"name\": \"DATETRUNC\",\"func-sig\": \"DATETRUNC(date_
part, date, [start_of_week])\",\"func-tooltip\": \"Truncates the specified date
to the specified accuracy\",\"help-contents\": \"Truncates the specified date to
the accuracy specified by the date_part and returns the new date. If start_of_w
eek is omitted, the week start day is determined by the start day configured for
the data source.\\n\\nExample: DATETRUNC('quarter', #2004-08-15#) = 2004-07-01
12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime
\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DAY\",\"func-sig\": \"DAY(d
ate)\",\"func-tooltip\": \"Returns the day part of the specified date as an inte
ger\",\"help-contents\": \"Returns the day of the given date as an integer. \\n
\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"date\"],\"func-arg-types\"
:[\"datetime\"],\"has-var-args\": false},{\"name\": \"DEGREES\",\"func-sig\": \"
DEGREES(number)\",\"func-tooltip\": \"Converts a value in radians to degrees\",\
"help-contents\": \"Converts a number in radians to degrees.\\n\\nExample: DEGRE
ES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"hasvar-args\": false},{\"name\": \"DIV\",\"func-sig\": \"DIV(integer, integer)\",\"
func-tooltip\": \"Returns the integer part of a division operation\",\"help-cont
ents\": \"Returns the integer part of a division.\\n\\nExample: DIV(11, 2) = 5\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-varargs\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF
<expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a lo
gical test and returns an appropriate value\",\"help-contents\": \"Tests a serie
s of expressions returning the <then> value for the first true <expr>. \\n\\nExa
mple: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELS
E 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <exp
r2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical
test and returns an appropriate value\",\"help-contents\": \"Tests a series of

expressions returning the <then> value for the first true <expr>. \\n\\nExample:
IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Lo
ss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN
<then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test an
d returns an appropriate value\",\"help-contents\": \"Tests a series of expressi
ons returning the <then> value for the first true <expr>. \\n\\nExample: IF [Pro
fit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\
",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"na
me\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, substring)\",\"func-tooltip\
": \"Returns true if the specified string ends with the specified substring\",\"
help-contents\": \"Returns true if the string ends with the substring (trailing
whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Calculation\\\", \\\"ion\\\"
) is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-v
ar-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\": \"{ EXCLUDE [dim1[, dim2]
...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate exclud
ing the specified dimensions if present in the view.\",\"help-contents\": \"Comp
utes an aggregate excluding the specified dimensions if present in the view.\",\
"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\": \"Returns e raised to t
he power of a number\",\"help-contents\": \"Returns e raised to the power of the
given number. \\n\\nExample: EXP(5) = e^5\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FIND\",\"func-sig\": \
"FIND(string, substring, [start])\",\"func-tooltip\": \"Returns the position of
a substring within a string\",\"help-contents\": \"Returns the position of a sub
string within a string, or 0 if the substring isn't found. If the start argument
is defined, any instances of substring that appear before the start position ar
e ignored. The first character in the string is position 1. \\n\\nExample: FIND(
\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FINDNTH\",\
"func-sig\": \"FINDNTH(string, substring, occurrence)\",\"func-tooltip\": \"Retu
rns the position of the nth occurrence a substring within a string\",\"help-cont
ents\": \"Returns the position of the nth occurrence of a substring within a str
ing, or 0 if that occurrence of the substring isn't found. The first character i
n the string is position 1. \\n\\nExample: FINDNTH(\\\"Calculation\\\", \\\"a\\\
", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"
],\"has-var-args\": false},{\"name\": \"FIRST\",\"func-sig\": \"FIRST()\",\"func
-tooltip\": \"Returns the number of rows from to the first row in the partition\
",\"help-contents\": \"Returns the number of rows from the current row to the fi
rst row in the partition.\\n\\nExample (current row index is 3 of 7):\\nFIRST( )
= -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false}
,{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[, dim2]...] : aggregate-expr
ession }\",\"func-tooltip\": \"Computes an aggregate using only the specified di
mensions.\",\"help-contents\": \"Computes an aggregate using only the specified
dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": fa
lse},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expression)\",\"func-tooltip\":
\"Returns a float from an expression\",\"help-contents\": \"Returns a float give
n an expression of any type. This function requires unformatted numbers which me
ans exclude commas and other symbols. \\n\\nExample: FLOAT(\\\"3\\\")= 3.000\",
\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": fals
e},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\",\"func-tooltip\": \"Roun
ds a number to the nearest integer of equal or lesser value\",\"help-contents\":
\"Rounds a number to the nearest integer of equal or lesser value. \\n\\nExampl
e: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"h
as-var-args\": false},{\"name\": \"FULLNAME\",\"func-sig\": \"FULLNAME()\",\"fun
c-tooltip\": \"Returns the full name for the current user\",\"help-contents\": \
"Returns the full name for the current user. This is the Tableau Server or Table
au Online full name when the user is signed in; otherwise it is the local or net
work full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-a
rg-types\":[],\"has-var-args\": false},{\"name\": \"HEXBINX\",\"func-sig\": \"HE

XBINX(number, number)\",\"func-tooltip\": \"Returns the x-coordinate of the near


est hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate to the x-coor
dinate of the nearest hexagonal bin. The bins have side length 1, so the inputs
may need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"HEXBINY\",\"func-sig
\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Returns the y-coordinate of
the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate to th
e y-coordinate of the nearest hexagonal bin. The bins have side length 1, so the
inputs may need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"IF\",\"funcsig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] E
ND\",\"func-tooltip\": \"Performs a logical test and returns an appropriate valu
e\",\"help-contents\": \"Tests a series of expressions returning the <then> valu
e for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' EL
SEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IFNULL\",\"func-sig\"
: \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns expression1 if not null\"
,\"help-contents\": \"Returns <expr1> if it is not null, otherwise returns <expr
2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\":[\"logic\"],\"func-arg-t
ypes\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"IIF\",\"f
unc-sig\": \"IIF(test, then, else, [unknown])\",\"func-tooltip\": \"Evaluates a
Boolean expression and returns one of two values\",\"help-contents\": \"Checks w
hether a condition is met, and returns one value if TRUE, another value if FALSE
, and an optional third value or NULL if unknown. \\n\\nExample: IIF([Profit] >
0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\"
,\"real\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"INCLUDE\",\"f
unc-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-toolt
ip\": \"Computes an aggregate using the specified dimensions and the view dimens
ions.\",\"help-contents\": \"Computes an aggregate using the specified dimension
s and the view dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has
-var-args\": false},{\"name\": \"INDEX\",\"func-sig\": \"INDEX()\",\"func-toolti
p\": \"Returns the index of the current row in the partition\",\"help-contents\"
: \"Returns the index of the current row in the partition.\\n\\nExample (for the
first row in the partition): INDEX( ) = 1\",\"func-grps\":[\"table\"],\"func-ar
g-types\":[],\"has-var-args\": false},{\"name\": \"INT\",\"func-sig\": \"INT(exp
ression)\",\"func-tooltip\": \"Evaluates an expression and returns an integer\",
\"help-contents\": \"Returns an integer given an expression. This function trunc
ates results to the closest integer toward zero. \\n\\nExample: INT(8.0/3.0) = 2
or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\
"has-var-args\": false},{\"name\": \"ISDATE\",\"func-sig\": \"ISDATE(string)\",\
"func-tooltip\": \"Returns true if the string is a valid date\",\"help-contents\
": \"Returns true if a given string is a valid date. \\n\\nExample: ISDATE(\\\"
2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date\",\"logic\"],\"func-arg-t
ypes\":[\"str\"],\"has-var-args\": false},{\"name\": \"ISFULLNAME\",\"func-sig\"
: \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns true if the current user's
full name matches the specified name\",\"help-contents\": \"Returns true if the
current user's full name matches the specified full name, or false if it does no
t match. This function uses the Tableau Server or Tableau Online full name when
the user is signed in; otherwise it uses the local or network full name for the
Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"]
,\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"func-sig\": \"ISMEMBEROF(s
tring)\",\"func-tooltip\": \"Returns true if the current user is a member of the
specified group\",\"help-contents\": \"Returns true if the current user is a me
mber of the given group, false otherwise. This uses the Tableau Server to resol
ve group membership if logged on, otherwise it always returns false.\",\"func-gr
ps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name
\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"func-tooltip\": \"Returns
true if the specified expression is null\",\"help-contents\": \"Returns true if
the expression does not contain valid data (Null).\\n\\nExample: ISNULL([Profit]
)\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\":

false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUSERNAME(string)\",\"func-to


oltip\": \"Returns true if the current user's name matches the specified user na
me\",\"help-contents\": \"Returns true if the current user's username matches th
e specified username, or false if it does not match. This function uses the Tabl
eau Server or Tableau Online username when the user is signed in; otherwise it u
ses the local or network username for the Tableau Desktop user.\",\"func-grps\":
[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \
"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"Returns the number of rows
to the last row in the partition\",\"help-contents\": \"Returns the number of ro
ws from the current row to the last row in the partition.\\n\\nExample (current
row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"func-sig\": \"LEFT(string,
num_chars)\",\"func-tooltip\": \"Returns the specified number of characters fro
m the start of a string\",\"help-contents\": \"Returns the specified number of c
haracters from the start of the given string. \\n\\nExample: LEFT(\\\"Calculati
on\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",
\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",\"func-sig\": \"LEN(string
)\",\"func-tooltip\": \"Returns the number of characters in a string\",\"help-co
ntents\": \"Returns the number of characters in the given string. \\n\\nExample:
LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"s
tr\"],\"has-var-args\": false},{\"name\": \"LN\",\"func-sig\": \"LN(number)\",\"
func-tooltip\": \"Returns the natural logarithm of a number\",\"help-contents\":
\"Returns the natural logarithm of the given number. Returns Null if the number
is less than or equal to 0.\\n\\nExample: LN(EXP(5)) = 5\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"LOG\",\"
func-sig\": \"LOG(number, [base])\",\"func-tooltip\": \"Returns the logarithm of
a number for the given base\",\"help-contents\": \"Returns the logarithm of a n
umber for the given base. If the base value is omitted, base 10 is used.\\n\\nEx
ample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"func-grps\":[\"num\"],\"fu
nc-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"LOOKUP\
",\"func-sig\": \"LOOKUP(expression, [offset])\",\"func-tooltip\": \"Returns the
value of the expression in a row offset from current row\",\"help-contents\": \
"Returns the value of the given expression in a target row, specified as a relat
ive offset from the current row. Use FIRST()+n and LAST()-n for a target relativ
e to the first/last rows in the partition. If offset is omitted, the Compare To
row may be set on the field menu. Returns NULL if the target row cannot be deter
mined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) + 2) = SUM(Profit) in the t
hird row of the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"inte
ger\",\"integer\"],\"has-var-args\": false},{\"name\": \"LOWER\",\"func-sig\": \
"LOWER(string)\",\"func-tooltip\": \"Returns a string in all lowercase character
s\",\"help-contents\": \"Converts a text string to all lowercase letters. \\n\\n
Example: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"func-grps\":[\"str\"],\"fu
nc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LTRIM\",\"func-si
g\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a string with leading spaces
removed\",\"help-contents\": \"Returns the string with any leading spaces remove
d. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\"\",\"func-grps\":[\"str\"
],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"MAKEDATE\",
\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-tooltip\": \"Returns a date
value constructed from a year, a month and a day of the month.\",\"help-contents
\": \"Returns a date value constructed from a year, a month and a day of the mon
th. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-grps\":[\"cast\"],\"func-ar
g-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name
\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date, time)\",\"func-tooltip\"
: \"Returns a datetime by combining a date and a time\",\"help-contents\": \"Ret
urns a date and time value given a date expression and a time expression. \\n\\
nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"func-grps\":[\"cast\"],\"fu
nc-arg-types\":[\"date\",\"datetime\"],\"has-var-args\": false},{\"name\": \"MAK
ETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)\",\"func-tooltip\": \"Ret
urns a time value constructed from hours, minutes and seconds.\",\"help-contents
\": \"Returns a time value constructed from hours, minutes and seconds. \\n\\nE

xample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"


integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"MAX\",\
"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",\"func-tooltip\": \"Return
s the maximum of an expression\",\"help-contents\": \"Returns the maximum of a s
ingle expression across all records or the maximum of two expressions for each r
ecord. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\"num\",\"str\",\"date\",\"
logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expression)\",\"func-tooltip\": \"
Returns the median of an expression\",\"help-contents\": \"Returns the median of
a single expression. MEDIAN can be used with numeric fields only. Null values a
re ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-grps\":[\"agg\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"MID\",\"func-sig\": \"M
ID(string,start,[length])\",\"func-tooltip\": \"Returns the characters from the
middle of a text string\",\"help-contents\": \"Returns the characters from the m
iddle of a text string given a starting position and a length. The first charact
er in the string is position 1. If the length is not included, all characters to
the end of the string are returned. If the length is included, up to that many
characters are returned. \\n\\nExample: MID(\\\"Tableau Software\\\",9) = \\\"So
ftware\\\" \\n\\nExample: MID(\\\"Tableau Software\\\",2,4) = \\\"able\\\"\",\"f
unc-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\",\"real\"],\"has-var-ar
gs\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(expression) or MIN(expr1, ex
pr2)\",\"func-tooltip\": \"Returns the minimum of an expression\",\"help-content
s\": \"Returns the minimum of an expression across all records or the minimum of
two expressions for each record. \\n\\nExample: MIN([Profit])\",\"func-grps\":
[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real
\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"func-sig\": \"MONTH(date)\",
\"func-tooltip\": \"Returns the month part of the specified date as an integer\"
,\"help-contents\": \"Returns the month of a given date as an integer. \\n\\nEx
ample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"
datetime\"],\"has-var-args\": false},{\"name\": \"NOT\",\"func-sig\": \"IF NOT <
expr> THEN <then> END\",\"func-tooltip\": \"Performs logical negation on an expr
ession\",\"help-contents\": \"Performs logical negation on an expression\",\"fun
c-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \
"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Returns the current date and
time\",\"help-contents\": \"Returns the current date and time. \\n\\nExample: N
OW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"
has-var-args\": false},{\"name\": \"OR\",\"func-sig\": \"IF <expr1> OR <expr2> T
HEN <then> END\",\"func-tooltip\": \"Performs a logical disjunction on two expre
ssions\",\"help-contents\": \"Performs a logical disjunction on two expressions\
",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"na
me\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expression, number)\",\"func-too
ltip\": \"Returns the percentile value at the specified number\",\"help-contents
\": \"Aggregate calculation that returns the percentile value from the given exp
ression corresponding to the specified number. Valid values for the number are 0
through 1. PERCENTILE([expression], 0.50) will always return the median value i
n the expression.\\n\\nExample: PERCENTILE([Sales], 0.90)\",\"func-grps\":[\"agg
\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-var-args\": false},{\"name\"
: \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Returns the numeric constant
pi\",\"help-contents\": \"Returns the numeric constant pi.\\n\\nExample: PI() =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[],\"has-var-args
\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(number,power)\",\"func-too
ltip\": \"Raises the number to the specified power\",\"help-contents\": \"Return
s the result of a number raised to the given power. \\n\\nExample: POWER(5,2) =
5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"hasvar-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"func-sig\": \"PREVIOUS_VALUE(
expression)\",\"func-tooltip\": \"Returns the value of this calculation in the p
revious row\",\"help-contents\": \"Returns the value of this calculation in the
previous row. Returns the given expression if the current row is the first row o
f the partition.\\n\\nExample: SUM([Profit]) + PREVIOUS_VALUE(0) = running sum o
f Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(1) = running product of SU

M(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var
-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \"RADIANS(number)\",\"functooltip\": \"Converts a number in degrees to radians\",\"help-contents\": \"Conv
erts a number in degrees to radians.\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"RANK\",\"func-sig\": \"RANK(e
xpression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the competition rank fo
r the current partition row\",\"help-contents\": \"Returns the standard competit
ion rank for the current row in the partition. Identical values are assigned an
identical rank. Use the optional 'asc' | 'desc' argument to specify ascending or
descending order. The default order is descending.\\n\\nWith this function, the
set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 4) in ascending order.\\n
\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_DENSE\",\"f
unc-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Return
s the dense rank for the current partition row\",\"help-contents\": \"Returns th
e dense rank for the current row in the partition. Identical values are assigned
an identical rank, but no gaps are inserted into the number sequence. Use the o
ptional 'asc' | 'desc' argument to specify ascending or descending order. The de
fault order is descending.\\n\\nWith this function, the set of values (6, 9, 9,
14) would be ranked (1, 2, 2, 3) in ascending order.\\n\\nExample: RANK_DENSE(SU
M([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr
\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIED\",\"func-sig\": \"RANK_M
ODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the modified c
ompetition rank for the current partition row\",\"help-contents\": \"Returns the
modified competition rank for the current row in the partition. Identical value
s are assigned an identical rank. Use the optional 'asc' | 'desc' argument to sp
ecify ascending or descending order. The default order is descending.\\n\\nWith
this function, the set of values (6, 9, 9, 14) would be ranked (1, 3, 3, 4) in a
scending order.\\n\\nExample: RANK_MODIFIED(AVG([Velocity]))\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\
"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERCENTILE(expression, ['asc'|
'desc'])\",\"func-tooltip\": \"Returns the percentile rank for the current parti
tion row\",\"help-contents\": \"Returns the percentile rank for the current row
in the partition. Use the optional 'asc' | 'desc' argument to specify ascending
or descending order. The default order is ascending.\\n\\nWith this function, th
e set of values (6, 9, 9, 14) would be ranked (25, 75, 75, 100) in ascending ord
er.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\":
\"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expression, ['asc'|'desc'])\",\"fun
c-tooltip\": \"Returns the unique rank for the current partition row\",\"help-co
ntents\": \"Returns the unique rank for the current row in the partition. Identi
cal values are assigned different ranks. Use the optional 'asc' | 'desc' argumen
t to specify ascending or descending order. The default order is descending.\\n\
\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 3,
4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1 for the first row in the
partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"
],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT\",\"func-sig\": \"REGEXP_
EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns the portion of a string m
atching the capturing group in a regular expression\",\"help-contents\": \"Retur
ns a substring of the given string that matches the capturing group within the r
egular expression pattern. The regular expression pattern requires exactly one
capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 123', '[a-z]+\\\\s+(\\\\d+)'
) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-v
ar-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"func-sig\": \"REGEXP_EXTRA
CT_NTH(string, pattern, index)\",\"func-tooltip\": \"Returns a substring of a st
ring using a regular expression pattern\",\"help-contents\": \"Returns a substri
ng of the given string using the regular expression pattern. The substring is m
atched to the nth capturing group, where n is the given index. \\n\\nExample: RE
GEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)', 2) = '123'\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locint\"],\"has-var-args\": fal

se},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP_MATCH(string, pattern)\",


\"func-tooltip\": \"Returns true if a string matches a regular expression\",\"he
lp-contents\": \"Returns true if a substring of the provided string matches the
regular expression pattern. \\n\\nExample: REGEXP_MATCH('-([1234].[ The.Market ]
)-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') = true\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"
REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string, pattern, replacement)\",
\"func-tooltip\": \"Returns a string where substrings matching a regular express
ion are replaced\",\"help-contents\": \"Returns a copy of the given string where
the matching pattern is substituted with the replacement string. \\n\\nExample:
REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\"
: \"REPLACE\",\"func-sig\": \"REPLACE(string, substring, replacement)\",\"func-t
ooltip\": \"Replaces all instances of a substring within a string\",\"help-conte
nts\": \"Returns a string in which every occurrence of the substring is replaced
with the replacement string. If the substring is not found, the string is uncha
nged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"ion\\\", \\\"ed\\\") = \\\
"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"
str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\"func-sig\": \"RIGHT(strin
g, num_chars)\",\"func-tooltip\": \"Returns the specified number of characters f
rom the end of a string\",\"help-contents\": \"Returns the specified number of c
haracters from the end of the given string. \\n\\nExample: RIGHT(\\\"Calculatio
n\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\
"real\"],\"has-var-args\": false},{\"name\": \"ROUND\",\"func-sig\": \"ROUND(num
ber, [decimals])\",\"func-tooltip\": \"Rounds a number to the specified number o
f places\",\"help-contents\": \"Rounds a number to the nearest integer or to a s
pecified number of decimal places. \\n\\nExample: ROUND(3.1415, 1) = 3.1\",\"fun
c-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": fals
e},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\",\"func-tooltip\": \"Retu
rns a string with trailing spaces removed\",\"help-contents\": \"Returns the str
ing with any trailing spaces removed. \\n\\nExample: RTRIM(\\\"Market \\\") = \
\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-a
rgs\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\": \"RUNNING_AVG(expression)
\",\"func-tooltip\": \"Returns the running average of an expression\",\"help-con
tents\": \"Returns the running average of the given expression, from the first r
ow in the partition to the current row.\\n\\nExample: RUNNING_AVG(SUM([Profit]))
= running average of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING_COUNT\",\"func-sig\":
\"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Returns the running count of a
n expression\",\"help-contents\": \"Returns the running count of the given expre
ssion, from the first row in the partition to the current row.\\n\\nExample: RUN
NING_COUNT(SUM([Profit])) = running count of SUM(Profit)\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING
_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"func-tooltip\": \"Returns the
running maximum of an expression\",\"help-contents\": \"Returns the running max
imum of the given expression, from the first row in the partition to the current
row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = running maximum of Profit\\n\\n
Example: RUNNING_MAX(SUM([Profit])) = running maximum of SUM(Profit)\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"na
me\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expression)\",\"func-tooltip\"
: \"Returns the running minimum of an expression\",\"help-contents\": \"Returns
the running minimum of the given expression, from the first row in the partition
to the current row.\\n\\nExample: RUNNING_MIN(MIN([Profit])) = running minimum
of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = running minimum of SUM(Prof
it)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\
": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"RUNNING_SUM(expression)\",\
"func-tooltip\": \"Returns the running sum of an expression\",\"help-contents\":
\"Returns the running sum of the given expression, from the first row in the pa
rtition to the current row.\\n\\nExample: RUNNING_SUM(SUM([Profit])) = running s
um of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])) = running count of Profi

t\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\":
false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCRIPT_BOOL(string, expressio
n, ...)\",\"func-tooltip\": \"Returns a Boolean result from an R expression\",\"
help-contents\": \"Returns a Boolean result from a given R expression. The R exp
ression is passed directly to a running Rserve instance. Use .arg# in the R expr
ession to reference parameters. In the following example, .arg1 is equal to SUM(
[Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.arg1)\\\", SUM([Profit]))\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},
{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(string, expression, ...)\",
\"func-tooltip\": \"Returns an integer result from an R expression\",\"help-cont
ents\": \"Returns an integer result from a given R expression. The R expression
is passed directly to a running Rserve instance. Use .arg# in the R expression t
o reference parameters. In the following example, .arg1 is equal to SUM([Profit]
). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)\\\", SUM([Profit]))\",\"f
unc-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"n
ame\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(string, expression, ...)\",\"
func-tooltip\": \"Returns a numeric result from an R expression\",\"help-content
s\": \"Returns a numeric result from a given R expression. The R expression is p
assed directly to a running Rserve instance. Use .arg# in the R expression to re
ference parameters. In the following example, .arg1 is equal to SUM([Profit]). \
\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Profit]))\",\"func-grps\":[\
"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRI
PT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression, ...)\",\"func-tooltip\":
\"Returns a string result from an R expression\",\"help-contents\": \"Returns a
string result from a given R expression. The R expression is passed directly to
a running Rserve instance. Use .arg# in the R expression to reference parameter
s. In the following example, .arg1 is equal to ATTR([Region]). \\n\\nExample: SC
RIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\",\"func-grps\":[\"table\"
],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SIGN\",\"fun
c-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns 1 for a positive number\",
\"help-contents\": \"Returns the sign of a number: 1 if the number is positive,
zero if the number is zero, or -1 if the number is negative.\\n\\nExample: SIGN(
[Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args
\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angle)\",\"func-tooltip\": \"R
eturns the sine of a number\",\"help-contents\": \"Returns the sine of an angle.
Specify the angle in radians.\\n\\nExample: SIN(PI()/4) = 0.707106781186548\",\
"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\
"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tooltip\": \"Returns the numbe
r of rows in the partition\",\"help-contents\": \"Returns the number of rows in
the partition.\\n\\nExample (partition has 5 rows):\\nSIZE( ) = 5\",\"func-grps\
":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"SPACE\
",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"Returns a string containin
g the specified number of spaces\",\"help-contents\": \"Returns a string compose
d of the specified number of repeated spaces. \\n\\nExample: SPACE(2) = \\\" \\
\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string, delimiter, token number)\
",\"func-tooltip\": \"Extracts a substring from a string\",\"help-contents\": \"
Returns a substring from a string, as determined by a delimiter extracting the c
haracters from the beginning or end of the string. \\n\\nExample: SPLIT('a-b-c-d
', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-', -2) = 'c'\",\"func-grps\":
[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"locint\"],\"has-var-args\": f
alse},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)\",\"func-tooltip\": \"Ret
urns the square root of a number\",\"help-contents\": \"Returns the square root
of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps\":[\"num\"],\"func-arg-ty
pes\":[\"real\"],\"has-var-args\": false},{\"name\": \"SQUARE\",\"func-sig\": \"
SQUARE(number)\",\"func-tooltip\": \"Returns the square of a number\",\"help-con
tents\": \"Returns the square of a given number. \\n\\nExample: SQUARE(5) = 25\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(string, substring)\",\"func
-tooltip\": \"Returns true if the specified string starts with the specified sub

string\",\"help-contents\": \"Returns true if the string starts with the substri


ng. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\"Ca\\\") is true\",\"funcgrps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{
\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\",\"func-tooltip\": \"Retu
rns the sample standard deviation for an expression\",\"help-contents\": \"Retur
ns the sample standard deviation of the expression.\\n\\nExample: STDEV([Profit]
)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expression)\",\"func-tooltip\":
\"Returns the population standard deviation for an expression\",\"help-contents\
": \"Returns the population standard deviation of the expression.\\n\\nExample:
STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-v
ar-args\": false},{\"name\": \"STR\",\"func-sig\": \"STR(expression)\",\"func-to
oltip\": \"Returns an expression as a string\",\"help-contents\": \"Returns a st
ring given an expression. \\n\\nExample: STR([Age]) returns all of the values o
f the Age measure as strings.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"b
oolean\"],\"has-var-args\": false},{\"name\": \"SUM\",\"func-sig\": \"SUM(expres
sion)\",\"func-tooltip\": \"Returns the sum of values in an expression\",\"helpcontents\": \"Returns the sum of all the values in the expression. SUM can be us
ed with numeric fields only. Null values are ignored.\\n\\nExample: SUM([Profit]
)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"func-tooltip\": \"Returns t
he tangent of an angle specified in radians\",\"help-contents\": \"Returns the t
angent of an angle. Specify the angle in radians.\\n\\nExample: TAN(PI()/4) = 1.
0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THE
N <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test a
nd returns an appropriate value\",\"help-contents\": \"Tests a series of express
ions returning the <then> value for the first true <expr>. \\n\\nExample: IF [Pr
ofit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END
\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"n
ame\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tooltip\": \"Returns the curre
nt date\",\"help-contents\": \"Returns the current date. \\n\\nExample: TODAY()
= 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(expression)\",\"func-tooltip\
": \"Returns the total for an expression within the partition\",\"help-contents\
": \"Returns the total for the given expression.\\n\\nExample: TOTAL(AVG([Profit
])) = AVG(Profit) for all database rows that contribute to the partition\",\"fun
c-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{
\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"func-tooltip\": \"Returns a
string with leading and trailing spaces removed\",\"help-contents\": \"Returns t
he string with both leading and trailing spaces removed. \\n\\nExample: TRIM(\\\
" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\
"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",\"func-sig\": \"UPPER(stri
ng)\",\"func-tooltip\": \"Returns a string in all uppercase characters\",\"helpcontents\": \"Converts a text string to all uppercase letters. \\n\\nExample: UP
PER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\"],\"has-var-args\": false},{\"name\": \"USERDOMAIN\",\"func-sig\": \
"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain for the current user\",\"
help-contents\": \"Returns the domain for the current user when the user is sign
ed on to Tableau Server. Returns the Windows domain if the Tableau Desktop user
is on a domain. Otherwise this function returns a null string.\",\"func-grps\":[
\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"USERNAME\"
,\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Returns the user name for the
current user\",\"help-contents\": \"Returns the username for the current user. T
his is the Tableau Server or Tableau Online username when the user is signed in;
otherwise it is the local or network username for the Tableau Desktop user.\",\
"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\"
: \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-tooltip\": \"Returns the samp
le variance for an expression\",\"help-contents\": \"Returns the sample variance
of the expression.\\n\\nExample: VAR([Profit])\",\"func-grps\":[\"agg\"],\"func

-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"VARP\",\"func-sig\


": \"VARP(expression)\",\"func-tooltip\": \"Returns the population variance for
an expression\",\"help-contents\": \"Returns the population variance of the expr
ession.\\n\\nExample: VARP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"WHEN\",\"func-sig\": \"CASE <
expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"func-tooltip\": \"P
erforms logical tests and returns the appropriate value\",\"help-contents\": \"F
inds the first <value> that matches <expr> and returns the corresponding <return
>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2
019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\": \"WINDOW_AVG(expression
, [start, end])\",\"func-tooltip\": \"Returns the average of the values within t
he window\",\"help-contents\": \"Returns the average of the expression within th
e window. The window is defined as offsets from the current row. Use FIRST()+n
and LAST()-n for offsets from the first or last row in the partition. If start
and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_AVG(SUM(
[Profit]), -2, 0) = average of SUM(Profit) from the two previous rows to the cur
rent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"
integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_COUNT\",\"func-sig\": \"
WINDOW_COUNT(expression, [start, end])\",\"func-tooltip\": \"Returns the number
of items within the window\",\"help-contents\": \"Returns the count of the expre
ssion within the window. The window is defined as offsets from the current row.
Use FIRST()+n and LAST()-n for offsets from the first or last row in the partit
ion. If start and end are omitted, the entire partition is used.\\n\\nExample:
WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Profit) from the two previous
rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"
,\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MAX\",\"f
unc-sig\": \"WINDOW_MAX(expression, [start, end])\",\"func-tooltip\": \"Returns
the maximum within the window\",\"help-contents\": \"Returns the maximum of the
expression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the p
artition. If start and end are omitted, the entire partition is used.\\n\\nExam
ple: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Profit from the two previous
rows to the current row\\n\\nExample: WINDOW_MAX(SUM([Profit]), -2, 0) = maximum
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\
"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-arg
s\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\": \"WINDOW_MEDIAN(expressio
n, [start, end])\",\"func-tooltip\": \"Returns the median within the window\",\"
help-contents\": \"Returns the median of the expression within the window. The
window is defined as offsets from the current row. Use FIRST()+n and LAST()-n fo
r offsets from the first or last row in the partition. If start and end are omi
tted, the entire partition is used.\\n\\nExample: WINDOW_MEDIAN(SUM([Profit]), 2, 0) = median of SUM(Profit) from the two previous rows to the current row\",\"
func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"
has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"func-sig\": \"WINDOW_MIN(expr
ession, [start, end])\",\"func-tooltip\": \"Returns the minimum within the windo
w\",\"help-contents\": \"Returns the minimum of the expression within the window
. The window is defined as offsets from the current row. Use FIRST()+n and LAST
()-n for offsets from the first or last row in the partition. If start and end
are omitted, the entire partition is used.\\n\\nExample: WINDOW_MIN(MIN([Profit]
), -2, 0) = minimum of Profit from the two previous rows to the current row\\n\\
nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIN
DOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(expression, number, [start, e
nd])\",\"func-tooltip\": \"Returns the percentile value at the specified number\
",\"help-contents\": \"Returns the value corresponding to the specified percenti
le within the window. The window is defined as offsets from the current row. Us
e FIRST()+n and LAST()-n for offsets from the first or last row in the partition
. If start and end are omitted, the entire partition is used.\\n\\nExample: WIN

DOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th percentile of SUM(Profit) f


rom the two previous rows to the current row\",\"func-grps\":[\"table\"],\"funcarg-types\":[\"real\",\"locreal\",\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW_STDEV(expression, [start,
end])\",\"func-tooltip\": \"Returns the sample standard deviation within the wi
ndow\",\"help-contents\": \"Returns the sample standard deviation of the express
ion within the window. The window is defined as offsets from the current row. U
se FIRST()+n and LAST()-n for offsets from the first or last row in the partitio
n. If start and end are omitted, the entire partition is used.\\n\\nExample: WI
NDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two previou
s rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real
\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEVP\
",\"func-sig\": \"WINDOW_STDEVP(expression, [start, end])\",\"func-tooltip\": \"
Returns the population standard deviation within the window\",\"help-contents\":
\"Returns the population standard deviation of the expression within the window
. The window is defined as offsets from the current row. Use FIRST()+n and LAST
()-n for offsets from the first or last row in the partition. If start and end
are omitted, the entire partition is used.\\n\\nExample: WINDOW_STDEVP(SUM([Prof
it]), -2, 0) = std. dev. of SUM(Profit) from the two previous rows to the curren
t row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"int
eger\"],\"has-var-args\": false},{\"name\": \"WINDOW_SUM\",\"func-sig\": \"WINDO
W_SUM(expression, [start, end])\",\"func-tooltip\": \"Returns the sum of values
within the window\",\"help-contents\": \"Returns the sum of the expression withi
n the window. The window is defined as offsets from the current row. Use FIRST(
)+n and LAST()-n for offsets from the first or last row in the partition. If st
art and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_SUM(
SUM([Profit]), -2, 0) = sum of SUM(Profit) from the two previous rows to the cur
rent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"
,\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_VAR\",\"func-sig\": \
"WINDOW_VAR(expression, [start, end])\",\"func-tooltip\": \"Returns the sample v
ariance within the window\",\"help-contents\": \"Returns the sample variance of
the expression within the window. The window is defined as offsets from the cur
rent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in t
he partition. If start and end are omitted, the entire partition is used.\\n\\n
Example: WINDOW_VAR(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW
_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start, end])\",\"func-tooltip\"
: \"Returns the population variance within the window\",\"help-contents\": \"Ret
urns the population variance of the expression within the window. The window is
defined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets
from the first or last row in the partition. If start and end are omitted, the
entire partition is used.\\n\\nExample: WINDOW_VARP(SUM([Profit]), -2, 0) = var
iance of SUM(Profit) from the two previous rows to the current row\",\"func-grps
\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR(date)\",\"func-tooltip\":
\"Returns the year of the specified date as an integer\",\"help-contents\": \"R
eturns the year of a given date as an integer. \\n\\nExample: YEAR(#2004-04-12#
) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-varargs\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(expression)\",\"func-tooltip
\": \"Returns the expression if it is not null\",\"help-contents\": \"Returns <e
xpression> if it is not null, otherwise returns zero. \\n\\nExample: ZN([Profit
])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-types\":[\"integer\"],\"has-va
r-args\": false}]},\"calculation-context\": \"calculation-dialog\",\"use-paramet
ers\": true} position=\"50\"","name":"tabdoc:calculation-auto-complete"}}
{"ts":"2016-09-29T16:43:02.954","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC(
'month',[Order Date])-DATETRUNC('month',[Calculation1])\" calculation={\"datasou
rce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \"

Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"scop
e-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])-D
ATETRUNC('month',[Calculation1])\",\"fn\": \"\",\"fn-source\": \"\",\"calculatio
n-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-r
ole\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\":
0,\"style-token-list\":[],\"error-string\": \"\",\"error-info-list\":[],\"expres
sion-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func-sig\": \"ABS
(number)\",\"func-tooltip\": \"Returns the absolute value of a number\",\"help-c
ontents\": \"Returns the absolute value of the given number. \\n\\nExample: ABS(
-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-tooltip\": \"
Returns the arc cosine of a number\",\"help-contents\": \"Returns the arc cosine
of a number. The result is in radians. \\n\\nExample: ACOS(-1) = 3.14159265358
979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN <then> END\"
,\"func-tooltip\": \"Performs a logical conjunction on two expressions\",\"helpcontents\": \"Performs a logical conjunction on two expressions\",\"func-grps\":
[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ASCII\",
\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASCII code for t
he first character in a string\",\"help-contents\": \"Returns the ASCII code val
ue of the first character in a string. \\n\\nExample: ASCII(\\\"authors\\\") = 9
7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false
},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\": \"Returns
the arc sine of a number\",\"help-contents\": \"Returns the arc sine of a numbe
r. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267949\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Returns the arc t
angent of a number\",\"help-contents\": \"Returns the arc tangent of a number.
The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408283942\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tooltip\": \"Retu
rns the arc tangent of two numbers\",\"help-contents\": \"Returns the arc tangen
t of two given numbers (x and y). The result is in radians. \\n\\nExample: ATAN
2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\
",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig\": \"ATTR(ex
pression)\",\"func-tooltip\": \"Returns the value of the expression if it has on
e value for all rows\",\"help-contents\": \"Returns the value of the given expre
ssion if it only has a single value for all rows in the group, otherwise it disp
lays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([Market])\",\"
func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},
{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip\": \"Returns
the average of the values in the expression\",\"help-contents\": \"Returns the
average of all the values in the expression. AVG can be used with numeric fields
only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"func-grps\":[\"a
gg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CASE\"
,\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\
",\"func-tooltip\": \"Performs logical tests and returns the appropriate value\"
,\"help-contents\": \"Finds the first <value> that matches <expr> and returns th
e corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019
THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"funcarg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"func-sig\": \"C
EILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest integer of e
qual or greater value\",\"help-contents\": \"Rounds a number to the nearest inte
ger of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\",\"func-grps\
":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts an integer A
SCII code into a character\",\"help-contents\": \"Converts the given integer ASC
II code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-grps\":[\"str\"
],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CONTAINS\"
,\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"Returns true

if a string contains the specified substring\",\"help-contents\": \"Returns true


if the string contains the substring. \\n\\nExample: CONTAINS(\\\"Calculation\\
\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",
\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\": \"COS(angle)\
",\"func-tooltip\": \"Returns the cosine of an angle specified in radians\",\"he
lp-contents\": \"Returns the cosine of an angle. Specify the angle in radians.\\
n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"func-sig\": \
"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle specified in
radians\",\"help-contents\": \"Returns the cotangent of an angle. Specify the a
ngle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\",\"func-sig\
": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of items in the
expression\",\"help-contents\": \"Returns the number of items in a group. NULL v
alues are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func-grps\":[\"agg
\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"COUNT
D\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Returns the number
of distinct items in the expression\",\"help-contents\": \"Returns the number of
distinct items in a group. NULL values are not counted. Each unique value is c
ounted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"agg\"],\"fun
c-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"DATE\",\"funcsig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from a number\",\
"help-contents\": \"Returns a date given a number, string, or date expression.
\\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote that the quot
ation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"DATEADD(date_p
art, interval, date)\",\"func-tooltip\": \"Returns the specified date incremente
d by the specified amount\",\"help-contents\": \"Adds an increment to the specif
ied date and returns the new date. The increment is defined by the interval and
the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12:
00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"integer\",\
"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"func-sig\": \"DA
TEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-tooltip\": \"R
eturns the difference between two dates\",\"help-contents\": \"Returns the diffe
rence between two dates where start_date is subtracted from end_date. The differ
ence is expressed in units of date_part. If start_of_week is omitted, the week s
tart day is determined by the start day configured for the data source.\\n\\nExa
mple: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\",\"func-grps
\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetime\",\"locstr\
"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \"DATENAME(dat
e_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part of the speci
fied date as a string\",\"help-contents\": \"Returns a part of the given date as
a string, where the part is defined by date_part. If start_of_week is omitted,
the week start day is determined by the start day configured for the data source
.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"func-grps\":
[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-arg
s\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(format, string)\"
,\"func-tooltip\": \"Converts a string to a date\",\"help-contents\": \"Converts
a string to a date in the specified format. \\n\\nExample: DATEPARSE (\\\"dd.MM
MM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"func-grps\":[\"
date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": false},{\"name
\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_of_week])\",\"
func-tooltip\": \"Returns the specified part of a date as an integer\",\"help-co
ntents\": \"Returns a part of the given date as an integer where the part is def
ined by date_part. If start_of_week is omitted, the week start day is determined
by the start day configured for the data source.\\n\\nExample: DATEPART('month'
, #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"
datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETIME\",\"func-s
ig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datetime from a num
ber\",\"help-contents\": \"Returns a datetime given a number, string, or date ex

pression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\") \\nNote tha


t the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\
":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"func-sig\": \"DA
TETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Truncates the sp
ecified date to the specified accuracy\",\"help-contents\": \"Truncates the spec
ified date to the accuracy specified by the date_part and returns the new date.
If start_of_week is omitted, the week start day is determined by the start day c
onfigured for the data source.\\n\\nExample: DATETRUNC('quarter', #2004-08-15#)
= 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr
\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DAY\",\"func-s
ig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the specified da
te as an integer\",\"help-contents\": \"Returns the day of the given date as an
integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"date\"],\"fun
c-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"DEGREES\",\"f
unc-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value in radians t
o degrees\",\"help-contents\": \"Converts a number in radians to degrees.\\n\\nE
xample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"DIV(integer,
integer)\",\"func-tooltip\": \"Returns the integer part of a division operation\
",\"help-contents\": \"Returns the integer part of a division.\\n\\nExample: DIV
(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer\",\"integer\
"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <expr> THEN <
then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"
Performs a logical test and returns an appropriate value\",\"help-contents\": \"
Tests a series of expressions returning the <then> value for the first true <exp
r>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'B
reakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr> THEN <then>
[ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Perfo
rms a logical test and returns an appropriate value\",\"help-contents\": \"Tests
a series of expressions returning the <then> value for the first true <expr>. \
\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breake
ven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF
<expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a lo
gical test and returns an appropriate value\",\"help-contents\": \"Tests a serie
s of expressions returning the <then> value for the first true <expr>. \\n\\nExa
mple: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELS
E 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, substring)\",\"
func-tooltip\": \"Returns true if the specified string ends with the specified s
ubstring\",\"help-contents\": \"Returns true if the string ends with the substri
ng (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Calculation\\\"
, \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"s
tr\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\": \"{ EXCLUDE
[dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an agg
regate excluding the specified dimensions if present in the view.\",\"help-conte
nts\": \"Computes an aggregate excluding the specified dimensions if present in
the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\": \"Returns
e raised to the power of a number\",\"help-contents\": \"Returns e raised to the
power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-grps\":[\"num\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FIND\",\"
func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\": \"Returns the
position of a substring within a string\",\"help-contents\": \"Returns the posi
tion of a substring within a string, or 0 if the substring isn't found. If the s
tart argument is defined, any instances of substring that appear before the star
t position are ignored. The first character in the string is position 1. \\n\\nE
xample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\":

\"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\",\"func-tool


tip\": \"Returns the position of the nth occurrence a substring within a string\
",\"help-contents\": \"Returns the position of the nth occurrence of a substring
within a string, or 0 if that occurrence of the substring isn't found. The firs
t character in the string is position 1. \\n\\nExample: FINDNTH(\\\"Calculation\
\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"s
tr\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func-sig\": \"FIR
ST()\",\"func-tooltip\": \"Returns the number of rows from to the first row in t
he partition\",\"help-contents\": \"Returns the number of rows from the current
row to the first row in the partition.\\n\\nExample (current row index is 3 of 7
):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-a
rgs\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[, dim2]...] : a
ggregate-expression }\",\"func-tooltip\": \"Computes an aggregate using only the
specified dimensions.\",\"help-contents\": \"Computes an aggregate using only t
he specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expression)\",\"fun
c-tooltip\": \"Returns a float from an expression\",\"help-contents\": \"Returns
a float given an expression of any type. This function requires unformatted num
bers which means exclude commas and other symbols. \\n\\nExample: FLOAT(\\\"3\\
\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var
-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\",\"func-tool
tip\": \"Rounds a number to the nearest integer of equal or lesser value\",\"hel
p-contents\": \"Rounds a number to the nearest integer of equal or lesser value.
\\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func-arg-types\":[
\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-sig\": \"FULLN
AME()\",\"func-tooltip\": \"Returns the full name for the current user\",\"helpcontents\": \"Returns the full name for the current user. This is the Tableau Se
rver or Tableau Online full name when the user is signed in; otherwise it is the
local or network full name for the Tableau Desktop user.\",\"func-grps\":[\"use
r\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HEXBINX\",\"fun
c-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns the x-coordinat
e of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate
to the x-coordinate of the nearest hexagonal bin. The bins have side length 1, s
o the inputs may need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"fu
nc-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"HEXBINY
\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Returns the y-c
oordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coo
rdinate to the y-coordinate of the nearest hexagonal bin. The bins have side len
gth 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \
"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [E
LSE <else>] END\",\"func-tooltip\": \"Performs a logical test and returns an app
ropriate value\",\"help-contents\": \"Tests a series of expressions returning th
e <then> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'P
rofitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":
[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IFNULL\"
,\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns expression1
if not null\",\"help-contents\": \"Returns <expr1> if it is not null, otherwise
returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\":[\"logic\"]
,\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\"
: \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func-tooltip\": \
"Evaluates a Boolean expression and returns one of two values\",\"help-contents\
": \"Checks whether a condition is met, and returns one value if TRUE, another v
alue if FALSE, and an optional third value or NULL if unknown. \\n\\nExample: II
F([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"
INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-expression }\"
,\"func-tooltip\": \"Computes an aggregate using the specified dimensions and th
e view dimensions.\",\"help-contents\": \"Computes an aggregate using the specif
ied dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-typ

es\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\": \"INDEX()\",


\"func-tooltip\": \"Returns the index of the current row in the partition\",\"he
lp-contents\": \"Returns the index of the current row in the partition.\\n\\nExa
mple (for the first row in the partition): INDEX( ) = 1\",\"func-grps\":[\"table
\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT\",\"func-sig
\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression and returns
an integer\",\"help-contents\": \"Returns an integer given an expression. This f
unction truncates results to the closest integer toward zero. \\n\\nExample: INT
(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\
"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-sig\": \"ISDAT
E(string)\",\"func-tooltip\": \"Returns true if the string is a valid date\",\"h
elp-contents\": \"Returns true if a given string is a valid date. \\n\\nExample
: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date\",\"logic\"]
,\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"ISFULLNAME\"
,\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns true if the cu
rrent user's full name matches the specified name\",\"help-contents\": \"Returns
true if the current user's full name matches the specified full name, or false
if it does not match. This function uses the Tableau Server or Tableau Online fu
ll name when the user is signed in; otherwise it uses the local or network full
name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\"
:[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"func-sig\": \
"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the current user is a
member of the specified group\",\"help-contents\": \"Returns true if the current
user is a member of the given group, false otherwise. This uses the Tableau Se
rver to resolve group membership if logged on, otherwise it always returns false
.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": f
alse},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"func-tooltip\
": \"Returns true if the specified expression is null\",\"help-contents\": \"Ret
urns true if the expression does not contain valid data (Null).\\n\\nExample: IS
NULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\"],\"ha
s-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUSERNAME(string
)\",\"func-tooltip\": \"Returns true if the current user's name matches the spec
ified user name\",\"help-contents\": \"Returns true if the current user's userna
me matches the specified username, or false if it does not match. This function
uses the Tableau Server or Tableau Online username when the user is signed in; o
therwise it uses the local or network username for the Tableau Desktop user.\",\
"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false}
,{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"Returns the nu
mber of rows to the last row in the partition\",\"help-contents\": \"Returns the
number of rows from the current row to the last row in the partition.\\n\\nExam
ple (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[\"table\"],\"
func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"func-sig\": \
"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specified number of c
haracters from the start of a string\",\"help-contents\": \"Returns the specifie
d number of characters from the start of the given string. \\n\\nExample: LEFT(
\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",\"func-sig\":
\"LEN(string)\",\"func-tooltip\": \"Returns the number of characters in a strin
g\",\"help-contents\": \"Returns the number of characters in the given string. \
\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"func-sig\": \"LN
(number)\",\"func-tooltip\": \"Returns the natural logarithm of a number\",\"hel
p-contents\": \"Returns the natural logarithm of the given number. Returns Null
if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5)) = 5\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\": \"Returns the
logarithm of a number for the given base\",\"help-contents\": \"Returns the log
arithm of a number for the given base. If the base value is omitted, base 10 is
used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name

\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"func-tooltip\":


\"Returns the value of the expression in a row offset from current row\",\"helpcontents\": \"Returns the value of the given expression in a target row, specifi
ed as a relative offset from the current row. Use FIRST()+n and LAST()-n for a t
arget relative to the first/last rows in the partition. If offset is omitted, th
e Compare To row may be set on the field menu. Returns NULL if the target row ca
nnot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) + 2) = SUM(Pro
fit) in the third row of the partition\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"LOWER\",\"
func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string in all lowerc
ase characters\",\"help-contents\": \"Converts a text string to all lowercase le
tters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"func-grps\":[
\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LTRI
M\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a string with le
ading spaces removed\",\"help-contents\": \"Returns the string with any leading
spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\"\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-tooltip\": \"Re
turns a date value constructed from a year, a month and a day of the month.\",\"
help-contents\": \"Returns a date value constructed from a year, a month and a d
ay of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date, time)\",\"f
unc-tooltip\": \"Returns a datetime by combining a date and a time\",\"help-cont
ents\": \"Returns a date and time value given a date expression and a time expre
ssion. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"func-grps\":[\
"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\": false},{\"
name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)\",\"func-too
ltip\": \"Returns a time value constructed from hours, minutes and seconds.\",\"
help-contents\": \"Returns a time value constructed from hours, minutes and seco
nds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast\"],\"func-ar
g-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name
\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",\"func-toolti
p\": \"Returns the maximum of an expression\",\"help-contents\": \"Returns the m
aximum of a single expression across all records or the maximum of two expressio
ns for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\"num\",\"str\
",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-a
rgs\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expression)\",\"functooltip\": \"Returns the median of an expression\",\"help-contents\": \"Returns
the median of a single expression. MEDIAN can be used with numeric fields only.
Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-grps\":[\"agg\"
],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"MID\",\"fu
nc-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Returns the charact
ers from the middle of a text string\",\"help-contents\": \"Returns the characte
rs from the middle of a text string given a starting position and a length. The
first character in the string is position 1. If the length is not included, all
characters to the end of the string are returned. If the length is included, up
to that many characters are returned. \\n\\nExample: MID(\\\"Tableau Software\\\
",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\",2,4) = \\\"a
ble\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\",\"real\"]
,\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(expression) or
MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an expression\",\
"help-contents\": \"Returns the minimum of an expression across all records or t
he minimum of two expressions for each record. \\n\\nExample: MIN([Profit])\",\
"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"
real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"func-sig\": \"M
ONTH(date)\",\"func-tooltip\": \"Returns the month part of the specified date as
an integer\",\"help-contents\": \"Returns the month of a given date as an integ
er. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date\"],\"func-ar
g-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\",\"func-sig\

": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs logical negati
on on an expression\",\"help-contents\": \"Performs logical negation on an expre
ssion\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false}
,{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Returns the curr
ent date and time\",\"help-contents\": \"Returns the current date and time. \\n
\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\": \"IF <expr1>
OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical disjunction
on two expressions\",\"help-contents\": \"Performs a logical disjunction on two
expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expression, number)
\",\"func-tooltip\": \"Returns the percentile value at the specified number\",\"
help-contents\": \"Aggregate calculation that returns the percentile value from
the given expression corresponding to the specified number. Valid values for the
number are 0 through 1. PERCENTILE([expression], 0.50) will always return the m
edian value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.90)\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-var-args\": fal
se},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Returns the num
eric constant pi\",\"help-contents\": \"Returns the numeric constant pi.\\n\\nEx
ample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[],\
"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(number,power)
\",\"func-tooltip\": \"Raises the number to the specified power\",\"help-content
s\": \"Returns the result of a number raised to the given power. \\n\\nExample:
POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"r
eal\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"func-sig\": \"PR
EVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of this calcula
tion in the previous row\",\"help-contents\": \"Returns the value of this calcul
ation in the previous row. Returns the given expression if the current row is th
e first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOUS_VALUE(0) =
running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(1) = running
product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer
\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \"RADIANS(numb
er)\",\"func-tooltip\": \"Converts a number in degrees to radians\",\"help-conte
nts\": \"Converts a number in degrees to radians.\",\"func-grps\":[\"num\"],\"fu
nc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RANK\",\"func-si
g\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the compet
ition rank for the current partition row\",\"help-contents\": \"Returns the stan
dard competition rank for the current row in the partition. Identical values are
assigned an identical rank. Use the optional 'asc' | 'desc' argument to specify
ascending or descending order. The default order is descending.\\n\\nWith this
function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 4) in ascend
ing order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RAN
K_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",\"func-toolti
p\": \"Returns the dense rank for the current partition row\",\"help-contents\":
\"Returns the dense rank for the current row in the partition. Identical values
are assigned an identical rank, but no gaps are inserted into the number sequen
ce. Use the optional 'asc' | 'desc' argument to specify ascending or descending
order. The default order is descending.\\n\\nWith this function, the set of valu
es (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\n\\nExample:
RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integ
er\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIED\",\"func-si
g\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns t
he modified competition rank for the current partition row\",\"help-contents\":
\"Returns the modified competition rank for the current row in the partition. Id
entical values are assigned an identical rank. Use the optional 'asc' | 'desc' a
rgument to specify ascending or descending order. The default order is descendin
g.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1,
3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velocity]))\",\"fu
nc-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args

\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERCENTILE(expres


sion, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile rank for the
current partition row\",\"help-contents\": \"Returns the percentile rank for the
current row in the partition. Use the optional 'asc' | 'desc' argument to speci
fy ascending or descending order. The default order is ascending.\\n\\nWith this
function, the set of values (6, 9, 9, 14) would be ranked (25, 75, 75, 100) in
ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\",\"func-grps\
":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": fals
e},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expression, ['asc'|'de
sc'])\",\"func-tooltip\": \"Returns the unique rank for the current partition ro
w\",\"help-contents\": \"Returns the unique rank for the current row in the part
ition. Identical values are assigned different ranks. Use the optional 'asc' | '
desc' argument to specify ascending or descending order. The default order is de
scending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be rank
ed (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1 for the firs
t row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer
\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT\",\"func-sig
\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns the portion
of a string matching the capturing group in a regular expression\",\"help-conten
ts\": \"Returns a substring of the given string that matches the capturing group
within the regular expression pattern. The regular expression pattern requires
exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 123', '[a-z]+\\
\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"s
tr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"func-sig\": \
"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"Returns a subs
tring of a string using a regular expression pattern\",\"help-contents\": \"Retu
rns a substring of the given string using the regular expression pattern. The s
ubstring is matched to the nth capturing group, where n is the given index. \\n\
\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)', 2) = '123'\",
\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locint\"],\"has-va
r-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP_MATCH(string
, pattern)\",\"func-tooltip\": \"Returns true if a string matches a regular expr
ession\",\"help-contents\": \"Returns true if a substring of the provided string
matches the regular expression pattern. \\n\\nExample: REGEXP_MATCH('-([1234].[
The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') = true\",\"func
-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},
{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string, pattern, re
placement)\",\"func-tooltip\": \"Returns a string where substrings matching a re
gular expression are replaced\",\"help-contents\": \"Returns a copy of the given
string where the matching pattern is substituted with the replacement string. \
\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'\",\"func-grp
s\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": fal
se},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substring, replacemen
t)\",\"func-tooltip\": \"Replaces all instances of a substring within a string\"
,\"help-contents\": \"Returns a string in which every occurrence of the substrin
g is replaced with the replacement string. If the substring is not found, the st
ring is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"ion\\\", \\\"
ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str
\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\"func-sig\":
\"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specified number of
characters from the end of a string\",\"help-contents\": \"Returns the specifie
d number of characters from the end of the given string. \\n\\nExample: RIGHT(\
\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"func-arg-types
\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\",\"func-sig\"
: \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number to the speci
fied number of places\",\"help-contents\": \"Rounds a number to the nearest inte
ger or to a specified number of decimal places. \\n\\nExample: ROUND(3.1415, 1)
= 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var
-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\",\"func-tool
tip\": \"Returns a string with trailing spaces removed\",\"help-contents\": \"Re

turns the string with any trailing spaces removed. \\n\\nExample: RTRIM(\\\"Mar
ket \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\": \"RUNNING_AV
G(expression)\",\"func-tooltip\": \"Returns the running average of an expression
\",\"help-contents\": \"Returns the running average of the given expression, fro
m the first row in the partition to the current row.\\n\\nExample: RUNNING_AVG(S
UM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING_COUNT\",\
"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Returns the runni
ng count of an expression\",\"help-contents\": \"Returns the running count of th
e given expression, from the first row in the partition to the current row.\\n\\
nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profit)\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"func-tooltip\":
\"Returns the running maximum of an expression\",\"help-contents\": \"Returns th
e running maximum of the given expression, from the first row in the partition t
o the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = running maximum of
Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum of SUM(Profit
)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\":
false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expression)\",\"f
unc-tooltip\": \"Returns the running minimum of an expression\",\"help-contents\
": \"Returns the running minimum of the given expression, from the first row in
the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Profit])) = run
ning minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = running minimu
m of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"
has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"RUNNING_SUM(ex
pression)\",\"func-tooltip\": \"Returns the running sum of an expression\",\"hel
p-contents\": \"Returns the running sum of the given expression, from the first
row in the partition to the current row.\\n\\nExample: RUNNING_SUM(SUM([Profit])
) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])) = running c
ount of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCRIPT_BOOL(stri
ng, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result from an R ex
pression\",\"help-contents\": \"Returns a Boolean result from a given R expressi
on. The R expression is passed directly to a running Rserve instance. Use .arg#
in the R expression to reference parameters. In the following example, .arg1 is
equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.arg1)\\\", SUM
([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-a
rgs\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(string, expres
sion, ...)\",\"func-tooltip\": \"Returns an integer result from an R expression\
",\"help-contents\": \"Returns an integer result from a given R expression. The
R expression is passed directly to a running Rserve instance. Use .arg# in the R
expression to reference parameters. In the following example, .arg1 is equal to
SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)\\\", SUM([Pr
ofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(string, expressi
on, ...)\",\"func-tooltip\": \"Returns a numeric result from an R expression\",\
"help-contents\": \"Returns a numeric result from a given R expression. The R ex
pression is passed directly to a running Rserve instance. Use .arg# in the R exp
ression to reference parameters. In the following example, .arg1 is equal to SUM
([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Profit]))\",\"f
unc-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"n
ame\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression, ...)\",\"fu
nc-tooltip\": \"Returns a string result from an R expression\",\"help-contents\"
: \"Returns a string result from a given R expression. The R expression is passe
d directly to a running Rserve instance. Use .arg# in the R expression to refere
nce parameters. In the following example, .arg1 is equal to ATTR([Region]). \\n\
\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\",\"func-grps
\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \
"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns 1 for a posit

ive number\",\"help-contents\": \"Returns the sign of a number: 1 if the number


is positive, zero if the number is zero, or -1 if the number is negative.\\n\\nE
xample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angle)\",\"func-t
ooltip\": \"Returns the sine of a number\",\"help-contents\": \"Returns the sine
of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/4) = 0.707106
781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args
\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tooltip\": \"Retu
rns the number of rows in the partition\",\"help-contents\": \"Returns the numbe
r of rows in the partition.\\n\\nExample (partition has 5 rows):\\nSIZE( ) = 5\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"nam
e\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"Returns a str
ing containing the specified number of spaces\",\"help-contents\": \"Returns a s
tring composed of the specified number of repeated spaces. \\n\\nExample: SPACE(
2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string, delimiter, t
oken number)\",\"func-tooltip\": \"Extracts a substring from a string\",\"help-c
ontents\": \"Returns a substring from a string, as determined by a delimiter ext
racting the characters from the beginning or end of the string. \\n\\nExample: S
PLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-', -2) = 'c'\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"locint\"],\"hasvar-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)\",\"func-too
ltip\": \"Returns the square root of a number\",\"help-contents\": \"Returns the
square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps\":[\"num\"],
\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SQUARE\",\"f
unc-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the square of a number
\",\"help-contents\": \"Returns the square of a given number. \\n\\nExample: SQU
ARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(string, substr
ing)\",\"func-tooltip\": \"Returns true if the specified string starts with the
specified substring\",\"help-contents\": \"Returns true if the string starts wit
h the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\"Ca\\\") is t
rue\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-arg
s\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\",\"func-tool
tip\": \"Returns the sample standard deviation for an expression\",\"help-conten
ts\": \"Returns the sample standard deviation of the expression.\\n\\nExample: S
TDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expression)\",\"fun
c-tooltip\": \"Returns the population standard deviation for an expression\",\"h
elp-contents\": \"Returns the population standard deviation of the expression.\\
n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"STR(expression
)\",\"func-tooltip\": \"Returns an expression as a string\",\"help-contents\": \
"Returns a string given an expression. \\n\\nExample: STR([Age]) returns all of
the values of the Age measure as strings.\",\"func-grps\":[\"cast\"],\"func-arg
-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",\"func-sig\":
\"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values in an express
ion\",\"help-contents\": \"Returns the sum of all the values in the expression.
SUM can be used with numeric fields only. Null values are ignored.\\n\\nExample:
SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"func-tooltip\"
: \"Returns the tangent of an angle specified in radians\",\"help-contents\": \"
Returns the tangent of an angle. Specify the angle in radians.\\n\\nExample: TAN
(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN <then> [ELSEI
F <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a l
ogical test and returns an appropriate value\",\"help-contents\": \"Tests a seri
es of expressions returning the <then> value for the first true <expr>. \\n\\nEx
ample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' EL
SE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\"

: false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tooltip\": \"Retu


rns the current date\",\"help-contents\": \"Returns the current date. \\n\\nExa
mple: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(expression)\",\"
func-tooltip\": \"Returns the total for an expression within the partition\",\"h
elp-contents\": \"Returns the total for the given expression.\\n\\nExample: TOTA
L(AVG([Profit])) = AVG(Profit) for all database rows that contribute to the part
ition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-arg
s\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"func-tooltip\":
\"Returns a string with leading and trailing spaces removed\",\"help-contents\"
: \"Returns the string with both leading and trailing spaces removed. \\n\\nExam
ple: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"str\"],\"func-a
rg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",\"func-sig\":
\"UPPER(string)\",\"func-tooltip\": \"Returns a string in all uppercase charact
ers\",\"help-contents\": \"Converts a text string to all uppercase letters. \\n\
\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"USERDOMAIN\",\"
func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain for the curr
ent user\",\"help-contents\": \"Returns the domain for the current user when the
user is signed on to Tableau Server. Returns the Windows domain if the Tableau
Desktop user is on a domain. Otherwise this function returns a null string.\",\"
func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Returns the user
name for the current user\",\"help-contents\": \"Returns the username for the cu
rrent user. This is the Tableau Server or Tableau Online username when the user
is signed in; otherwise it is the local or network username for the Tableau Desk
top user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-tooltip\": \"Ret
urns the sample variance for an expression\",\"help-contents\": \"Returns the sa
mple variance of the expression.\\n\\nExample: VAR([Profit])\",\"func-grps\":[\"
agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"VARP\
",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns the population
variance for an expression\",\"help-contents\": \"Returns the population varianc
e of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[\"agg\"],\"fu
nc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHEN\",\"func-si
g\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"func-t
ooltip\": \"Performs logical tests and returns the appropriate value\",\"help-co
ntents\": \"Finds the first <value> that matches <expr> and returns the correspo
nding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHE
N \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\": \"WINDOW_A
VG(expression, [start, end])\",\"func-tooltip\": \"Returns the average of the va
lues within the window\",\"help-contents\": \"Returns the average of the express
ion within the window. The window is defined as offsets from the current row. U
se FIRST()+n and LAST()-n for offsets from the first or last row in the partitio
n. If start and end are omitted, the entire partition is used.\\n\\nExample: WI
NDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the two previous ro
ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_COUNT\",\"f
unc-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-tooltip\": \"Return
s the number of items within the window\",\"help-contents\": \"Returns the count
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\\
n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIN
DOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"func-tooltip\
": \"Returns the maximum within the window\",\"help-contents\": \"Returns the ma
ximum of the expression within the window. The window is defined as offsets fro

m the current row. Use FIRST()+n and LAST()-n for offsets from the first or last
row in the partition. If start and end are omitted, the entire partition is us
ed.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Profit from the
two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([Profit]), -2,
0) = maximum of SUM(Profit) from the two previous rows to the current row\",\"f
unc-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],
\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\": \"WINDOW_MED
IAN(expression, [start, end])\",\"func-tooltip\": \"Returns the median within th
e window\",\"help-contents\": \"Returns the median of the expression within the
window. The window is defined as offsets from the current row. Use FIRST()+n an
d LAST()-n for offsets from the first or last row in the partition. If start an
d end are omitted, the entire partition is used.\\n\\nExample: WINDOW_MEDIAN(SUM
([Profit]), -2, 0) = median of SUM(Profit) from the two previous rows to the cur
rent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"
integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"func-sig\": \"WI
NDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns the minimum wit
hin the window\",\"help-contents\": \"Returns the minimum of the expression with
in the window. The window is defined as offsets from the current row. Use FIRST
()+n and LAST()-n for offsets from the first or last row in the partition. If s
tart and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_MIN
(MIN([Profit]), -2, 0) = minimum of Profit from the two previous rows to the cur
rent row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum of SUM(Profit)
from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"
name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(expression, numb
er, [start, end])\",\"func-tooltip\": \"Returns the percentile value at the spec
ified number\",\"help-contents\": \"Returns the value corresponding to the speci
fied percentile within the window. The window is defined as offsets from the cu
rrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\\
nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th percentile of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"tab
le\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integer\"],\"has-va
r-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW_STDEV(expres
sion, [start, end])\",\"func-tooltip\": \"Returns the sample standard deviation
within the window\",\"help-contents\": \"Returns the sample standard deviation o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from th
e two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"W
INDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, end])\",\"functooltip\": \"Returns the population standard deviation within the window\",\"hel
p-contents\": \"Returns the population standard deviation of the expression with
in the window. The window is defined as offsets from the current row. Use FIRST
()+n and LAST()-n for offsets from the first or last row in the partition. If s
tart and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_STD
EVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two previous rows
to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"in
teger\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_SUM\",\"func-s
ig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"Returns the s
um of values within the window\",\"help-contents\": \"Returns the sum of the exp
ression within the window. The window is defined as offsets from the current ro
w. Use FIRST()+n and LAST()-n for offsets from the first or last row in the part
ition. If start and end are omitted, the entire partition is used.\\n\\nExample
: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the two previous ro
ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\
",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_VAR\",\"
func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip\": \"Returns

the sample variance within the window\",\"help-contents\": \"Returns the sample


variance of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition i
s used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance of SUM(Profit)
from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"nam
e\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start, end])\",\"f
unc-tooltip\": \"Returns the population variance within the window\",\"help-cont
ents\": \"Returns the population variance of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST()n for offsets from the first or last row in the partition. If start and end are
omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(SUM([Profit]),
-2, 0) = variance of SUM(Profit) from the two previous rows to the current row\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"
],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR(date)\",\"fu
nc-tooltip\": \"Returns the year of the specified date as an integer\",\"help-co
ntents\": \"Returns the year of a given date as an integer. \\n\\nExample: YEAR
(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\
"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(expression)\",\
"func-tooltip\": \"Returns the expression if it is not null\",\"help-contents\":
\"Returns <expression> if it is not null, otherwise returns zero. \\n\\nExampl
e: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-types\":[\"intege
r\"],\"has-var-args\": false}]},\"calculation-context\": \"calculation-dialog\",
\"use-parameters\": true} position=\"64\"","name":"tabdoc:calculation-auto-compl
ete"}}
{"ts":"2016-09-29T16:43:02.954","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC
('month',[Order Date])-DATETRUNC('month',[Calculation1])\" calculation={\"dataso
urce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \
"Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"sco
pe-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])DATETRUNC('month',[Calculation1])\",\"fn\": \"\",\"fn-source\": \"\",\"calculati
on-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folderrole\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\":
0,\"style-token-list\":[],\"error-string\": \"\",\"error-info-list\":[],\"expre
ssion-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func-sig\": \"AB
S(number)\",\"func-tooltip\": \"Returns the absolute value of a number\",\"helpcontents\": \"Returns the absolute value of the given number. \\n\\nExample: ABS
(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-tooltip\": \
"Returns the arc cosine of a number\",\"help-contents\": \"Returns the arc cosin
e of a number. The result is in radians. \\n\\nExample: ACOS(-1) = 3.1415926535
8979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN <then> END\
",\"func-tooltip\": \"Performs a logical conjunction on two expressions\",\"help
-contents\": \"Performs a logical conjunction on two expressions\",\"func-grps\"
:[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ASCII\"
,\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASCII code for
the first character in a string\",\"help-contents\": \"Returns the ASCII code va
lue of the first character in a string. \\n\\nExample: ASCII(\\\"authors\\\") =
97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fals
e},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\": \"Return
s the arc sine of a number\",\"help-contents\": \"Returns the arc sine of a numb
er. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267949\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Returns the arc
tangent of a number\",\"help-contents\": \"Returns the arc tangent of a number.
The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408283942\",\"func-

grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tooltip\": \"Ret
urns the arc tangent of two numbers\",\"help-contents\": \"Returns the arc tange
nt of two given numbers (x and y). The result is in radians. \\n\\nExample: ATA
N2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig\": \"ATTR(e
xpression)\",\"func-tooltip\": \"Returns the value of the expression if it has o
ne value for all rows\",\"help-contents\": \"Returns the value of the given expr
ession if it only has a single value for all rows in the group, otherwise it dis
plays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([Market])\",\
"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false}
,{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip\": \"Return
s the average of the values in the expression\",\"help-contents\": \"Returns the
average of all the values in the expression. AVG can be used with numeric field
s only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"func-grps\":[\"
agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CASE\
",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END
\",\"func-tooltip\": \"Performs logical tests and returns the appropriate value\
",\"help-contents\": \"Finds the first <value> that matches <expr> and returns t
he corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019
THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func
-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"func-sig\": \"
CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest integer of
equal or greater value\",\"help-contents\": \"Rounds a number to the nearest int
eger of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts an integer
ASCII code into a character\",\"help-contents\": \"Converts the given integer AS
CII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-grps\":[\"str\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CONTAINS\
",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"Returns true
if a string contains the specified substring\",\"help-contents\": \"Returns tru
e if the string contains the substring. \\n\\nExample: CONTAINS(\\\"Calculation\
\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"
,\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\": \"COS(angle)
\",\"func-tooltip\": \"Returns the cosine of an angle specified in radians\",\"h
elp-contents\": \"Returns the cosine of an angle. Specify the angle in radians.\
\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"func-sig\":
\"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle specified i
n radians\",\"help-contents\": \"Returns the cotangent of an angle. Specify the
angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\",\"func-sig
\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of items in the
expression\",\"help-contents\": \"Returns the number of items in a group. NULL
values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func-grps\":[\"ag
g\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"COUN
TD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Returns the number
of distinct items in the expression\",\"help-contents\": \"Returns the number o
f distinct items in a group. NULL values are not counted. Each unique value is
counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"agg\"],\"fu
nc-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"DATE\",\"func
-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from a number\",
\"help-contents\": \"Returns a date given a number, string, or date expression.
\\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote that the quo
tation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"DATEADD(date_
part, interval, date)\",\"func-tooltip\": \"Returns the specified date increment
ed by the specified amount\",\"help-contents\": \"Adds an increment to the speci
fied date and returns the new date. The increment is defined by the interval and

the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12


:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"integer\",
\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"func-sig\": \"D
ATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-tooltip\": \"
Returns the difference between two dates\",\"help-contents\": \"Returns the diff
erence between two dates where start_date is subtracted from end_date. The diffe
rence is expressed in units of date_part. If start_of_week is omitted, the week
start day is determined by the start day configured for the data source.\\n\\nEx
ample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\",\"func-grp
s\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetime\",\"locstr
\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \"DATENAME(da
te_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part of the spec
ified date as a string\",\"help-contents\": \"Returns a part of the given date a
s a string, where the part is defined by date_part. If start_of_week is omitted,
the week start day is determined by the start day configured for the data sourc
e.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"func-grps\"
:[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-ar
gs\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(format, string)\
",\"func-tooltip\": \"Converts a string to a date\",\"help-contents\": \"Convert
s a string to a date in the specified format. \\n\\nExample: DATEPARSE (\\\"dd.M
MMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"func-grps\":[\
"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": false},{\"nam
e\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_of_week])\",\
"func-tooltip\": \"Returns the specified part of a date as an integer\",\"help-c
ontents\": \"Returns a part of the given date as an integer where the part is de
fined by date_part. If start_of_week is omitted, the week start day is determine
d by the start day configured for the data source.\\n\\nExample: DATEPART('month
', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\
"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETIME\",\"funcsig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datetime from a nu
mber\",\"help-contents\": \"Returns a datetime given a number, string, or date e
xpression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\") \\nNote th
at the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types
\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"func-sig\": \"D
ATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Truncates the s
pecified date to the specified accuracy\",\"help-contents\": \"Truncates the spe
cified date to the accuracy specified by the date_part and returns the new date.
If start_of_week is omitted, the week start day is determined by the start day
configured for the data source.\\n\\nExample: DATETRUNC('quarter', #2004-08-15#)
= 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locst
r\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DAY\",\"funcsig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the specified d
ate as an integer\",\"help-contents\": \"Returns the day of the given date as an
integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"date\"],\"fu
nc-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"DEGREES\",\"
func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value in radians
to degrees\",\"help-contents\": \"Converts a number in radians to degrees.\\n\\n
Example: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"
real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"DIV(integer,
integer)\",\"func-tooltip\": \"Returns the integer part of a division operation
\",\"help-contents\": \"Returns the integer part of a division.\\n\\nExample: DI
V(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer\",\"integer
\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \
"Performs a logical test and returns an appropriate value\",\"help-contents\": \
"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr> THEN <then
> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Perf

orms a logical test and returns an appropriate value\",\"help-contents\": \"Test


s a series of expressions returning the <then> value for the first true <expr>.
\\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Break
even' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <then> [ELSEI
F <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a l
ogical test and returns an appropriate value\",\"help-contents\": \"Tests a seri
es of expressions returning the <then> value for the first true <expr>. \\n\\nEx
ample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' EL
SE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\"
: false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, substring)\",\
"func-tooltip\": \"Returns true if the specified string ends with the specified
substring\",\"help-contents\": \"Returns true if the string ends with the substr
ing (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Calculation\\\
", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"
str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\": \"{ EXCLUDE
[dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an ag
gregate excluding the specified dimensions if present in the view.\",\"help-cont
ents\": \"Computes an aggregate excluding the specified dimensions if present in
the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\": \"Returns
e raised to the power of a number\",\"help-contents\": \"Returns e raised to th
e power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FIND\",\
"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\": \"Returns th
e position of a substring within a string\",\"help-contents\": \"Returns the pos
ition of a substring within a string, or 0 if the substring isn't found. If the
start argument is defined, any instances of substring that appear before the sta
rt position are ignored. The first character in the string is position 1. \\n\\n
Example: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\":[\"str\"],\
"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\":
\"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\",\"func-too
ltip\": \"Returns the position of the nth occurrence a substring within a string
\",\"help-contents\": \"Returns the position of the nth occurrence of a substrin
g within a string, or 0 if that occurrence of the substring isn't found. The fir
st character in the string is position 1. \\n\\nExample: FINDNTH(\\\"Calculation
\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"
str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func-sig\": \"FI
RST()\",\"func-tooltip\": \"Returns the number of rows from to the first row in
the partition\",\"help-contents\": \"Returns the number of rows from the current
row to the first row in the partition.\\n\\nExample (current row index is 3 of
7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[, dim2]...] :
aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate using only th
e specified dimensions.\",\"help-contents\": \"Computes an aggregate using only
the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"hasvar-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expression)\",\"fu
nc-tooltip\": \"Returns a float from an expression\",\"help-contents\": \"Return
s a float given an expression of any type. This function requires unformatted nu
mbers which means exclude commas and other symbols. \\n\\nExample: FLOAT(\\\"3\
\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-va
r-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\",\"func-too
ltip\": \"Rounds a number to the nearest integer of equal or lesser value\",\"he
lp-contents\": \"Rounds a number to the nearest integer of equal or lesser value
. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func-arg-types\":
[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-sig\": \"FULL
NAME()\",\"func-tooltip\": \"Returns the full name for the current user\",\"help
-contents\": \"Returns the full name for the current user. This is the Tableau S
erver or Tableau Online full name when the user is signed in; otherwise it is th
e local or network full name for the Tableau Desktop user.\",\"func-grps\":[\"us

er\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HEXBINX\",\"fu


nc-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns the x-coordina
te of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate
to the x-coordinate of the nearest hexagonal bin. The bins have side length 1,
so the inputs may need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"f
unc-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"HEXBIN
Y\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Returns the ycoordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) co
ordinate to the y-coordinate of the nearest hexagonal bin. The bins have side le
ngth 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[\"nu
m\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\":
\"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [
ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and returns an ap
propriate value\",\"help-contents\": \"Tests a series of expressions returning t
he <then> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN '
Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\"
:[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IFNULL\
",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns expression1
if not null\",\"help-contents\": \"Returns <expr1> if it is not null, otherwise
returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\":[\"logic\"
],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\
": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func-tooltip\":
\"Evaluates a Boolean expression and returns one of two values\",\"help-contents
\": \"Checks whether a condition is met, and returns one value if TRUE, another
value if FALSE, and an optional third value or NULL if unknown. \\n\\nExample: I
IF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \
"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-expression }\
",\"func-tooltip\": \"Computes an aggregate using the specified dimensions and t
he view dimensions.\",\"help-contents\": \"Computes an aggregate using the speci
fied dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\": \"INDEX()\"
,\"func-tooltip\": \"Returns the index of the current row in the partition\",\"h
elp-contents\": \"Returns the index of the current row in the partition.\\n\\nEx
ample (for the first row in the partition): INDEX( ) = 1\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT\",\"func-si
g\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression and returns
an integer\",\"help-contents\": \"Returns an integer given an expression. This
function truncates results to the closest integer toward zero. \\n\\nExample: IN
T(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-arg-types\":[
\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-sig\": \"ISDA
TE(string)\",\"func-tooltip\": \"Returns true if the string is a valid date\",\"
help-contents\": \"Returns true if a given string is a valid date. \\n\\nExampl
e: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date\",\"logic\"
],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"ISFULLNAME\
",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns true if the c
urrent user's full name matches the specified name\",\"help-contents\": \"Return
s true if the current user's full name matches the specified full name, or false
if it does not match. This function uses the Tableau Server or Tableau Online f
ull name when the user is signed in; otherwise it uses the local or network full
name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\
":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"func-sig\":
\"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the current user is a
member of the specified group\",\"help-contents\": \"Returns true if the curren
t user is a member of the given group, false otherwise. This uses the Tableau S
erver to resolve group membership if logged on, otherwise it always returns fals
e.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\":
false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"func-tooltip
\": \"Returns true if the specified expression is null\",\"help-contents\": \"Re
turns true if the expression does not contain valid data (Null).\\n\\nExample: I

SNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\"],\"h
as-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUSERNAME(strin
g)\",\"func-tooltip\": \"Returns true if the current user's name matches the spe
cified user name\",\"help-contents\": \"Returns true if the current user's usern
ame matches the specified username, or false if it does not match. This function
uses the Tableau Server or Tableau Online username when the user is signed in;
otherwise it uses the local or network username for the Tableau Desktop user.\",
\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false
},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"Returns the n
umber of rows to the last row in the partition\",\"help-contents\": \"Returns th
e number of rows from the current row to the last row in the partition.\\n\\nExa
mple (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[\"table\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"func-sig\":
\"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specified number of
characters from the start of a string\",\"help-contents\": \"Returns the specifi
ed number of characters from the start of the given string. \\n\\nExample: LEFT
(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",\"func-sig\"
: \"LEN(string)\",\"func-tooltip\": \"Returns the number of characters in a stri
ng\",\"help-contents\": \"Returns the number of characters in the given string.
\\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\"],\"func-ar
g-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"func-sig\": \"L
N(number)\",\"func-tooltip\": \"Returns the natural logarithm of a number\",\"he
lp-contents\": \"Returns the natural logarithm of the given number. Returns Null
if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5)) = 5\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\": \"Returns th
e logarithm of a number for the given base\",\"help-contents\": \"Returns the lo
garithm of a number for the given base. If the base value is omitted, base 10 is
used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"nam
e\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"func-tooltip\":
\"Returns the value of the expression in a row offset from current row\",\"help
-contents\": \"Returns the value of the given expression in a target row, specif
ied as a relative offset from the current row. Use FIRST()+n and LAST()-n for a
target relative to the first/last rows in the partition. If offset is omitted, t
he Compare To row may be set on the field menu. Returns NULL if the target row c
annot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) + 2) = SUM(Pr
ofit) in the third row of the partition\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"LOWER\",\
"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string in all lower
case characters\",\"help-contents\": \"Converts a text string to all lowercase l
etters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"func-grps\":
[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LTR
IM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a string with l
eading spaces removed\",\"help-contents\": \"Returns the string with any leading
spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\"\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-tooltip\": \"R
eturns a date value constructed from a year, a month and a day of the month.\",\
"help-contents\": \"Returns a date value constructed from a year, a month and a
day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-grps\":[\"cas
t\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date, time)\",\"
func-tooltip\": \"Returns a datetime by combining a date and a time\",\"help-con
tents\": \"Returns a date and time value given a date expression and a time expr
ession. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"func-grps\":[
\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\": false},{\
"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)\",\"func-to
oltip\": \"Returns a time value constructed from hours, minutes and seconds.\",\

"help-contents\": \"Returns a time value constructed from hours, minutes and sec
onds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast\"],\"func-a
rg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"nam
e\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",\"func-toolt
ip\": \"Returns the maximum of an expression\",\"help-contents\": \"Returns the
maximum of a single expression across all records or the maximum of two expressi
ons for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\"num\",\"str
\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-varargs\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expression)\",\"func
-tooltip\": \"Returns the median of an expression\",\"help-contents\": \"Returns
the median of a single expression. MEDIAN can be used with numeric fields only.
Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-grps\":[\"agg\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"MID\",\"f
unc-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Returns the charac
ters from the middle of a text string\",\"help-contents\": \"Returns the charact
ers from the middle of a text string given a starting position and a length. The
first character in the string is position 1. If the length is not included, all
characters to the end of the string are returned. If the length is included, up
to that many characters are returned. \\n\\nExample: MID(\\\"Tableau Software\\
\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\",2,4) = \\\"
able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\",\"real\"
],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(expression) or
MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an expression\",
\"help-contents\": \"Returns the minimum of an expression across all records or
the minimum of two expressions for each record. \\n\\nExample: MIN([Profit])\",
\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\
"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"func-sig\": \"
MONTH(date)\",\"func-tooltip\": \"Returns the month part of the specified date a
s an integer\",\"help-contents\": \"Returns the month of a given date as an inte
ger. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date\"],\"func-a
rg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\",\"func-sig
\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs logical negat
ion on an expression\",\"help-contents\": \"Performs logical negation on an expr
ession\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false
},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Returns the cur
rent date and time\",\"help-contents\": \"Returns the current date and time. \\
n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\": \"IF <expr1
> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical disjunctio
n on two expressions\",\"help-contents\": \"Performs a logical disjunction on tw
o expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\"
: false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expression, number
)\",\"func-tooltip\": \"Returns the percentile value at the specified number\",\
"help-contents\": \"Aggregate calculation that returns the percentile value from
the given expression corresponding to the specified number. Valid values for th
e number are 0 through 1. PERCENTILE([expression], 0.50) will always return the
median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.90)\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-var-args\": fa
lse},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Returns the nu
meric constant pi\",\"help-contents\": \"Returns the numeric constant pi.\\n\\nE
xample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(number,power
)\",\"func-tooltip\": \"Raises the number to the specified power\",\"help-conten
ts\": \"Returns the result of a number raised to the given power. \\n\\nExample:
POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"
real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"func-sig\": \"P
REVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of this calcul
ation in the previous row\",\"help-contents\": \"Returns the value of this calcu
lation in the previous row. Returns the given expression if the current row is t
he first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOUS_VALUE(0) =

running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(1) = running


product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"intege
r\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \"RADIANS(num
ber)\",\"func-tooltip\": \"Converts a number in degrees to radians\",\"help-cont
ents\": \"Converts a number in degrees to radians.\",\"func-grps\":[\"num\"],\"f
unc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RANK\",\"func-s
ig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the compe
tition rank for the current partition row\",\"help-contents\": \"Returns the sta
ndard competition rank for the current row in the partition. Identical values ar
e assigned an identical rank. Use the optional 'asc' | 'desc' argument to specif
y ascending or descending order. The default order is descending.\\n\\nWith this
function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 4) in ascen
ding order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RA
NK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",\"func-toolt
ip\": \"Returns the dense rank for the current partition row\",\"help-contents\"
: \"Returns the dense rank for the current row in the partition. Identical value
s are assigned an identical rank, but no gaps are inserted into the number seque
nce. Use the optional 'asc' | 'desc' argument to specify ascending or descending
order. The default order is descending.\\n\\nWith this function, the set of val
ues (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\n\\nExample:
RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"inte
ger\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIED\",\"func-s
ig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns
the modified competition rank for the current partition row\",\"help-contents\":
\"Returns the modified competition rank for the current row in the partition. I
dentical values are assigned an identical rank. Use the optional 'asc' | 'desc'
argument to specify ascending or descending order. The default order is descendi
ng.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1,
3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velocity]))\",\"f
unc-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-arg
s\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERCENTILE(expre
ssion, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile rank for the
current partition row\",\"help-contents\": \"Returns the percentile rank for th
e current row in the partition. Use the optional 'asc' | 'desc' argument to spec
ify ascending or descending order. The default order is ascending.\\n\\nWith thi
s function, the set of values (6, 9, 9, 14) would be ranked (25, 75, 75, 100) in
ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\",\"func-grps
\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": fal
se},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expression, ['asc'|'d
esc'])\",\"func-tooltip\": \"Returns the unique rank for the current partition r
ow\",\"help-contents\": \"Returns the unique rank for the current row in the par
tition. Identical values are assigned different ranks. Use the optional 'asc' |
'desc' argument to specify ascending or descending order. The default order is d
escending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ran
ked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1 for the fir
st row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"intege
r\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT\",\"func-si
g\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns the portion
of a string matching the capturing group in a regular expression\",\"help-conte
nts\": \"Returns a substring of the given string that matches the capturing grou
p within the regular expression pattern. The regular expression pattern require
s exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 123', '[a-z]+\
\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"
str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"func-sig\":
\"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"Returns a sub
string of a string using a regular expression pattern\",\"help-contents\": \"Ret
urns a substring of the given string using the regular expression pattern. The
substring is matched to the nth capturing group, where n is the given index. \\n
\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)', 2) = '123'\"

,\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locint\"],\"has-v
ar-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP_MATCH(strin
g, pattern)\",\"func-tooltip\": \"Returns true if a string matches a regular exp
ression\",\"help-contents\": \"Returns true if a substring of the provided strin
g matches the regular expression pattern. \\n\\nExample: REGEXP_MATCH('-([1234].
[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') = true\",\"fun
c-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false}
,{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string, pattern, r
eplacement)\",\"func-tooltip\": \"Returns a string where substrings matching a r
egular expression are replaced\",\"help-contents\": \"Returns a copy of the give
n string where the matching pattern is substituted with the replacement string.
\\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": fa
lse},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substring, replaceme
nt)\",\"func-tooltip\": \"Replaces all instances of a substring within a string\
",\"help-contents\": \"Returns a string in which every occurrence of the substri
ng is replaced with the replacement string. If the substring is not found, the s
tring is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"ion\\\", \\\
"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"st
r\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\"func-sig\":
\"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specified number o
f characters from the end of a string\",\"help-contents\": \"Returns the specifi
ed number of characters from the end of the given string. \\n\\nExample: RIGHT(
\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\",\"func-sig\
": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number to the spec
ified number of places\",\"help-contents\": \"Rounds a number to the nearest int
eger or to a specified number of decimal places. \\n\\nExample: ROUND(3.1415, 1)
= 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-va
r-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\",\"func-too
ltip\": \"Returns a string with trailing spaces removed\",\"help-contents\": \"R
eturns the string with any trailing spaces removed. \\n\\nExample: RTRIM(\\\"Ma
rket \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\": \"RUNNING_A
VG(expression)\",\"func-tooltip\": \"Returns the running average of an expressio
n\",\"help-contents\": \"Returns the running average of the given expression, fr
om the first row in the partition to the current row.\\n\\nExample: RUNNING_AVG(
SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING_COUNT\",
\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Returns the runn
ing count of an expression\",\"help-contents\": \"Returns the running count of t
he given expression, from the first row in the partition to the current row.\\n\
\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profit)\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"func-tooltip\":
\"Returns the running maximum of an expression\",\"help-contents\": \"Returns t
he running maximum of the given expression, from the first row in the partition
to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = running maximum o
f Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum of SUM(Profi
t)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\"
: false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expression)\",\"
func-tooltip\": \"Returns the running minimum of an expression\",\"help-contents
\": \"Returns the running minimum of the given expression, from the first row in
the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Profit])) = ru
nning minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = running minim
um of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\
"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"RUNNING_SUM(e
xpression)\",\"func-tooltip\": \"Returns the running sum of an expression\",\"he
lp-contents\": \"Returns the running sum of the given expression, from the first
row in the partition to the current row.\\n\\nExample: RUNNING_SUM(SUM([Profit]

)) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])) = running


count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"h
as-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCRIPT_BOOL(str
ing, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result from an R e
xpression\",\"help-contents\": \"Returns a Boolean result from a given R express
ion. The R expression is passed directly to a running Rserve instance. Use .arg#
in the R expression to reference parameters. In the following example, .arg1 is
equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.arg1)\\\", SU
M([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-varargs\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(string, expre
ssion, ...)\",\"func-tooltip\": \"Returns an integer result from an R expression
\",\"help-contents\": \"Returns an integer result from a given R expression. The
R expression is passed directly to a running Rserve instance. Use .arg# in the
R expression to reference parameters. In the following example, .arg1 is equal t
o SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)\\\", SUM([P
rofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args
\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(string, express
ion, ...)\",\"func-tooltip\": \"Returns a numeric result from an R expression\",
\"help-contents\": \"Returns a numeric result from a given R expression. The R e
xpression is passed directly to a running Rserve instance. Use .arg# in the R ex
pression to reference parameters. In the following example, .arg1 is equal to SU
M([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Profit]))\",\"
func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"
name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression, ...)\",\"f
unc-tooltip\": \"Returns a string result from an R expression\",\"help-contents\
": \"Returns a string result from a given R expression. The R expression is pass
ed directly to a running Rserve instance. Use .arg# in the R expression to refer
ence parameters. In the following example, .arg1 is equal to ATTR([Region]). \\n
\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\":
\"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns 1 for a posi
tive number\",\"help-contents\": \"Returns the sign of a number: 1 if the number
is positive, zero if the number is zero, or -1 if the number is negative.\\n\\n
Example: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angle)\",\"functooltip\": \"Returns the sine of a number\",\"help-contents\": \"Returns the sin
e of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/4) = 0.70710
6781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-arg
s\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tooltip\": \"Ret
urns the number of rows in the partition\",\"help-contents\": \"Returns the numb
er of rows in the partition.\\n\\nExample (partition has 5 rows):\\nSIZE( ) = 5\
",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"na
me\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"Returns a st
ring containing the specified number of spaces\",\"help-contents\": \"Returns a
string composed of the specified number of repeated spaces. \\n\\nExample: SPACE
(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-v
ar-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string, delimiter,
token number)\",\"func-tooltip\": \"Extracts a substring from a string\",\"helpcontents\": \"Returns a substring from a string, as determined by a delimiter ex
tracting the characters from the beginning or end of the string. \\n\\nExample:
SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-', -2) = 'c'\",
\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"locint\"],\"has
-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)\",\"func-to
oltip\": \"Returns the square root of a number\",\"help-contents\": \"Returns th
e square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps\":[\"num\"]
,\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SQUARE\",\"
func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the square of a numbe
r\",\"help-contents\": \"Returns the square of a given number. \\n\\nExample: SQ
UARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(string, subst

ring)\",\"func-tooltip\": \"Returns true if the specified string starts with the


specified substring\",\"help-contents\": \"Returns true if the string starts wi
th the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\"Ca\\\") is
true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-ar
gs\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\",\"func-too
ltip\": \"Returns the sample standard deviation for an expression\",\"help-conte
nts\": \"Returns the sample standard deviation of the expression.\\n\\nExample:
STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expression)\",\"fu
nc-tooltip\": \"Returns the population standard deviation for an expression\",\"
help-contents\": \"Returns the population standard deviation of the expression.\
\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"STR(expressio
n)\",\"func-tooltip\": \"Returns an expression as a string\",\"help-contents\":
\"Returns a string given an expression. \\n\\nExample: STR([Age]) returns all o
f the values of the Age measure as strings.\",\"func-grps\":[\"cast\"],\"func-ar
g-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",\"func-sig\"
: \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values in an expres
sion\",\"help-contents\": \"Returns the sum of all the values in the expression.
SUM can be used with numeric fields only. Null values are ignored.\\n\\nExample
: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"func-tooltip\
": \"Returns the tangent of an angle specified in radians\",\"help-contents\": \
"Returns the tangent of an angle. Specify the angle in radians.\\n\\nExample: TA
N(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN <then> [ELSE
IF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a
logical test and returns an appropriate value\",\"help-contents\": \"Tests a ser
ies of expressions returning the <then> value for the first true <expr>. \\n\\nE
xample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' E
LSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tooltip\": \"Ret
urns the current date\",\"help-contents\": \"Returns the current date. \\n\\nEx
ample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(expression)\",\
"func-tooltip\": \"Returns the total for an expression within the partition\",\"
help-contents\": \"Returns the total for the given expression.\\n\\nExample: TOT
AL(AVG([Profit])) = AVG(Profit) for all database rows that contribute to the par
tition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"func-tooltip\"
: \"Returns a string with leading and trailing spaces removed\",\"help-contents\
": \"Returns the string with both leading and trailing spaces removed. \\n\\nExa
mple: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"str\"],\"funcarg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",\"func-sig\"
: \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all uppercase charac
ters\",\"help-contents\": \"Converts a text string to all uppercase letters. \\n
\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\":[\"str\"],\
"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"USERDOMAIN\",\
"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain for the cur
rent user\",\"help-contents\": \"Returns the domain for the current user when th
e user is signed on to Tableau Server. Returns the Windows domain if the Tableau
Desktop user is on a domain. Otherwise this function returns a null string.\",\
"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\"
: \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Returns the user
name for the current user\",\"help-contents\": \"Returns the username for the c
urrent user. This is the Tableau Server or Tableau Online username when the user
is signed in; otherwise it is the local or network username for the Tableau Des
ktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fa
lse},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-tooltip\": \"Re
turns the sample variance for an expression\",\"help-contents\": \"Returns the s

ample variance of the expression.\\n\\nExample: VAR([Profit])\",\"func-grps\":[\


"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"VARP
\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns the population
variance for an expression\",\"help-contents\": \"Returns the population varian
ce of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[\"agg\"],\"f
unc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHEN\",\"func-s
ig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"functooltip\": \"Performs logical tests and returns the appropriate value\",\"help-c
ontents\": \"Finds the first <value> that matches <expr> and returns the corresp
onding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WH
EN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\": \"WINDOW_
AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the average of the v
alues within the window\",\"help-contents\": \"Returns the average of the expres
sion within the window. The window is defined as offsets from the current row.
Use FIRST()+n and LAST()-n for offsets from the first or last row in the partiti
on. If start and end are omitted, the entire partition is used.\\n\\nExample: W
INDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the two previous r
ows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",
\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_COUNT\",\"
func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-tooltip\": \"Retur
ns the number of items within the window\",\"help-contents\": \"Returns the coun
t of the expression within the window. The window is defined as offsets from th
e current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\
\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WI
NDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"func-tooltip
\": \"Returns the maximum within the window\",\"help-contents\": \"Returns the m
aximum of the expression within the window. The window is defined as offsets fr
om the current row. Use FIRST()+n and LAST()-n for offsets from the first or las
t row in the partition. If start and end are omitted, the entire partition is u
sed.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Profit from the
two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([Profit]), -2
, 0) = maximum of SUM(Profit) from the two previous rows to the current row\",\"
func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"]
,\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\": \"WINDOW_ME
DIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the median within t
he window\",\"help-contents\": \"Returns the median of the expression within the
window. The window is defined as offsets from the current row. Use FIRST()+n a
nd LAST()-n for offsets from the first or last row in the partition. If start a
nd end are omitted, the entire partition is used.\\n\\nExample: WINDOW_MEDIAN(SU
M([Profit]), -2, 0) = median of SUM(Profit) from the two previous rows to the cu
rrent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\
"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"func-sig\": \"W
INDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns the minimum wi
thin the window\",\"help-contents\": \"Returns the minimum of the expression wit
hin the window. The window is defined as offsets from the current row. Use FIRS
T()+n and LAST()-n for offsets from the first or last row in the partition. If
start and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_MI
N(MIN([Profit]), -2, 0) = minimum of Profit from the two previous rows to the cu
rrent row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum of SUM(Profit
) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(expression, num
ber, [start, end])\",\"func-tooltip\": \"Returns the percentile value at the spe
cified number\",\"help-contents\": \"Returns the value corresponding to the spec
ified percentile within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in

the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th percentile of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"ta
ble\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integer\"],\"has-v
ar-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW_STDEV(expre
ssion, [start, end])\",\"func-tooltip\": \"Returns the sample standard deviation
within the window\",\"help-contents\": \"Returns the sample standard deviation
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i
n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from t
he two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"
WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, end])\",\"func
-tooltip\": \"Returns the population standard deviation within the window\",\"he
lp-contents\": \"Returns the population standard deviation of the expression wit
hin the window. The window is defined as offsets from the current row. Use FIRS
T()+n and LAST()-n for offsets from the first or last row in the partition. If
start and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_ST
DEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two previous rows
to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"i
nteger\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_SUM\",\"funcsig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"Returns the
sum of values within the window\",\"help-contents\": \"Returns the sum of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the two previous r
ows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer
\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_VAR\",\
"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip\": \"Return
s the sample variance within the window\",\"help-contents\": \"Returns the sampl
e variance of the expression within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance of SUM(Profit
) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"na
me\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start, end])\",\"
func-tooltip\": \"Returns the population variance within the window\",\"help-con
tents\": \"Returns the population variance of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST()
-n for offsets from the first or last row in the partition. If start and end ar
e omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(SUM([Profit])
, -2, 0) = variance of SUM(Profit) from the two previous rows to the current row
\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\
"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR(date)\",\"f
unc-tooltip\": \"Returns the year of the specified date as an integer\",\"help-c
ontents\": \"Returns the year of a given date as an integer. \\n\\nExample: YEA
R(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime
\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(expression)\",
\"func-tooltip\": \"Returns the expression if it is not null\",\"help-contents\"
: \"Returns <expression> if it is not null, otherwise returns zero. \\n\\nExamp
le: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-types\":[\"integ
er\"],\"has-var-args\": false}]},\"calculation-context\": \"calculation-dialog\"
,\"use-parameters\": true} position=\"64\"","name":"tabdoc:calculation-auto-comp
lete"}}
{"ts":"2016-09-29T16:43:02.956","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC(

'month',[Order Date])-DATETRUNC('month',[Calculation1])\" calculation={\"datasou


rce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \"
Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"scop
e-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])-D
ATETRUNC('month',[Calculation1])\",\"fn\": \"\",\"fn-source\": \"\",\"calculatio
n-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-r
ole\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\":
0,\"style-token-list\":[],\"error-string\": \"\",\"error-info-list\":[],\"expres
sion-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func-sig\": \"ABS
(number)\",\"func-tooltip\": \"Returns the absolute value of a number\",\"help-c
ontents\": \"Returns the absolute value of the given number. \\n\\nExample: ABS(
-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-tooltip\": \"
Returns the arc cosine of a number\",\"help-contents\": \"Returns the arc cosine
of a number. The result is in radians. \\n\\nExample: ACOS(-1) = 3.14159265358
979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN <then> END\"
,\"func-tooltip\": \"Performs a logical conjunction on two expressions\",\"helpcontents\": \"Performs a logical conjunction on two expressions\",\"func-grps\":
[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ASCII\",
\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASCII code for t
he first character in a string\",\"help-contents\": \"Returns the ASCII code val
ue of the first character in a string. \\n\\nExample: ASCII(\\\"authors\\\") = 9
7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false
},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\": \"Returns
the arc sine of a number\",\"help-contents\": \"Returns the arc sine of a numbe
r. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267949\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Returns the arc t
angent of a number\",\"help-contents\": \"Returns the arc tangent of a number.
The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408283942\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tooltip\": \"Retu
rns the arc tangent of two numbers\",\"help-contents\": \"Returns the arc tangen
t of two given numbers (x and y). The result is in radians. \\n\\nExample: ATAN
2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\
",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig\": \"ATTR(ex
pression)\",\"func-tooltip\": \"Returns the value of the expression if it has on
e value for all rows\",\"help-contents\": \"Returns the value of the given expre
ssion if it only has a single value for all rows in the group, otherwise it disp
lays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([Market])\",\"
func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},
{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip\": \"Returns
the average of the values in the expression\",\"help-contents\": \"Returns the
average of all the values in the expression. AVG can be used with numeric fields
only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"func-grps\":[\"a
gg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CASE\"
,\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\
",\"func-tooltip\": \"Performs logical tests and returns the appropriate value\"
,\"help-contents\": \"Finds the first <value> that matches <expr> and returns th
e corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019
THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"funcarg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"func-sig\": \"C
EILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest integer of e
qual or greater value\",\"help-contents\": \"Rounds a number to the nearest inte
ger of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\",\"func-grps\
":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts an integer A
SCII code into a character\",\"help-contents\": \"Converts the given integer ASC
II code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-grps\":[\"str\"

],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CONTAINS\"


,\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"Returns true
if a string contains the specified substring\",\"help-contents\": \"Returns true
if the string contains the substring. \\n\\nExample: CONTAINS(\\\"Calculation\\
\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",
\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\": \"COS(angle)\
",\"func-tooltip\": \"Returns the cosine of an angle specified in radians\",\"he
lp-contents\": \"Returns the cosine of an angle. Specify the angle in radians.\\
n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"func-sig\": \
"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle specified in
radians\",\"help-contents\": \"Returns the cotangent of an angle. Specify the a
ngle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\",\"func-sig\
": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of items in the
expression\",\"help-contents\": \"Returns the number of items in a group. NULL v
alues are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func-grps\":[\"agg
\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"COUNT
D\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Returns the number
of distinct items in the expression\",\"help-contents\": \"Returns the number of
distinct items in a group. NULL values are not counted. Each unique value is c
ounted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"agg\"],\"fun
c-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"DATE\",\"funcsig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from a number\",\
"help-contents\": \"Returns a date given a number, string, or date expression.
\\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote that the quot
ation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"DATEADD(date_p
art, interval, date)\",\"func-tooltip\": \"Returns the specified date incremente
d by the specified amount\",\"help-contents\": \"Adds an increment to the specif
ied date and returns the new date. The increment is defined by the interval and
the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12:
00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"integer\",\
"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"func-sig\": \"DA
TEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-tooltip\": \"R
eturns the difference between two dates\",\"help-contents\": \"Returns the diffe
rence between two dates where start_date is subtracted from end_date. The differ
ence is expressed in units of date_part. If start_of_week is omitted, the week s
tart day is determined by the start day configured for the data source.\\n\\nExa
mple: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\",\"func-grps
\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetime\",\"locstr\
"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \"DATENAME(dat
e_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part of the speci
fied date as a string\",\"help-contents\": \"Returns a part of the given date as
a string, where the part is defined by date_part. If start_of_week is omitted,
the week start day is determined by the start day configured for the data source
.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"func-grps\":
[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-arg
s\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(format, string)\"
,\"func-tooltip\": \"Converts a string to a date\",\"help-contents\": \"Converts
a string to a date in the specified format. \\n\\nExample: DATEPARSE (\\\"dd.MM
MM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"func-grps\":[\"
date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": false},{\"name
\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_of_week])\",\"
func-tooltip\": \"Returns the specified part of a date as an integer\",\"help-co
ntents\": \"Returns a part of the given date as an integer where the part is def
ined by date_part. If start_of_week is omitted, the week start day is determined
by the start day configured for the data source.\\n\\nExample: DATEPART('month'
, #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"
datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETIME\",\"func-s

ig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datetime from a num


ber\",\"help-contents\": \"Returns a datetime given a number, string, or date ex
pression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\") \\nNote tha
t the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\
":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"func-sig\": \"DA
TETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Truncates the sp
ecified date to the specified accuracy\",\"help-contents\": \"Truncates the spec
ified date to the accuracy specified by the date_part and returns the new date.
If start_of_week is omitted, the week start day is determined by the start day c
onfigured for the data source.\\n\\nExample: DATETRUNC('quarter', #2004-08-15#)
= 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr
\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DAY\",\"func-s
ig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the specified da
te as an integer\",\"help-contents\": \"Returns the day of the given date as an
integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"date\"],\"fun
c-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"DEGREES\",\"f
unc-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value in radians t
o degrees\",\"help-contents\": \"Converts a number in radians to degrees.\\n\\nE
xample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"DIV(integer,
integer)\",\"func-tooltip\": \"Returns the integer part of a division operation\
",\"help-contents\": \"Returns the integer part of a division.\\n\\nExample: DIV
(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer\",\"integer\
"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <expr> THEN <
then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"
Performs a logical test and returns an appropriate value\",\"help-contents\": \"
Tests a series of expressions returning the <then> value for the first true <exp
r>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'B
reakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr> THEN <then>
[ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Perfo
rms a logical test and returns an appropriate value\",\"help-contents\": \"Tests
a series of expressions returning the <then> value for the first true <expr>. \
\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breake
ven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF
<expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a lo
gical test and returns an appropriate value\",\"help-contents\": \"Tests a serie
s of expressions returning the <then> value for the first true <expr>. \\n\\nExa
mple: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELS
E 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, substring)\",\"
func-tooltip\": \"Returns true if the specified string ends with the specified s
ubstring\",\"help-contents\": \"Returns true if the string ends with the substri
ng (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Calculation\\\"
, \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"s
tr\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\": \"{ EXCLUDE
[dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an agg
regate excluding the specified dimensions if present in the view.\",\"help-conte
nts\": \"Computes an aggregate excluding the specified dimensions if present in
the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\": \"Returns
e raised to the power of a number\",\"help-contents\": \"Returns e raised to the
power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-grps\":[\"num\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FIND\",\"
func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\": \"Returns the
position of a substring within a string\",\"help-contents\": \"Returns the posi
tion of a substring within a string, or 0 if the substring isn't found. If the s
tart argument is defined, any instances of substring that appear before the star
t position are ignored. The first character in the string is position 1. \\n\\nE

xample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\":[\"str\"],\"


func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\":
\"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\",\"func-tool
tip\": \"Returns the position of the nth occurrence a substring within a string\
",\"help-contents\": \"Returns the position of the nth occurrence of a substring
within a string, or 0 if that occurrence of the substring isn't found. The firs
t character in the string is position 1. \\n\\nExample: FINDNTH(\\\"Calculation\
\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"s
tr\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func-sig\": \"FIR
ST()\",\"func-tooltip\": \"Returns the number of rows from to the first row in t
he partition\",\"help-contents\": \"Returns the number of rows from the current
row to the first row in the partition.\\n\\nExample (current row index is 3 of 7
):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-a
rgs\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[, dim2]...] : a
ggregate-expression }\",\"func-tooltip\": \"Computes an aggregate using only the
specified dimensions.\",\"help-contents\": \"Computes an aggregate using only t
he specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expression)\",\"fun
c-tooltip\": \"Returns a float from an expression\",\"help-contents\": \"Returns
a float given an expression of any type. This function requires unformatted num
bers which means exclude commas and other symbols. \\n\\nExample: FLOAT(\\\"3\\
\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var
-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\",\"func-tool
tip\": \"Rounds a number to the nearest integer of equal or lesser value\",\"hel
p-contents\": \"Rounds a number to the nearest integer of equal or lesser value.
\\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func-arg-types\":[
\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-sig\": \"FULLN
AME()\",\"func-tooltip\": \"Returns the full name for the current user\",\"helpcontents\": \"Returns the full name for the current user. This is the Tableau Se
rver or Tableau Online full name when the user is signed in; otherwise it is the
local or network full name for the Tableau Desktop user.\",\"func-grps\":[\"use
r\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HEXBINX\",\"fun
c-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns the x-coordinat
e of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate
to the x-coordinate of the nearest hexagonal bin. The bins have side length 1, s
o the inputs may need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"fu
nc-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"HEXBINY
\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Returns the y-c
oordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coo
rdinate to the y-coordinate of the nearest hexagonal bin. The bins have side len
gth 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \
"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [E
LSE <else>] END\",\"func-tooltip\": \"Performs a logical test and returns an app
ropriate value\",\"help-contents\": \"Tests a series of expressions returning th
e <then> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'P
rofitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":
[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IFNULL\"
,\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns expression1
if not null\",\"help-contents\": \"Returns <expr1> if it is not null, otherwise
returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\":[\"logic\"]
,\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\"
: \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func-tooltip\": \
"Evaluates a Boolean expression and returns one of two values\",\"help-contents\
": \"Checks whether a condition is met, and returns one value if TRUE, another v
alue if FALSE, and an optional third value or NULL if unknown. \\n\\nExample: II
F([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"
INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-expression }\"
,\"func-tooltip\": \"Computes an aggregate using the specified dimensions and th

e view dimensions.\",\"help-contents\": \"Computes an aggregate using the specif


ied dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-typ
es\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\": \"INDEX()\",
\"func-tooltip\": \"Returns the index of the current row in the partition\",\"he
lp-contents\": \"Returns the index of the current row in the partition.\\n\\nExa
mple (for the first row in the partition): INDEX( ) = 1\",\"func-grps\":[\"table
\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT\",\"func-sig
\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression and returns
an integer\",\"help-contents\": \"Returns an integer given an expression. This f
unction truncates results to the closest integer toward zero. \\n\\nExample: INT
(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\
"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-sig\": \"ISDAT
E(string)\",\"func-tooltip\": \"Returns true if the string is a valid date\",\"h
elp-contents\": \"Returns true if a given string is a valid date. \\n\\nExample
: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date\",\"logic\"]
,\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"ISFULLNAME\"
,\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns true if the cu
rrent user's full name matches the specified name\",\"help-contents\": \"Returns
true if the current user's full name matches the specified full name, or false
if it does not match. This function uses the Tableau Server or Tableau Online fu
ll name when the user is signed in; otherwise it uses the local or network full
name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\"
:[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"func-sig\": \
"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the current user is a
member of the specified group\",\"help-contents\": \"Returns true if the current
user is a member of the given group, false otherwise. This uses the Tableau Se
rver to resolve group membership if logged on, otherwise it always returns false
.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": f
alse},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"func-tooltip\
": \"Returns true if the specified expression is null\",\"help-contents\": \"Ret
urns true if the expression does not contain valid data (Null).\\n\\nExample: IS
NULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\"],\"ha
s-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUSERNAME(string
)\",\"func-tooltip\": \"Returns true if the current user's name matches the spec
ified user name\",\"help-contents\": \"Returns true if the current user's userna
me matches the specified username, or false if it does not match. This function
uses the Tableau Server or Tableau Online username when the user is signed in; o
therwise it uses the local or network username for the Tableau Desktop user.\",\
"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false}
,{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"Returns the nu
mber of rows to the last row in the partition\",\"help-contents\": \"Returns the
number of rows from the current row to the last row in the partition.\\n\\nExam
ple (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[\"table\"],\"
func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"func-sig\": \
"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specified number of c
haracters from the start of a string\",\"help-contents\": \"Returns the specifie
d number of characters from the start of the given string. \\n\\nExample: LEFT(
\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",\"func-sig\":
\"LEN(string)\",\"func-tooltip\": \"Returns the number of characters in a strin
g\",\"help-contents\": \"Returns the number of characters in the given string. \
\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"func-sig\": \"LN
(number)\",\"func-tooltip\": \"Returns the natural logarithm of a number\",\"hel
p-contents\": \"Returns the natural logarithm of the given number. Returns Null
if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5)) = 5\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\": \"Returns the
logarithm of a number for the given base\",\"help-contents\": \"Returns the log
arithm of a number for the given base. If the base value is omitted, base 10 is

used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"func-grps\":[


\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name
\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"func-tooltip\":
\"Returns the value of the expression in a row offset from current row\",\"helpcontents\": \"Returns the value of the given expression in a target row, specifi
ed as a relative offset from the current row. Use FIRST()+n and LAST()-n for a t
arget relative to the first/last rows in the partition. If offset is omitted, th
e Compare To row may be set on the field menu. Returns NULL if the target row ca
nnot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) + 2) = SUM(Pro
fit) in the third row of the partition\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"LOWER\",\"
func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string in all lowerc
ase characters\",\"help-contents\": \"Converts a text string to all lowercase le
tters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"func-grps\":[
\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LTRI
M\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a string with le
ading spaces removed\",\"help-contents\": \"Returns the string with any leading
spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\"\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-tooltip\": \"Re
turns a date value constructed from a year, a month and a day of the month.\",\"
help-contents\": \"Returns a date value constructed from a year, a month and a d
ay of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date, time)\",\"f
unc-tooltip\": \"Returns a datetime by combining a date and a time\",\"help-cont
ents\": \"Returns a date and time value given a date expression and a time expre
ssion. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"func-grps\":[\
"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\": false},{\"
name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)\",\"func-too
ltip\": \"Returns a time value constructed from hours, minutes and seconds.\",\"
help-contents\": \"Returns a time value constructed from hours, minutes and seco
nds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast\"],\"func-ar
g-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name
\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",\"func-toolti
p\": \"Returns the maximum of an expression\",\"help-contents\": \"Returns the m
aximum of a single expression across all records or the maximum of two expressio
ns for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\"num\",\"str\
",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-a
rgs\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expression)\",\"functooltip\": \"Returns the median of an expression\",\"help-contents\": \"Returns
the median of a single expression. MEDIAN can be used with numeric fields only.
Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-grps\":[\"agg\"
],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"MID\",\"fu
nc-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Returns the charact
ers from the middle of a text string\",\"help-contents\": \"Returns the characte
rs from the middle of a text string given a starting position and a length. The
first character in the string is position 1. If the length is not included, all
characters to the end of the string are returned. If the length is included, up
to that many characters are returned. \\n\\nExample: MID(\\\"Tableau Software\\\
",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\",2,4) = \\\"a
ble\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\",\"real\"]
,\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(expression) or
MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an expression\",\
"help-contents\": \"Returns the minimum of an expression across all records or t
he minimum of two expressions for each record. \\n\\nExample: MIN([Profit])\",\
"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"
real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"func-sig\": \"M
ONTH(date)\",\"func-tooltip\": \"Returns the month part of the specified date as
an integer\",\"help-contents\": \"Returns the month of a given date as an integ

er. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date\"],\"func-ar


g-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\",\"func-sig\
": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs logical negati
on on an expression\",\"help-contents\": \"Performs logical negation on an expre
ssion\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false}
,{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Returns the curr
ent date and time\",\"help-contents\": \"Returns the current date and time. \\n
\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\": \"IF <expr1>
OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical disjunction
on two expressions\",\"help-contents\": \"Performs a logical disjunction on two
expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expression, number)
\",\"func-tooltip\": \"Returns the percentile value at the specified number\",\"
help-contents\": \"Aggregate calculation that returns the percentile value from
the given expression corresponding to the specified number. Valid values for the
number are 0 through 1. PERCENTILE([expression], 0.50) will always return the m
edian value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.90)\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-var-args\": fal
se},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Returns the num
eric constant pi\",\"help-contents\": \"Returns the numeric constant pi.\\n\\nEx
ample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[],\
"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(number,power)
\",\"func-tooltip\": \"Raises the number to the specified power\",\"help-content
s\": \"Returns the result of a number raised to the given power. \\n\\nExample:
POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"r
eal\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"func-sig\": \"PR
EVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of this calcula
tion in the previous row\",\"help-contents\": \"Returns the value of this calcul
ation in the previous row. Returns the given expression if the current row is th
e first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOUS_VALUE(0) =
running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(1) = running
product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer
\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \"RADIANS(numb
er)\",\"func-tooltip\": \"Converts a number in degrees to radians\",\"help-conte
nts\": \"Converts a number in degrees to radians.\",\"func-grps\":[\"num\"],\"fu
nc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RANK\",\"func-si
g\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the compet
ition rank for the current partition row\",\"help-contents\": \"Returns the stan
dard competition rank for the current row in the partition. Identical values are
assigned an identical rank. Use the optional 'asc' | 'desc' argument to specify
ascending or descending order. The default order is descending.\\n\\nWith this
function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 4) in ascend
ing order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RAN
K_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",\"func-toolti
p\": \"Returns the dense rank for the current partition row\",\"help-contents\":
\"Returns the dense rank for the current row in the partition. Identical values
are assigned an identical rank, but no gaps are inserted into the number sequen
ce. Use the optional 'asc' | 'desc' argument to specify ascending or descending
order. The default order is descending.\\n\\nWith this function, the set of valu
es (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\n\\nExample:
RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integ
er\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIED\",\"func-si
g\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns t
he modified competition rank for the current partition row\",\"help-contents\":
\"Returns the modified competition rank for the current row in the partition. Id
entical values are assigned an identical rank. Use the optional 'asc' | 'desc' a
rgument to specify ascending or descending order. The default order is descendin
g.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1,

3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velocity]))\",\"fu


nc-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args
\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERCENTILE(expres
sion, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile rank for the
current partition row\",\"help-contents\": \"Returns the percentile rank for the
current row in the partition. Use the optional 'asc' | 'desc' argument to speci
fy ascending or descending order. The default order is ascending.\\n\\nWith this
function, the set of values (6, 9, 9, 14) would be ranked (25, 75, 75, 100) in
ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\",\"func-grps\
":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": fals
e},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expression, ['asc'|'de
sc'])\",\"func-tooltip\": \"Returns the unique rank for the current partition ro
w\",\"help-contents\": \"Returns the unique rank for the current row in the part
ition. Identical values are assigned different ranks. Use the optional 'asc' | '
desc' argument to specify ascending or descending order. The default order is de
scending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be rank
ed (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1 for the firs
t row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer
\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT\",\"func-sig
\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns the portion
of a string matching the capturing group in a regular expression\",\"help-conten
ts\": \"Returns a substring of the given string that matches the capturing group
within the regular expression pattern. The regular expression pattern requires
exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 123', '[a-z]+\\
\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"s
tr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"func-sig\": \
"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"Returns a subs
tring of a string using a regular expression pattern\",\"help-contents\": \"Retu
rns a substring of the given string using the regular expression pattern. The s
ubstring is matched to the nth capturing group, where n is the given index. \\n\
\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)', 2) = '123'\",
\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locint\"],\"has-va
r-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP_MATCH(string
, pattern)\",\"func-tooltip\": \"Returns true if a string matches a regular expr
ession\",\"help-contents\": \"Returns true if a substring of the provided string
matches the regular expression pattern. \\n\\nExample: REGEXP_MATCH('-([1234].[
The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') = true\",\"func
-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},
{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string, pattern, re
placement)\",\"func-tooltip\": \"Returns a string where substrings matching a re
gular expression are replaced\",\"help-contents\": \"Returns a copy of the given
string where the matching pattern is substituted with the replacement string. \
\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'\",\"func-grp
s\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": fal
se},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substring, replacemen
t)\",\"func-tooltip\": \"Replaces all instances of a substring within a string\"
,\"help-contents\": \"Returns a string in which every occurrence of the substrin
g is replaced with the replacement string. If the substring is not found, the st
ring is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"ion\\\", \\\"
ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str
\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\"func-sig\":
\"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specified number of
characters from the end of a string\",\"help-contents\": \"Returns the specifie
d number of characters from the end of the given string. \\n\\nExample: RIGHT(\
\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"func-arg-types
\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\",\"func-sig\"
: \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number to the speci
fied number of places\",\"help-contents\": \"Rounds a number to the nearest inte
ger or to a specified number of decimal places. \\n\\nExample: ROUND(3.1415, 1)
= 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var

-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\",\"func-tool


tip\": \"Returns a string with trailing spaces removed\",\"help-contents\": \"Re
turns the string with any trailing spaces removed. \\n\\nExample: RTRIM(\\\"Mar
ket \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\": \"RUNNING_AV
G(expression)\",\"func-tooltip\": \"Returns the running average of an expression
\",\"help-contents\": \"Returns the running average of the given expression, fro
m the first row in the partition to the current row.\\n\\nExample: RUNNING_AVG(S
UM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING_COUNT\",\
"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Returns the runni
ng count of an expression\",\"help-contents\": \"Returns the running count of th
e given expression, from the first row in the partition to the current row.\\n\\
nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profit)\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"func-tooltip\":
\"Returns the running maximum of an expression\",\"help-contents\": \"Returns th
e running maximum of the given expression, from the first row in the partition t
o the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = running maximum of
Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum of SUM(Profit
)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\":
false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expression)\",\"f
unc-tooltip\": \"Returns the running minimum of an expression\",\"help-contents\
": \"Returns the running minimum of the given expression, from the first row in
the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Profit])) = run
ning minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = running minimu
m of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"
has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"RUNNING_SUM(ex
pression)\",\"func-tooltip\": \"Returns the running sum of an expression\",\"hel
p-contents\": \"Returns the running sum of the given expression, from the first
row in the partition to the current row.\\n\\nExample: RUNNING_SUM(SUM([Profit])
) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])) = running c
ount of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCRIPT_BOOL(stri
ng, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result from an R ex
pression\",\"help-contents\": \"Returns a Boolean result from a given R expressi
on. The R expression is passed directly to a running Rserve instance. Use .arg#
in the R expression to reference parameters. In the following example, .arg1 is
equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.arg1)\\\", SUM
([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-a
rgs\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(string, expres
sion, ...)\",\"func-tooltip\": \"Returns an integer result from an R expression\
",\"help-contents\": \"Returns an integer result from a given R expression. The
R expression is passed directly to a running Rserve instance. Use .arg# in the R
expression to reference parameters. In the following example, .arg1 is equal to
SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)\\\", SUM([Pr
ofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(string, expressi
on, ...)\",\"func-tooltip\": \"Returns a numeric result from an R expression\",\
"help-contents\": \"Returns a numeric result from a given R expression. The R ex
pression is passed directly to a running Rserve instance. Use .arg# in the R exp
ression to reference parameters. In the following example, .arg1 is equal to SUM
([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Profit]))\",\"f
unc-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"n
ame\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression, ...)\",\"fu
nc-tooltip\": \"Returns a string result from an R expression\",\"help-contents\"
: \"Returns a string result from a given R expression. The R expression is passe
d directly to a running Rserve instance. Use .arg# in the R expression to refere
nce parameters. In the following example, .arg1 is equal to ATTR([Region]). \\n\
\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\",\"func-grps

\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \
"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns 1 for a posit
ive number\",\"help-contents\": \"Returns the sign of a number: 1 if the number
is positive, zero if the number is zero, or -1 if the number is negative.\\n\\nE
xample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angle)\",\"func-t
ooltip\": \"Returns the sine of a number\",\"help-contents\": \"Returns the sine
of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/4) = 0.707106
781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args
\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tooltip\": \"Retu
rns the number of rows in the partition\",\"help-contents\": \"Returns the numbe
r of rows in the partition.\\n\\nExample (partition has 5 rows):\\nSIZE( ) = 5\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"nam
e\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"Returns a str
ing containing the specified number of spaces\",\"help-contents\": \"Returns a s
tring composed of the specified number of repeated spaces. \\n\\nExample: SPACE(
2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string, delimiter, t
oken number)\",\"func-tooltip\": \"Extracts a substring from a string\",\"help-c
ontents\": \"Returns a substring from a string, as determined by a delimiter ext
racting the characters from the beginning or end of the string. \\n\\nExample: S
PLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-', -2) = 'c'\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"locint\"],\"hasvar-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)\",\"func-too
ltip\": \"Returns the square root of a number\",\"help-contents\": \"Returns the
square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps\":[\"num\"],
\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SQUARE\",\"f
unc-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the square of a number
\",\"help-contents\": \"Returns the square of a given number. \\n\\nExample: SQU
ARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(string, substr
ing)\",\"func-tooltip\": \"Returns true if the specified string starts with the
specified substring\",\"help-contents\": \"Returns true if the string starts wit
h the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\"Ca\\\") is t
rue\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-arg
s\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\",\"func-tool
tip\": \"Returns the sample standard deviation for an expression\",\"help-conten
ts\": \"Returns the sample standard deviation of the expression.\\n\\nExample: S
TDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expression)\",\"fun
c-tooltip\": \"Returns the population standard deviation for an expression\",\"h
elp-contents\": \"Returns the population standard deviation of the expression.\\
n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"STR(expression
)\",\"func-tooltip\": \"Returns an expression as a string\",\"help-contents\": \
"Returns a string given an expression. \\n\\nExample: STR([Age]) returns all of
the values of the Age measure as strings.\",\"func-grps\":[\"cast\"],\"func-arg
-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",\"func-sig\":
\"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values in an express
ion\",\"help-contents\": \"Returns the sum of all the values in the expression.
SUM can be used with numeric fields only. Null values are ignored.\\n\\nExample:
SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"func-tooltip\"
: \"Returns the tangent of an angle specified in radians\",\"help-contents\": \"
Returns the tangent of an angle. Specify the angle in radians.\\n\\nExample: TAN
(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN <then> [ELSEI
F <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a l
ogical test and returns an appropriate value\",\"help-contents\": \"Tests a seri
es of expressions returning the <then> value for the first true <expr>. \\n\\nEx

ample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' EL


SE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\"
: false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tooltip\": \"Retu
rns the current date\",\"help-contents\": \"Returns the current date. \\n\\nExa
mple: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(expression)\",\"
func-tooltip\": \"Returns the total for an expression within the partition\",\"h
elp-contents\": \"Returns the total for the given expression.\\n\\nExample: TOTA
L(AVG([Profit])) = AVG(Profit) for all database rows that contribute to the part
ition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-arg
s\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"func-tooltip\":
\"Returns a string with leading and trailing spaces removed\",\"help-contents\"
: \"Returns the string with both leading and trailing spaces removed. \\n\\nExam
ple: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"str\"],\"func-a
rg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",\"func-sig\":
\"UPPER(string)\",\"func-tooltip\": \"Returns a string in all uppercase charact
ers\",\"help-contents\": \"Converts a text string to all uppercase letters. \\n\
\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"USERDOMAIN\",\"
func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain for the curr
ent user\",\"help-contents\": \"Returns the domain for the current user when the
user is signed on to Tableau Server. Returns the Windows domain if the Tableau
Desktop user is on a domain. Otherwise this function returns a null string.\",\"
func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Returns the user
name for the current user\",\"help-contents\": \"Returns the username for the cu
rrent user. This is the Tableau Server or Tableau Online username when the user
is signed in; otherwise it is the local or network username for the Tableau Desk
top user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-tooltip\": \"Ret
urns the sample variance for an expression\",\"help-contents\": \"Returns the sa
mple variance of the expression.\\n\\nExample: VAR([Profit])\",\"func-grps\":[\"
agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"VARP\
",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns the population
variance for an expression\",\"help-contents\": \"Returns the population varianc
e of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[\"agg\"],\"fu
nc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHEN\",\"func-si
g\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"func-t
ooltip\": \"Performs logical tests and returns the appropriate value\",\"help-co
ntents\": \"Finds the first <value> that matches <expr> and returns the correspo
nding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHE
N \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\": \"WINDOW_A
VG(expression, [start, end])\",\"func-tooltip\": \"Returns the average of the va
lues within the window\",\"help-contents\": \"Returns the average of the express
ion within the window. The window is defined as offsets from the current row. U
se FIRST()+n and LAST()-n for offsets from the first or last row in the partitio
n. If start and end are omitted, the entire partition is used.\\n\\nExample: WI
NDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the two previous ro
ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_COUNT\",\"f
unc-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-tooltip\": \"Return
s the number of items within the window\",\"help-contents\": \"Returns the count
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\\
n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIN
DOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"func-tooltip\

": \"Returns the maximum within the window\",\"help-contents\": \"Returns the ma


ximum of the expression within the window. The window is defined as offsets fro
m the current row. Use FIRST()+n and LAST()-n for offsets from the first or last
row in the partition. If start and end are omitted, the entire partition is us
ed.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Profit from the
two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([Profit]), -2,
0) = maximum of SUM(Profit) from the two previous rows to the current row\",\"f
unc-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],
\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\": \"WINDOW_MED
IAN(expression, [start, end])\",\"func-tooltip\": \"Returns the median within th
e window\",\"help-contents\": \"Returns the median of the expression within the
window. The window is defined as offsets from the current row. Use FIRST()+n an
d LAST()-n for offsets from the first or last row in the partition. If start an
d end are omitted, the entire partition is used.\\n\\nExample: WINDOW_MEDIAN(SUM
([Profit]), -2, 0) = median of SUM(Profit) from the two previous rows to the cur
rent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"
integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"func-sig\": \"WI
NDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns the minimum wit
hin the window\",\"help-contents\": \"Returns the minimum of the expression with
in the window. The window is defined as offsets from the current row. Use FIRST
()+n and LAST()-n for offsets from the first or last row in the partition. If s
tart and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_MIN
(MIN([Profit]), -2, 0) = minimum of Profit from the two previous rows to the cur
rent row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum of SUM(Profit)
from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"
name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(expression, numb
er, [start, end])\",\"func-tooltip\": \"Returns the percentile value at the spec
ified number\",\"help-contents\": \"Returns the value corresponding to the speci
fied percentile within the window. The window is defined as offsets from the cu
rrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\\
nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th percentile of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"tab
le\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integer\"],\"has-va
r-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW_STDEV(expres
sion, [start, end])\",\"func-tooltip\": \"Returns the sample standard deviation
within the window\",\"help-contents\": \"Returns the sample standard deviation o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from th
e two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"W
INDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, end])\",\"functooltip\": \"Returns the population standard deviation within the window\",\"hel
p-contents\": \"Returns the population standard deviation of the expression with
in the window. The window is defined as offsets from the current row. Use FIRST
()+n and LAST()-n for offsets from the first or last row in the partition. If s
tart and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_STD
EVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two previous rows
to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"in
teger\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_SUM\",\"func-s
ig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"Returns the s
um of values within the window\",\"help-contents\": \"Returns the sum of the exp
ression within the window. The window is defined as offsets from the current ro
w. Use FIRST()+n and LAST()-n for offsets from the first or last row in the part
ition. If start and end are omitted, the entire partition is used.\\n\\nExample
: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the two previous ro
ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\

",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_VAR\",\"


func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip\": \"Returns
the sample variance within the window\",\"help-contents\": \"Returns the sample
variance of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition i
s used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance of SUM(Profit)
from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"nam
e\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start, end])\",\"f
unc-tooltip\": \"Returns the population variance within the window\",\"help-cont
ents\": \"Returns the population variance of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST()n for offsets from the first or last row in the partition. If start and end are
omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(SUM([Profit]),
-2, 0) = variance of SUM(Profit) from the two previous rows to the current row\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"
],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR(date)\",\"fu
nc-tooltip\": \"Returns the year of the specified date as an integer\",\"help-co
ntents\": \"Returns the year of a given date as an integer. \\n\\nExample: YEAR
(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\
"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(expression)\",\
"func-tooltip\": \"Returns the expression if it is not null\",\"help-contents\":
\"Returns <expression> if it is not null, otherwise returns zero. \\n\\nExampl
e: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-types\":[\"intege
r\"],\"has-var-args\": false}]},\"calculation-context\": \"calculation-dialog\",
\"use-parameters\": true} position=\"64\"","name":"tabdoc:calculation-auto-compl
ete"}}
{"ts":"2016-09-29T16:43:02.956","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC
('month',[Order Date])-DATETRUNC('month',[Calculation1])\" calculation={\"dataso
urce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \
"Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"sco
pe-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])DATETRUNC('month',[Calculation1])\",\"fn\": \"\",\"fn-source\": \"\",\"calculati
on-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folderrole\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\":
0,\"style-token-list\":[],\"error-string\": \"\",\"error-info-list\":[],\"expre
ssion-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func-sig\": \"AB
S(number)\",\"func-tooltip\": \"Returns the absolute value of a number\",\"helpcontents\": \"Returns the absolute value of the given number. \\n\\nExample: ABS
(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-tooltip\": \
"Returns the arc cosine of a number\",\"help-contents\": \"Returns the arc cosin
e of a number. The result is in radians. \\n\\nExample: ACOS(-1) = 3.1415926535
8979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN <then> END\
",\"func-tooltip\": \"Performs a logical conjunction on two expressions\",\"help
-contents\": \"Performs a logical conjunction on two expressions\",\"func-grps\"
:[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ASCII\"
,\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASCII code for
the first character in a string\",\"help-contents\": \"Returns the ASCII code va
lue of the first character in a string. \\n\\nExample: ASCII(\\\"authors\\\") =
97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fals
e},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\": \"Return
s the arc sine of a number\",\"help-contents\": \"Returns the arc sine of a numb
er. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267949\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Returns the arc

tangent of a number\",\"help-contents\": \"Returns the arc tangent of a number.


The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408283942\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tooltip\": \"Ret
urns the arc tangent of two numbers\",\"help-contents\": \"Returns the arc tange
nt of two given numbers (x and y). The result is in radians. \\n\\nExample: ATA
N2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig\": \"ATTR(e
xpression)\",\"func-tooltip\": \"Returns the value of the expression if it has o
ne value for all rows\",\"help-contents\": \"Returns the value of the given expr
ession if it only has a single value for all rows in the group, otherwise it dis
plays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([Market])\",\
"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false}
,{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip\": \"Return
s the average of the values in the expression\",\"help-contents\": \"Returns the
average of all the values in the expression. AVG can be used with numeric field
s only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"func-grps\":[\"
agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CASE\
",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END
\",\"func-tooltip\": \"Performs logical tests and returns the appropriate value\
",\"help-contents\": \"Finds the first <value> that matches <expr> and returns t
he corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019
THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func
-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"func-sig\": \"
CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest integer of
equal or greater value\",\"help-contents\": \"Rounds a number to the nearest int
eger of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts an integer
ASCII code into a character\",\"help-contents\": \"Converts the given integer AS
CII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-grps\":[\"str\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CONTAINS\
",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"Returns true
if a string contains the specified substring\",\"help-contents\": \"Returns tru
e if the string contains the substring. \\n\\nExample: CONTAINS(\\\"Calculation\
\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"
,\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\": \"COS(angle)
\",\"func-tooltip\": \"Returns the cosine of an angle specified in radians\",\"h
elp-contents\": \"Returns the cosine of an angle. Specify the angle in radians.\
\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"func-sig\":
\"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle specified i
n radians\",\"help-contents\": \"Returns the cotangent of an angle. Specify the
angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\",\"func-sig
\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of items in the
expression\",\"help-contents\": \"Returns the number of items in a group. NULL
values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func-grps\":[\"ag
g\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"COUN
TD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Returns the number
of distinct items in the expression\",\"help-contents\": \"Returns the number o
f distinct items in a group. NULL values are not counted. Each unique value is
counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"agg\"],\"fu
nc-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"DATE\",\"func
-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from a number\",
\"help-contents\": \"Returns a date given a number, string, or date expression.
\\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote that the quo
tation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"DATEADD(date_
part, interval, date)\",\"func-tooltip\": \"Returns the specified date increment

ed by the specified amount\",\"help-contents\": \"Adds an increment to the speci


fied date and returns the new date. The increment is defined by the interval and
the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12
:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"integer\",
\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"func-sig\": \"D
ATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-tooltip\": \"
Returns the difference between two dates\",\"help-contents\": \"Returns the diff
erence between two dates where start_date is subtracted from end_date. The diffe
rence is expressed in units of date_part. If start_of_week is omitted, the week
start day is determined by the start day configured for the data source.\\n\\nEx
ample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\",\"func-grp
s\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetime\",\"locstr
\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \"DATENAME(da
te_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part of the spec
ified date as a string\",\"help-contents\": \"Returns a part of the given date a
s a string, where the part is defined by date_part. If start_of_week is omitted,
the week start day is determined by the start day configured for the data sourc
e.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"func-grps\"
:[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-ar
gs\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(format, string)\
",\"func-tooltip\": \"Converts a string to a date\",\"help-contents\": \"Convert
s a string to a date in the specified format. \\n\\nExample: DATEPARSE (\\\"dd.M
MMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"func-grps\":[\
"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": false},{\"nam
e\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_of_week])\",\
"func-tooltip\": \"Returns the specified part of a date as an integer\",\"help-c
ontents\": \"Returns a part of the given date as an integer where the part is de
fined by date_part. If start_of_week is omitted, the week start day is determine
d by the start day configured for the data source.\\n\\nExample: DATEPART('month
', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\
"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETIME\",\"funcsig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datetime from a nu
mber\",\"help-contents\": \"Returns a datetime given a number, string, or date e
xpression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\") \\nNote th
at the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types
\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"func-sig\": \"D
ATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Truncates the s
pecified date to the specified accuracy\",\"help-contents\": \"Truncates the spe
cified date to the accuracy specified by the date_part and returns the new date.
If start_of_week is omitted, the week start day is determined by the start day
configured for the data source.\\n\\nExample: DATETRUNC('quarter', #2004-08-15#)
= 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locst
r\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DAY\",\"funcsig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the specified d
ate as an integer\",\"help-contents\": \"Returns the day of the given date as an
integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"date\"],\"fu
nc-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"DEGREES\",\"
func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value in radians
to degrees\",\"help-contents\": \"Converts a number in radians to degrees.\\n\\n
Example: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"
real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"DIV(integer,
integer)\",\"func-tooltip\": \"Returns the integer part of a division operation
\",\"help-contents\": \"Returns the integer part of a division.\\n\\nExample: DI
V(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer\",\"integer
\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \
"Performs a logical test and returns an appropriate value\",\"help-contents\": \
"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h

as-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr> THEN <then


> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Perf
orms a logical test and returns an appropriate value\",\"help-contents\": \"Test
s a series of expressions returning the <then> value for the first true <expr>.
\\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Break
even' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <then> [ELSEI
F <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a l
ogical test and returns an appropriate value\",\"help-contents\": \"Tests a seri
es of expressions returning the <then> value for the first true <expr>. \\n\\nEx
ample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' EL
SE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\"
: false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, substring)\",\
"func-tooltip\": \"Returns true if the specified string ends with the specified
substring\",\"help-contents\": \"Returns true if the string ends with the substr
ing (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Calculation\\\
", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"
str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\": \"{ EXCLUDE
[dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an ag
gregate excluding the specified dimensions if present in the view.\",\"help-cont
ents\": \"Computes an aggregate excluding the specified dimensions if present in
the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\": \"Returns
e raised to the power of a number\",\"help-contents\": \"Returns e raised to th
e power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FIND\",\
"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\": \"Returns th
e position of a substring within a string\",\"help-contents\": \"Returns the pos
ition of a substring within a string, or 0 if the substring isn't found. If the
start argument is defined, any instances of substring that appear before the sta
rt position are ignored. The first character in the string is position 1. \\n\\n
Example: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\":[\"str\"],\
"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\":
\"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\",\"func-too
ltip\": \"Returns the position of the nth occurrence a substring within a string
\",\"help-contents\": \"Returns the position of the nth occurrence of a substrin
g within a string, or 0 if that occurrence of the substring isn't found. The fir
st character in the string is position 1. \\n\\nExample: FINDNTH(\\\"Calculation
\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"
str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func-sig\": \"FI
RST()\",\"func-tooltip\": \"Returns the number of rows from to the first row in
the partition\",\"help-contents\": \"Returns the number of rows from the current
row to the first row in the partition.\\n\\nExample (current row index is 3 of
7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[, dim2]...] :
aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate using only th
e specified dimensions.\",\"help-contents\": \"Computes an aggregate using only
the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"hasvar-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expression)\",\"fu
nc-tooltip\": \"Returns a float from an expression\",\"help-contents\": \"Return
s a float given an expression of any type. This function requires unformatted nu
mbers which means exclude commas and other symbols. \\n\\nExample: FLOAT(\\\"3\
\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-va
r-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\",\"func-too
ltip\": \"Rounds a number to the nearest integer of equal or lesser value\",\"he
lp-contents\": \"Rounds a number to the nearest integer of equal or lesser value
. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func-arg-types\":
[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-sig\": \"FULL
NAME()\",\"func-tooltip\": \"Returns the full name for the current user\",\"help
-contents\": \"Returns the full name for the current user. This is the Tableau S

erver or Tableau Online full name when the user is signed in; otherwise it is th
e local or network full name for the Tableau Desktop user.\",\"func-grps\":[\"us
er\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HEXBINX\",\"fu
nc-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns the x-coordina
te of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate
to the x-coordinate of the nearest hexagonal bin. The bins have side length 1,
so the inputs may need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"f
unc-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"HEXBIN
Y\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Returns the ycoordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) co
ordinate to the y-coordinate of the nearest hexagonal bin. The bins have side le
ngth 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[\"nu
m\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\":
\"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [
ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and returns an ap
propriate value\",\"help-contents\": \"Tests a series of expressions returning t
he <then> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN '
Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\"
:[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IFNULL\
",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns expression1
if not null\",\"help-contents\": \"Returns <expr1> if it is not null, otherwise
returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\":[\"logic\"
],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\
": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func-tooltip\":
\"Evaluates a Boolean expression and returns one of two values\",\"help-contents
\": \"Checks whether a condition is met, and returns one value if TRUE, another
value if FALSE, and an optional third value or NULL if unknown. \\n\\nExample: I
IF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \
"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-expression }\
",\"func-tooltip\": \"Computes an aggregate using the specified dimensions and t
he view dimensions.\",\"help-contents\": \"Computes an aggregate using the speci
fied dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\": \"INDEX()\"
,\"func-tooltip\": \"Returns the index of the current row in the partition\",\"h
elp-contents\": \"Returns the index of the current row in the partition.\\n\\nEx
ample (for the first row in the partition): INDEX( ) = 1\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT\",\"func-si
g\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression and returns
an integer\",\"help-contents\": \"Returns an integer given an expression. This
function truncates results to the closest integer toward zero. \\n\\nExample: IN
T(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-arg-types\":[
\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-sig\": \"ISDA
TE(string)\",\"func-tooltip\": \"Returns true if the string is a valid date\",\"
help-contents\": \"Returns true if a given string is a valid date. \\n\\nExampl
e: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date\",\"logic\"
],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"ISFULLNAME\
",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns true if the c
urrent user's full name matches the specified name\",\"help-contents\": \"Return
s true if the current user's full name matches the specified full name, or false
if it does not match. This function uses the Tableau Server or Tableau Online f
ull name when the user is signed in; otherwise it uses the local or network full
name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\
":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"func-sig\":
\"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the current user is a
member of the specified group\",\"help-contents\": \"Returns true if the curren
t user is a member of the given group, false otherwise. This uses the Tableau S
erver to resolve group membership if logged on, otherwise it always returns fals
e.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\":
false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"func-tooltip

\": \"Returns true if the specified expression is null\",\"help-contents\": \"Re


turns true if the expression does not contain valid data (Null).\\n\\nExample: I
SNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\"],\"h
as-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUSERNAME(strin
g)\",\"func-tooltip\": \"Returns true if the current user's name matches the spe
cified user name\",\"help-contents\": \"Returns true if the current user's usern
ame matches the specified username, or false if it does not match. This function
uses the Tableau Server or Tableau Online username when the user is signed in;
otherwise it uses the local or network username for the Tableau Desktop user.\",
\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false
},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"Returns the n
umber of rows to the last row in the partition\",\"help-contents\": \"Returns th
e number of rows from the current row to the last row in the partition.\\n\\nExa
mple (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[\"table\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"func-sig\":
\"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specified number of
characters from the start of a string\",\"help-contents\": \"Returns the specifi
ed number of characters from the start of the given string. \\n\\nExample: LEFT
(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",\"func-sig\"
: \"LEN(string)\",\"func-tooltip\": \"Returns the number of characters in a stri
ng\",\"help-contents\": \"Returns the number of characters in the given string.
\\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\"],\"func-ar
g-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"func-sig\": \"L
N(number)\",\"func-tooltip\": \"Returns the natural logarithm of a number\",\"he
lp-contents\": \"Returns the natural logarithm of the given number. Returns Null
if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5)) = 5\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\": \"Returns th
e logarithm of a number for the given base\",\"help-contents\": \"Returns the lo
garithm of a number for the given base. If the base value is omitted, base 10 is
used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"nam
e\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"func-tooltip\":
\"Returns the value of the expression in a row offset from current row\",\"help
-contents\": \"Returns the value of the given expression in a target row, specif
ied as a relative offset from the current row. Use FIRST()+n and LAST()-n for a
target relative to the first/last rows in the partition. If offset is omitted, t
he Compare To row may be set on the field menu. Returns NULL if the target row c
annot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) + 2) = SUM(Pr
ofit) in the third row of the partition\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"LOWER\",\
"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string in all lower
case characters\",\"help-contents\": \"Converts a text string to all lowercase l
etters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"func-grps\":
[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LTR
IM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a string with l
eading spaces removed\",\"help-contents\": \"Returns the string with any leading
spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\"\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-tooltip\": \"R
eturns a date value constructed from a year, a month and a day of the month.\",\
"help-contents\": \"Returns a date value constructed from a year, a month and a
day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-grps\":[\"cas
t\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date, time)\",\"
func-tooltip\": \"Returns a datetime by combining a date and a time\",\"help-con
tents\": \"Returns a date and time value given a date expression and a time expr
ession. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"func-grps\":[
\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\": false},{\

"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)\",\"func-to


oltip\": \"Returns a time value constructed from hours, minutes and seconds.\",\
"help-contents\": \"Returns a time value constructed from hours, minutes and sec
onds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast\"],\"func-a
rg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"nam
e\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",\"func-toolt
ip\": \"Returns the maximum of an expression\",\"help-contents\": \"Returns the
maximum of a single expression across all records or the maximum of two expressi
ons for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\"num\",\"str
\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-varargs\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expression)\",\"func
-tooltip\": \"Returns the median of an expression\",\"help-contents\": \"Returns
the median of a single expression. MEDIAN can be used with numeric fields only.
Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-grps\":[\"agg\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"MID\",\"f
unc-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Returns the charac
ters from the middle of a text string\",\"help-contents\": \"Returns the charact
ers from the middle of a text string given a starting position and a length. The
first character in the string is position 1. If the length is not included, all
characters to the end of the string are returned. If the length is included, up
to that many characters are returned. \\n\\nExample: MID(\\\"Tableau Software\\
\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\",2,4) = \\\"
able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\",\"real\"
],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(expression) or
MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an expression\",
\"help-contents\": \"Returns the minimum of an expression across all records or
the minimum of two expressions for each record. \\n\\nExample: MIN([Profit])\",
\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\
"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"func-sig\": \"
MONTH(date)\",\"func-tooltip\": \"Returns the month part of the specified date a
s an integer\",\"help-contents\": \"Returns the month of a given date as an inte
ger. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date\"],\"func-a
rg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\",\"func-sig
\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs logical negat
ion on an expression\",\"help-contents\": \"Performs logical negation on an expr
ession\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false
},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Returns the cur
rent date and time\",\"help-contents\": \"Returns the current date and time. \\
n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\": \"IF <expr1
> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical disjunctio
n on two expressions\",\"help-contents\": \"Performs a logical disjunction on tw
o expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\"
: false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expression, number
)\",\"func-tooltip\": \"Returns the percentile value at the specified number\",\
"help-contents\": \"Aggregate calculation that returns the percentile value from
the given expression corresponding to the specified number. Valid values for th
e number are 0 through 1. PERCENTILE([expression], 0.50) will always return the
median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.90)\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-var-args\": fa
lse},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Returns the nu
meric constant pi\",\"help-contents\": \"Returns the numeric constant pi.\\n\\nE
xample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(number,power
)\",\"func-tooltip\": \"Raises the number to the specified power\",\"help-conten
ts\": \"Returns the result of a number raised to the given power. \\n\\nExample:
POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"
real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"func-sig\": \"P
REVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of this calcul
ation in the previous row\",\"help-contents\": \"Returns the value of this calcu

lation in the previous row. Returns the given expression if the current row is t
he first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOUS_VALUE(0) =
running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(1) = running
product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"intege
r\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \"RADIANS(num
ber)\",\"func-tooltip\": \"Converts a number in degrees to radians\",\"help-cont
ents\": \"Converts a number in degrees to radians.\",\"func-grps\":[\"num\"],\"f
unc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RANK\",\"func-s
ig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the compe
tition rank for the current partition row\",\"help-contents\": \"Returns the sta
ndard competition rank for the current row in the partition. Identical values ar
e assigned an identical rank. Use the optional 'asc' | 'desc' argument to specif
y ascending or descending order. The default order is descending.\\n\\nWith this
function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 4) in ascen
ding order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RA
NK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",\"func-toolt
ip\": \"Returns the dense rank for the current partition row\",\"help-contents\"
: \"Returns the dense rank for the current row in the partition. Identical value
s are assigned an identical rank, but no gaps are inserted into the number seque
nce. Use the optional 'asc' | 'desc' argument to specify ascending or descending
order. The default order is descending.\\n\\nWith this function, the set of val
ues (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\n\\nExample:
RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"inte
ger\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIED\",\"func-s
ig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns
the modified competition rank for the current partition row\",\"help-contents\":
\"Returns the modified competition rank for the current row in the partition. I
dentical values are assigned an identical rank. Use the optional 'asc' | 'desc'
argument to specify ascending or descending order. The default order is descendi
ng.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1,
3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velocity]))\",\"f
unc-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-arg
s\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERCENTILE(expre
ssion, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile rank for the
current partition row\",\"help-contents\": \"Returns the percentile rank for th
e current row in the partition. Use the optional 'asc' | 'desc' argument to spec
ify ascending or descending order. The default order is ascending.\\n\\nWith thi
s function, the set of values (6, 9, 9, 14) would be ranked (25, 75, 75, 100) in
ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\",\"func-grps
\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": fal
se},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expression, ['asc'|'d
esc'])\",\"func-tooltip\": \"Returns the unique rank for the current partition r
ow\",\"help-contents\": \"Returns the unique rank for the current row in the par
tition. Identical values are assigned different ranks. Use the optional 'asc' |
'desc' argument to specify ascending or descending order. The default order is d
escending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ran
ked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1 for the fir
st row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"intege
r\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT\",\"func-si
g\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns the portion
of a string matching the capturing group in a regular expression\",\"help-conte
nts\": \"Returns a substring of the given string that matches the capturing grou
p within the regular expression pattern. The regular expression pattern require
s exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 123', '[a-z]+\
\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"
str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"func-sig\":
\"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"Returns a sub
string of a string using a regular expression pattern\",\"help-contents\": \"Ret
urns a substring of the given string using the regular expression pattern. The

substring is matched to the nth capturing group, where n is the given index. \\n
\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)', 2) = '123'\"
,\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locint\"],\"has-v
ar-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP_MATCH(strin
g, pattern)\",\"func-tooltip\": \"Returns true if a string matches a regular exp
ression\",\"help-contents\": \"Returns true if a substring of the provided strin
g matches the regular expression pattern. \\n\\nExample: REGEXP_MATCH('-([1234].
[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') = true\",\"fun
c-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false}
,{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string, pattern, r
eplacement)\",\"func-tooltip\": \"Returns a string where substrings matching a r
egular expression are replaced\",\"help-contents\": \"Returns a copy of the give
n string where the matching pattern is substituted with the replacement string.
\\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": fa
lse},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substring, replaceme
nt)\",\"func-tooltip\": \"Replaces all instances of a substring within a string\
",\"help-contents\": \"Returns a string in which every occurrence of the substri
ng is replaced with the replacement string. If the substring is not found, the s
tring is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"ion\\\", \\\
"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"st
r\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\"func-sig\":
\"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specified number o
f characters from the end of a string\",\"help-contents\": \"Returns the specifi
ed number of characters from the end of the given string. \\n\\nExample: RIGHT(
\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\",\"func-sig\
": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number to the spec
ified number of places\",\"help-contents\": \"Rounds a number to the nearest int
eger or to a specified number of decimal places. \\n\\nExample: ROUND(3.1415, 1)
= 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-va
r-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\",\"func-too
ltip\": \"Returns a string with trailing spaces removed\",\"help-contents\": \"R
eturns the string with any trailing spaces removed. \\n\\nExample: RTRIM(\\\"Ma
rket \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\": \"RUNNING_A
VG(expression)\",\"func-tooltip\": \"Returns the running average of an expressio
n\",\"help-contents\": \"Returns the running average of the given expression, fr
om the first row in the partition to the current row.\\n\\nExample: RUNNING_AVG(
SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING_COUNT\",
\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Returns the runn
ing count of an expression\",\"help-contents\": \"Returns the running count of t
he given expression, from the first row in the partition to the current row.\\n\
\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profit)\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"func-tooltip\":
\"Returns the running maximum of an expression\",\"help-contents\": \"Returns t
he running maximum of the given expression, from the first row in the partition
to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = running maximum o
f Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum of SUM(Profi
t)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\"
: false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expression)\",\"
func-tooltip\": \"Returns the running minimum of an expression\",\"help-contents
\": \"Returns the running minimum of the given expression, from the first row in
the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Profit])) = ru
nning minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = running minim
um of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\
"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"RUNNING_SUM(e
xpression)\",\"func-tooltip\": \"Returns the running sum of an expression\",\"he

lp-contents\": \"Returns the running sum of the given expression, from the first
row in the partition to the current row.\\n\\nExample: RUNNING_SUM(SUM([Profit]
)) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])) = running
count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"h
as-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCRIPT_BOOL(str
ing, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result from an R e
xpression\",\"help-contents\": \"Returns a Boolean result from a given R express
ion. The R expression is passed directly to a running Rserve instance. Use .arg#
in the R expression to reference parameters. In the following example, .arg1 is
equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.arg1)\\\", SU
M([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-varargs\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(string, expre
ssion, ...)\",\"func-tooltip\": \"Returns an integer result from an R expression
\",\"help-contents\": \"Returns an integer result from a given R expression. The
R expression is passed directly to a running Rserve instance. Use .arg# in the
R expression to reference parameters. In the following example, .arg1 is equal t
o SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)\\\", SUM([P
rofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args
\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(string, express
ion, ...)\",\"func-tooltip\": \"Returns a numeric result from an R expression\",
\"help-contents\": \"Returns a numeric result from a given R expression. The R e
xpression is passed directly to a running Rserve instance. Use .arg# in the R ex
pression to reference parameters. In the following example, .arg1 is equal to SU
M([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Profit]))\",\"
func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"
name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression, ...)\",\"f
unc-tooltip\": \"Returns a string result from an R expression\",\"help-contents\
": \"Returns a string result from a given R expression. The R expression is pass
ed directly to a running Rserve instance. Use .arg# in the R expression to refer
ence parameters. In the following example, .arg1 is equal to ATTR([Region]). \\n
\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\":
\"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns 1 for a posi
tive number\",\"help-contents\": \"Returns the sign of a number: 1 if the number
is positive, zero if the number is zero, or -1 if the number is negative.\\n\\n
Example: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angle)\",\"functooltip\": \"Returns the sine of a number\",\"help-contents\": \"Returns the sin
e of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/4) = 0.70710
6781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-arg
s\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tooltip\": \"Ret
urns the number of rows in the partition\",\"help-contents\": \"Returns the numb
er of rows in the partition.\\n\\nExample (partition has 5 rows):\\nSIZE( ) = 5\
",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"na
me\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"Returns a st
ring containing the specified number of spaces\",\"help-contents\": \"Returns a
string composed of the specified number of repeated spaces. \\n\\nExample: SPACE
(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-v
ar-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string, delimiter,
token number)\",\"func-tooltip\": \"Extracts a substring from a string\",\"helpcontents\": \"Returns a substring from a string, as determined by a delimiter ex
tracting the characters from the beginning or end of the string. \\n\\nExample:
SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-', -2) = 'c'\",
\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"locint\"],\"has
-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)\",\"func-to
oltip\": \"Returns the square root of a number\",\"help-contents\": \"Returns th
e square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps\":[\"num\"]
,\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SQUARE\",\"
func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the square of a numbe
r\",\"help-contents\": \"Returns the square of a given number. \\n\\nExample: SQ

UARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(string, subst
ring)\",\"func-tooltip\": \"Returns true if the specified string starts with the
specified substring\",\"help-contents\": \"Returns true if the string starts wi
th the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\"Ca\\\") is
true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-ar
gs\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\",\"func-too
ltip\": \"Returns the sample standard deviation for an expression\",\"help-conte
nts\": \"Returns the sample standard deviation of the expression.\\n\\nExample:
STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expression)\",\"fu
nc-tooltip\": \"Returns the population standard deviation for an expression\",\"
help-contents\": \"Returns the population standard deviation of the expression.\
\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"STR(expressio
n)\",\"func-tooltip\": \"Returns an expression as a string\",\"help-contents\":
\"Returns a string given an expression. \\n\\nExample: STR([Age]) returns all o
f the values of the Age measure as strings.\",\"func-grps\":[\"cast\"],\"func-ar
g-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",\"func-sig\"
: \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values in an expres
sion\",\"help-contents\": \"Returns the sum of all the values in the expression.
SUM can be used with numeric fields only. Null values are ignored.\\n\\nExample
: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"func-tooltip\
": \"Returns the tangent of an angle specified in radians\",\"help-contents\": \
"Returns the tangent of an angle. Specify the angle in radians.\\n\\nExample: TA
N(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN <then> [ELSE
IF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a
logical test and returns an appropriate value\",\"help-contents\": \"Tests a ser
ies of expressions returning the <then> value for the first true <expr>. \\n\\nE
xample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' E
LSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tooltip\": \"Ret
urns the current date\",\"help-contents\": \"Returns the current date. \\n\\nEx
ample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(expression)\",\
"func-tooltip\": \"Returns the total for an expression within the partition\",\"
help-contents\": \"Returns the total for the given expression.\\n\\nExample: TOT
AL(AVG([Profit])) = AVG(Profit) for all database rows that contribute to the par
tition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"func-tooltip\"
: \"Returns a string with leading and trailing spaces removed\",\"help-contents\
": \"Returns the string with both leading and trailing spaces removed. \\n\\nExa
mple: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"str\"],\"funcarg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",\"func-sig\"
: \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all uppercase charac
ters\",\"help-contents\": \"Converts a text string to all uppercase letters. \\n
\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\":[\"str\"],\
"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"USERDOMAIN\",\
"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain for the cur
rent user\",\"help-contents\": \"Returns the domain for the current user when th
e user is signed on to Tableau Server. Returns the Windows domain if the Tableau
Desktop user is on a domain. Otherwise this function returns a null string.\",\
"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\"
: \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Returns the user
name for the current user\",\"help-contents\": \"Returns the username for the c
urrent user. This is the Tableau Server or Tableau Online username when the user
is signed in; otherwise it is the local or network username for the Tableau Des
ktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fa

lse},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-tooltip\": \"Re


turns the sample variance for an expression\",\"help-contents\": \"Returns the s
ample variance of the expression.\\n\\nExample: VAR([Profit])\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"VARP
\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns the population
variance for an expression\",\"help-contents\": \"Returns the population varian
ce of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[\"agg\"],\"f
unc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHEN\",\"func-s
ig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"functooltip\": \"Performs logical tests and returns the appropriate value\",\"help-c
ontents\": \"Finds the first <value> that matches <expr> and returns the corresp
onding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WH
EN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\": \"WINDOW_
AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the average of the v
alues within the window\",\"help-contents\": \"Returns the average of the expres
sion within the window. The window is defined as offsets from the current row.
Use FIRST()+n and LAST()-n for offsets from the first or last row in the partiti
on. If start and end are omitted, the entire partition is used.\\n\\nExample: W
INDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the two previous r
ows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",
\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_COUNT\",\"
func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-tooltip\": \"Retur
ns the number of items within the window\",\"help-contents\": \"Returns the coun
t of the expression within the window. The window is defined as offsets from th
e current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\
\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WI
NDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"func-tooltip
\": \"Returns the maximum within the window\",\"help-contents\": \"Returns the m
aximum of the expression within the window. The window is defined as offsets fr
om the current row. Use FIRST()+n and LAST()-n for offsets from the first or las
t row in the partition. If start and end are omitted, the entire partition is u
sed.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Profit from the
two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([Profit]), -2
, 0) = maximum of SUM(Profit) from the two previous rows to the current row\",\"
func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"]
,\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\": \"WINDOW_ME
DIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the median within t
he window\",\"help-contents\": \"Returns the median of the expression within the
window. The window is defined as offsets from the current row. Use FIRST()+n a
nd LAST()-n for offsets from the first or last row in the partition. If start a
nd end are omitted, the entire partition is used.\\n\\nExample: WINDOW_MEDIAN(SU
M([Profit]), -2, 0) = median of SUM(Profit) from the two previous rows to the cu
rrent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\
"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"func-sig\": \"W
INDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns the minimum wi
thin the window\",\"help-contents\": \"Returns the minimum of the expression wit
hin the window. The window is defined as offsets from the current row. Use FIRS
T()+n and LAST()-n for offsets from the first or last row in the partition. If
start and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_MI
N(MIN([Profit]), -2, 0) = minimum of Profit from the two previous rows to the cu
rrent row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum of SUM(Profit
) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(expression, num
ber, [start, end])\",\"func-tooltip\": \"Returns the percentile value at the spe
cified number\",\"help-contents\": \"Returns the value corresponding to the spec

ified percentile within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th percentile of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"ta
ble\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integer\"],\"has-v
ar-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW_STDEV(expre
ssion, [start, end])\",\"func-tooltip\": \"Returns the sample standard deviation
within the window\",\"help-contents\": \"Returns the sample standard deviation
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i
n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from t
he two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"
WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, end])\",\"func
-tooltip\": \"Returns the population standard deviation within the window\",\"he
lp-contents\": \"Returns the population standard deviation of the expression wit
hin the window. The window is defined as offsets from the current row. Use FIRS
T()+n and LAST()-n for offsets from the first or last row in the partition. If
start and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_ST
DEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two previous rows
to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"i
nteger\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_SUM\",\"funcsig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"Returns the
sum of values within the window\",\"help-contents\": \"Returns the sum of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the two previous r
ows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer
\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_VAR\",\
"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip\": \"Return
s the sample variance within the window\",\"help-contents\": \"Returns the sampl
e variance of the expression within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance of SUM(Profit
) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"na
me\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start, end])\",\"
func-tooltip\": \"Returns the population variance within the window\",\"help-con
tents\": \"Returns the population variance of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST()
-n for offsets from the first or last row in the partition. If start and end ar
e omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(SUM([Profit])
, -2, 0) = variance of SUM(Profit) from the two previous rows to the current row
\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\
"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR(date)\",\"f
unc-tooltip\": \"Returns the year of the specified date as an integer\",\"help-c
ontents\": \"Returns the year of a given date as an integer. \\n\\nExample: YEA
R(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime
\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(expression)\",
\"func-tooltip\": \"Returns the expression if it is not null\",\"help-contents\"
: \"Returns <expression> if it is not null, otherwise returns zero. \\n\\nExamp
le: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-types\":[\"integ
er\"],\"has-var-args\": false}]},\"calculation-context\": \"calculation-dialog\"
,\"use-parameters\": true} position=\"64\"","name":"tabdoc:calculation-auto-comp
lete"}}
{"ts":"2016-09-29T16:43:02.959","pid":78016,"tid":"13074","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC(
'month',[Order Date])-DATETRUNC('month',[Calculation1])\" calculation={\"datasou
rce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \"
Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"scop
e-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])-D
ATETRUNC('month',[Calculation1])\",\"fn\": \"\",\"fn-source\": \"\",\"calculatio
n-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-r
ole\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\":
0,\"style-token-list\":[],\"error-string\": \"\",\"error-info-list\":[],\"expres
sion-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func-sig\": \"ABS
(number)\",\"func-tooltip\": \"Returns the absolute value of a number\",\"help-c
ontents\": \"Returns the absolute value of the given number. \\n\\nExample: ABS(
-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-tooltip\": \"
Returns the arc cosine of a number\",\"help-contents\": \"Returns the arc cosine
of a number. The result is in radians. \\n\\nExample: ACOS(-1) = 3.14159265358
979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN <then> END\"
,\"func-tooltip\": \"Performs a logical conjunction on two expressions\",\"helpcontents\": \"Performs a logical conjunction on two expressions\",\"func-grps\":
[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ASCII\",
\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASCII code for t
he first character in a string\",\"help-contents\": \"Returns the ASCII code val
ue of the first character in a string. \\n\\nExample: ASCII(\\\"authors\\\") = 9
7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false
},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\": \"Returns
the arc sine of a number\",\"help-contents\": \"Returns the arc sine of a numbe
r. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267949\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Returns the arc t
angent of a number\",\"help-contents\": \"Returns the arc tangent of a number.
The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408283942\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tooltip\": \"Retu
rns the arc tangent of two numbers\",\"help-contents\": \"Returns the arc tangen
t of two given numbers (x and y). The result is in radians. \\n\\nExample: ATAN
2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\
",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig\": \"ATTR(ex
pression)\",\"func-tooltip\": \"Returns the value of the expression if it has on
e value for all rows\",\"help-contents\": \"Returns the value of the given expre
ssion if it only has a single value for all rows in the group, otherwise it disp
lays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([Market])\",\"
func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},
{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip\": \"Returns
the average of the values in the expression\",\"help-contents\": \"Returns the
average of all the values in the expression. AVG can be used with numeric fields
only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"func-grps\":[\"a
gg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CASE\"
,\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\
",\"func-tooltip\": \"Performs logical tests and returns the appropriate value\"
,\"help-contents\": \"Finds the first <value> that matches <expr> and returns th
e corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019
THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"funcarg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"func-sig\": \"C
EILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest integer of e
qual or greater value\",\"help-contents\": \"Rounds a number to the nearest inte
ger of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\",\"func-grps\
":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts an integer A

SCII code into a character\",\"help-contents\": \"Converts the given integer ASC


II code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-grps\":[\"str\"
],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CONTAINS\"
,\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"Returns true
if a string contains the specified substring\",\"help-contents\": \"Returns true
if the string contains the substring. \\n\\nExample: CONTAINS(\\\"Calculation\\
\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",
\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\": \"COS(angle)\
",\"func-tooltip\": \"Returns the cosine of an angle specified in radians\",\"he
lp-contents\": \"Returns the cosine of an angle. Specify the angle in radians.\\
n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"func-sig\": \
"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle specified in
radians\",\"help-contents\": \"Returns the cotangent of an angle. Specify the a
ngle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\",\"func-sig\
": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of items in the
expression\",\"help-contents\": \"Returns the number of items in a group. NULL v
alues are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func-grps\":[\"agg
\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"COUNT
D\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Returns the number
of distinct items in the expression\",\"help-contents\": \"Returns the number of
distinct items in a group. NULL values are not counted. Each unique value is c
ounted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"agg\"],\"fun
c-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"DATE\",\"funcsig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from a number\",\
"help-contents\": \"Returns a date given a number, string, or date expression.
\\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote that the quot
ation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"DATEADD(date_p
art, interval, date)\",\"func-tooltip\": \"Returns the specified date incremente
d by the specified amount\",\"help-contents\": \"Adds an increment to the specif
ied date and returns the new date. The increment is defined by the interval and
the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12:
00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"integer\",\
"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"func-sig\": \"DA
TEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-tooltip\": \"R
eturns the difference between two dates\",\"help-contents\": \"Returns the diffe
rence between two dates where start_date is subtracted from end_date. The differ
ence is expressed in units of date_part. If start_of_week is omitted, the week s
tart day is determined by the start day configured for the data source.\\n\\nExa
mple: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\",\"func-grps
\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetime\",\"locstr\
"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \"DATENAME(dat
e_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part of the speci
fied date as a string\",\"help-contents\": \"Returns a part of the given date as
a string, where the part is defined by date_part. If start_of_week is omitted,
the week start day is determined by the start day configured for the data source
.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"func-grps\":
[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-arg
s\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(format, string)\"
,\"func-tooltip\": \"Converts a string to a date\",\"help-contents\": \"Converts
a string to a date in the specified format. \\n\\nExample: DATEPARSE (\\\"dd.MM
MM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"func-grps\":[\"
date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": false},{\"name
\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_of_week])\",\"
func-tooltip\": \"Returns the specified part of a date as an integer\",\"help-co
ntents\": \"Returns a part of the given date as an integer where the part is def
ined by date_part. If start_of_week is omitted, the week start day is determined
by the start day configured for the data source.\\n\\nExample: DATEPART('month'

, #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"
datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETIME\",\"func-s
ig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datetime from a num
ber\",\"help-contents\": \"Returns a datetime given a number, string, or date ex
pression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\") \\nNote tha
t the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\
":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"func-sig\": \"DA
TETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Truncates the sp
ecified date to the specified accuracy\",\"help-contents\": \"Truncates the spec
ified date to the accuracy specified by the date_part and returns the new date.
If start_of_week is omitted, the week start day is determined by the start day c
onfigured for the data source.\\n\\nExample: DATETRUNC('quarter', #2004-08-15#)
= 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr
\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DAY\",\"func-s
ig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the specified da
te as an integer\",\"help-contents\": \"Returns the day of the given date as an
integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"date\"],\"fun
c-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"DEGREES\",\"f
unc-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value in radians t
o degrees\",\"help-contents\": \"Converts a number in radians to degrees.\\n\\nE
xample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"DIV(integer,
integer)\",\"func-tooltip\": \"Returns the integer part of a division operation\
",\"help-contents\": \"Returns the integer part of a division.\\n\\nExample: DIV
(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer\",\"integer\
"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <expr> THEN <
then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"
Performs a logical test and returns an appropriate value\",\"help-contents\": \"
Tests a series of expressions returning the <then> value for the first true <exp
r>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'B
reakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr> THEN <then>
[ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Perfo
rms a logical test and returns an appropriate value\",\"help-contents\": \"Tests
a series of expressions returning the <then> value for the first true <expr>. \
\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breake
ven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF
<expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a lo
gical test and returns an appropriate value\",\"help-contents\": \"Tests a serie
s of expressions returning the <then> value for the first true <expr>. \\n\\nExa
mple: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELS
E 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, substring)\",\"
func-tooltip\": \"Returns true if the specified string ends with the specified s
ubstring\",\"help-contents\": \"Returns true if the string ends with the substri
ng (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Calculation\\\"
, \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"s
tr\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\": \"{ EXCLUDE
[dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an agg
regate excluding the specified dimensions if present in the view.\",\"help-conte
nts\": \"Computes an aggregate excluding the specified dimensions if present in
the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\": \"Returns
e raised to the power of a number\",\"help-contents\": \"Returns e raised to the
power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-grps\":[\"num\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FIND\",\"
func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\": \"Returns the
position of a substring within a string\",\"help-contents\": \"Returns the posi
tion of a substring within a string, or 0 if the substring isn't found. If the s

tart argument is defined, any instances of substring that appear before the star
t position are ignored. The first character in the string is position 1. \\n\\nE
xample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\":
\"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\",\"func-tool
tip\": \"Returns the position of the nth occurrence a substring within a string\
",\"help-contents\": \"Returns the position of the nth occurrence of a substring
within a string, or 0 if that occurrence of the substring isn't found. The firs
t character in the string is position 1. \\n\\nExample: FINDNTH(\\\"Calculation\
\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"s
tr\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func-sig\": \"FIR
ST()\",\"func-tooltip\": \"Returns the number of rows from to the first row in t
he partition\",\"help-contents\": \"Returns the number of rows from the current
row to the first row in the partition.\\n\\nExample (current row index is 3 of 7
):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-a
rgs\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[, dim2]...] : a
ggregate-expression }\",\"func-tooltip\": \"Computes an aggregate using only the
specified dimensions.\",\"help-contents\": \"Computes an aggregate using only t
he specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expression)\",\"fun
c-tooltip\": \"Returns a float from an expression\",\"help-contents\": \"Returns
a float given an expression of any type. This function requires unformatted num
bers which means exclude commas and other symbols. \\n\\nExample: FLOAT(\\\"3\\
\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var
-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\",\"func-tool
tip\": \"Rounds a number to the nearest integer of equal or lesser value\",\"hel
p-contents\": \"Rounds a number to the nearest integer of equal or lesser value.
\\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func-arg-types\":[
\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-sig\": \"FULLN
AME()\",\"func-tooltip\": \"Returns the full name for the current user\",\"helpcontents\": \"Returns the full name for the current user. This is the Tableau Se
rver or Tableau Online full name when the user is signed in; otherwise it is the
local or network full name for the Tableau Desktop user.\",\"func-grps\":[\"use
r\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HEXBINX\",\"fun
c-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns the x-coordinat
e of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate
to the x-coordinate of the nearest hexagonal bin. The bins have side length 1, s
o the inputs may need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"fu
nc-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"HEXBINY
\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Returns the y-c
oordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coo
rdinate to the y-coordinate of the nearest hexagonal bin. The bins have side len
gth 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \
"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [E
LSE <else>] END\",\"func-tooltip\": \"Performs a logical test and returns an app
ropriate value\",\"help-contents\": \"Tests a series of expressions returning th
e <then> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'P
rofitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":
[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IFNULL\"
,\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns expression1
if not null\",\"help-contents\": \"Returns <expr1> if it is not null, otherwise
returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\":[\"logic\"]
,\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\"
: \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func-tooltip\": \
"Evaluates a Boolean expression and returns one of two values\",\"help-contents\
": \"Checks whether a condition is met, and returns one value if TRUE, another v
alue if FALSE, and an optional third value or NULL if unknown. \\n\\nExample: II
F([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"

INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-expression }\"


,\"func-tooltip\": \"Computes an aggregate using the specified dimensions and th
e view dimensions.\",\"help-contents\": \"Computes an aggregate using the specif
ied dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-typ
es\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\": \"INDEX()\",
\"func-tooltip\": \"Returns the index of the current row in the partition\",\"he
lp-contents\": \"Returns the index of the current row in the partition.\\n\\nExa
mple (for the first row in the partition): INDEX( ) = 1\",\"func-grps\":[\"table
\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT\",\"func-sig
\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression and returns
an integer\",\"help-contents\": \"Returns an integer given an expression. This f
unction truncates results to the closest integer toward zero. \\n\\nExample: INT
(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\
"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-sig\": \"ISDAT
E(string)\",\"func-tooltip\": \"Returns true if the string is a valid date\",\"h
elp-contents\": \"Returns true if a given string is a valid date. \\n\\nExample
: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date\",\"logic\"]
,\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"ISFULLNAME\"
,\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns true if the cu
rrent user's full name matches the specified name\",\"help-contents\": \"Returns
true if the current user's full name matches the specified full name, or false
if it does not match. This function uses the Tableau Server or Tableau Online fu
ll name when the user is signed in; otherwise it uses the local or network full
name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\"
:[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"func-sig\": \
"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the current user is a
member of the specified group\",\"help-contents\": \"Returns true if the current
user is a member of the given group, false otherwise. This uses the Tableau Se
rver to resolve group membership if logged on, otherwise it always returns false
.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": f
alse},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"func-tooltip\
": \"Returns true if the specified expression is null\",\"help-contents\": \"Ret
urns true if the expression does not contain valid data (Null).\\n\\nExample: IS
NULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\"],\"ha
s-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUSERNAME(string
)\",\"func-tooltip\": \"Returns true if the current user's name matches the spec
ified user name\",\"help-contents\": \"Returns true if the current user's userna
me matches the specified username, or false if it does not match. This function
uses the Tableau Server or Tableau Online username when the user is signed in; o
therwise it uses the local or network username for the Tableau Desktop user.\",\
"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false}
,{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"Returns the nu
mber of rows to the last row in the partition\",\"help-contents\": \"Returns the
number of rows from the current row to the last row in the partition.\\n\\nExam
ple (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[\"table\"],\"
func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"func-sig\": \
"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specified number of c
haracters from the start of a string\",\"help-contents\": \"Returns the specifie
d number of characters from the start of the given string. \\n\\nExample: LEFT(
\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",\"func-sig\":
\"LEN(string)\",\"func-tooltip\": \"Returns the number of characters in a strin
g\",\"help-contents\": \"Returns the number of characters in the given string. \
\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"func-sig\": \"LN
(number)\",\"func-tooltip\": \"Returns the natural logarithm of a number\",\"hel
p-contents\": \"Returns the natural logarithm of the given number. Returns Null
if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5)) = 5\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\": \"Returns the

logarithm of a number for the given base\",\"help-contents\": \"Returns the log


arithm of a number for the given base. If the base value is omitted, base 10 is
used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name
\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"func-tooltip\":
\"Returns the value of the expression in a row offset from current row\",\"helpcontents\": \"Returns the value of the given expression in a target row, specifi
ed as a relative offset from the current row. Use FIRST()+n and LAST()-n for a t
arget relative to the first/last rows in the partition. If offset is omitted, th
e Compare To row may be set on the field menu. Returns NULL if the target row ca
nnot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) + 2) = SUM(Pro
fit) in the third row of the partition\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"LOWER\",\"
func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string in all lowerc
ase characters\",\"help-contents\": \"Converts a text string to all lowercase le
tters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"func-grps\":[
\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LTRI
M\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a string with le
ading spaces removed\",\"help-contents\": \"Returns the string with any leading
spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\"\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-tooltip\": \"Re
turns a date value constructed from a year, a month and a day of the month.\",\"
help-contents\": \"Returns a date value constructed from a year, a month and a d
ay of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date, time)\",\"f
unc-tooltip\": \"Returns a datetime by combining a date and a time\",\"help-cont
ents\": \"Returns a date and time value given a date expression and a time expre
ssion. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"func-grps\":[\
"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\": false},{\"
name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)\",\"func-too
ltip\": \"Returns a time value constructed from hours, minutes and seconds.\",\"
help-contents\": \"Returns a time value constructed from hours, minutes and seco
nds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast\"],\"func-ar
g-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name
\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",\"func-toolti
p\": \"Returns the maximum of an expression\",\"help-contents\": \"Returns the m
aximum of a single expression across all records or the maximum of two expressio
ns for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\"num\",\"str\
",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-a
rgs\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expression)\",\"functooltip\": \"Returns the median of an expression\",\"help-contents\": \"Returns
the median of a single expression. MEDIAN can be used with numeric fields only.
Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-grps\":[\"agg\"
],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"MID\",\"fu
nc-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Returns the charact
ers from the middle of a text string\",\"help-contents\": \"Returns the characte
rs from the middle of a text string given a starting position and a length. The
first character in the string is position 1. If the length is not included, all
characters to the end of the string are returned. If the length is included, up
to that many characters are returned. \\n\\nExample: MID(\\\"Tableau Software\\\
",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\",2,4) = \\\"a
ble\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\",\"real\"]
,\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(expression) or
MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an expression\",\
"help-contents\": \"Returns the minimum of an expression across all records or t
he minimum of two expressions for each record. \\n\\nExample: MIN([Profit])\",\
"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"
real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"func-sig\": \"M

ONTH(date)\",\"func-tooltip\": \"Returns the month part of the specified date as


an integer\",\"help-contents\": \"Returns the month of a given date as an integ
er. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date\"],\"func-ar
g-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\",\"func-sig\
": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs logical negati
on on an expression\",\"help-contents\": \"Performs logical negation on an expre
ssion\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false}
,{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Returns the curr
ent date and time\",\"help-contents\": \"Returns the current date and time. \\n
\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\": \"IF <expr1>
OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical disjunction
on two expressions\",\"help-contents\": \"Performs a logical disjunction on two
expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expression, number)
\",\"func-tooltip\": \"Returns the percentile value at the specified number\",\"
help-contents\": \"Aggregate calculation that returns the percentile value from
the given expression corresponding to the specified number. Valid values for the
number are 0 through 1. PERCENTILE([expression], 0.50) will always return the m
edian value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.90)\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-var-args\": fal
se},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Returns the num
eric constant pi\",\"help-contents\": \"Returns the numeric constant pi.\\n\\nEx
ample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[],\
"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(number,power)
\",\"func-tooltip\": \"Raises the number to the specified power\",\"help-content
s\": \"Returns the result of a number raised to the given power. \\n\\nExample:
POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"r
eal\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"func-sig\": \"PR
EVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of this calcula
tion in the previous row\",\"help-contents\": \"Returns the value of this calcul
ation in the previous row. Returns the given expression if the current row is th
e first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOUS_VALUE(0) =
running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(1) = running
product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer
\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \"RADIANS(numb
er)\",\"func-tooltip\": \"Converts a number in degrees to radians\",\"help-conte
nts\": \"Converts a number in degrees to radians.\",\"func-grps\":[\"num\"],\"fu
nc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RANK\",\"func-si
g\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the compet
ition rank for the current partition row\",\"help-contents\": \"Returns the stan
dard competition rank for the current row in the partition. Identical values are
assigned an identical rank. Use the optional 'asc' | 'desc' argument to specify
ascending or descending order. The default order is descending.\\n\\nWith this
function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 4) in ascend
ing order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RAN
K_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",\"func-toolti
p\": \"Returns the dense rank for the current partition row\",\"help-contents\":
\"Returns the dense rank for the current row in the partition. Identical values
are assigned an identical rank, but no gaps are inserted into the number sequen
ce. Use the optional 'asc' | 'desc' argument to specify ascending or descending
order. The default order is descending.\\n\\nWith this function, the set of valu
es (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\n\\nExample:
RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integ
er\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIED\",\"func-si
g\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns t
he modified competition rank for the current partition row\",\"help-contents\":
\"Returns the modified competition rank for the current row in the partition. Id
entical values are assigned an identical rank. Use the optional 'asc' | 'desc' a

rgument to specify ascending or descending order. The default order is descendin


g.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1,
3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velocity]))\",\"fu
nc-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args
\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERCENTILE(expres
sion, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile rank for the
current partition row\",\"help-contents\": \"Returns the percentile rank for the
current row in the partition. Use the optional 'asc' | 'desc' argument to speci
fy ascending or descending order. The default order is ascending.\\n\\nWith this
function, the set of values (6, 9, 9, 14) would be ranked (25, 75, 75, 100) in
ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\",\"func-grps\
":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": fals
e},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expression, ['asc'|'de
sc'])\",\"func-tooltip\": \"Returns the unique rank for the current partition ro
w\",\"help-contents\": \"Returns the unique rank for the current row in the part
ition. Identical values are assigned different ranks. Use the optional 'asc' | '
desc' argument to specify ascending or descending order. The default order is de
scending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be rank
ed (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1 for the firs
t row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer
\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT\",\"func-sig
\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns the portion
of a string matching the capturing group in a regular expression\",\"help-conten
ts\": \"Returns a substring of the given string that matches the capturing group
within the regular expression pattern. The regular expression pattern requires
exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 123', '[a-z]+\\
\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"s
tr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"func-sig\": \
"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"Returns a subs
tring of a string using a regular expression pattern\",\"help-contents\": \"Retu
rns a substring of the given string using the regular expression pattern. The s
ubstring is matched to the nth capturing group, where n is the given index. \\n\
\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)', 2) = '123'\",
\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locint\"],\"has-va
r-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP_MATCH(string
, pattern)\",\"func-tooltip\": \"Returns true if a string matches a regular expr
ession\",\"help-contents\": \"Returns true if a substring of the provided string
matches the regular expression pattern. \\n\\nExample: REGEXP_MATCH('-([1234].[
The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') = true\",\"func
-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},
{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string, pattern, re
placement)\",\"func-tooltip\": \"Returns a string where substrings matching a re
gular expression are replaced\",\"help-contents\": \"Returns a copy of the given
string where the matching pattern is substituted with the replacement string. \
\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'\",\"func-grp
s\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": fal
se},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substring, replacemen
t)\",\"func-tooltip\": \"Replaces all instances of a substring within a string\"
,\"help-contents\": \"Returns a string in which every occurrence of the substrin
g is replaced with the replacement string. If the substring is not found, the st
ring is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"ion\\\", \\\"
ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str
\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\"func-sig\":
\"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specified number of
characters from the end of a string\",\"help-contents\": \"Returns the specifie
d number of characters from the end of the given string. \\n\\nExample: RIGHT(\
\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"func-arg-types
\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\",\"func-sig\"
: \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number to the speci
fied number of places\",\"help-contents\": \"Rounds a number to the nearest inte

ger or to a specified number of decimal places. \\n\\nExample: ROUND(3.1415, 1)


= 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var
-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\",\"func-tool
tip\": \"Returns a string with trailing spaces removed\",\"help-contents\": \"Re
turns the string with any trailing spaces removed. \\n\\nExample: RTRIM(\\\"Mar
ket \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\": \"RUNNING_AV
G(expression)\",\"func-tooltip\": \"Returns the running average of an expression
\",\"help-contents\": \"Returns the running average of the given expression, fro
m the first row in the partition to the current row.\\n\\nExample: RUNNING_AVG(S
UM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING_COUNT\",\
"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Returns the runni
ng count of an expression\",\"help-contents\": \"Returns the running count of th
e given expression, from the first row in the partition to the current row.\\n\\
nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profit)\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"func-tooltip\":
\"Returns the running maximum of an expression\",\"help-contents\": \"Returns th
e running maximum of the given expression, from the first row in the partition t
o the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = running maximum of
Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum of SUM(Profit
)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\":
false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expression)\",\"f
unc-tooltip\": \"Returns the running minimum of an expression\",\"help-contents\
": \"Returns the running minimum of the given expression, from the first row in
the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Profit])) = run
ning minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = running minimu
m of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"
has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"RUNNING_SUM(ex
pression)\",\"func-tooltip\": \"Returns the running sum of an expression\",\"hel
p-contents\": \"Returns the running sum of the given expression, from the first
row in the partition to the current row.\\n\\nExample: RUNNING_SUM(SUM([Profit])
) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])) = running c
ount of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCRIPT_BOOL(stri
ng, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result from an R ex
pression\",\"help-contents\": \"Returns a Boolean result from a given R expressi
on. The R expression is passed directly to a running Rserve instance. Use .arg#
in the R expression to reference parameters. In the following example, .arg1 is
equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.arg1)\\\", SUM
([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-a
rgs\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(string, expres
sion, ...)\",\"func-tooltip\": \"Returns an integer result from an R expression\
",\"help-contents\": \"Returns an integer result from a given R expression. The
R expression is passed directly to a running Rserve instance. Use .arg# in the R
expression to reference parameters. In the following example, .arg1 is equal to
SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)\\\", SUM([Pr
ofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(string, expressi
on, ...)\",\"func-tooltip\": \"Returns a numeric result from an R expression\",\
"help-contents\": \"Returns a numeric result from a given R expression. The R ex
pression is passed directly to a running Rserve instance. Use .arg# in the R exp
ression to reference parameters. In the following example, .arg1 is equal to SUM
([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Profit]))\",\"f
unc-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"n
ame\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression, ...)\",\"fu
nc-tooltip\": \"Returns a string result from an R expression\",\"help-contents\"
: \"Returns a string result from a given R expression. The R expression is passe
d directly to a running Rserve instance. Use .arg# in the R expression to refere

nce parameters. In the following example, .arg1 is equal to ATTR([Region]). \\n\


\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\",\"func-grps
\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \
"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns 1 for a posit
ive number\",\"help-contents\": \"Returns the sign of a number: 1 if the number
is positive, zero if the number is zero, or -1 if the number is negative.\\n\\nE
xample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angle)\",\"func-t
ooltip\": \"Returns the sine of a number\",\"help-contents\": \"Returns the sine
of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/4) = 0.707106
781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args
\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tooltip\": \"Retu
rns the number of rows in the partition\",\"help-contents\": \"Returns the numbe
r of rows in the partition.\\n\\nExample (partition has 5 rows):\\nSIZE( ) = 5\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"nam
e\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"Returns a str
ing containing the specified number of spaces\",\"help-contents\": \"Returns a s
tring composed of the specified number of repeated spaces. \\n\\nExample: SPACE(
2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string, delimiter, t
oken number)\",\"func-tooltip\": \"Extracts a substring from a string\",\"help-c
ontents\": \"Returns a substring from a string, as determined by a delimiter ext
racting the characters from the beginning or end of the string. \\n\\nExample: S
PLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-', -2) = 'c'\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"locint\"],\"hasvar-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)\",\"func-too
ltip\": \"Returns the square root of a number\",\"help-contents\": \"Returns the
square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps\":[\"num\"],
\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SQUARE\",\"f
unc-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the square of a number
\",\"help-contents\": \"Returns the square of a given number. \\n\\nExample: SQU
ARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(string, substr
ing)\",\"func-tooltip\": \"Returns true if the specified string starts with the
specified substring\",\"help-contents\": \"Returns true if the string starts wit
h the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\"Ca\\\") is t
rue\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-arg
s\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\",\"func-tool
tip\": \"Returns the sample standard deviation for an expression\",\"help-conten
ts\": \"Returns the sample standard deviation of the expression.\\n\\nExample: S
TDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expression)\",\"fun
c-tooltip\": \"Returns the population standard deviation for an expression\",\"h
elp-contents\": \"Returns the population standard deviation of the expression.\\
n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"STR(expression
)\",\"func-tooltip\": \"Returns an expression as a string\",\"help-contents\": \
"Returns a string given an expression. \\n\\nExample: STR([Age]) returns all of
the values of the Age measure as strings.\",\"func-grps\":[\"cast\"],\"func-arg
-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",\"func-sig\":
\"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values in an express
ion\",\"help-contents\": \"Returns the sum of all the values in the expression.
SUM can be used with numeric fields only. Null values are ignored.\\n\\nExample:
SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"func-tooltip\"
: \"Returns the tangent of an angle specified in radians\",\"help-contents\": \"
Returns the tangent of an angle. Specify the angle in radians.\\n\\nExample: TAN
(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN <then> [ELSEI
F <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a l

ogical test and returns an appropriate value\",\"help-contents\": \"Tests a seri


es of expressions returning the <then> value for the first true <expr>. \\n\\nEx
ample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' EL
SE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\"
: false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tooltip\": \"Retu
rns the current date\",\"help-contents\": \"Returns the current date. \\n\\nExa
mple: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(expression)\",\"
func-tooltip\": \"Returns the total for an expression within the partition\",\"h
elp-contents\": \"Returns the total for the given expression.\\n\\nExample: TOTA
L(AVG([Profit])) = AVG(Profit) for all database rows that contribute to the part
ition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-arg
s\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"func-tooltip\":
\"Returns a string with leading and trailing spaces removed\",\"help-contents\"
: \"Returns the string with both leading and trailing spaces removed. \\n\\nExam
ple: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"str\"],\"func-a
rg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",\"func-sig\":
\"UPPER(string)\",\"func-tooltip\": \"Returns a string in all uppercase charact
ers\",\"help-contents\": \"Converts a text string to all uppercase letters. \\n\
\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"USERDOMAIN\",\"
func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain for the curr
ent user\",\"help-contents\": \"Returns the domain for the current user when the
user is signed on to Tableau Server. Returns the Windows domain if the Tableau
Desktop user is on a domain. Otherwise this function returns a null string.\",\"
func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Returns the user
name for the current user\",\"help-contents\": \"Returns the username for the cu
rrent user. This is the Tableau Server or Tableau Online username when the user
is signed in; otherwise it is the local or network username for the Tableau Desk
top user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-tooltip\": \"Ret
urns the sample variance for an expression\",\"help-contents\": \"Returns the sa
mple variance of the expression.\\n\\nExample: VAR([Profit])\",\"func-grps\":[\"
agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"VARP\
",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns the population
variance for an expression\",\"help-contents\": \"Returns the population varianc
e of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[\"agg\"],\"fu
nc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHEN\",\"func-si
g\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"func-t
ooltip\": \"Performs logical tests and returns the appropriate value\",\"help-co
ntents\": \"Finds the first <value> that matches <expr> and returns the correspo
nding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHE
N \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\": \"WINDOW_A
VG(expression, [start, end])\",\"func-tooltip\": \"Returns the average of the va
lues within the window\",\"help-contents\": \"Returns the average of the express
ion within the window. The window is defined as offsets from the current row. U
se FIRST()+n and LAST()-n for offsets from the first or last row in the partitio
n. If start and end are omitted, the entire partition is used.\\n\\nExample: WI
NDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the two previous ro
ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_COUNT\",\"f
unc-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-tooltip\": \"Return
s the number of items within the window\",\"help-contents\": \"Returns the count
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\\
n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-type

s\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIN


DOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"func-tooltip\
": \"Returns the maximum within the window\",\"help-contents\": \"Returns the ma
ximum of the expression within the window. The window is defined as offsets fro
m the current row. Use FIRST()+n and LAST()-n for offsets from the first or last
row in the partition. If start and end are omitted, the entire partition is us
ed.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Profit from the
two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([Profit]), -2,
0) = maximum of SUM(Profit) from the two previous rows to the current row\",\"f
unc-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],
\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\": \"WINDOW_MED
IAN(expression, [start, end])\",\"func-tooltip\": \"Returns the median within th
e window\",\"help-contents\": \"Returns the median of the expression within the
window. The window is defined as offsets from the current row. Use FIRST()+n an
d LAST()-n for offsets from the first or last row in the partition. If start an
d end are omitted, the entire partition is used.\\n\\nExample: WINDOW_MEDIAN(SUM
([Profit]), -2, 0) = median of SUM(Profit) from the two previous rows to the cur
rent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"
integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"func-sig\": \"WI
NDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns the minimum wit
hin the window\",\"help-contents\": \"Returns the minimum of the expression with
in the window. The window is defined as offsets from the current row. Use FIRST
()+n and LAST()-n for offsets from the first or last row in the partition. If s
tart and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_MIN
(MIN([Profit]), -2, 0) = minimum of Profit from the two previous rows to the cur
rent row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum of SUM(Profit)
from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"
name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(expression, numb
er, [start, end])\",\"func-tooltip\": \"Returns the percentile value at the spec
ified number\",\"help-contents\": \"Returns the value corresponding to the speci
fied percentile within the window. The window is defined as offsets from the cu
rrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\\
nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th percentile of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"tab
le\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integer\"],\"has-va
r-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW_STDEV(expres
sion, [start, end])\",\"func-tooltip\": \"Returns the sample standard deviation
within the window\",\"help-contents\": \"Returns the sample standard deviation o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from th
e two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"W
INDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, end])\",\"functooltip\": \"Returns the population standard deviation within the window\",\"hel
p-contents\": \"Returns the population standard deviation of the expression with
in the window. The window is defined as offsets from the current row. Use FIRST
()+n and LAST()-n for offsets from the first or last row in the partition. If s
tart and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_STD
EVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two previous rows
to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"in
teger\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_SUM\",\"func-s
ig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"Returns the s
um of values within the window\",\"help-contents\": \"Returns the sum of the exp
ression within the window. The window is defined as offsets from the current ro
w. Use FIRST()+n and LAST()-n for offsets from the first or last row in the part
ition. If start and end are omitted, the entire partition is used.\\n\\nExample

: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the two previous ro


ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\
",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_VAR\",\"
func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip\": \"Returns
the sample variance within the window\",\"help-contents\": \"Returns the sample
variance of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition i
s used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance of SUM(Profit)
from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"nam
e\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start, end])\",\"f
unc-tooltip\": \"Returns the population variance within the window\",\"help-cont
ents\": \"Returns the population variance of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST()n for offsets from the first or last row in the partition. If start and end are
omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(SUM([Profit]),
-2, 0) = variance of SUM(Profit) from the two previous rows to the current row\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"
],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR(date)\",\"fu
nc-tooltip\": \"Returns the year of the specified date as an integer\",\"help-co
ntents\": \"Returns the year of a given date as an integer. \\n\\nExample: YEAR
(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\
"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(expression)\",\
"func-tooltip\": \"Returns the expression if it is not null\",\"help-contents\":
\"Returns <expression> if it is not null, otherwise returns zero. \\n\\nExampl
e: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-types\":[\"intege
r\"],\"has-var-args\": false}]},\"calculation-context\": \"calculation-dialog\",
\"use-parameters\": true} position=\"64\"","name":"tabdoc:calculation-auto-compl
ete"}}
{"ts":"2016-09-29T16:43:02.959","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC
('month',[Order Date])-DATETRUNC('month',[Calculation1])\" calculation={\"dataso
urce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \
"Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"sco
pe-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])DATETRUNC('month',[Calculation1])\",\"fn\": \"\",\"fn-source\": \"\",\"calculati
on-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folderrole\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\":
0,\"style-token-list\":[],\"error-string\": \"\",\"error-info-list\":[],\"expre
ssion-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func-sig\": \"AB
S(number)\",\"func-tooltip\": \"Returns the absolute value of a number\",\"helpcontents\": \"Returns the absolute value of the given number. \\n\\nExample: ABS
(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-tooltip\": \
"Returns the arc cosine of a number\",\"help-contents\": \"Returns the arc cosin
e of a number. The result is in radians. \\n\\nExample: ACOS(-1) = 3.1415926535
8979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN <then> END\
",\"func-tooltip\": \"Performs a logical conjunction on two expressions\",\"help
-contents\": \"Performs a logical conjunction on two expressions\",\"func-grps\"
:[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ASCII\"
,\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASCII code for
the first character in a string\",\"help-contents\": \"Returns the ASCII code va
lue of the first character in a string. \\n\\nExample: ASCII(\\\"authors\\\") =
97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fals
e},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\": \"Return
s the arc sine of a number\",\"help-contents\": \"Returns the arc sine of a numb
er. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267949\",\"func

-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Returns the arc
tangent of a number\",\"help-contents\": \"Returns the arc tangent of a number.
The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408283942\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tooltip\": \"Ret
urns the arc tangent of two numbers\",\"help-contents\": \"Returns the arc tange
nt of two given numbers (x and y). The result is in radians. \\n\\nExample: ATA
N2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig\": \"ATTR(e
xpression)\",\"func-tooltip\": \"Returns the value of the expression if it has o
ne value for all rows\",\"help-contents\": \"Returns the value of the given expr
ession if it only has a single value for all rows in the group, otherwise it dis
plays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([Market])\",\
"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false}
,{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip\": \"Return
s the average of the values in the expression\",\"help-contents\": \"Returns the
average of all the values in the expression. AVG can be used with numeric field
s only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"func-grps\":[\"
agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CASE\
",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END
\",\"func-tooltip\": \"Performs logical tests and returns the appropriate value\
",\"help-contents\": \"Finds the first <value> that matches <expr> and returns t
he corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019
THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func
-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"func-sig\": \"
CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest integer of
equal or greater value\",\"help-contents\": \"Rounds a number to the nearest int
eger of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts an integer
ASCII code into a character\",\"help-contents\": \"Converts the given integer AS
CII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-grps\":[\"str\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CONTAINS\
",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"Returns true
if a string contains the specified substring\",\"help-contents\": \"Returns tru
e if the string contains the substring. \\n\\nExample: CONTAINS(\\\"Calculation\
\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"
,\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\": \"COS(angle)
\",\"func-tooltip\": \"Returns the cosine of an angle specified in radians\",\"h
elp-contents\": \"Returns the cosine of an angle. Specify the angle in radians.\
\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"func-sig\":
\"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle specified i
n radians\",\"help-contents\": \"Returns the cotangent of an angle. Specify the
angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\",\"func-sig
\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of items in the
expression\",\"help-contents\": \"Returns the number of items in a group. NULL
values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func-grps\":[\"ag
g\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"COUN
TD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Returns the number
of distinct items in the expression\",\"help-contents\": \"Returns the number o
f distinct items in a group. NULL values are not counted. Each unique value is
counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"agg\"],\"fu
nc-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"DATE\",\"func
-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from a number\",
\"help-contents\": \"Returns a date given a number, string, or date expression.
\\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote that the quo
tation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\

"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"DATEADD(date_


part, interval, date)\",\"func-tooltip\": \"Returns the specified date increment
ed by the specified amount\",\"help-contents\": \"Adds an increment to the speci
fied date and returns the new date. The increment is defined by the interval and
the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12
:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"integer\",
\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"func-sig\": \"D
ATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-tooltip\": \"
Returns the difference between two dates\",\"help-contents\": \"Returns the diff
erence between two dates where start_date is subtracted from end_date. The diffe
rence is expressed in units of date_part. If start_of_week is omitted, the week
start day is determined by the start day configured for the data source.\\n\\nEx
ample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\",\"func-grp
s\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetime\",\"locstr
\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \"DATENAME(da
te_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part of the spec
ified date as a string\",\"help-contents\": \"Returns a part of the given date a
s a string, where the part is defined by date_part. If start_of_week is omitted,
the week start day is determined by the start day configured for the data sourc
e.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"func-grps\"
:[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-ar
gs\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(format, string)\
",\"func-tooltip\": \"Converts a string to a date\",\"help-contents\": \"Convert
s a string to a date in the specified format. \\n\\nExample: DATEPARSE (\\\"dd.M
MMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"func-grps\":[\
"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": false},{\"nam
e\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_of_week])\",\
"func-tooltip\": \"Returns the specified part of a date as an integer\",\"help-c
ontents\": \"Returns a part of the given date as an integer where the part is de
fined by date_part. If start_of_week is omitted, the week start day is determine
d by the start day configured for the data source.\\n\\nExample: DATEPART('month
', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\
"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETIME\",\"funcsig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datetime from a nu
mber\",\"help-contents\": \"Returns a datetime given a number, string, or date e
xpression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\") \\nNote th
at the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types
\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"func-sig\": \"D
ATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Truncates the s
pecified date to the specified accuracy\",\"help-contents\": \"Truncates the spe
cified date to the accuracy specified by the date_part and returns the new date.
If start_of_week is omitted, the week start day is determined by the start day
configured for the data source.\\n\\nExample: DATETRUNC('quarter', #2004-08-15#)
= 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locst
r\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DAY\",\"funcsig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the specified d
ate as an integer\",\"help-contents\": \"Returns the day of the given date as an
integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"date\"],\"fu
nc-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"DEGREES\",\"
func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value in radians
to degrees\",\"help-contents\": \"Converts a number in radians to degrees.\\n\\n
Example: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"
real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"DIV(integer,
integer)\",\"func-tooltip\": \"Returns the integer part of a division operation
\",\"help-contents\": \"Returns the integer part of a division.\\n\\nExample: DI
V(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer\",\"integer
\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \
"Performs a logical test and returns an appropriate value\",\"help-contents\": \
"Tests a series of expressions returning the <then> value for the first true <ex

pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr> THEN <then
> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Perf
orms a logical test and returns an appropriate value\",\"help-contents\": \"Test
s a series of expressions returning the <then> value for the first true <expr>.
\\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Break
even' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <then> [ELSEI
F <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a l
ogical test and returns an appropriate value\",\"help-contents\": \"Tests a seri
es of expressions returning the <then> value for the first true <expr>. \\n\\nEx
ample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' EL
SE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\"
: false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, substring)\",\
"func-tooltip\": \"Returns true if the specified string ends with the specified
substring\",\"help-contents\": \"Returns true if the string ends with the substr
ing (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Calculation\\\
", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"
str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\": \"{ EXCLUDE
[dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an ag
gregate excluding the specified dimensions if present in the view.\",\"help-cont
ents\": \"Computes an aggregate excluding the specified dimensions if present in
the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\": \"Returns
e raised to the power of a number\",\"help-contents\": \"Returns e raised to th
e power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FIND\",\
"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\": \"Returns th
e position of a substring within a string\",\"help-contents\": \"Returns the pos
ition of a substring within a string, or 0 if the substring isn't found. If the
start argument is defined, any instances of substring that appear before the sta
rt position are ignored. The first character in the string is position 1. \\n\\n
Example: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\":[\"str\"],\
"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\":
\"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\",\"func-too
ltip\": \"Returns the position of the nth occurrence a substring within a string
\",\"help-contents\": \"Returns the position of the nth occurrence of a substrin
g within a string, or 0 if that occurrence of the substring isn't found. The fir
st character in the string is position 1. \\n\\nExample: FINDNTH(\\\"Calculation
\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"
str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func-sig\": \"FI
RST()\",\"func-tooltip\": \"Returns the number of rows from to the first row in
the partition\",\"help-contents\": \"Returns the number of rows from the current
row to the first row in the partition.\\n\\nExample (current row index is 3 of
7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[, dim2]...] :
aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate using only th
e specified dimensions.\",\"help-contents\": \"Computes an aggregate using only
the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"hasvar-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expression)\",\"fu
nc-tooltip\": \"Returns a float from an expression\",\"help-contents\": \"Return
s a float given an expression of any type. This function requires unformatted nu
mbers which means exclude commas and other symbols. \\n\\nExample: FLOAT(\\\"3\
\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-va
r-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\",\"func-too
ltip\": \"Rounds a number to the nearest integer of equal or lesser value\",\"he
lp-contents\": \"Rounds a number to the nearest integer of equal or lesser value
. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func-arg-types\":
[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-sig\": \"FULL

NAME()\",\"func-tooltip\": \"Returns the full name for the current user\",\"help


-contents\": \"Returns the full name for the current user. This is the Tableau S
erver or Tableau Online full name when the user is signed in; otherwise it is th
e local or network full name for the Tableau Desktop user.\",\"func-grps\":[\"us
er\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HEXBINX\",\"fu
nc-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns the x-coordina
te of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate
to the x-coordinate of the nearest hexagonal bin. The bins have side length 1,
so the inputs may need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"f
unc-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"HEXBIN
Y\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Returns the ycoordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) co
ordinate to the y-coordinate of the nearest hexagonal bin. The bins have side le
ngth 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[\"nu
m\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\":
\"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [
ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and returns an ap
propriate value\",\"help-contents\": \"Tests a series of expressions returning t
he <then> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN '
Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\"
:[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IFNULL\
",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns expression1
if not null\",\"help-contents\": \"Returns <expr1> if it is not null, otherwise
returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\":[\"logic\"
],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\
": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func-tooltip\":
\"Evaluates a Boolean expression and returns one of two values\",\"help-contents
\": \"Checks whether a condition is met, and returns one value if TRUE, another
value if FALSE, and an optional third value or NULL if unknown. \\n\\nExample: I
IF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \
"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-expression }\
",\"func-tooltip\": \"Computes an aggregate using the specified dimensions and t
he view dimensions.\",\"help-contents\": \"Computes an aggregate using the speci
fied dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\": \"INDEX()\"
,\"func-tooltip\": \"Returns the index of the current row in the partition\",\"h
elp-contents\": \"Returns the index of the current row in the partition.\\n\\nEx
ample (for the first row in the partition): INDEX( ) = 1\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT\",\"func-si
g\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression and returns
an integer\",\"help-contents\": \"Returns an integer given an expression. This
function truncates results to the closest integer toward zero. \\n\\nExample: IN
T(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-arg-types\":[
\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-sig\": \"ISDA
TE(string)\",\"func-tooltip\": \"Returns true if the string is a valid date\",\"
help-contents\": \"Returns true if a given string is a valid date. \\n\\nExampl
e: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date\",\"logic\"
],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"ISFULLNAME\
",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns true if the c
urrent user's full name matches the specified name\",\"help-contents\": \"Return
s true if the current user's full name matches the specified full name, or false
if it does not match. This function uses the Tableau Server or Tableau Online f
ull name when the user is signed in; otherwise it uses the local or network full
name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\
":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"func-sig\":
\"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the current user is a
member of the specified group\",\"help-contents\": \"Returns true if the curren
t user is a member of the given group, false otherwise. This uses the Tableau S
erver to resolve group membership if logged on, otherwise it always returns fals

e.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\":
false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"func-tooltip
\": \"Returns true if the specified expression is null\",\"help-contents\": \"Re
turns true if the expression does not contain valid data (Null).\\n\\nExample: I
SNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\"],\"h
as-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUSERNAME(strin
g)\",\"func-tooltip\": \"Returns true if the current user's name matches the spe
cified user name\",\"help-contents\": \"Returns true if the current user's usern
ame matches the specified username, or false if it does not match. This function
uses the Tableau Server or Tableau Online username when the user is signed in;
otherwise it uses the local or network username for the Tableau Desktop user.\",
\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false
},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"Returns the n
umber of rows to the last row in the partition\",\"help-contents\": \"Returns th
e number of rows from the current row to the last row in the partition.\\n\\nExa
mple (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[\"table\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"func-sig\":
\"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specified number of
characters from the start of a string\",\"help-contents\": \"Returns the specifi
ed number of characters from the start of the given string. \\n\\nExample: LEFT
(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",\"func-sig\"
: \"LEN(string)\",\"func-tooltip\": \"Returns the number of characters in a stri
ng\",\"help-contents\": \"Returns the number of characters in the given string.
\\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\"],\"func-ar
g-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"func-sig\": \"L
N(number)\",\"func-tooltip\": \"Returns the natural logarithm of a number\",\"he
lp-contents\": \"Returns the natural logarithm of the given number. Returns Null
if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5)) = 5\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\": \"Returns th
e logarithm of a number for the given base\",\"help-contents\": \"Returns the lo
garithm of a number for the given base. If the base value is omitted, base 10 is
used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"nam
e\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"func-tooltip\":
\"Returns the value of the expression in a row offset from current row\",\"help
-contents\": \"Returns the value of the given expression in a target row, specif
ied as a relative offset from the current row. Use FIRST()+n and LAST()-n for a
target relative to the first/last rows in the partition. If offset is omitted, t
he Compare To row may be set on the field menu. Returns NULL if the target row c
annot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) + 2) = SUM(Pr
ofit) in the third row of the partition\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"LOWER\",\
"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string in all lower
case characters\",\"help-contents\": \"Converts a text string to all lowercase l
etters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"func-grps\":
[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LTR
IM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a string with l
eading spaces removed\",\"help-contents\": \"Returns the string with any leading
spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\"\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-tooltip\": \"R
eturns a date value constructed from a year, a month and a day of the month.\",\
"help-contents\": \"Returns a date value constructed from a year, a month and a
day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-grps\":[\"cas
t\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date, time)\",\"
func-tooltip\": \"Returns a datetime by combining a date and a time\",\"help-con
tents\": \"Returns a date and time value given a date expression and a time expr

ession. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"func-grps\":[


\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\": false},{\
"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)\",\"func-to
oltip\": \"Returns a time value constructed from hours, minutes and seconds.\",\
"help-contents\": \"Returns a time value constructed from hours, minutes and sec
onds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast\"],\"func-a
rg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"nam
e\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",\"func-toolt
ip\": \"Returns the maximum of an expression\",\"help-contents\": \"Returns the
maximum of a single expression across all records or the maximum of two expressi
ons for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\"num\",\"str
\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-varargs\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expression)\",\"func
-tooltip\": \"Returns the median of an expression\",\"help-contents\": \"Returns
the median of a single expression. MEDIAN can be used with numeric fields only.
Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-grps\":[\"agg\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"MID\",\"f
unc-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Returns the charac
ters from the middle of a text string\",\"help-contents\": \"Returns the charact
ers from the middle of a text string given a starting position and a length. The
first character in the string is position 1. If the length is not included, all
characters to the end of the string are returned. If the length is included, up
to that many characters are returned. \\n\\nExample: MID(\\\"Tableau Software\\
\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\",2,4) = \\\"
able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\",\"real\"
],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(expression) or
MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an expression\",
\"help-contents\": \"Returns the minimum of an expression across all records or
the minimum of two expressions for each record. \\n\\nExample: MIN([Profit])\",
\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\
"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"func-sig\": \"
MONTH(date)\",\"func-tooltip\": \"Returns the month part of the specified date a
s an integer\",\"help-contents\": \"Returns the month of a given date as an inte
ger. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date\"],\"func-a
rg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\",\"func-sig
\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs logical negat
ion on an expression\",\"help-contents\": \"Performs logical negation on an expr
ession\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false
},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Returns the cur
rent date and time\",\"help-contents\": \"Returns the current date and time. \\
n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\": \"IF <expr1
> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical disjunctio
n on two expressions\",\"help-contents\": \"Performs a logical disjunction on tw
o expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\"
: false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expression, number
)\",\"func-tooltip\": \"Returns the percentile value at the specified number\",\
"help-contents\": \"Aggregate calculation that returns the percentile value from
the given expression corresponding to the specified number. Valid values for th
e number are 0 through 1. PERCENTILE([expression], 0.50) will always return the
median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.90)\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-var-args\": fa
lse},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Returns the nu
meric constant pi\",\"help-contents\": \"Returns the numeric constant pi.\\n\\nE
xample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(number,power
)\",\"func-tooltip\": \"Raises the number to the specified power\",\"help-conten
ts\": \"Returns the result of a number raised to the given power. \\n\\nExample:
POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"
real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"func-sig\": \"P

REVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of this calcul


ation in the previous row\",\"help-contents\": \"Returns the value of this calcu
lation in the previous row. Returns the given expression if the current row is t
he first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOUS_VALUE(0) =
running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(1) = running
product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"intege
r\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \"RADIANS(num
ber)\",\"func-tooltip\": \"Converts a number in degrees to radians\",\"help-cont
ents\": \"Converts a number in degrees to radians.\",\"func-grps\":[\"num\"],\"f
unc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RANK\",\"func-s
ig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the compe
tition rank for the current partition row\",\"help-contents\": \"Returns the sta
ndard competition rank for the current row in the partition. Identical values ar
e assigned an identical rank. Use the optional 'asc' | 'desc' argument to specif
y ascending or descending order. The default order is descending.\\n\\nWith this
function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 4) in ascen
ding order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RA
NK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",\"func-toolt
ip\": \"Returns the dense rank for the current partition row\",\"help-contents\"
: \"Returns the dense rank for the current row in the partition. Identical value
s are assigned an identical rank, but no gaps are inserted into the number seque
nce. Use the optional 'asc' | 'desc' argument to specify ascending or descending
order. The default order is descending.\\n\\nWith this function, the set of val
ues (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\n\\nExample:
RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"inte
ger\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIED\",\"func-s
ig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns
the modified competition rank for the current partition row\",\"help-contents\":
\"Returns the modified competition rank for the current row in the partition. I
dentical values are assigned an identical rank. Use the optional 'asc' | 'desc'
argument to specify ascending or descending order. The default order is descendi
ng.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1,
3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velocity]))\",\"f
unc-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-arg
s\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERCENTILE(expre
ssion, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile rank for the
current partition row\",\"help-contents\": \"Returns the percentile rank for th
e current row in the partition. Use the optional 'asc' | 'desc' argument to spec
ify ascending or descending order. The default order is ascending.\\n\\nWith thi
s function, the set of values (6, 9, 9, 14) would be ranked (25, 75, 75, 100) in
ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\",\"func-grps
\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": fal
se},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expression, ['asc'|'d
esc'])\",\"func-tooltip\": \"Returns the unique rank for the current partition r
ow\",\"help-contents\": \"Returns the unique rank for the current row in the par
tition. Identical values are assigned different ranks. Use the optional 'asc' |
'desc' argument to specify ascending or descending order. The default order is d
escending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ran
ked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1 for the fir
st row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"intege
r\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT\",\"func-si
g\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns the portion
of a string matching the capturing group in a regular expression\",\"help-conte
nts\": \"Returns a substring of the given string that matches the capturing grou
p within the regular expression pattern. The regular expression pattern require
s exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 123', '[a-z]+\
\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"
str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"func-sig\":
\"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"Returns a sub

string of a string using a regular expression pattern\",\"help-contents\": \"Ret


urns a substring of the given string using the regular expression pattern. The
substring is matched to the nth capturing group, where n is the given index. \\n
\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)', 2) = '123'\"
,\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locint\"],\"has-v
ar-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP_MATCH(strin
g, pattern)\",\"func-tooltip\": \"Returns true if a string matches a regular exp
ression\",\"help-contents\": \"Returns true if a substring of the provided strin
g matches the regular expression pattern. \\n\\nExample: REGEXP_MATCH('-([1234].
[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') = true\",\"fun
c-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false}
,{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string, pattern, r
eplacement)\",\"func-tooltip\": \"Returns a string where substrings matching a r
egular expression are replaced\",\"help-contents\": \"Returns a copy of the give
n string where the matching pattern is substituted with the replacement string.
\\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": fa
lse},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substring, replaceme
nt)\",\"func-tooltip\": \"Replaces all instances of a substring within a string\
",\"help-contents\": \"Returns a string in which every occurrence of the substri
ng is replaced with the replacement string. If the substring is not found, the s
tring is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"ion\\\", \\\
"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"st
r\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\"func-sig\":
\"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specified number o
f characters from the end of a string\",\"help-contents\": \"Returns the specifi
ed number of characters from the end of the given string. \\n\\nExample: RIGHT(
\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\",\"func-sig\
": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number to the spec
ified number of places\",\"help-contents\": \"Rounds a number to the nearest int
eger or to a specified number of decimal places. \\n\\nExample: ROUND(3.1415, 1)
= 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-va
r-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\",\"func-too
ltip\": \"Returns a string with trailing spaces removed\",\"help-contents\": \"R
eturns the string with any trailing spaces removed. \\n\\nExample: RTRIM(\\\"Ma
rket \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\": \"RUNNING_A
VG(expression)\",\"func-tooltip\": \"Returns the running average of an expressio
n\",\"help-contents\": \"Returns the running average of the given expression, fr
om the first row in the partition to the current row.\\n\\nExample: RUNNING_AVG(
SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING_COUNT\",
\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Returns the runn
ing count of an expression\",\"help-contents\": \"Returns the running count of t
he given expression, from the first row in the partition to the current row.\\n\
\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profit)\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"func-tooltip\":
\"Returns the running maximum of an expression\",\"help-contents\": \"Returns t
he running maximum of the given expression, from the first row in the partition
to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = running maximum o
f Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum of SUM(Profi
t)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\"
: false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expression)\",\"
func-tooltip\": \"Returns the running minimum of an expression\",\"help-contents
\": \"Returns the running minimum of the given expression, from the first row in
the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Profit])) = ru
nning minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = running minim
um of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\

"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"RUNNING_SUM(e


xpression)\",\"func-tooltip\": \"Returns the running sum of an expression\",\"he
lp-contents\": \"Returns the running sum of the given expression, from the first
row in the partition to the current row.\\n\\nExample: RUNNING_SUM(SUM([Profit]
)) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])) = running
count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"h
as-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCRIPT_BOOL(str
ing, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result from an R e
xpression\",\"help-contents\": \"Returns a Boolean result from a given R express
ion. The R expression is passed directly to a running Rserve instance. Use .arg#
in the R expression to reference parameters. In the following example, .arg1 is
equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.arg1)\\\", SU
M([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-varargs\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(string, expre
ssion, ...)\",\"func-tooltip\": \"Returns an integer result from an R expression
\",\"help-contents\": \"Returns an integer result from a given R expression. The
R expression is passed directly to a running Rserve instance. Use .arg# in the
R expression to reference parameters. In the following example, .arg1 is equal t
o SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)\\\", SUM([P
rofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args
\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(string, express
ion, ...)\",\"func-tooltip\": \"Returns a numeric result from an R expression\",
\"help-contents\": \"Returns a numeric result from a given R expression. The R e
xpression is passed directly to a running Rserve instance. Use .arg# in the R ex
pression to reference parameters. In the following example, .arg1 is equal to SU
M([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Profit]))\",\"
func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"
name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression, ...)\",\"f
unc-tooltip\": \"Returns a string result from an R expression\",\"help-contents\
": \"Returns a string result from a given R expression. The R expression is pass
ed directly to a running Rserve instance. Use .arg# in the R expression to refer
ence parameters. In the following example, .arg1 is equal to ATTR([Region]). \\n
\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\":
\"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns 1 for a posi
tive number\",\"help-contents\": \"Returns the sign of a number: 1 if the number
is positive, zero if the number is zero, or -1 if the number is negative.\\n\\n
Example: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angle)\",\"functooltip\": \"Returns the sine of a number\",\"help-contents\": \"Returns the sin
e of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/4) = 0.70710
6781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-arg
s\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tooltip\": \"Ret
urns the number of rows in the partition\",\"help-contents\": \"Returns the numb
er of rows in the partition.\\n\\nExample (partition has 5 rows):\\nSIZE( ) = 5\
",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"na
me\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"Returns a st
ring containing the specified number of spaces\",\"help-contents\": \"Returns a
string composed of the specified number of repeated spaces. \\n\\nExample: SPACE
(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-v
ar-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string, delimiter,
token number)\",\"func-tooltip\": \"Extracts a substring from a string\",\"helpcontents\": \"Returns a substring from a string, as determined by a delimiter ex
tracting the characters from the beginning or end of the string. \\n\\nExample:
SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-', -2) = 'c'\",
\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"locint\"],\"has
-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)\",\"func-to
oltip\": \"Returns the square root of a number\",\"help-contents\": \"Returns th
e square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps\":[\"num\"]
,\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SQUARE\",\"

func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the square of a numbe


r\",\"help-contents\": \"Returns the square of a given number. \\n\\nExample: SQ
UARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(string, subst
ring)\",\"func-tooltip\": \"Returns true if the specified string starts with the
specified substring\",\"help-contents\": \"Returns true if the string starts wi
th the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\"Ca\\\") is
true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-ar
gs\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\",\"func-too
ltip\": \"Returns the sample standard deviation for an expression\",\"help-conte
nts\": \"Returns the sample standard deviation of the expression.\\n\\nExample:
STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expression)\",\"fu
nc-tooltip\": \"Returns the population standard deviation for an expression\",\"
help-contents\": \"Returns the population standard deviation of the expression.\
\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"STR(expressio
n)\",\"func-tooltip\": \"Returns an expression as a string\",\"help-contents\":
\"Returns a string given an expression. \\n\\nExample: STR([Age]) returns all o
f the values of the Age measure as strings.\",\"func-grps\":[\"cast\"],\"func-ar
g-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",\"func-sig\"
: \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values in an expres
sion\",\"help-contents\": \"Returns the sum of all the values in the expression.
SUM can be used with numeric fields only. Null values are ignored.\\n\\nExample
: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"func-tooltip\
": \"Returns the tangent of an angle specified in radians\",\"help-contents\": \
"Returns the tangent of an angle. Specify the angle in radians.\\n\\nExample: TA
N(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN <then> [ELSE
IF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a
logical test and returns an appropriate value\",\"help-contents\": \"Tests a ser
ies of expressions returning the <then> value for the first true <expr>. \\n\\nE
xample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' E
LSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tooltip\": \"Ret
urns the current date\",\"help-contents\": \"Returns the current date. \\n\\nEx
ample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(expression)\",\
"func-tooltip\": \"Returns the total for an expression within the partition\",\"
help-contents\": \"Returns the total for the given expression.\\n\\nExample: TOT
AL(AVG([Profit])) = AVG(Profit) for all database rows that contribute to the par
tition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"func-tooltip\"
: \"Returns a string with leading and trailing spaces removed\",\"help-contents\
": \"Returns the string with both leading and trailing spaces removed. \\n\\nExa
mple: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"str\"],\"funcarg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",\"func-sig\"
: \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all uppercase charac
ters\",\"help-contents\": \"Converts a text string to all uppercase letters. \\n
\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\":[\"str\"],\
"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"USERDOMAIN\",\
"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain for the cur
rent user\",\"help-contents\": \"Returns the domain for the current user when th
e user is signed on to Tableau Server. Returns the Windows domain if the Tableau
Desktop user is on a domain. Otherwise this function returns a null string.\",\
"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\"
: \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Returns the user
name for the current user\",\"help-contents\": \"Returns the username for the c
urrent user. This is the Tableau Server or Tableau Online username when the user

is signed in; otherwise it is the local or network username for the Tableau Des
ktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fa
lse},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-tooltip\": \"Re
turns the sample variance for an expression\",\"help-contents\": \"Returns the s
ample variance of the expression.\\n\\nExample: VAR([Profit])\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"VARP
\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns the population
variance for an expression\",\"help-contents\": \"Returns the population varian
ce of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[\"agg\"],\"f
unc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHEN\",\"func-s
ig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"functooltip\": \"Performs logical tests and returns the appropriate value\",\"help-c
ontents\": \"Finds the first <value> that matches <expr> and returns the corresp
onding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WH
EN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\": \"WINDOW_
AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the average of the v
alues within the window\",\"help-contents\": \"Returns the average of the expres
sion within the window. The window is defined as offsets from the current row.
Use FIRST()+n and LAST()-n for offsets from the first or last row in the partiti
on. If start and end are omitted, the entire partition is used.\\n\\nExample: W
INDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the two previous r
ows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",
\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_COUNT\",\"
func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-tooltip\": \"Retur
ns the number of items within the window\",\"help-contents\": \"Returns the coun
t of the expression within the window. The window is defined as offsets from th
e current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\
\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WI
NDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"func-tooltip
\": \"Returns the maximum within the window\",\"help-contents\": \"Returns the m
aximum of the expression within the window. The window is defined as offsets fr
om the current row. Use FIRST()+n and LAST()-n for offsets from the first or las
t row in the partition. If start and end are omitted, the entire partition is u
sed.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Profit from the
two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([Profit]), -2
, 0) = maximum of SUM(Profit) from the two previous rows to the current row\",\"
func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"]
,\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\": \"WINDOW_ME
DIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the median within t
he window\",\"help-contents\": \"Returns the median of the expression within the
window. The window is defined as offsets from the current row. Use FIRST()+n a
nd LAST()-n for offsets from the first or last row in the partition. If start a
nd end are omitted, the entire partition is used.\\n\\nExample: WINDOW_MEDIAN(SU
M([Profit]), -2, 0) = median of SUM(Profit) from the two previous rows to the cu
rrent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\
"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"func-sig\": \"W
INDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns the minimum wi
thin the window\",\"help-contents\": \"Returns the minimum of the expression wit
hin the window. The window is defined as offsets from the current row. Use FIRS
T()+n and LAST()-n for offsets from the first or last row in the partition. If
start and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_MI
N(MIN([Profit]), -2, 0) = minimum of Profit from the two previous rows to the cu
rrent row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum of SUM(Profit
) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(expression, num

ber, [start, end])\",\"func-tooltip\": \"Returns the percentile value at the spe


cified number\",\"help-contents\": \"Returns the value corresponding to the spec
ified percentile within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th percentile of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"ta
ble\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integer\"],\"has-v
ar-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW_STDEV(expre
ssion, [start, end])\",\"func-tooltip\": \"Returns the sample standard deviation
within the window\",\"help-contents\": \"Returns the sample standard deviation
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i
n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from t
he two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"
WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, end])\",\"func
-tooltip\": \"Returns the population standard deviation within the window\",\"he
lp-contents\": \"Returns the population standard deviation of the expression wit
hin the window. The window is defined as offsets from the current row. Use FIRS
T()+n and LAST()-n for offsets from the first or last row in the partition. If
start and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_ST
DEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two previous rows
to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"i
nteger\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_SUM\",\"funcsig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"Returns the
sum of values within the window\",\"help-contents\": \"Returns the sum of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the two previous r
ows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer
\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_VAR\",\
"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip\": \"Return
s the sample variance within the window\",\"help-contents\": \"Returns the sampl
e variance of the expression within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance of SUM(Profit
) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"na
me\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start, end])\",\"
func-tooltip\": \"Returns the population variance within the window\",\"help-con
tents\": \"Returns the population variance of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST()
-n for offsets from the first or last row in the partition. If start and end ar
e omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(SUM([Profit])
, -2, 0) = variance of SUM(Profit) from the two previous rows to the current row
\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\
"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR(date)\",\"f
unc-tooltip\": \"Returns the year of the specified date as an integer\",\"help-c
ontents\": \"Returns the year of a given date as an integer. \\n\\nExample: YEA
R(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime
\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(expression)\",
\"func-tooltip\": \"Returns the expression if it is not null\",\"help-contents\"
: \"Returns <expression> if it is not null, otherwise returns zero. \\n\\nExamp
le: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-types\":[\"integ
er\"],\"has-var-args\": false}]},\"calculation-context\": \"calculation-dialog\"
,\"use-parameters\": true} position=\"64\"","name":"tabdoc:calculation-auto-comp

lete"}}
{"ts":"2016-09-29T16:43:03.665","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC(
'month',[Order Date])-DATETRUNC('month',[Calculation1])\" calculation={\"datasou
rce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \"
Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"scop
e-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])-D
ATETRUNC('month',[Calculation1])\",\"fn\": \"\",\"fn-source\": \"\",\"calculatio
n-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-r
ole\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\":
0,\"style-token-list\":[],\"error-string\": \"\",\"error-info-list\":[],\"expres
sion-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func-sig\": \"ABS
(number)\",\"func-tooltip\": \"Returns the absolute value of a number\",\"help-c
ontents\": \"Returns the absolute value of the given number. \\n\\nExample: ABS(
-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-tooltip\": \"
Returns the arc cosine of a number\",\"help-contents\": \"Returns the arc cosine
of a number. The result is in radians. \\n\\nExample: ACOS(-1) = 3.14159265358
979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN <then> END\"
,\"func-tooltip\": \"Performs a logical conjunction on two expressions\",\"helpcontents\": \"Performs a logical conjunction on two expressions\",\"func-grps\":
[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ASCII\",
\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASCII code for t
he first character in a string\",\"help-contents\": \"Returns the ASCII code val
ue of the first character in a string. \\n\\nExample: ASCII(\\\"authors\\\") = 9
7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false
},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\": \"Returns
the arc sine of a number\",\"help-contents\": \"Returns the arc sine of a numbe
r. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267949\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Returns the arc t
angent of a number\",\"help-contents\": \"Returns the arc tangent of a number.
The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408283942\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tooltip\": \"Retu
rns the arc tangent of two numbers\",\"help-contents\": \"Returns the arc tangen
t of two given numbers (x and y). The result is in radians. \\n\\nExample: ATAN
2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\
",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig\": \"ATTR(ex
pression)\",\"func-tooltip\": \"Returns the value of the expression if it has on
e value for all rows\",\"help-contents\": \"Returns the value of the given expre
ssion if it only has a single value for all rows in the group, otherwise it disp
lays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([Market])\",\"
func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},
{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip\": \"Returns
the average of the values in the expression\",\"help-contents\": \"Returns the
average of all the values in the expression. AVG can be used with numeric fields
only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"func-grps\":[\"a
gg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CASE\"
,\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\
",\"func-tooltip\": \"Performs logical tests and returns the appropriate value\"
,\"help-contents\": \"Finds the first <value> that matches <expr> and returns th
e corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019
THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"funcarg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"func-sig\": \"C
EILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest integer of e
qual or greater value\",\"help-contents\": \"Rounds a number to the nearest inte
ger of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\",\"func-grps\

":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"


CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts an integer A
SCII code into a character\",\"help-contents\": \"Converts the given integer ASC
II code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-grps\":[\"str\"
],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CONTAINS\"
,\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"Returns true
if a string contains the specified substring\",\"help-contents\": \"Returns true
if the string contains the substring. \\n\\nExample: CONTAINS(\\\"Calculation\\
\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",
\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\": \"COS(angle)\
",\"func-tooltip\": \"Returns the cosine of an angle specified in radians\",\"he
lp-contents\": \"Returns the cosine of an angle. Specify the angle in radians.\\
n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"func-sig\": \
"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle specified in
radians\",\"help-contents\": \"Returns the cotangent of an angle. Specify the a
ngle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\",\"func-sig\
": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of items in the
expression\",\"help-contents\": \"Returns the number of items in a group. NULL v
alues are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func-grps\":[\"agg
\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"COUNT
D\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Returns the number
of distinct items in the expression\",\"help-contents\": \"Returns the number of
distinct items in a group. NULL values are not counted. Each unique value is c
ounted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"agg\"],\"fun
c-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"DATE\",\"funcsig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from a number\",\
"help-contents\": \"Returns a date given a number, string, or date expression.
\\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote that the quot
ation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"DATEADD(date_p
art, interval, date)\",\"func-tooltip\": \"Returns the specified date incremente
d by the specified amount\",\"help-contents\": \"Adds an increment to the specif
ied date and returns the new date. The increment is defined by the interval and
the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12:
00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"integer\",\
"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"func-sig\": \"DA
TEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-tooltip\": \"R
eturns the difference between two dates\",\"help-contents\": \"Returns the diffe
rence between two dates where start_date is subtracted from end_date. The differ
ence is expressed in units of date_part. If start_of_week is omitted, the week s
tart day is determined by the start day configured for the data source.\\n\\nExa
mple: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\",\"func-grps
\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetime\",\"locstr\
"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \"DATENAME(dat
e_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part of the speci
fied date as a string\",\"help-contents\": \"Returns a part of the given date as
a string, where the part is defined by date_part. If start_of_week is omitted,
the week start day is determined by the start day configured for the data source
.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"func-grps\":
[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-arg
s\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(format, string)\"
,\"func-tooltip\": \"Converts a string to a date\",\"help-contents\": \"Converts
a string to a date in the specified format. \\n\\nExample: DATEPARSE (\\\"dd.MM
MM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"func-grps\":[\"
date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": false},{\"name
\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_of_week])\",\"
func-tooltip\": \"Returns the specified part of a date as an integer\",\"help-co
ntents\": \"Returns a part of the given date as an integer where the part is def

ined by date_part. If start_of_week is omitted, the week start day is determined


by the start day configured for the data source.\\n\\nExample: DATEPART('month'
, #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"
datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETIME\",\"func-s
ig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datetime from a num
ber\",\"help-contents\": \"Returns a datetime given a number, string, or date ex
pression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\") \\nNote tha
t the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\
":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"func-sig\": \"DA
TETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Truncates the sp
ecified date to the specified accuracy\",\"help-contents\": \"Truncates the spec
ified date to the accuracy specified by the date_part and returns the new date.
If start_of_week is omitted, the week start day is determined by the start day c
onfigured for the data source.\\n\\nExample: DATETRUNC('quarter', #2004-08-15#)
= 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr
\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DAY\",\"func-s
ig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the specified da
te as an integer\",\"help-contents\": \"Returns the day of the given date as an
integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"date\"],\"fun
c-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"DEGREES\",\"f
unc-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value in radians t
o degrees\",\"help-contents\": \"Converts a number in radians to degrees.\\n\\nE
xample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"DIV(integer,
integer)\",\"func-tooltip\": \"Returns the integer part of a division operation\
",\"help-contents\": \"Returns the integer part of a division.\\n\\nExample: DIV
(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer\",\"integer\
"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <expr> THEN <
then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"
Performs a logical test and returns an appropriate value\",\"help-contents\": \"
Tests a series of expressions returning the <then> value for the first true <exp
r>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'B
reakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr> THEN <then>
[ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Perfo
rms a logical test and returns an appropriate value\",\"help-contents\": \"Tests
a series of expressions returning the <then> value for the first true <expr>. \
\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breake
ven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF
<expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a lo
gical test and returns an appropriate value\",\"help-contents\": \"Tests a serie
s of expressions returning the <then> value for the first true <expr>. \\n\\nExa
mple: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELS
E 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, substring)\",\"
func-tooltip\": \"Returns true if the specified string ends with the specified s
ubstring\",\"help-contents\": \"Returns true if the string ends with the substri
ng (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Calculation\\\"
, \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"s
tr\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\": \"{ EXCLUDE
[dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an agg
regate excluding the specified dimensions if present in the view.\",\"help-conte
nts\": \"Computes an aggregate excluding the specified dimensions if present in
the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\": \"Returns
e raised to the power of a number\",\"help-contents\": \"Returns e raised to the
power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-grps\":[\"num\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FIND\",\"
func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\": \"Returns the

position of a substring within a string\",\"help-contents\": \"Returns the posi


tion of a substring within a string, or 0 if the substring isn't found. If the s
tart argument is defined, any instances of substring that appear before the star
t position are ignored. The first character in the string is position 1. \\n\\nE
xample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\":
\"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\",\"func-tool
tip\": \"Returns the position of the nth occurrence a substring within a string\
",\"help-contents\": \"Returns the position of the nth occurrence of a substring
within a string, or 0 if that occurrence of the substring isn't found. The firs
t character in the string is position 1. \\n\\nExample: FINDNTH(\\\"Calculation\
\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"s
tr\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func-sig\": \"FIR
ST()\",\"func-tooltip\": \"Returns the number of rows from to the first row in t
he partition\",\"help-contents\": \"Returns the number of rows from the current
row to the first row in the partition.\\n\\nExample (current row index is 3 of 7
):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-a
rgs\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[, dim2]...] : a
ggregate-expression }\",\"func-tooltip\": \"Computes an aggregate using only the
specified dimensions.\",\"help-contents\": \"Computes an aggregate using only t
he specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expression)\",\"fun
c-tooltip\": \"Returns a float from an expression\",\"help-contents\": \"Returns
a float given an expression of any type. This function requires unformatted num
bers which means exclude commas and other symbols. \\n\\nExample: FLOAT(\\\"3\\
\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var
-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\",\"func-tool
tip\": \"Rounds a number to the nearest integer of equal or lesser value\",\"hel
p-contents\": \"Rounds a number to the nearest integer of equal or lesser value.
\\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func-arg-types\":[
\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-sig\": \"FULLN
AME()\",\"func-tooltip\": \"Returns the full name for the current user\",\"helpcontents\": \"Returns the full name for the current user. This is the Tableau Se
rver or Tableau Online full name when the user is signed in; otherwise it is the
local or network full name for the Tableau Desktop user.\",\"func-grps\":[\"use
r\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HEXBINX\",\"fun
c-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns the x-coordinat
e of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate
to the x-coordinate of the nearest hexagonal bin. The bins have side length 1, s
o the inputs may need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"fu
nc-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"HEXBINY
\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Returns the y-c
oordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coo
rdinate to the y-coordinate of the nearest hexagonal bin. The bins have side len
gth 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \
"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [E
LSE <else>] END\",\"func-tooltip\": \"Performs a logical test and returns an app
ropriate value\",\"help-contents\": \"Tests a series of expressions returning th
e <then> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'P
rofitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":
[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IFNULL\"
,\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns expression1
if not null\",\"help-contents\": \"Returns <expr1> if it is not null, otherwise
returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\":[\"logic\"]
,\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\"
: \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func-tooltip\": \
"Evaluates a Boolean expression and returns one of two values\",\"help-contents\
": \"Checks whether a condition is met, and returns one value if TRUE, another v
alue if FALSE, and an optional third value or NULL if unknown. \\n\\nExample: II

F([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"func-arg-types\"


:[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"
INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-expression }\"
,\"func-tooltip\": \"Computes an aggregate using the specified dimensions and th
e view dimensions.\",\"help-contents\": \"Computes an aggregate using the specif
ied dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-typ
es\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\": \"INDEX()\",
\"func-tooltip\": \"Returns the index of the current row in the partition\",\"he
lp-contents\": \"Returns the index of the current row in the partition.\\n\\nExa
mple (for the first row in the partition): INDEX( ) = 1\",\"func-grps\":[\"table
\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT\",\"func-sig
\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression and returns
an integer\",\"help-contents\": \"Returns an integer given an expression. This f
unction truncates results to the closest integer toward zero. \\n\\nExample: INT
(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\
"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-sig\": \"ISDAT
E(string)\",\"func-tooltip\": \"Returns true if the string is a valid date\",\"h
elp-contents\": \"Returns true if a given string is a valid date. \\n\\nExample
: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date\",\"logic\"]
,\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"ISFULLNAME\"
,\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns true if the cu
rrent user's full name matches the specified name\",\"help-contents\": \"Returns
true if the current user's full name matches the specified full name, or false
if it does not match. This function uses the Tableau Server or Tableau Online fu
ll name when the user is signed in; otherwise it uses the local or network full
name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\"
:[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"func-sig\": \
"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the current user is a
member of the specified group\",\"help-contents\": \"Returns true if the current
user is a member of the given group, false otherwise. This uses the Tableau Se
rver to resolve group membership if logged on, otherwise it always returns false
.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": f
alse},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"func-tooltip\
": \"Returns true if the specified expression is null\",\"help-contents\": \"Ret
urns true if the expression does not contain valid data (Null).\\n\\nExample: IS
NULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\"],\"ha
s-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUSERNAME(string
)\",\"func-tooltip\": \"Returns true if the current user's name matches the spec
ified user name\",\"help-contents\": \"Returns true if the current user's userna
me matches the specified username, or false if it does not match. This function
uses the Tableau Server or Tableau Online username when the user is signed in; o
therwise it uses the local or network username for the Tableau Desktop user.\",\
"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false}
,{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"Returns the nu
mber of rows to the last row in the partition\",\"help-contents\": \"Returns the
number of rows from the current row to the last row in the partition.\\n\\nExam
ple (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[\"table\"],\"
func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"func-sig\": \
"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specified number of c
haracters from the start of a string\",\"help-contents\": \"Returns the specifie
d number of characters from the start of the given string. \\n\\nExample: LEFT(
\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",\"func-sig\":
\"LEN(string)\",\"func-tooltip\": \"Returns the number of characters in a strin
g\",\"help-contents\": \"Returns the number of characters in the given string. \
\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"func-sig\": \"LN
(number)\",\"func-tooltip\": \"Returns the natural logarithm of a number\",\"hel
p-contents\": \"Returns the natural logarithm of the given number. Returns Null
if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5)) = 5\",\"func-

grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\": \"Returns the
logarithm of a number for the given base\",\"help-contents\": \"Returns the log
arithm of a number for the given base. If the base value is omitted, base 10 is
used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name
\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"func-tooltip\":
\"Returns the value of the expression in a row offset from current row\",\"helpcontents\": \"Returns the value of the given expression in a target row, specifi
ed as a relative offset from the current row. Use FIRST()+n and LAST()-n for a t
arget relative to the first/last rows in the partition. If offset is omitted, th
e Compare To row may be set on the field menu. Returns NULL if the target row ca
nnot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) + 2) = SUM(Pro
fit) in the third row of the partition\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"LOWER\",\"
func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string in all lowerc
ase characters\",\"help-contents\": \"Converts a text string to all lowercase le
tters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"func-grps\":[
\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LTRI
M\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a string with le
ading spaces removed\",\"help-contents\": \"Returns the string with any leading
spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\"\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-tooltip\": \"Re
turns a date value constructed from a year, a month and a day of the month.\",\"
help-contents\": \"Returns a date value constructed from a year, a month and a d
ay of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date, time)\",\"f
unc-tooltip\": \"Returns a datetime by combining a date and a time\",\"help-cont
ents\": \"Returns a date and time value given a date expression and a time expre
ssion. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"func-grps\":[\
"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\": false},{\"
name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)\",\"func-too
ltip\": \"Returns a time value constructed from hours, minutes and seconds.\",\"
help-contents\": \"Returns a time value constructed from hours, minutes and seco
nds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast\"],\"func-ar
g-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name
\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",\"func-toolti
p\": \"Returns the maximum of an expression\",\"help-contents\": \"Returns the m
aximum of a single expression across all records or the maximum of two expressio
ns for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\"num\",\"str\
",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-a
rgs\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expression)\",\"functooltip\": \"Returns the median of an expression\",\"help-contents\": \"Returns
the median of a single expression. MEDIAN can be used with numeric fields only.
Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-grps\":[\"agg\"
],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"MID\",\"fu
nc-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Returns the charact
ers from the middle of a text string\",\"help-contents\": \"Returns the characte
rs from the middle of a text string given a starting position and a length. The
first character in the string is position 1. If the length is not included, all
characters to the end of the string are returned. If the length is included, up
to that many characters are returned. \\n\\nExample: MID(\\\"Tableau Software\\\
",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\",2,4) = \\\"a
ble\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\",\"real\"]
,\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(expression) or
MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an expression\",\
"help-contents\": \"Returns the minimum of an expression across all records or t
he minimum of two expressions for each record. \\n\\nExample: MIN([Profit])\",\

"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"
real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"func-sig\": \"M
ONTH(date)\",\"func-tooltip\": \"Returns the month part of the specified date as
an integer\",\"help-contents\": \"Returns the month of a given date as an integ
er. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date\"],\"func-ar
g-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\",\"func-sig\
": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs logical negati
on on an expression\",\"help-contents\": \"Performs logical negation on an expre
ssion\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false}
,{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Returns the curr
ent date and time\",\"help-contents\": \"Returns the current date and time. \\n
\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\": \"IF <expr1>
OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical disjunction
on two expressions\",\"help-contents\": \"Performs a logical disjunction on two
expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expression, number)
\",\"func-tooltip\": \"Returns the percentile value at the specified number\",\"
help-contents\": \"Aggregate calculation that returns the percentile value from
the given expression corresponding to the specified number. Valid values for the
number are 0 through 1. PERCENTILE([expression], 0.50) will always return the m
edian value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.90)\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-var-args\": fal
se},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Returns the num
eric constant pi\",\"help-contents\": \"Returns the numeric constant pi.\\n\\nEx
ample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[],\
"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(number,power)
\",\"func-tooltip\": \"Raises the number to the specified power\",\"help-content
s\": \"Returns the result of a number raised to the given power. \\n\\nExample:
POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"r
eal\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"func-sig\": \"PR
EVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of this calcula
tion in the previous row\",\"help-contents\": \"Returns the value of this calcul
ation in the previous row. Returns the given expression if the current row is th
e first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOUS_VALUE(0) =
running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(1) = running
product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer
\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \"RADIANS(numb
er)\",\"func-tooltip\": \"Converts a number in degrees to radians\",\"help-conte
nts\": \"Converts a number in degrees to radians.\",\"func-grps\":[\"num\"],\"fu
nc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RANK\",\"func-si
g\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the compet
ition rank for the current partition row\",\"help-contents\": \"Returns the stan
dard competition rank for the current row in the partition. Identical values are
assigned an identical rank. Use the optional 'asc' | 'desc' argument to specify
ascending or descending order. The default order is descending.\\n\\nWith this
function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 4) in ascend
ing order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RAN
K_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",\"func-toolti
p\": \"Returns the dense rank for the current partition row\",\"help-contents\":
\"Returns the dense rank for the current row in the partition. Identical values
are assigned an identical rank, but no gaps are inserted into the number sequen
ce. Use the optional 'asc' | 'desc' argument to specify ascending or descending
order. The default order is descending.\\n\\nWith this function, the set of valu
es (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\n\\nExample:
RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integ
er\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIED\",\"func-si
g\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns t
he modified competition rank for the current partition row\",\"help-contents\":

\"Returns the modified competition rank for the current row in the partition. Id
entical values are assigned an identical rank. Use the optional 'asc' | 'desc' a
rgument to specify ascending or descending order. The default order is descendin
g.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1,
3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velocity]))\",\"fu
nc-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args
\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERCENTILE(expres
sion, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile rank for the
current partition row\",\"help-contents\": \"Returns the percentile rank for the
current row in the partition. Use the optional 'asc' | 'desc' argument to speci
fy ascending or descending order. The default order is ascending.\\n\\nWith this
function, the set of values (6, 9, 9, 14) would be ranked (25, 75, 75, 100) in
ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\",\"func-grps\
":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": fals
e},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expression, ['asc'|'de
sc'])\",\"func-tooltip\": \"Returns the unique rank for the current partition ro
w\",\"help-contents\": \"Returns the unique rank for the current row in the part
ition. Identical values are assigned different ranks. Use the optional 'asc' | '
desc' argument to specify ascending or descending order. The default order is de
scending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be rank
ed (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1 for the firs
t row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer
\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT\",\"func-sig
\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns the portion
of a string matching the capturing group in a regular expression\",\"help-conten
ts\": \"Returns a substring of the given string that matches the capturing group
within the regular expression pattern. The regular expression pattern requires
exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 123', '[a-z]+\\
\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"s
tr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"func-sig\": \
"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"Returns a subs
tring of a string using a regular expression pattern\",\"help-contents\": \"Retu
rns a substring of the given string using the regular expression pattern. The s
ubstring is matched to the nth capturing group, where n is the given index. \\n\
\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)', 2) = '123'\",
\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locint\"],\"has-va
r-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP_MATCH(string
, pattern)\",\"func-tooltip\": \"Returns true if a string matches a regular expr
ession\",\"help-contents\": \"Returns true if a substring of the provided string
matches the regular expression pattern. \\n\\nExample: REGEXP_MATCH('-([1234].[
The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') = true\",\"func
-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},
{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string, pattern, re
placement)\",\"func-tooltip\": \"Returns a string where substrings matching a re
gular expression are replaced\",\"help-contents\": \"Returns a copy of the given
string where the matching pattern is substituted with the replacement string. \
\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'\",\"func-grp
s\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": fal
se},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substring, replacemen
t)\",\"func-tooltip\": \"Replaces all instances of a substring within a string\"
,\"help-contents\": \"Returns a string in which every occurrence of the substrin
g is replaced with the replacement string. If the substring is not found, the st
ring is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"ion\\\", \\\"
ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str
\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\"func-sig\":
\"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specified number of
characters from the end of a string\",\"help-contents\": \"Returns the specifie
d number of characters from the end of the given string. \\n\\nExample: RIGHT(\
\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"func-arg-types
\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\",\"func-sig\"

: \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number to the speci


fied number of places\",\"help-contents\": \"Rounds a number to the nearest inte
ger or to a specified number of decimal places. \\n\\nExample: ROUND(3.1415, 1)
= 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var
-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\",\"func-tool
tip\": \"Returns a string with trailing spaces removed\",\"help-contents\": \"Re
turns the string with any trailing spaces removed. \\n\\nExample: RTRIM(\\\"Mar
ket \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\": \"RUNNING_AV
G(expression)\",\"func-tooltip\": \"Returns the running average of an expression
\",\"help-contents\": \"Returns the running average of the given expression, fro
m the first row in the partition to the current row.\\n\\nExample: RUNNING_AVG(S
UM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING_COUNT\",\
"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Returns the runni
ng count of an expression\",\"help-contents\": \"Returns the running count of th
e given expression, from the first row in the partition to the current row.\\n\\
nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profit)\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"func-tooltip\":
\"Returns the running maximum of an expression\",\"help-contents\": \"Returns th
e running maximum of the given expression, from the first row in the partition t
o the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = running maximum of
Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum of SUM(Profit
)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\":
false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expression)\",\"f
unc-tooltip\": \"Returns the running minimum of an expression\",\"help-contents\
": \"Returns the running minimum of the given expression, from the first row in
the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Profit])) = run
ning minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = running minimu
m of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"
has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"RUNNING_SUM(ex
pression)\",\"func-tooltip\": \"Returns the running sum of an expression\",\"hel
p-contents\": \"Returns the running sum of the given expression, from the first
row in the partition to the current row.\\n\\nExample: RUNNING_SUM(SUM([Profit])
) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])) = running c
ount of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCRIPT_BOOL(stri
ng, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result from an R ex
pression\",\"help-contents\": \"Returns a Boolean result from a given R expressi
on. The R expression is passed directly to a running Rserve instance. Use .arg#
in the R expression to reference parameters. In the following example, .arg1 is
equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.arg1)\\\", SUM
([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-a
rgs\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(string, expres
sion, ...)\",\"func-tooltip\": \"Returns an integer result from an R expression\
",\"help-contents\": \"Returns an integer result from a given R expression. The
R expression is passed directly to a running Rserve instance. Use .arg# in the R
expression to reference parameters. In the following example, .arg1 is equal to
SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)\\\", SUM([Pr
ofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(string, expressi
on, ...)\",\"func-tooltip\": \"Returns a numeric result from an R expression\",\
"help-contents\": \"Returns a numeric result from a given R expression. The R ex
pression is passed directly to a running Rserve instance. Use .arg# in the R exp
ression to reference parameters. In the following example, .arg1 is equal to SUM
([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Profit]))\",\"f
unc-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"n
ame\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression, ...)\",\"fu
nc-tooltip\": \"Returns a string result from an R expression\",\"help-contents\"

: \"Returns a string result from a given R expression. The R expression is passe


d directly to a running Rserve instance. Use .arg# in the R expression to refere
nce parameters. In the following example, .arg1 is equal to ATTR([Region]). \\n\
\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\",\"func-grps
\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \
"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns 1 for a posit
ive number\",\"help-contents\": \"Returns the sign of a number: 1 if the number
is positive, zero if the number is zero, or -1 if the number is negative.\\n\\nE
xample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angle)\",\"func-t
ooltip\": \"Returns the sine of a number\",\"help-contents\": \"Returns the sine
of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/4) = 0.707106
781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args
\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tooltip\": \"Retu
rns the number of rows in the partition\",\"help-contents\": \"Returns the numbe
r of rows in the partition.\\n\\nExample (partition has 5 rows):\\nSIZE( ) = 5\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"nam
e\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"Returns a str
ing containing the specified number of spaces\",\"help-contents\": \"Returns a s
tring composed of the specified number of repeated spaces. \\n\\nExample: SPACE(
2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string, delimiter, t
oken number)\",\"func-tooltip\": \"Extracts a substring from a string\",\"help-c
ontents\": \"Returns a substring from a string, as determined by a delimiter ext
racting the characters from the beginning or end of the string. \\n\\nExample: S
PLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-', -2) = 'c'\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"locint\"],\"hasvar-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)\",\"func-too
ltip\": \"Returns the square root of a number\",\"help-contents\": \"Returns the
square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps\":[\"num\"],
\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SQUARE\",\"f
unc-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the square of a number
\",\"help-contents\": \"Returns the square of a given number. \\n\\nExample: SQU
ARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(string, substr
ing)\",\"func-tooltip\": \"Returns true if the specified string starts with the
specified substring\",\"help-contents\": \"Returns true if the string starts wit
h the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\"Ca\\\") is t
rue\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-arg
s\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\",\"func-tool
tip\": \"Returns the sample standard deviation for an expression\",\"help-conten
ts\": \"Returns the sample standard deviation of the expression.\\n\\nExample: S
TDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expression)\",\"fun
c-tooltip\": \"Returns the population standard deviation for an expression\",\"h
elp-contents\": \"Returns the population standard deviation of the expression.\\
n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"STR(expression
)\",\"func-tooltip\": \"Returns an expression as a string\",\"help-contents\": \
"Returns a string given an expression. \\n\\nExample: STR([Age]) returns all of
the values of the Age measure as strings.\",\"func-grps\":[\"cast\"],\"func-arg
-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",\"func-sig\":
\"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values in an express
ion\",\"help-contents\": \"Returns the sum of all the values in the expression.
SUM can be used with numeric fields only. Null values are ignored.\\n\\nExample:
SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"func-tooltip\"
: \"Returns the tangent of an angle specified in radians\",\"help-contents\": \"
Returns the tangent of an angle. Specify the angle in radians.\\n\\nExample: TAN
(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var

-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN <then> [ELSEI


F <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a l
ogical test and returns an appropriate value\",\"help-contents\": \"Tests a seri
es of expressions returning the <then> value for the first true <expr>. \\n\\nEx
ample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' EL
SE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\"
: false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tooltip\": \"Retu
rns the current date\",\"help-contents\": \"Returns the current date. \\n\\nExa
mple: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(expression)\",\"
func-tooltip\": \"Returns the total for an expression within the partition\",\"h
elp-contents\": \"Returns the total for the given expression.\\n\\nExample: TOTA
L(AVG([Profit])) = AVG(Profit) for all database rows that contribute to the part
ition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-arg
s\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"func-tooltip\":
\"Returns a string with leading and trailing spaces removed\",\"help-contents\"
: \"Returns the string with both leading and trailing spaces removed. \\n\\nExam
ple: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"str\"],\"func-a
rg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",\"func-sig\":
\"UPPER(string)\",\"func-tooltip\": \"Returns a string in all uppercase charact
ers\",\"help-contents\": \"Converts a text string to all uppercase letters. \\n\
\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"USERDOMAIN\",\"
func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain for the curr
ent user\",\"help-contents\": \"Returns the domain for the current user when the
user is signed on to Tableau Server. Returns the Windows domain if the Tableau
Desktop user is on a domain. Otherwise this function returns a null string.\",\"
func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Returns the user
name for the current user\",\"help-contents\": \"Returns the username for the cu
rrent user. This is the Tableau Server or Tableau Online username when the user
is signed in; otherwise it is the local or network username for the Tableau Desk
top user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-tooltip\": \"Ret
urns the sample variance for an expression\",\"help-contents\": \"Returns the sa
mple variance of the expression.\\n\\nExample: VAR([Profit])\",\"func-grps\":[\"
agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"VARP\
",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns the population
variance for an expression\",\"help-contents\": \"Returns the population varianc
e of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[\"agg\"],\"fu
nc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHEN\",\"func-si
g\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"func-t
ooltip\": \"Performs logical tests and returns the appropriate value\",\"help-co
ntents\": \"Finds the first <value> that matches <expr> and returns the correspo
nding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHE
N \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\": \"WINDOW_A
VG(expression, [start, end])\",\"func-tooltip\": \"Returns the average of the va
lues within the window\",\"help-contents\": \"Returns the average of the express
ion within the window. The window is defined as offsets from the current row. U
se FIRST()+n and LAST()-n for offsets from the first or last row in the partitio
n. If start and end are omitted, the entire partition is used.\\n\\nExample: WI
NDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the two previous ro
ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_COUNT\",\"f
unc-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-tooltip\": \"Return
s the number of items within the window\",\"help-contents\": \"Returns the count
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\\

n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Profit) from the


two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIN
DOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"func-tooltip\
": \"Returns the maximum within the window\",\"help-contents\": \"Returns the ma
ximum of the expression within the window. The window is defined as offsets fro
m the current row. Use FIRST()+n and LAST()-n for offsets from the first or last
row in the partition. If start and end are omitted, the entire partition is us
ed.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Profit from the
two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([Profit]), -2,
0) = maximum of SUM(Profit) from the two previous rows to the current row\",\"f
unc-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],
\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\": \"WINDOW_MED
IAN(expression, [start, end])\",\"func-tooltip\": \"Returns the median within th
e window\",\"help-contents\": \"Returns the median of the expression within the
window. The window is defined as offsets from the current row. Use FIRST()+n an
d LAST()-n for offsets from the first or last row in the partition. If start an
d end are omitted, the entire partition is used.\\n\\nExample: WINDOW_MEDIAN(SUM
([Profit]), -2, 0) = median of SUM(Profit) from the two previous rows to the cur
rent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"
integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"func-sig\": \"WI
NDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns the minimum wit
hin the window\",\"help-contents\": \"Returns the minimum of the expression with
in the window. The window is defined as offsets from the current row. Use FIRST
()+n and LAST()-n for offsets from the first or last row in the partition. If s
tart and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_MIN
(MIN([Profit]), -2, 0) = minimum of Profit from the two previous rows to the cur
rent row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum of SUM(Profit)
from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"
name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(expression, numb
er, [start, end])\",\"func-tooltip\": \"Returns the percentile value at the spec
ified number\",\"help-contents\": \"Returns the value corresponding to the speci
fied percentile within the window. The window is defined as offsets from the cu
rrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\\
nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th percentile of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"tab
le\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integer\"],\"has-va
r-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW_STDEV(expres
sion, [start, end])\",\"func-tooltip\": \"Returns the sample standard deviation
within the window\",\"help-contents\": \"Returns the sample standard deviation o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from th
e two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"W
INDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, end])\",\"functooltip\": \"Returns the population standard deviation within the window\",\"hel
p-contents\": \"Returns the population standard deviation of the expression with
in the window. The window is defined as offsets from the current row. Use FIRST
()+n and LAST()-n for offsets from the first or last row in the partition. If s
tart and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_STD
EVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two previous rows
to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"in
teger\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_SUM\",\"func-s
ig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"Returns the s
um of values within the window\",\"help-contents\": \"Returns the sum of the exp
ression within the window. The window is defined as offsets from the current ro

w. Use FIRST()+n and LAST()-n for offsets from the first or last row in the part
ition. If start and end are omitted, the entire partition is used.\\n\\nExample
: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the two previous ro
ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\
",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_VAR\",\"
func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip\": \"Returns
the sample variance within the window\",\"help-contents\": \"Returns the sample
variance of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition i
s used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance of SUM(Profit)
from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"nam
e\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start, end])\",\"f
unc-tooltip\": \"Returns the population variance within the window\",\"help-cont
ents\": \"Returns the population variance of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST()n for offsets from the first or last row in the partition. If start and end are
omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(SUM([Profit]),
-2, 0) = variance of SUM(Profit) from the two previous rows to the current row\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"
],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR(date)\",\"fu
nc-tooltip\": \"Returns the year of the specified date as an integer\",\"help-co
ntents\": \"Returns the year of a given date as an integer. \\n\\nExample: YEAR
(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\
"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(expression)\",\
"func-tooltip\": \"Returns the expression if it is not null\",\"help-contents\":
\"Returns <expression> if it is not null, otherwise returns zero. \\n\\nExampl
e: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-types\":[\"intege
r\"],\"has-var-args\": false}]},\"calculation-context\": \"calculation-dialog\",
\"use-parameters\": true} position=\"65\"","name":"tabdoc:calculation-auto-compl
ete"}}
{"ts":"2016-09-29T16:43:03.665","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"DATETRUNC
('month',[Order Date])-DATETRUNC('month',[Calculation1])\" calculation={\"dataso
urce\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculation-caption\": \
"Calculation2\",\"pending-calc-name\": \"Calculation_5489888009455718401\",\"sco
pe-isolation\": true,\"calculation-formula\": \"DATETRUNC('month',[Order Date])DATETRUNC('month',[Calculation1])\",\"fn\": \"\",\"fn-source\": \"\",\"calculati
on-dependencies\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folderrole\": \"dimensions\",\"has-table-calc-data\": false,\"table-calc-types-used\":
0,\"style-token-list\":[],\"error-string\": \"\",\"error-info-list\":[],\"expre
ssion-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func-sig\": \"AB
S(number)\",\"func-tooltip\": \"Returns the absolute value of a number\",\"helpcontents\": \"Returns the absolute value of the given number. \\n\\nExample: ABS
(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-tooltip\": \
"Returns the arc cosine of a number\",\"help-contents\": \"Returns the arc cosin
e of a number. The result is in radians. \\n\\nExample: ACOS(-1) = 3.1415926535
8979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN <then> END\
",\"func-tooltip\": \"Performs a logical conjunction on two expressions\",\"help
-contents\": \"Performs a logical conjunction on two expressions\",\"func-grps\"
:[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ASCII\"
,\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASCII code for
the first character in a string\",\"help-contents\": \"Returns the ASCII code va
lue of the first character in a string. \\n\\nExample: ASCII(\\\"authors\\\") =
97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fals
e},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\": \"Return

s the arc sine of a number\",\"help-contents\": \"Returns the arc sine of a numb


er. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267949\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Returns the arc
tangent of a number\",\"help-contents\": \"Returns the arc tangent of a number.
The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408283942\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tooltip\": \"Ret
urns the arc tangent of two numbers\",\"help-contents\": \"Returns the arc tange
nt of two given numbers (x and y). The result is in radians. \\n\\nExample: ATA
N2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig\": \"ATTR(e
xpression)\",\"func-tooltip\": \"Returns the value of the expression if it has o
ne value for all rows\",\"help-contents\": \"Returns the value of the given expr
ession if it only has a single value for all rows in the group, otherwise it dis
plays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([Market])\",\
"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false}
,{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip\": \"Return
s the average of the values in the expression\",\"help-contents\": \"Returns the
average of all the values in the expression. AVG can be used with numeric field
s only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"func-grps\":[\"
agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CASE\
",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END
\",\"func-tooltip\": \"Performs logical tests and returns the appropriate value\
",\"help-contents\": \"Finds the first <value> that matches <expr> and returns t
he corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019
THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func
-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"func-sig\": \"
CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest integer of
equal or greater value\",\"help-contents\": \"Rounds a number to the nearest int
eger of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts an integer
ASCII code into a character\",\"help-contents\": \"Converts the given integer AS
CII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-grps\":[\"str\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CONTAINS\
",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"Returns true
if a string contains the specified substring\",\"help-contents\": \"Returns tru
e if the string contains the substring. \\n\\nExample: CONTAINS(\\\"Calculation\
\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"
,\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\": \"COS(angle)
\",\"func-tooltip\": \"Returns the cosine of an angle specified in radians\",\"h
elp-contents\": \"Returns the cosine of an angle. Specify the angle in radians.\
\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"func-sig\":
\"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle specified i
n radians\",\"help-contents\": \"Returns the cotangent of an angle. Specify the
angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\",\"func-sig
\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of items in the
expression\",\"help-contents\": \"Returns the number of items in a group. NULL
values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func-grps\":[\"ag
g\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"COUN
TD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Returns the number
of distinct items in the expression\",\"help-contents\": \"Returns the number o
f distinct items in a group. NULL values are not counted. Each unique value is
counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"agg\"],\"fu
nc-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"DATE\",\"func
-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from a number\",
\"help-contents\": \"Returns a date given a number, string, or date expression.

\\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote that the quo


tation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"DATEADD(date_
part, interval, date)\",\"func-tooltip\": \"Returns the specified date increment
ed by the specified amount\",\"help-contents\": \"Adds an increment to the speci
fied date and returns the new date. The increment is defined by the interval and
the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12
:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"integer\",
\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"func-sig\": \"D
ATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-tooltip\": \"
Returns the difference between two dates\",\"help-contents\": \"Returns the diff
erence between two dates where start_date is subtracted from end_date. The diffe
rence is expressed in units of date_part. If start_of_week is omitted, the week
start day is determined by the start day configured for the data source.\\n\\nEx
ample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\",\"func-grp
s\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetime\",\"locstr
\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \"DATENAME(da
te_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part of the spec
ified date as a string\",\"help-contents\": \"Returns a part of the given date a
s a string, where the part is defined by date_part. If start_of_week is omitted,
the week start day is determined by the start day configured for the data sourc
e.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"func-grps\"
:[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-ar
gs\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(format, string)\
",\"func-tooltip\": \"Converts a string to a date\",\"help-contents\": \"Convert
s a string to a date in the specified format. \\n\\nExample: DATEPARSE (\\\"dd.M
MMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"func-grps\":[\
"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": false},{\"nam
e\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_of_week])\",\
"func-tooltip\": \"Returns the specified part of a date as an integer\",\"help-c
ontents\": \"Returns a part of the given date as an integer where the part is de
fined by date_part. If start_of_week is omitted, the week start day is determine
d by the start day configured for the data source.\\n\\nExample: DATEPART('month
', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\
"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETIME\",\"funcsig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datetime from a nu
mber\",\"help-contents\": \"Returns a datetime given a number, string, or date e
xpression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\") \\nNote th
at the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types
\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"func-sig\": \"D
ATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Truncates the s
pecified date to the specified accuracy\",\"help-contents\": \"Truncates the spe
cified date to the accuracy specified by the date_part and returns the new date.
If start_of_week is omitted, the week start day is determined by the start day
configured for the data source.\\n\\nExample: DATETRUNC('quarter', #2004-08-15#)
= 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locst
r\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DAY\",\"funcsig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the specified d
ate as an integer\",\"help-contents\": \"Returns the day of the given date as an
integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"date\"],\"fu
nc-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"DEGREES\",\"
func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value in radians
to degrees\",\"help-contents\": \"Converts a number in radians to degrees.\\n\\n
Example: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"
real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"DIV(integer,
integer)\",\"func-tooltip\": \"Returns the integer part of a division operation
\",\"help-contents\": \"Returns the integer part of a division.\\n\\nExample: DI
V(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer\",\"integer
\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \

"Performs a logical test and returns an appropriate value\",\"help-contents\": \


"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr> THEN <then
> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Perf
orms a logical test and returns an appropriate value\",\"help-contents\": \"Test
s a series of expressions returning the <then> value for the first true <expr>.
\\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Break
even' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <then> [ELSEI
F <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a l
ogical test and returns an appropriate value\",\"help-contents\": \"Tests a seri
es of expressions returning the <then> value for the first true <expr>. \\n\\nEx
ample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' EL
SE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\"
: false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, substring)\",\
"func-tooltip\": \"Returns true if the specified string ends with the specified
substring\",\"help-contents\": \"Returns true if the string ends with the substr
ing (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Calculation\\\
", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"
str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\": \"{ EXCLUDE
[dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an ag
gregate excluding the specified dimensions if present in the view.\",\"help-cont
ents\": \"Computes an aggregate excluding the specified dimensions if present in
the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\": \"Returns
e raised to the power of a number\",\"help-contents\": \"Returns e raised to th
e power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FIND\",\
"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\": \"Returns th
e position of a substring within a string\",\"help-contents\": \"Returns the pos
ition of a substring within a string, or 0 if the substring isn't found. If the
start argument is defined, any instances of substring that appear before the sta
rt position are ignored. The first character in the string is position 1. \\n\\n
Example: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\":[\"str\"],\
"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\":
\"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\",\"func-too
ltip\": \"Returns the position of the nth occurrence a substring within a string
\",\"help-contents\": \"Returns the position of the nth occurrence of a substrin
g within a string, or 0 if that occurrence of the substring isn't found. The fir
st character in the string is position 1. \\n\\nExample: FINDNTH(\\\"Calculation
\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"
str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func-sig\": \"FI
RST()\",\"func-tooltip\": \"Returns the number of rows from to the first row in
the partition\",\"help-contents\": \"Returns the number of rows from the current
row to the first row in the partition.\\n\\nExample (current row index is 3 of
7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[, dim2]...] :
aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate using only th
e specified dimensions.\",\"help-contents\": \"Computes an aggregate using only
the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"hasvar-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expression)\",\"fu
nc-tooltip\": \"Returns a float from an expression\",\"help-contents\": \"Return
s a float given an expression of any type. This function requires unformatted nu
mbers which means exclude commas and other symbols. \\n\\nExample: FLOAT(\\\"3\
\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-va
r-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\",\"func-too
ltip\": \"Rounds a number to the nearest integer of equal or lesser value\",\"he
lp-contents\": \"Rounds a number to the nearest integer of equal or lesser value

. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func-arg-types\":


[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-sig\": \"FULL
NAME()\",\"func-tooltip\": \"Returns the full name for the current user\",\"help
-contents\": \"Returns the full name for the current user. This is the Tableau S
erver or Tableau Online full name when the user is signed in; otherwise it is th
e local or network full name for the Tableau Desktop user.\",\"func-grps\":[\"us
er\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HEXBINX\",\"fu
nc-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns the x-coordina
te of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate
to the x-coordinate of the nearest hexagonal bin. The bins have side length 1,
so the inputs may need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"f
unc-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"HEXBIN
Y\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Returns the ycoordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) co
ordinate to the y-coordinate of the nearest hexagonal bin. The bins have side le
ngth 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[\"nu
m\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\":
\"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [
ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and returns an ap
propriate value\",\"help-contents\": \"Tests a series of expressions returning t
he <then> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN '
Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\"
:[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IFNULL\
",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns expression1
if not null\",\"help-contents\": \"Returns <expr1> if it is not null, otherwise
returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\":[\"logic\"
],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\
": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func-tooltip\":
\"Evaluates a Boolean expression and returns one of two values\",\"help-contents
\": \"Checks whether a condition is met, and returns one value if TRUE, another
value if FALSE, and an optional third value or NULL if unknown. \\n\\nExample: I
IF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \
"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-expression }\
",\"func-tooltip\": \"Computes an aggregate using the specified dimensions and t
he view dimensions.\",\"help-contents\": \"Computes an aggregate using the speci
fied dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\": \"INDEX()\"
,\"func-tooltip\": \"Returns the index of the current row in the partition\",\"h
elp-contents\": \"Returns the index of the current row in the partition.\\n\\nEx
ample (for the first row in the partition): INDEX( ) = 1\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT\",\"func-si
g\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression and returns
an integer\",\"help-contents\": \"Returns an integer given an expression. This
function truncates results to the closest integer toward zero. \\n\\nExample: IN
T(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-arg-types\":[
\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-sig\": \"ISDA
TE(string)\",\"func-tooltip\": \"Returns true if the string is a valid date\",\"
help-contents\": \"Returns true if a given string is a valid date. \\n\\nExampl
e: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date\",\"logic\"
],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"ISFULLNAME\
",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns true if the c
urrent user's full name matches the specified name\",\"help-contents\": \"Return
s true if the current user's full name matches the specified full name, or false
if it does not match. This function uses the Tableau Server or Tableau Online f
ull name when the user is signed in; otherwise it uses the local or network full
name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\
":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"func-sig\":
\"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the current user is a
member of the specified group\",\"help-contents\": \"Returns true if the curren

t user is a member of the given group, false otherwise. This uses the Tableau S
erver to resolve group membership if logged on, otherwise it always returns fals
e.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\":
false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"func-tooltip
\": \"Returns true if the specified expression is null\",\"help-contents\": \"Re
turns true if the expression does not contain valid data (Null).\\n\\nExample: I
SNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\"],\"h
as-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUSERNAME(strin
g)\",\"func-tooltip\": \"Returns true if the current user's name matches the spe
cified user name\",\"help-contents\": \"Returns true if the current user's usern
ame matches the specified username, or false if it does not match. This function
uses the Tableau Server or Tableau Online username when the user is signed in;
otherwise it uses the local or network username for the Tableau Desktop user.\",
\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false
},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"Returns the n
umber of rows to the last row in the partition\",\"help-contents\": \"Returns th
e number of rows from the current row to the last row in the partition.\\n\\nExa
mple (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[\"table\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"func-sig\":
\"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specified number of
characters from the start of a string\",\"help-contents\": \"Returns the specifi
ed number of characters from the start of the given string. \\n\\nExample: LEFT
(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",\"func-sig\"
: \"LEN(string)\",\"func-tooltip\": \"Returns the number of characters in a stri
ng\",\"help-contents\": \"Returns the number of characters in the given string.
\\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\"],\"func-ar
g-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"func-sig\": \"L
N(number)\",\"func-tooltip\": \"Returns the natural logarithm of a number\",\"he
lp-contents\": \"Returns the natural logarithm of the given number. Returns Null
if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5)) = 5\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\": \"Returns th
e logarithm of a number for the given base\",\"help-contents\": \"Returns the lo
garithm of a number for the given base. If the base value is omitted, base 10 is
used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"nam
e\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"func-tooltip\":
\"Returns the value of the expression in a row offset from current row\",\"help
-contents\": \"Returns the value of the given expression in a target row, specif
ied as a relative offset from the current row. Use FIRST()+n and LAST()-n for a
target relative to the first/last rows in the partition. If offset is omitted, t
he Compare To row may be set on the field menu. Returns NULL if the target row c
annot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) + 2) = SUM(Pr
ofit) in the third row of the partition\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"LOWER\",\
"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string in all lower
case characters\",\"help-contents\": \"Converts a text string to all lowercase l
etters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"func-grps\":
[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LTR
IM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a string with l
eading spaces removed\",\"help-contents\": \"Returns the string with any leading
spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\"\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-tooltip\": \"R
eturns a date value constructed from a year, a month and a day of the month.\",\
"help-contents\": \"Returns a date value constructed from a year, a month and a
day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-grps\":[\"cas
t\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date, time)\",\"

func-tooltip\": \"Returns a datetime by combining a date and a time\",\"help-con


tents\": \"Returns a date and time value given a date expression and a time expr
ession. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"func-grps\":[
\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\": false},{\
"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)\",\"func-to
oltip\": \"Returns a time value constructed from hours, minutes and seconds.\",\
"help-contents\": \"Returns a time value constructed from hours, minutes and sec
onds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast\"],\"func-a
rg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"nam
e\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",\"func-toolt
ip\": \"Returns the maximum of an expression\",\"help-contents\": \"Returns the
maximum of a single expression across all records or the maximum of two expressi
ons for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\"num\",\"str
\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-varargs\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expression)\",\"func
-tooltip\": \"Returns the median of an expression\",\"help-contents\": \"Returns
the median of a single expression. MEDIAN can be used with numeric fields only.
Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-grps\":[\"agg\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"MID\",\"f
unc-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Returns the charac
ters from the middle of a text string\",\"help-contents\": \"Returns the charact
ers from the middle of a text string given a starting position and a length. The
first character in the string is position 1. If the length is not included, all
characters to the end of the string are returned. If the length is included, up
to that many characters are returned. \\n\\nExample: MID(\\\"Tableau Software\\
\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\",2,4) = \\\"
able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\",\"real\"
],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(expression) or
MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an expression\",
\"help-contents\": \"Returns the minimum of an expression across all records or
the minimum of two expressions for each record. \\n\\nExample: MIN([Profit])\",
\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\
"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"func-sig\": \"
MONTH(date)\",\"func-tooltip\": \"Returns the month part of the specified date a
s an integer\",\"help-contents\": \"Returns the month of a given date as an inte
ger. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date\"],\"func-a
rg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\",\"func-sig
\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs logical negat
ion on an expression\",\"help-contents\": \"Performs logical negation on an expr
ession\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false
},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Returns the cur
rent date and time\",\"help-contents\": \"Returns the current date and time. \\
n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\": \"IF <expr1
> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical disjunctio
n on two expressions\",\"help-contents\": \"Performs a logical disjunction on tw
o expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\"
: false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expression, number
)\",\"func-tooltip\": \"Returns the percentile value at the specified number\",\
"help-contents\": \"Aggregate calculation that returns the percentile value from
the given expression corresponding to the specified number. Valid values for th
e number are 0 through 1. PERCENTILE([expression], 0.50) will always return the
median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.90)\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-var-args\": fa
lse},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Returns the nu
meric constant pi\",\"help-contents\": \"Returns the numeric constant pi.\\n\\nE
xample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(number,power
)\",\"func-tooltip\": \"Raises the number to the specified power\",\"help-conten
ts\": \"Returns the result of a number raised to the given power. \\n\\nExample:

POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"


real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"func-sig\": \"P
REVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of this calcul
ation in the previous row\",\"help-contents\": \"Returns the value of this calcu
lation in the previous row. Returns the given expression if the current row is t
he first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOUS_VALUE(0) =
running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(1) = running
product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"intege
r\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \"RADIANS(num
ber)\",\"func-tooltip\": \"Converts a number in degrees to radians\",\"help-cont
ents\": \"Converts a number in degrees to radians.\",\"func-grps\":[\"num\"],\"f
unc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RANK\",\"func-s
ig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the compe
tition rank for the current partition row\",\"help-contents\": \"Returns the sta
ndard competition rank for the current row in the partition. Identical values ar
e assigned an identical rank. Use the optional 'asc' | 'desc' argument to specif
y ascending or descending order. The default order is descending.\\n\\nWith this
function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 4) in ascen
ding order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RA
NK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",\"func-toolt
ip\": \"Returns the dense rank for the current partition row\",\"help-contents\"
: \"Returns the dense rank for the current row in the partition. Identical value
s are assigned an identical rank, but no gaps are inserted into the number seque
nce. Use the optional 'asc' | 'desc' argument to specify ascending or descending
order. The default order is descending.\\n\\nWith this function, the set of val
ues (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\n\\nExample:
RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"inte
ger\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIED\",\"func-s
ig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns
the modified competition rank for the current partition row\",\"help-contents\":
\"Returns the modified competition rank for the current row in the partition. I
dentical values are assigned an identical rank. Use the optional 'asc' | 'desc'
argument to specify ascending or descending order. The default order is descendi
ng.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1,
3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velocity]))\",\"f
unc-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-arg
s\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERCENTILE(expre
ssion, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile rank for the
current partition row\",\"help-contents\": \"Returns the percentile rank for th
e current row in the partition. Use the optional 'asc' | 'desc' argument to spec
ify ascending or descending order. The default order is ascending.\\n\\nWith thi
s function, the set of values (6, 9, 9, 14) would be ranked (25, 75, 75, 100) in
ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\",\"func-grps
\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": fal
se},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expression, ['asc'|'d
esc'])\",\"func-tooltip\": \"Returns the unique rank for the current partition r
ow\",\"help-contents\": \"Returns the unique rank for the current row in the par
tition. Identical values are assigned different ranks. Use the optional 'asc' |
'desc' argument to specify ascending or descending order. The default order is d
escending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ran
ked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1 for the fir
st row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"intege
r\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT\",\"func-si
g\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns the portion
of a string matching the capturing group in a regular expression\",\"help-conte
nts\": \"Returns a substring of the given string that matches the capturing grou
p within the regular expression pattern. The regular expression pattern require
s exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 123', '[a-z]+\
\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"

str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"func-sig\":


\"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"Returns a sub
string of a string using a regular expression pattern\",\"help-contents\": \"Ret
urns a substring of the given string using the regular expression pattern. The
substring is matched to the nth capturing group, where n is the given index. \\n
\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)', 2) = '123'\"
,\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locint\"],\"has-v
ar-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP_MATCH(strin
g, pattern)\",\"func-tooltip\": \"Returns true if a string matches a regular exp
ression\",\"help-contents\": \"Returns true if a substring of the provided strin
g matches the regular expression pattern. \\n\\nExample: REGEXP_MATCH('-([1234].
[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') = true\",\"fun
c-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false}
,{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string, pattern, r
eplacement)\",\"func-tooltip\": \"Returns a string where substrings matching a r
egular expression are replaced\",\"help-contents\": \"Returns a copy of the give
n string where the matching pattern is substituted with the replacement string.
\\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": fa
lse},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substring, replaceme
nt)\",\"func-tooltip\": \"Replaces all instances of a substring within a string\
",\"help-contents\": \"Returns a string in which every occurrence of the substri
ng is replaced with the replacement string. If the substring is not found, the s
tring is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"ion\\\", \\\
"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"st
r\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\"func-sig\":
\"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specified number o
f characters from the end of a string\",\"help-contents\": \"Returns the specifi
ed number of characters from the end of the given string. \\n\\nExample: RIGHT(
\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\",\"func-sig\
": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number to the spec
ified number of places\",\"help-contents\": \"Rounds a number to the nearest int
eger or to a specified number of decimal places. \\n\\nExample: ROUND(3.1415, 1)
= 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-va
r-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\",\"func-too
ltip\": \"Returns a string with trailing spaces removed\",\"help-contents\": \"R
eturns the string with any trailing spaces removed. \\n\\nExample: RTRIM(\\\"Ma
rket \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\": \"RUNNING_A
VG(expression)\",\"func-tooltip\": \"Returns the running average of an expressio
n\",\"help-contents\": \"Returns the running average of the given expression, fr
om the first row in the partition to the current row.\\n\\nExample: RUNNING_AVG(
SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING_COUNT\",
\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Returns the runn
ing count of an expression\",\"help-contents\": \"Returns the running count of t
he given expression, from the first row in the partition to the current row.\\n\
\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profit)\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"func-tooltip\":
\"Returns the running maximum of an expression\",\"help-contents\": \"Returns t
he running maximum of the given expression, from the first row in the partition
to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = running maximum o
f Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum of SUM(Profi
t)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\"
: false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expression)\",\"
func-tooltip\": \"Returns the running minimum of an expression\",\"help-contents
\": \"Returns the running minimum of the given expression, from the first row in
the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Profit])) = ru

nning minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = running minim


um of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\
"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"RUNNING_SUM(e
xpression)\",\"func-tooltip\": \"Returns the running sum of an expression\",\"he
lp-contents\": \"Returns the running sum of the given expression, from the first
row in the partition to the current row.\\n\\nExample: RUNNING_SUM(SUM([Profit]
)) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])) = running
count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"h
as-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCRIPT_BOOL(str
ing, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result from an R e
xpression\",\"help-contents\": \"Returns a Boolean result from a given R express
ion. The R expression is passed directly to a running Rserve instance. Use .arg#
in the R expression to reference parameters. In the following example, .arg1 is
equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.arg1)\\\", SU
M([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-varargs\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(string, expre
ssion, ...)\",\"func-tooltip\": \"Returns an integer result from an R expression
\",\"help-contents\": \"Returns an integer result from a given R expression. The
R expression is passed directly to a running Rserve instance. Use .arg# in the
R expression to reference parameters. In the following example, .arg1 is equal t
o SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)\\\", SUM([P
rofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args
\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(string, express
ion, ...)\",\"func-tooltip\": \"Returns a numeric result from an R expression\",
\"help-contents\": \"Returns a numeric result from a given R expression. The R e
xpression is passed directly to a running Rserve instance. Use .arg# in the R ex
pression to reference parameters. In the following example, .arg1 is equal to SU
M([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Profit]))\",\"
func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"
name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression, ...)\",\"f
unc-tooltip\": \"Returns a string result from an R expression\",\"help-contents\
": \"Returns a string result from a given R expression. The R expression is pass
ed directly to a running Rserve instance. Use .arg# in the R expression to refer
ence parameters. In the following example, .arg1 is equal to ATTR([Region]). \\n
\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\":
\"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns 1 for a posi
tive number\",\"help-contents\": \"Returns the sign of a number: 1 if the number
is positive, zero if the number is zero, or -1 if the number is negative.\\n\\n
Example: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angle)\",\"functooltip\": \"Returns the sine of a number\",\"help-contents\": \"Returns the sin
e of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/4) = 0.70710
6781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-arg
s\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tooltip\": \"Ret
urns the number of rows in the partition\",\"help-contents\": \"Returns the numb
er of rows in the partition.\\n\\nExample (partition has 5 rows):\\nSIZE( ) = 5\
",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"na
me\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"Returns a st
ring containing the specified number of spaces\",\"help-contents\": \"Returns a
string composed of the specified number of repeated spaces. \\n\\nExample: SPACE
(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-v
ar-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string, delimiter,
token number)\",\"func-tooltip\": \"Extracts a substring from a string\",\"helpcontents\": \"Returns a substring from a string, as determined by a delimiter ex
tracting the characters from the beginning or end of the string. \\n\\nExample:
SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-', -2) = 'c'\",
\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"locint\"],\"has
-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)\",\"func-to
oltip\": \"Returns the square root of a number\",\"help-contents\": \"Returns th

e square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps\":[\"num\"]


,\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SQUARE\",\"
func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the square of a numbe
r\",\"help-contents\": \"Returns the square of a given number. \\n\\nExample: SQ
UARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(string, subst
ring)\",\"func-tooltip\": \"Returns true if the specified string starts with the
specified substring\",\"help-contents\": \"Returns true if the string starts wi
th the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\"Ca\\\") is
true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-ar
gs\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\",\"func-too
ltip\": \"Returns the sample standard deviation for an expression\",\"help-conte
nts\": \"Returns the sample standard deviation of the expression.\\n\\nExample:
STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expression)\",\"fu
nc-tooltip\": \"Returns the population standard deviation for an expression\",\"
help-contents\": \"Returns the population standard deviation of the expression.\
\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"STR(expressio
n)\",\"func-tooltip\": \"Returns an expression as a string\",\"help-contents\":
\"Returns a string given an expression. \\n\\nExample: STR([Age]) returns all o
f the values of the Age measure as strings.\",\"func-grps\":[\"cast\"],\"func-ar
g-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",\"func-sig\"
: \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values in an expres
sion\",\"help-contents\": \"Returns the sum of all the values in the expression.
SUM can be used with numeric fields only. Null values are ignored.\\n\\nExample
: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"func-tooltip\
": \"Returns the tangent of an angle specified in radians\",\"help-contents\": \
"Returns the tangent of an angle. Specify the angle in radians.\\n\\nExample: TA
N(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN <then> [ELSE
IF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a
logical test and returns an appropriate value\",\"help-contents\": \"Tests a ser
ies of expressions returning the <then> value for the first true <expr>. \\n\\nE
xample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' E
LSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tooltip\": \"Ret
urns the current date\",\"help-contents\": \"Returns the current date. \\n\\nEx
ample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(expression)\",\
"func-tooltip\": \"Returns the total for an expression within the partition\",\"
help-contents\": \"Returns the total for the given expression.\\n\\nExample: TOT
AL(AVG([Profit])) = AVG(Profit) for all database rows that contribute to the par
tition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"func-tooltip\"
: \"Returns a string with leading and trailing spaces removed\",\"help-contents\
": \"Returns the string with both leading and trailing spaces removed. \\n\\nExa
mple: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"str\"],\"funcarg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",\"func-sig\"
: \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all uppercase charac
ters\",\"help-contents\": \"Converts a text string to all uppercase letters. \\n
\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\":[\"str\"],\
"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"USERDOMAIN\",\
"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain for the cur
rent user\",\"help-contents\": \"Returns the domain for the current user when th
e user is signed on to Tableau Server. Returns the Windows domain if the Tableau
Desktop user is on a domain. Otherwise this function returns a null string.\",\
"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\"
: \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Returns the user

name for the current user\",\"help-contents\": \"Returns the username for the c
urrent user. This is the Tableau Server or Tableau Online username when the user
is signed in; otherwise it is the local or network username for the Tableau Des
ktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fa
lse},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-tooltip\": \"Re
turns the sample variance for an expression\",\"help-contents\": \"Returns the s
ample variance of the expression.\\n\\nExample: VAR([Profit])\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"VARP
\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns the population
variance for an expression\",\"help-contents\": \"Returns the population varian
ce of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[\"agg\"],\"f
unc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHEN\",\"func-s
ig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"functooltip\": \"Performs logical tests and returns the appropriate value\",\"help-c
ontents\": \"Finds the first <value> that matches <expr> and returns the corresp
onding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WH
EN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\": \"WINDOW_
AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the average of the v
alues within the window\",\"help-contents\": \"Returns the average of the expres
sion within the window. The window is defined as offsets from the current row.
Use FIRST()+n and LAST()-n for offsets from the first or last row in the partiti
on. If start and end are omitted, the entire partition is used.\\n\\nExample: W
INDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the two previous r
ows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",
\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_COUNT\",\"
func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-tooltip\": \"Retur
ns the number of items within the window\",\"help-contents\": \"Returns the coun
t of the expression within the window. The window is defined as offsets from th
e current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\
\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WI
NDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"func-tooltip
\": \"Returns the maximum within the window\",\"help-contents\": \"Returns the m
aximum of the expression within the window. The window is defined as offsets fr
om the current row. Use FIRST()+n and LAST()-n for offsets from the first or las
t row in the partition. If start and end are omitted, the entire partition is u
sed.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Profit from the
two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([Profit]), -2
, 0) = maximum of SUM(Profit) from the two previous rows to the current row\",\"
func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"]
,\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\": \"WINDOW_ME
DIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the median within t
he window\",\"help-contents\": \"Returns the median of the expression within the
window. The window is defined as offsets from the current row. Use FIRST()+n a
nd LAST()-n for offsets from the first or last row in the partition. If start a
nd end are omitted, the entire partition is used.\\n\\nExample: WINDOW_MEDIAN(SU
M([Profit]), -2, 0) = median of SUM(Profit) from the two previous rows to the cu
rrent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\
"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"func-sig\": \"W
INDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns the minimum wi
thin the window\",\"help-contents\": \"Returns the minimum of the expression wit
hin the window. The window is defined as offsets from the current row. Use FIRS
T()+n and LAST()-n for offsets from the first or last row in the partition. If
start and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_MI
N(MIN([Profit]), -2, 0) = minimum of Profit from the two previous rows to the cu
rrent row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum of SUM(Profit
) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fu

nc-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(expression, num
ber, [start, end])\",\"func-tooltip\": \"Returns the percentile value at the spe
cified number\",\"help-contents\": \"Returns the value corresponding to the spec
ified percentile within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th percentile of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"ta
ble\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integer\"],\"has-v
ar-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW_STDEV(expre
ssion, [start, end])\",\"func-tooltip\": \"Returns the sample standard deviation
within the window\",\"help-contents\": \"Returns the sample standard deviation
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i
n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from t
he two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"
WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, end])\",\"func
-tooltip\": \"Returns the population standard deviation within the window\",\"he
lp-contents\": \"Returns the population standard deviation of the expression wit
hin the window. The window is defined as offsets from the current row. Use FIRS
T()+n and LAST()-n for offsets from the first or last row in the partition. If
start and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_ST
DEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two previous rows
to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"i
nteger\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_SUM\",\"funcsig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"Returns the
sum of values within the window\",\"help-contents\": \"Returns the sum of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the two previous r
ows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer
\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_VAR\",\
"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip\": \"Return
s the sample variance within the window\",\"help-contents\": \"Returns the sampl
e variance of the expression within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance of SUM(Profit
) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"na
me\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start, end])\",\"
func-tooltip\": \"Returns the population variance within the window\",\"help-con
tents\": \"Returns the population variance of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST()
-n for offsets from the first or last row in the partition. If start and end ar
e omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(SUM([Profit])
, -2, 0) = variance of SUM(Profit) from the two previous rows to the current row
\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\
"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR(date)\",\"f
unc-tooltip\": \"Returns the year of the specified date as an integer\",\"help-c
ontents\": \"Returns the year of a given date as an integer. \\n\\nExample: YEA
R(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime
\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(expression)\",
\"func-tooltip\": \"Returns the expression if it is not null\",\"help-contents\"
: \"Returns <expression> if it is not null, otherwise returns zero. \\n\\nExamp
le: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-types\":[\"integ

er\"],\"has-var-args\": false}]},\"calculation-context\": \"calculation-dialog\"


,\"use-parameters\": true} position=\"65\"","name":"tabdoc:calculation-auto-comp
lete"}}
{"ts":"2016-09-29T16:43:05.204","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:apply-calculation is-full-styling=\"false\" updated
-calculation-caption=\"Calculation2\" updated-calculation-formula=\"DATETRUNC('m
onth',[Order Date])-DATETRUNC('month',[Calculation1])\"","name":"tabdoc:apply-ca
lculation"}}
{"ts":"2016-09-29T16:43:05.208","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:apply-calculation is-full-styling=\"false\" update
d-calculation-caption=\"Calculation2\" updated-calculation-formula=\"DATETRUNC('
month',[Order Date])-DATETRUNC('month',[Calculation1])\"","name":"tabdoc:apply-c
alculation"}}
{"ts":"2016-09-29T16:43:05.982","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:clear-calculation-model","name":"tabdoc:clear-calcu
lation-model"}}
{"ts":"2016-09-29T16:43:05.982","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:clear-calculation-model","name":"tabdoc:clear-calcu
lation-model"}}
{"ts":"2016-09-29T16:43:05.982","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:clear-calculation-model","name":"tabdoc:clear-calc
ulation-model"}}
{"ts":"2016-09-29T16:43:05.982","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:clear-calculation-model","name":"tabdoc:clear-calc
ulation-model"}}
{"ts":"2016-09-29T16:43:10.189","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:add-to-sheet fn=\"[excel-direct.0s0w8bc1somq6z110no
i81jfj70l].[Calculation_5489888009455718401]\"","name":"tabdoc:add-to-sheet"}}
{"ts":"2016-09-29T16:43:10.190","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:43:10.191","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:43:10.191","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:43:10.191","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:43:10.191","pid":78016,"tid":"128fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"","owner-dashboard":"","owner-worksheet":"",
"query-id":0}}
{"ts":"2016-09-29T16:43:10.194","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AQTV3Z","elapsed-ms":"0","key-hash":"614210061","key-size-b":"8
0","outcome":"miss"}}
{"ts":"2016-09-29T16:43:10.194","pid":78016,"tid":"128fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"excel-direct","elapsed-ms":"0","key-hash":"3491118969","outc
ome":"miss-no-entry","query-kind":"abstract"}}
{"ts":"2016-09-29T16:43:10.199","pid":78016,"tid":"128fc","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Shadow extract file name: C:\\Users\\Vissu\\AppData\\Local\\Tableau\\Cachi
ng\\TemporaryExtracts\\5070ba7b14ff34c1ee7348d10175ea55647cd3a3b2c61a4d21bc9aa3c
051bab0.ttde"}
{"ts":"2016-09-29T16:43:10.200","pid":78016,"tid":"128fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:43:10.200","pid":78016,"tid":"128fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:43:10.200","pid":78016,"tid":"128fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:43:10.200","pid":78016,"tid":"128fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:43:10.200","pid":78016,"tid":"128fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:43:10.200","pid":78016,"tid":"128fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 1 msec."}
{"ts":"2016-09-29T16:43:10.211","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"NQTV1Z","elapsed-ms":"0","key-hash":"2387526748","key-size-b":"
78","outcome":"miss"}}
{"ts":"2016-09-29T16:43:10.213","pid":78016,"tid":"128fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"excel-direct","elapsed-ms":"2","key-hash":"4258947627","outc
ome":"miss-no-entry","query-kind":"native"}}
{"ts":"2016-09-29T16:43:10.213","pid":78016,"tid":"128fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(restrict\n (aggregate\n
(join\n
(table [TableauTemp].[Orders$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Orders$])\n
(\n
([Customer Name] [Cus
tomer Name])\n
)\n
(\n
([__measure__0]\n
(min [Order Date])\n
)\n
)\n
)\n
([
Customer Name] [__measure__0])\n
)\n
(\n
([Customer Name] [Cu
stomer Name])\n
)\n
(\n
([$temp0_output] [__measure__0])\n
)\n
1)\n
()\n
(\n
([sum:Calculation_5489888009455718401:ok]
\n
(sum\n
(-\n
(to_datetime\n
(truncmont
h [Order Date])\n
)\n
(to_datetime\n
(trunc
month [$temp0_output])\n
)\n
)\n
)\n
)\n
)\n
)\n ([sum:Calculation_5489888009455718401:ok])\n )\n","query-hash
":4258947627}}
{"ts":"2016-09-29T16:43:10.734","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:43:10.762","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":1,"elapsed":0.548,"protocol-id":2,"query":"(restrict\n (aggr
egate\n
(join\n
(table [TableauTemp].[Orders$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Orders$])\n
(\n
([Customer Name] [Customer Name])\n
)\n
(\n
([_
_measure__0]\n
(min [Order Date])\n
)\n
)\n
)\n
([Customer Name] [__measure__0])\n
)\n
(\n
([Customer Name] [Customer Name])\n
)\n
(\n
([$temp0_outpu
t] [__measure__0])\n
)\n
1)\n
()\n
(\n
([sum:Calculation_
5489888009455718401:ok]\n
(sum\n
(-\n
(to_datetime\n
(truncmonth [Order Date])\n
)\n
(to_datetim

e\n

(truncmonth [$temp0_output])\n
)\n
)\n
)\n
)\n
)\n
)\n ([sum:Calculation_5489888009455718401:o
k])\n )\n","query-hash":4258947627,"rows":1}}
{"ts":"2016-09-29T16:43:10.762","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"NQTV1Z","elapsed-ms":"0","key-hash":"2387526748","key-size-b":"
78","outcome":"miss"}}
{"ts":"2016-09-29T16:43:10.763","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-compress-data","v":{"compressed-size-b":"922","elapsed-ms":"0","outcome":"done"
,"uncompressed-size-b":"3646"}}
{"ts":"2016-09-29T16:43:10.763","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"class":"excel-direct","column-count":"1","elapsed-ms":"0","key-hash
":"4258947627","key-size-b":"1730","outcome":"try-store","query-kind":"native","
query-latency-ms":"561","row-count":"1","value-size-b":"504"}}
{"ts":"2016-09-29T16:43:10.764","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"NQRV1Z","elapsed-ms":"1","key-hash":"2168089606","key-size-b":
"112","load-time-ms":"250","lower-bound-ms":"20","outcome":"done","value-size-b"
:"922"}}
{"ts":"2016-09-29T16:43:10.765","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"NQTV1Z","elapsed-ms":"1","key-hash":"2387526748","key-size-b":
"78","load-time-ms":"250","lower-bound-ms":"20","outcome":"done","value-size-b":
"9"}}
{"ts":"2016-09-29T16:43:10.765","pid":78016,"tid":"128fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqclog-cache-key","v":{"cache-key":"<aq-cache-key are-all-local-sorts-supported='tr
ue' has-agg-measure-filters='false' has-lod-calcs='true' has-user-reference='fal
se' start-of-week='sunday' version='9.3'>\n <query aggregation='true' caching='
normal' hierarchize-rows='false' include-empty='false'>\n
<fields>\n
<ou
tput column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_548988
8009455718401:ok]' />\n
</fields>\n </query>\n <relation-xml>&lt;relation n
ame=&apos;Orders&apos; table=&apos;[Orders$]&apos; type=&apos;table&apos;&gt;&#1
0; &lt;columns gridOrigin=&apos;A1:U8400:no:A1:U8400:0&apos; header=&apos;yes&a
pos; outcome=&apos;2&apos;&gt;&#10;
&lt;column datatype=&apos;integer&apos; n
ame=&apos;Row ID&apos; ordinal=&apos;0&apos; /&gt;&#10;
&lt;column datatype=&
apos;integer&apos; name=&apos;Order ID&apos; ordinal=&apos;1&apos; /&gt;&#10;
&lt;column datatype=&apos;date&apos; name=&apos;Order Date&apos; ordinal=&apos;
2&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Order Pr
iority&apos; ordinal=&apos;3&apos; /&gt;&#10;
&lt;column datatype=&apos;integ
er&apos; name=&apos;Order Quantity&apos; ordinal=&apos;4&apos; /&gt;&#10;
&lt
;column datatype=&apos;real&apos; name=&apos;Sales&apos; ordinal=&apos;5&apos; /
&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Discount&apos; ordi
nal=&apos;6&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apo
s;Ship Mode&apos; ordinal=&apos;7&apos; /&gt;&#10;
&lt;column datatype=&apos;
real&apos; name=&apos;Profit&apos; ordinal=&apos;8&apos; /&gt;&#10;
&lt;colum
n datatype=&apos;real&apos; name=&apos;Unit Price&apos; ordinal=&apos;9&apos; /&
gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Shipping Cost&apos;
ordinal=&apos;10&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name
=&apos;Customer Name&apos; ordinal=&apos;11&apos; /&gt;&#10;
&lt;column datat
ype=&apos;string&apos; name=&apos;Province&apos; ordinal=&apos;12&apos; /&gt;&#1
0;
&lt;column datatype=&apos;string&apos; name=&apos;Region&apos; ordinal=&ap
os;13&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Cust
omer Segment&apos; ordinal=&apos;14&apos; /&gt;&#10;
&lt;column datatype=&apo
s;string&apos; name=&apos;Product Category&apos; ordinal=&apos;15&apos; /&gt;&#1
0;
&lt;column datatype=&apos;string&apos; name=&apos;Product Sub-Category&apo
s; ordinal=&apos;16&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; n
ame=&apos;Product Name&apos; ordinal=&apos;17&apos; /&gt;&#10;
&lt;column dat

atype=&apos;string&apos; name=&apos;Product Container&apos; ordinal=&apos;18&apo


s; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Product Base Ma
rgin&apos; ordinal=&apos;19&apos; /&gt;&#10;
&lt;column datatype=&apos;date&a
pos; name=&apos;Ship Date&apos; ordinal=&apos;20&apos; /&gt;&#10; &lt;/columns&
gt;&#10;&lt;/relation&gt;&#10;</relation-xml>\n <relation-names>\n
<relation
-name key='[Customer Name]' value='[Orders].[Customer Name]' />\n
<relation-n
ame key='[Customer Segment]' value='[Orders].[Customer Segment]' />\n
<relati
on-name key='[Discount]' value='[Orders].[Discount]' />\n
<relation-name key=
'[Order Date]' value='[Orders].[Order Date]' />\n
<relation-name key='[Order
ID]' value='[Orders].[Order ID]' />\n
<relation-name key='[Order Priority]' v
alue='[Orders].[Order Priority]' />\n
<relation-name key='[Order Quantity]' v
alue='[Orders].[Order Quantity]' />\n
<relation-name key='[Product Base Margi
n]' value='[Orders].[Product Base Margin]' />\n
<relation-name key='[Product
Category]' value='[Orders].[Product Category]' />\n
<relation-name key='[Prod
uct Container]' value='[Orders].[Product Container]' />\n
<relation-name key=
'[Product Name]' value='[Orders].[Product Name]' />\n
<relation-name key='[Pr
oduct Sub-Category]' value='[Orders].[Product Sub-Category]' />\n
<relation-n
ame key='[Profit]' value='[Orders].[Profit]' />\n
<relation-name key='[Provin
ce]' value='[Orders].[Province]' />\n
<relation-name key='[Region]' value='[O
rders].[Region]' />\n
<relation-name key='[Row ID]' value='[Orders].[Row ID]'
/>\n
<relation-name key='[Sales]' value='[Orders].[Sales]' />\n
<relation
-name key='[Ship Date]' value='[Orders].[Ship Date]' />\n
<relation-name key=
'[Ship Mode]' value='[Orders].[Ship Mode]' />\n
<relation-name key='[Shipping
Cost]' value='[Orders].[Shipping Cost]' />\n
<relation-name key='[Unit Price
]' value='[Orders].[Unit Price]' />\n </relation-names>\n <bindings>\n
<bin
ding key='[sum:Calculation_5489888009455718401:ok]' value='sum:Calculation_54898
88009455718401:ok' />\n </bindings>\n <lod />\n <measure-filter-lod />\n <ou
tput>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_
5489888009455718401:ok]</column>\n </output>\n <aggregates />\n <slicers />\n
<filtered />\n <local-filters />\n <calculations>\n
<calculation column='
[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Calculation_5489888009455513600]' f
ormula='{FIXED [Customer Name]:MIN([Order Date])}' />\n
<calculation column='
[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Calculation_5489888009455718401]' f
ormula='DATETRUNC(&apos;month&apos;,[Order Date])-DATETRUNC(&apos;month&apos;,[C
alculation_5489888009455513600])' />\n
<calculation column='[excel-direct.0s0
w8bc1somq6z110noi81jfj70l].[Customer Name]' formula='' />\n
<calculation colu
mn='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order Date]' formula='' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculati
on_5489888009455718401:ok]' formula='SUM([Calculation_5489888009455718401])' />\
n </calculations>\n <agg-types>\n
<agg-type column='[excel-direct.0s0w8bc1s
omq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:ok]' type='User' />\n
</agg-types>\n <data-types>\n
<data-type column='[excel-direct.0s0w8bc1somq
6z110noi81jfj70l].[Calculation_5489888009455513600]' type='date' />\n
<data-t
ype column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Calculation_54898880094
55718401]' type='real' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z11
0noi81jfj70l].[Customer Name]' type='string' />\n
<data-type column='[excel-d
irect.0s0w8bc1somq6z110noi81jfj70l].[Order Date]' type='date' />\n
<data-type
column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009
455718401:ok]' type='real' />\n </data-types>\n <current-user display-name=''
name='' short-domain-qualified-name='' type='user' />\n</aq-cache-key>\n","colum
n-count":"1","key-hash":"3491118969","key-size-b":"12916","query-kind":"abstract
","query-latency-ms":"574","row-count":"1","value-size-b":"504"}}
{"ts":"2016-09-29T16:43:10.766","pid":78016,"tid":"128fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"none","elapsed":0.574,"owner-component":"","owner-da
shboard":"","owner-worksheet":"","protocol-id":0,"query-id":0}}
{"ts":"2016-09-29T16:43:10.766","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AQTV3Z","elapsed-ms":"0","key-hash":"614210061","key-size-b":"8
0","outcome":"miss"}}

{"ts":"2016-09-29T16:43:10.766","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.575,"elapsed-compute-keys":0,"elapsed-sum":0.574,
"job-count":1,"jobs":[{"cache-hit":"none","elapsed":0.574,"owner-component":"","
owner-dashboard":"","owner-worksheet":"","protocol-id":0,"query-abstract":"<quer
y aggregation='true' caching='normal' hierarchize-rows='false' include-empty='fa
lse'>\n <fields>\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70
l].[sum:Calculation_5489888009455718401:qk]' />\n </fields>\n</query>\n","query
-compiled":"(restrict\n (aggregate\n
(join\n
(table [TableauTemp].[Orde
rs$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Orde
rs$])\n
(\n
([Customer Name] [Customer Name])\n
)
\n
(\n
([__measure__0]\n
(min [Order Date])\n
)\n
)\n
)\n
([Customer Name] [__measure__
0])\n
)\n
(\n
([Customer Name] [Customer Name])\n
)\n
(\n
([$temp0_output] [__measure__0])\n
)\n
1)\n
()\n
(\n
([sum:Calculation_5489888009455718401:ok]\n
(sum\n
(
-\n
(to_datetime\n
(truncmonth [Order Date])\n
)\n
(to_datetime\n
(truncmonth [$temp0_output])\n
)\n
)\n
)\n
)\n
)\n
)\n ([sum:Cal
culation_5489888009455718401:ok])\n )\n","query-id":0}]}}
{"ts":"2016-09-29T16:43:10.766","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:43:10.766","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-compress-data","v":{"compressed-size-b":"2382","elapsed-ms":"0","outcome":"done
","uncompressed-size-b":"18762"}}
{"ts":"2016-09-29T16:43:10.766","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AbstractQueryHistoryV2Z","elapsed-ms":"0","key-hash":"386894654
7","key-size-b":"124","outcome":"miss"}}
{"ts":"2016-09-29T16:43:10.767","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:43:10.768","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:add-to-sheet fn=\"[excel-direct.0s0w8bc1somq6z110n
oi81jfj70l].[Calculation_5489888009455718401]\"","name":"tabdoc:add-to-sheet"}}
{"ts":"2016-09-29T16:43:10.770","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AQTV3Z","elapsed-ms":"4","key-hash":"614210061","key-size-b":"
80","load-time-ms":"250","lower-bound-ms":"20","outcome":"done","value-size-b":"
9"}}
{"ts":"2016-09-29T16:43:10.771","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AQRV3Z","elapsed-ms":"4","key-hash":"632662999","key-size-b":"
114","load-time-ms":"250","lower-bound-ms":"20","outcome":"done","value-size-b":
"2382"}}
{"ts":"2016-09-29T16:43:10.771","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AbstractQueryHistoryV2Z","elapsed-ms":"3","key-hash":"38689465
47","key-size-b":"124","load-time-ms":"500","lower-bound-ms":"20","outcome":"don
e","value-size-b":"18068"}}
{"ts":"2016-09-29T16:43:10.771","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"class":"excel-direct","column-count":"1","elapsed-ms":"5","key-hash
":"3491118969","key-size-b":"12916","outcome":"try-store","query-kind":"abstract
","query-latency-ms":"574","row-count":"1","value-size-b":"504"}}
{"ts":"2016-09-29T16:43:10.774","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i

nfo","v":"Received for processing a query batch of 1 queries."}


{"ts":"2016-09-29T16:43:10.774","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:43:10.774","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:43:10.774","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:43:10.775","pid":78016,"tid":"13998","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:43:10.789","pid":78016,"tid":"13998","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:43:10.789","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.015,"elapsed-compute-keys":0,"elapsed-sum":0.014,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[su
m:Calculation_5489888009455718401:qk]' />\n </fields>\n</query>\n","query-id":0
}]}}
{"ts":"2016-09-29T16:43:10.793","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:43:10.794","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:43:10.795","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:43:10.795","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:43:10.795","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:10.795","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:10.795","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:10.795","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:10.796","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:10.797","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:43:10.797","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.001}}

{"ts":"2016-09-29T16:43:10.797","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:43:10.802","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0.003}}
{"ts":"2016-09-29T16:43:10.807","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.009}}
{"ts":"2016-09-29T16:43:10.810","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.016 sec"}
{"ts":"2016-09-29T16:43:10.810","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.016,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:43:11.210","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"OpenGL hardware meets requirements. Window using OpenGL."}
{"ts":"2016-09-29T16:43:11.210","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"GL_VENDOR: Google Inc."}
{"ts":"2016-09-29T16:43:11.210","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"GL_RENDERER: ANGLE (Intel(R) HD Graphics 4600 Direct3D9Ex vs_3_0 ps_3_0)"}
{"ts":"2016-09-29T16:43:11.210","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"GL_VERSION: OpenGL ES 2.0 (ANGLE 2.1.30d6c255d238)"}
{"ts":"2016-09-29T16:43:11.387","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:43:11.389","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Create framebuffer 64,751."}
{"ts":"2016-09-29T16:43:11.392","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:43:11.426","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:43:11.472","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:43:16.636","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:add-to-sheet fn=\"[excel-direct.0s0w8bc1somq6z110no
i81jfj70l].[Sales]\"","name":"tabdoc:add-to-sheet"}}
{"ts":"2016-09-29T16:43:16.637","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:43:16.639","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:43:16.639","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:43:16.639","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:43:16.791","pid":78016,"tid":"f69c","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-qu

ery-begin","v":{"owner-component":"","owner-dashboard":"","owner-worksheet":"","
query-id":0}}
{"ts":"2016-09-29T16:43:16.794","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AQTV3Z","elapsed-ms":"0","key-hash":"1978854914","key-size-b":"
82","outcome":"miss"}}
{"ts":"2016-09-29T16:43:16.794","pid":78016,"tid":"f69c","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqc-l
oad","v":{"class":"excel-direct","elapsed-ms":"0","key-hash":"1994133637","outco
me":"miss-no-entry","query-kind":"abstract"}}
{"ts":"2016-09-29T16:43:16.800","pid":78016,"tid":"f69c","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg",
"v":"Shadow extract file name: C:\\Users\\Vissu\\AppData\\Local\\Tableau\\Cachin
g\\TemporaryExtracts\\5070ba7b14ff34c1ee7348d10175ea55647cd3a3b2c61a4d21bc9aa3c0
51bab0.ttde"}
{"ts":"2016-09-29T16:43:16.800","pid":78016,"tid":"f69c","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg",
"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:43:16.800","pid":78016,"tid":"f69c","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg",
"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 1 msec."}
{"ts":"2016-09-29T16:43:16.800","pid":78016,"tid":"f69c","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg",
"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:43:16.801","pid":78016,"tid":"f69c","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg",
"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:43:16.801","pid":78016,"tid":"f69c","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg",
"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:43:16.801","pid":78016,"tid":"f69c","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg",
"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:43:16.803","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"NQTV1Z","elapsed-ms":"0","key-hash":"1519156184","key-size-b":"
82","outcome":"miss"}}
{"ts":"2016-09-29T16:43:16.803","pid":78016,"tid":"f69c","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqc-l
oad","v":{"class":"excel-direct","elapsed-ms":"0","key-hash":"3023739972","outco
me":"miss-no-entry","query-kind":"native"}}
{"ts":"2016-09-29T16:43:16.803","pid":78016,"tid":"f69c","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begin
-query","v":{"protocol-id":2,"query":"(restrict\n (aggregate\n
(join\n
(table [TableauTemp].[Orders$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Orders$])\n
(\n
([Customer Name] [Cust
omer Name])\n
)\n
(\n
([__measure__0]\n
(min [Order Date])\n
)\n
)\n
)\n
([C
ustomer Name] [__measure__0])\n
)\n
(\n
([Customer Name] [Cus
tomer Name])\n
)\n
(\n
([$temp0_output] [__measure__0])\n
)\n
1)\n
()\n
(\n
([sum:Calculation_5489888009455718401:ok]\
n
(sum\n
(-\n
(to_datetime\n
(truncmonth
[Order Date])\n
)\n
(to_datetime\n
(truncm
onth [$temp0_output])\n
)\n
)\n
)\n
)\n
([sum:Sales:ok]\n
(sum [Sales])\n
)\n
)\n
)\n ([sum:
Calculation_5489888009455718401:ok] [sum:Sales:ok])\n )\n","query-hash":3023739
972}}
{"ts":"2016-09-29T16:43:16.905","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}

{"ts":"2016-09-29T16:43:16.990","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":2,"elapsed":0.186,"protocol-id":2,"query":"(restrict\n (aggr
egate\n
(join\n
(table [TableauTemp].[Orders$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Orders$])\n
(\n
([Customer Name] [Customer Name])\n
)\n
(\n
([_
_measure__0]\n
(min [Order Date])\n
)\n
)\n
)\n
([Customer Name] [__measure__0])\n
)\n
(\n
([Customer Name] [Customer Name])\n
)\n
(\n
([$temp0_outpu
t] [__measure__0])\n
)\n
1)\n
()\n
(\n
([sum:Calculation_
5489888009455718401:ok]\n
(sum\n
(-\n
(to_datetime\n
(truncmonth [Order Date])\n
)\n
(to_datetim
e\n
(truncmonth [$temp0_output])\n
)\n
)\n
)\n
)\n
([sum:Sales:ok]\n
(sum [Sales])\n
)\n
)\n
)\n ([sum:Calculation_5489888009455718401:ok] [sum:Sales:ok])\n )
\n","query-hash":3023739972,"rows":1}}
{"ts":"2016-09-29T16:43:16.990","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"NQTV1Z","elapsed-ms":"0","key-hash":"1519156184","key-size-b":"
82","outcome":"miss"}}
{"ts":"2016-09-29T16:43:16.990","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-compress-data","v":{"compressed-size-b":"1030","elapsed-ms":"0","outcome":"done
","uncompressed-size-b":"4712"}}
{"ts":"2016-09-29T16:43:16.991","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"class":"excel-direct","column-count":"2","elapsed-ms":"0","key-hash
":"3023739972","key-size-b":"1868","outcome":"try-store","query-kind":"native","
query-latency-ms":"187","row-count":"1","value-size-b":"1008"}}
{"ts":"2016-09-29T16:43:16.992","pid":78016,"tid":"f69c","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqc-l
og-cache-key","v":{"cache-key":"<aq-cache-key are-all-local-sorts-supported='tru
e' has-agg-measure-filters='false' has-lod-calcs='true' has-user-reference='fals
e' start-of-week='sunday' version='9.3'>\n <query aggregation='true' caching='n
ormal' hierarchize-rows='false' include-empty='false'>\n
<fields>\n
<out
put column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888
009455718401:ok]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81
jfj70l].[sum:Sales:ok]' />\n
</fields>\n </query>\n <relation-xml>&lt;relat
ion name=&apos;Orders&apos; table=&apos;[Orders$]&apos; type=&apos;table&apos;&g
t;&#10; &lt;columns gridOrigin=&apos;A1:U8400:no:A1:U8400:0&apos; header=&apos;
yes&apos; outcome=&apos;2&apos;&gt;&#10;
&lt;column datatype=&apos;integer&ap
os; name=&apos;Row ID&apos; ordinal=&apos;0&apos; /&gt;&#10;
&lt;column datat
ype=&apos;integer&apos; name=&apos;Order ID&apos; ordinal=&apos;1&apos; /&gt;&#1
0;
&lt;column datatype=&apos;date&apos; name=&apos;Order Date&apos; ordinal=&
apos;2&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Ord
er Priority&apos; ordinal=&apos;3&apos; /&gt;&#10;
&lt;column datatype=&apos;
integer&apos; name=&apos;Order Quantity&apos; ordinal=&apos;4&apos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Sales&apos; ordinal=&apos;5&ap
os; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Discount&apos;
ordinal=&apos;6&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name
=&apos;Ship Mode&apos; ordinal=&apos;7&apos; /&gt;&#10;
&lt;column datatype=&
apos;real&apos; name=&apos;Profit&apos; ordinal=&apos;8&apos; /&gt;&#10;
&lt;
column datatype=&apos;real&apos; name=&apos;Unit Price&apos; ordinal=&apos;9&apo
s; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Shipping Cost&a
pos; ordinal=&apos;10&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos;
name=&apos;Customer Name&apos; ordinal=&apos;11&apos; /&gt;&#10;
&lt;column
datatype=&apos;string&apos; name=&apos;Province&apos; ordinal=&apos;12&apos; /&g
t;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Region&apos; ordina
l=&apos;13&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos
;Customer Segment&apos; ordinal=&apos;14&apos; /&gt;&#10;
&lt;column datatype

=&apos;string&apos; name=&apos;Product Category&apos; ordinal=&apos;15&apos; /&g


t;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Product Sub-Categor
y&apos; ordinal=&apos;16&apos; /&gt;&#10;
&lt;column datatype=&apos;string&ap
os; name=&apos;Product Name&apos; ordinal=&apos;17&apos; /&gt;&#10;
&lt;colum
n datatype=&apos;string&apos; name=&apos;Product Container&apos; ordinal=&apos;1
8&apos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Product Ba
se Margin&apos; ordinal=&apos;19&apos; /&gt;&#10;
&lt;column datatype=&apos;d
ate&apos; name=&apos;Ship Date&apos; ordinal=&apos;20&apos; /&gt;&#10; &lt;/col
umns&gt;&#10;&lt;/relation&gt;&#10;</relation-xml>\n <relation-names>\n
<rel
ation-name key='[Customer Name]' value='[Orders].[Customer Name]' />\n
<relat
ion-name key='[Customer Segment]' value='[Orders].[Customer Segment]' />\n
<r
elation-name key='[Discount]' value='[Orders].[Discount]' />\n
<relation-name
key='[Order Date]' value='[Orders].[Order Date]' />\n
<relation-name key='[O
rder ID]' value='[Orders].[Order ID]' />\n
<relation-name key='[Order Priorit
y]' value='[Orders].[Order Priority]' />\n
<relation-name key='[Order Quantit
y]' value='[Orders].[Order Quantity]' />\n
<relation-name key='[Product Base
Margin]' value='[Orders].[Product Base Margin]' />\n
<relation-name key='[Pro
duct Category]' value='[Orders].[Product Category]' />\n
<relation-name key='
[Product Container]' value='[Orders].[Product Container]' />\n
<relation-name
key='[Product Name]' value='[Orders].[Product Name]' />\n
<relation-name key
='[Product Sub-Category]' value='[Orders].[Product Sub-Category]' />\n
<relat
ion-name key='[Profit]' value='[Orders].[Profit]' />\n
<relation-name key='[P
rovince]' value='[Orders].[Province]' />\n
<relation-name key='[Region]' valu
e='[Orders].[Region]' />\n
<relation-name key='[Row ID]' value='[Orders].[Row
ID]' />\n
<relation-name key='[Sales]' value='[Orders].[Sales]' />\n
<rel
ation-name key='[Ship Date]' value='[Orders].[Ship Date]' />\n
<relation-name
key='[Ship Mode]' value='[Orders].[Ship Mode]' />\n
<relation-name key='[Shi
pping Cost]' value='[Orders].[Shipping Cost]' />\n
<relation-name key='[Unit
Price]' value='[Orders].[Unit Price]' />\n </relation-names>\n <bindings>\n
<binding key='[sum:Calculation_5489888009455718401:ok]' value='sum:Calculation_
5489888009455718401:ok' />\n
<binding key='[sum:Sales:ok]' value='sum:Sales:o
k' />\n </bindings>\n <lod />\n <measure-filter-lod />\n <output>\n
<colu
mn>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718
401:ok]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:S
ales:ok]</column>\n </output>\n <aggregates />\n <slicers />\n <filtered />\
n <local-filters />\n <calculations>\n
<calculation column='[excel-direct.0
s0w8bc1somq6z110noi81jfj70l].[Calculation_5489888009455513600]' formula='{FIXED
[Customer Name]:MIN([Order Date])}' />\n
<calculation column='[excel-direct.0
s0w8bc1somq6z110noi81jfj70l].[Calculation_5489888009455718401]' formula='DATETRU
NC(&apos;month&apos;,[Order Date])-DATETRUNC(&apos;month&apos;,[Calculation_5489
888009455513600])' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z110n
oi81jfj70l].[Customer Name]' formula='' />\n
<calculation column='[excel-dire
ct.0s0w8bc1somq6z110noi81jfj70l].[Order Date]' formula='' />\n
<calculation c
olumn='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Sales]' formula='' />\n
<
calculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation
_5489888009455718401:ok]' formula='SUM([Calculation_5489888009455718401])' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:Sales:o
k]' formula='SUM([Sales])' />\n </calculations>\n <agg-types>\n
<agg-type c
olumn='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_548988800945
5718401:ok]' type='User' />\n
<agg-type column='[excel-direct.0s0w8bc1somq6z1
10noi81jfj70l].[sum:Sales:ok]' type='Sum' />\n </agg-types>\n <data-types>\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Calculation_54
89888009455513600]' type='date' />\n
<data-type column='[excel-direct.0s0w8bc
1somq6z110noi81jfj70l].[Calculation_5489888009455718401]' type='real' />\n
<d
ata-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Customer Name]' ty
pe='string' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70
l].[Order Date]' type='date' />\n
<data-type column='[excel-direct.0s0w8bc1so
mq6z110noi81jfj70l].[Sales]' type='real' />\n
<data-type column='[excel-direc
t.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:ok]' type='
real' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[su

m:Sales:ok]' type='real' />\n </data-types>\n <current-user display-name='' na


me='' short-domain-qualified-name='' type='user' />\n</aq-cache-key>\n","columncount":"2","key-hash":"1994133637","key-size-b":"14338","query-kind":"abstract",
"query-latency-ms":"200","row-count":"1","value-size-b":"1008"}}
{"ts":"2016-09-29T16:43:16.992","pid":78016,"tid":"f69c","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-qu
ery-end","v":{"cache-hit":"none","elapsed":0.201,"owner-component":"","owner-das
hboard":"","owner-worksheet":"","protocol-id":0,"query-id":0}}
{"ts":"2016-09-29T16:43:16.992","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"NQTV1Z","elapsed-ms":"1","key-hash":"1519156184","key-size-b":
"82","load-time-ms":"187","lower-bound-ms":"20","outcome":"done","value-size-b":
"9"}}
{"ts":"2016-09-29T16:43:16.992","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AQTV3Z","elapsed-ms":"0","key-hash":"1978854914","key-size-b":"
82","outcome":"miss"}}
{"ts":"2016-09-29T16:43:16.993","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-compress-data","v":{"compressed-size-b":"2537","elapsed-ms":"0","outcome":"done
","uncompressed-size-b":"21186"}}
{"ts":"2016-09-29T16:43:16.993","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"NQRV1Z","elapsed-ms":"1","key-hash":"1088732648","key-size-b":
"116","load-time-ms":"187","lower-bound-ms":"20","outcome":"done","value-size-b"
:"1030"}}
{"ts":"2016-09-29T16:43:16.994","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AQTV3Z","elapsed-ms":"1","key-hash":"1978854914","key-size-b":
"82","load-time-ms":"200","lower-bound-ms":"20","outcome":"done","value-size-b":
"9"}}
{"ts":"2016-09-29T16:43:16.994","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AQRV3Z","elapsed-ms":"1","key-hash":"873453046","key-size-b":"
116","load-time-ms":"200","lower-bound-ms":"20","outcome":"done","value-size-b":
"2537"}}
{"ts":"2016-09-29T16:43:16.994","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.357,"elapsed-compute-keys":0,"elapsed-sum":0.201,
"job-count":1,"jobs":[{"cache-hit":"none","elapsed":0.201,"owner-component":"","
owner-dashboard":"","owner-worksheet":"","protocol-id":0,"query-abstract":"<quer
y aggregation='true' caching='normal' hierarchize-rows='false' include-empty='fa
lse'>\n <fields>\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70
l].[sum:Calculation_5489888009455718401:qk]' />\n
<output column='[excel-dire
ct.0s0w8bc1somq6z110noi81jfj70l].[sum:Sales:qk]' />\n </fields>\n</query>\n","q
uery-compiled":"(restrict\n (aggregate\n
(join\n
(table [TableauTemp].[
Orders$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[
Orders$])\n
(\n
([Customer Name] [Customer Name])\n
)\n
(\n
([__measure__0]\n
(min [Order Date])
\n
)\n
)\n
)\n
([Customer Name] [__measu
re__0])\n
)\n
(\n
([Customer Name] [Customer Name])\n
)\n
(\n
([$temp0_output] [__measure__0])\n
)\n
1)\n
(
)\n
(\n
([sum:Calculation_5489888009455718401:ok]\n
(sum\n
(-\n
(to_datetime\n
(truncmonth [Order Date])\n
)\n
(to_datetime\n
(truncmonth [$temp0_output])\
n
)\n
)\n
)\n
)\n
([sum:Sales:ok]\n
(sum [Sales])\n
)\n
)\n
)\n ([sum:Calculation_5489888009
455718401:ok] [sum:Sales:ok])\n )\n","query-id":0}]}}
{"ts":"2016-09-29T16:43:16.994","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi

n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:43:16.995","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AbstractQueryHistoryV2Z","elapsed-ms":"0","key-hash":"386894654
7","key-size-b":"124","outcome":"hit","value-size-b":"18068"}}
{"ts":"2016-09-29T16:43:16.996","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:43:16.996","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:add-to-sheet fn=\"[excel-direct.0s0w8bc1somq6z110n
oi81jfj70l].[Sales]\"","name":"tabdoc:add-to-sheet"}}
{"ts":"2016-09-29T16:43:16.997","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AbstractQueryHistoryV2Z","elapsed-ms":"1","key-hash":"38689465
47","key-size-b":"124","load-time-ms":"500","lower-bound-ms":"20","outcome":"don
e","value-size-b":"37986"}}
{"ts":"2016-09-29T16:43:16.997","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"class":"excel-direct","column-count":"2","elapsed-ms":"4","key-hash
":"1994133637","key-size-b":"14338","outcome":"try-store","query-kind":"abstract
","query-latency-ms":"200","row-count":"1","value-size-b":"1008"}}
{"ts":"2016-09-29T16:43:16.998","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:43:16.998","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:43:16.998","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:43:16.998","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:43:16.999","pid":78016,"tid":"1387c","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:43:17.001","pid":78016,"tid":"1387c","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:43:17.001","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.002,"elapsed-compute-keys":0,"elapsed-sum":0.001,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[su
m:Calculation_5489888009455718401:qk]' />\n
<output column='[excel-direct.0s0
w8bc1somq6z110noi81jfj70l].[sum:Sales:qk]' />\n </fields>\n</query>\n","query-i
d":0}]}}
{"ts":"2016-09-29T16:43:17.006","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:43:17.007","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:43:17.008","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"end-

data-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:43:17.008","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:43:17.008","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:17.008","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:17.008","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:17.008","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:17.008","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:17.009","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:43:17.009","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:43:17.010","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:43:17.011","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:17.044","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.034}}
{"ts":"2016-09-29T16:43:17.045","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.038 sec"}
{"ts":"2016-09-29T16:43:17.045","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.038,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:43:17.150","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:43:17.150","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"Error: OpenGL Error: 1280"}
{"ts":"2016-09-29T16:43:17.150","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"OpenGL Error occurred before bindTexture."}
{"ts":"2016-09-29T16:43:17.158","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Create framebuffer 768,751."}
{"ts":"2016-09-29T16:43:17.159","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:43:17.270","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:43:17.329","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"

,"v":"Finished rendering sheet: Sheet 1"}


{"ts":"2016-09-29T16:43:19.276","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: invoking the context menu."}
{"ts":"2016-09-29T16:43:22.695","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: context menu event loop returned."}
{"ts":"2016-09-29T16:43:22.717","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:change-aggregation-ui aggregation=\"average\"","name
":"tabui:change-aggregation-ui"}}
{"ts":"2016-09-29T16:43:22.718","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:change-aggregation-ui aggregation=\"average\"","nam
e":"tabui:change-aggregation-ui"}}
{"ts":"2016-09-29T16:43:22.724","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:43:22.725","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:43:22.726","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:43:22.726","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:43:22.726","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:43:22.726","pid":78016,"tid":"12d40","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:43:22.730","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AQTV3Z","elapsed-ms":"0","key-hash":"406191904","key-size-b":"8
0","outcome":"miss"}}
{"ts":"2016-09-29T16:43:22.730","pid":78016,"tid":"12d40","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"excel-direct","elapsed-ms":"0","key-hash":"1285549160","outc
ome":"miss-no-entry","query-kind":"abstract"}}
{"ts":"2016-09-29T16:43:22.735","pid":78016,"tid":"12d40","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Shadow extract file name: C:\\Users\\Vissu\\AppData\\Local\\Tableau\\Cachi
ng\\TemporaryExtracts\\5070ba7b14ff34c1ee7348d10175ea55647cd3a3b2c61a4d21bc9aa3c
051bab0.ttde"}
{"ts":"2016-09-29T16:43:22.735","pid":78016,"tid":"12d40","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:43:22.735","pid":78016,"tid":"12d40","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:43:22.736","pid":78016,"tid":"12d40","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:43:22.736","pid":78016,"tid":"12d40","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:43:22.736","pid":78016,"tid":"12d40","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:43:22.736","pid":78016,"tid":"12d40","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 1 msec."}
{"ts":"2016-09-29T16:43:22.738","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"NQTV1Z","elapsed-ms":"0","key-hash":"3972171643","key-size-b":"
76","outcome":"miss"}}
{"ts":"2016-09-29T16:43:22.738","pid":78016,"tid":"12d40","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"excel-direct","elapsed-ms":"0","key-hash":"938992980","outco
me":"miss-no-entry","query-kind":"native"}}
{"ts":"2016-09-29T16:43:22.738","pid":78016,"tid":"12d40","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(restrict\n (aggregate\n
(join\n
(table [TableauTemp].[Orders$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Orders$])\n
(\n
([Customer Name] [Cus
tomer Name])\n
)\n
(\n
([__measure__1]\n
(min [Order Date])\n
)\n
)\n
)\n
([
Customer Name] [__measure__1])\n
)\n
(\n
([Customer Name] [Cu
stomer Name])\n
)\n
(\n
([$temp0_output] [__measure__1])\n
)\n
1)\n
()\n
(\n
([avg:Sales:ok]\n
(average [Sales]
)\n
)\n
([sum:Calculation_5489888009455718401:ok]\n
(sum\n
(-\n
(to_datetime\n
(truncmonth [Order Date])\n
)\n
(to_datetime\n
(truncmonth [$temp0_outpu
t])\n
)\n
)\n
)\n
)\n
)\n
)\n (
[avg:Sales:ok] [sum:Calculation_5489888009455718401:ok])\n )\n","query-hash":93
8992980}}
{"ts":"2016-09-29T16:43:22.738","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:43:22.750","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":2,"elapsed":0.013,"protocol-id":2,"query":"(restrict\n (aggr
egate\n
(join\n
(table [TableauTemp].[Orders$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Orders$])\n
(\n
([Customer Name] [Customer Name])\n
)\n
(\n
([_
_measure__1]\n
(min [Order Date])\n
)\n
)\n
)\n
([Customer Name] [__measure__1])\n
)\n
(\n
([Customer Name] [Customer Name])\n
)\n
(\n
([$temp0_outpu
t] [__measure__1])\n
)\n
1)\n
()\n
(\n
([avg:Sales:ok]\n
(average [Sales])\n
)\n
([sum:Calculation_5489888009455718401
:ok]\n
(sum\n
(-\n
(to_datetime\n
(trunc
month [Order Date])\n
)\n
(to_datetime\n
(t
runcmonth [$temp0_output])\n
)\n
)\n
)\n
)\n
)\n
)\n ([avg:Sales:ok] [sum:Calculation_5489888009455718401:ok])\
n )\n","query-hash":938992980,"rows":1}}
{"ts":"2016-09-29T16:43:22.751","pid":78016,"tid":"12d40","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"column-count":"2","outcome":"ignore-fast","query-kind":"native","qu
ery-latency-ms":"13","row-count":"1","value-size-b":"1008"}}
{"ts":"2016-09-29T16:43:22.752","pid":78016,"tid":"12d40","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqclog-cache-key","v":{"cache-key":"<aq-cache-key are-all-local-sorts-supported='tr
ue' has-agg-measure-filters='false' has-lod-calcs='true' has-user-reference='fal
se' start-of-week='sunday' version='9.3'>\n <query aggregation='true' caching='
normal' hierarchize-rows='false' include-empty='false'>\n
<fields>\n
<ou
tput column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:ok]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_

5489888009455718401:ok]' />\n
</fields>\n </query>\n <relation-xml>&lt;rela
tion name=&apos;Orders&apos; table=&apos;[Orders$]&apos; type=&apos;table&apos;&
gt;&#10; &lt;columns gridOrigin=&apos;A1:U8400:no:A1:U8400:0&apos; header=&apos
;yes&apos; outcome=&apos;2&apos;&gt;&#10;
&lt;column datatype=&apos;integer&a
pos; name=&apos;Row ID&apos; ordinal=&apos;0&apos; /&gt;&#10;
&lt;column data
type=&apos;integer&apos; name=&apos;Order ID&apos; ordinal=&apos;1&apos; /&gt;&#
10;
&lt;column datatype=&apos;date&apos; name=&apos;Order Date&apos; ordinal=
&apos;2&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Or
der Priority&apos; ordinal=&apos;3&apos; /&gt;&#10;
&lt;column datatype=&apos
;integer&apos; name=&apos;Order Quantity&apos; ordinal=&apos;4&apos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Sales&apos; ordinal=&apos;5&a
pos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Discount&apos
; ordinal=&apos;6&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; nam
e=&apos;Ship Mode&apos; ordinal=&apos;7&apos; /&gt;&#10;
&lt;column datatype=
&apos;real&apos; name=&apos;Profit&apos; ordinal=&apos;8&apos; /&gt;&#10;
&lt
;column datatype=&apos;real&apos; name=&apos;Unit Price&apos; ordinal=&apos;9&ap
os; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Shipping Cost&
apos; ordinal=&apos;10&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos
; name=&apos;Customer Name&apos; ordinal=&apos;11&apos; /&gt;&#10;
&lt;column
datatype=&apos;string&apos; name=&apos;Province&apos; ordinal=&apos;12&apos; /&
gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Region&apos; ordin
al=&apos;13&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apo
s;Customer Segment&apos; ordinal=&apos;14&apos; /&gt;&#10;
&lt;column datatyp
e=&apos;string&apos; name=&apos;Product Category&apos; ordinal=&apos;15&apos; /&
gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Product Sub-Catego
ry&apos; ordinal=&apos;16&apos; /&gt;&#10;
&lt;column datatype=&apos;string&a
pos; name=&apos;Product Name&apos; ordinal=&apos;17&apos; /&gt;&#10;
&lt;colu
mn datatype=&apos;string&apos; name=&apos;Product Container&apos; ordinal=&apos;
18&apos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Product B
ase Margin&apos; ordinal=&apos;19&apos; /&gt;&#10;
&lt;column datatype=&apos;
date&apos; name=&apos;Ship Date&apos; ordinal=&apos;20&apos; /&gt;&#10; &lt;/co
lumns&gt;&#10;&lt;/relation&gt;&#10;</relation-xml>\n <relation-names>\n
<re
lation-name key='[Customer Name]' value='[Orders].[Customer Name]' />\n
<rela
tion-name key='[Customer Segment]' value='[Orders].[Customer Segment]' />\n
<
relation-name key='[Discount]' value='[Orders].[Discount]' />\n
<relation-nam
e key='[Order Date]' value='[Orders].[Order Date]' />\n
<relation-name key='[
Order ID]' value='[Orders].[Order ID]' />\n
<relation-name key='[Order Priori
ty]' value='[Orders].[Order Priority]' />\n
<relation-name key='[Order Quanti
ty]' value='[Orders].[Order Quantity]' />\n
<relation-name key='[Product Base
Margin]' value='[Orders].[Product Base Margin]' />\n
<relation-name key='[Pr
oduct Category]' value='[Orders].[Product Category]' />\n
<relation-name key=
'[Product Container]' value='[Orders].[Product Container]' />\n
<relation-nam
e key='[Product Name]' value='[Orders].[Product Name]' />\n
<relation-name ke
y='[Product Sub-Category]' value='[Orders].[Product Sub-Category]' />\n
<rela
tion-name key='[Profit]' value='[Orders].[Profit]' />\n
<relation-name key='[
Province]' value='[Orders].[Province]' />\n
<relation-name key='[Region]' val
ue='[Orders].[Region]' />\n
<relation-name key='[Row ID]' value='[Orders].[Ro
w ID]' />\n
<relation-name key='[Sales]' value='[Orders].[Sales]' />\n
<re
lation-name key='[Ship Date]' value='[Orders].[Ship Date]' />\n
<relation-nam
e key='[Ship Mode]' value='[Orders].[Ship Mode]' />\n
<relation-name key='[Sh
ipping Cost]' value='[Orders].[Shipping Cost]' />\n
<relation-name key='[Unit
Price]' value='[Orders].[Unit Price]' />\n </relation-names>\n <bindings>\n
<binding key='[avg:Sales:ok]' value='avg:Sales:ok' />\n
<binding key='[sum:
Calculation_5489888009455718401:ok]' value='sum:Calculation_5489888009455718401:
ok' />\n </bindings>\n <lod />\n <measure-filter-lod />\n <output>\n
<col
umn>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:ok]</column>\n
<co
lumn>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_54898880094557
18401:ok]</column>\n </output>\n <aggregates />\n <slicers />\n <filtered />
\n <local-filters />\n <calculations>\n
<calculation column='[excel-direct.
0s0w8bc1somq6z110noi81jfj70l].[Calculation_5489888009455513600]' formula='{FIXED

[Customer Name]:MIN([Order Date])}' />\n


<calculation column='[excel-direct.
0s0w8bc1somq6z110noi81jfj70l].[Calculation_5489888009455718401]' formula='DATETR
UNC(&apos;month&apos;,[Order Date])-DATETRUNC(&apos;month&apos;,[Calculation_548
9888009455513600])' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z110
noi81jfj70l].[Customer Name]' formula='' />\n
<calculation column='[excel-dir
ect.0s0w8bc1somq6z110noi81jfj70l].[Order Date]' formula='' />\n
<calculation
column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Sales]' formula='' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:ok]'
formula='AVG([Sales])' />\n
<calculation column='[excel-direct.0s0w8bc1somq6
z110noi81jfj70l].[sum:Calculation_5489888009455718401:ok]' formula='SUM([Calcula
tion_5489888009455718401])' />\n </calculations>\n <agg-types>\n
<agg-type
column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:ok]' type='Avg' /
>\n
<agg-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:Calcul
ation_5489888009455718401:ok]' type='User' />\n </agg-types>\n <data-types>\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Calculation_5
489888009455513600]' type='date' />\n
<data-type column='[excel-direct.0s0w8b
c1somq6z110noi81jfj70l].[Calculation_5489888009455718401]' type='real' />\n
<
data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Customer Name]' t
ype='string' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj7
0l].[Order Date]' type='date' />\n
<data-type column='[excel-direct.0s0w8bc1s
omq6z110noi81jfj70l].[Sales]' type='real' />\n
<data-type column='[excel-dire
ct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:ok]' type='real' />\n
<data-type
column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_54898880094
55718401:ok]' type='real' />\n </data-types>\n <current-user display-name='' n
ame='' short-domain-qualified-name='' type='user' />\n</aq-cache-key>\n","column
-count":"2","key-hash":"1285549160","key-size-b":"14338","query-kind":"abstract"
,"query-latency-ms":"25","row-count":"1","value-size-b":"1008"}}
{"ts":"2016-09-29T16:43:22.752","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AQTV3Z","elapsed-ms":"0","key-hash":"406191904","key-size-b":"8
0","outcome":"miss"}}
{"ts":"2016-09-29T16:43:22.752","pid":78016,"tid":"12d40","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"none","elapsed":0.025,"owner-component":"DataInterpr
eter","owner-dashboard":"","owner-worksheet":"Sheet 1","protocol-id":0,"query-id
":0}}
{"ts":"2016-09-29T16:43:22.752","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.026,"elapsed-compute-keys":0,"elapsed-sum":0.025,
"job-count":1,"jobs":[{"cache-hit":"none","elapsed":0.025,"owner-component":"Dat
aInterpreter","owner-dashboard":"","owner-worksheet":"Sheet 1","protocol-id":0,"
query-abstract":"<query aggregation='true' caching='normal' hierarchize-rows='fa
lse' include-empty='false'>\n <fields>\n
<output column='[excel-direct.0s0w8
bc1somq6z110noi81jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0
s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]' />\n </f
ields>\n</query>\n","query-compiled":"(restrict\n (aggregate\n
(join\n
(table [TableauTemp].[Orders$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Orders$])\n
(\n
([Customer Name] [Cust
omer Name])\n
)\n
(\n
([__measure__1]\n
(min [Order Date])\n
)\n
)\n
)\n
([C
ustomer Name] [__measure__1])\n
)\n
(\n
([Customer Name] [Cus
tomer Name])\n
)\n
(\n
([$temp0_output] [__measure__1])\n
)\n
1)\n
()\n
(\n
([avg:Sales:ok]\n
(average [Sales])
\n
)\n
([sum:Calculation_5489888009455718401:ok]\n
(sum\n
(-\n
(to_datetime\n
(truncmonth [Order Date])\n
)\n
(to_datetime\n
(truncmonth [$temp0_output
])\n
)\n
)\n
)\n
)\n
)\n
)\n ([
avg:Sales:ok] [sum:Calculation_5489888009455718401:ok])\n )\n","query-id":0}]}}
{"ts":"2016-09-29T16:43:22.752","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi

n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:43:22.752","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-compress-data","v":{"compressed-size-b":"2534","elapsed-ms":"0","outcome":"done
","uncompressed-size-b":"21186"}}
{"ts":"2016-09-29T16:43:22.753","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:43:22.753","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:43:22.753","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:22.753","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:22.753","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:22.753","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:22.753","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:22.754","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AbstractQueryHistoryV2Z","elapsed-ms":"1","key-hash":"386894654
7","key-size-b":"124","outcome":"hit","value-size-b":"37986"}}
{"ts":"2016-09-29T16:43:22.754","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AQTV3Z","elapsed-ms":"1","key-hash":"406191904","key-size-b":"
80","load-time-ms":"25","lower-bound-ms":"20","outcome":"done","value-size-b":"9
"}}
{"ts":"2016-09-29T16:43:22.755","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AbstractQueryHistoryV2Z","elapsed-ms":"1","key-hash":"38689465
47","key-size-b":"124","load-time-ms":"500","lower-bound-ms":"20","outcome":"don
e","value-size-b":"57904"}}
{"ts":"2016-09-29T16:43:22.755","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"class":"excel-direct","column-count":"2","elapsed-ms":"3","key-hash
":"1285549160","key-size-b":"14338","outcome":"try-store","query-kind":"abstract
","query-latency-ms":"25","row-count":"1","value-size-b":"1008"}}
{"ts":"2016-09-29T16:43:22.755","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:43:22.755","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:43:22.756","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:43:22.758","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:43:22.758","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AQRV3Z","elapsed-ms":"1","key-hash":"5031755","key-size-b":"11

4","load-time-ms":"25","lower-bound-ms":"20","outcome":"done","value-size-b":"25
34"}}
{"ts":"2016-09-29T16:43:22.764","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.008}}
{"ts":"2016-09-29T16:43:22.764","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.039 sec"}
{"ts":"2016-09-29T16:43:22.764","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.039,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:43:22.776","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:43:22.776","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"Error: OpenGL Error: 1280"}
{"ts":"2016-09-29T16:43:22.776","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"OpenGL Error occurred before bindTexture."}
{"ts":"2016-09-29T16:43:22.777","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:43:22.808","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:43:22.857","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:43:25.296","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: invoking the context menu."}
{"ts":"2016-09-29T16:43:27.416","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: context menu event loop returned."}
{"ts":"2016-09-29T16:43:27.431","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:quick-table-calc-ui quick-table-calc-type=\"run-tota
l\"","name":"tabui:quick-table-calc-ui"}}
{"ts":"2016-09-29T16:43:27.432","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:quick-table-calc-ui quick-table-calc-type=\"run-tot
al\"","name":"tabui:quick-table-calc-ui"}}
{"ts":"2016-09-29T16:43:27.438","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:43:27.438","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:27.438","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:43:27.439","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:43:27.439","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:43:27.439","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o

ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:43:27.439","pid":78016,"tid":"138c4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:43:27.440","pid":78016,"tid":"138c4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:43:27.440","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.001,"elapsed-compute-keys":0,"elapsed-sum":0,"job
-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter","o
wner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggregat
ion='true' caching='normal' hierarchize-rows='false' include-empty='false'>\n <
fields>\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sa
les:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[su
m:Calculation_5489888009455718401:qk]' />\n </fields>\n</query>\n","query-id":0
}]}}
{"ts":"2016-09-29T16:43:27.440","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:43:27.441","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:43:27.441","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:43:27.441","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:27.441","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:27.441","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:27.441","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:27.441","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:27.442","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:27.442","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:27.442","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:43:27.443","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:43:27.449","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.006}}
{"ts":"2016-09-29T16:43:27.449","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"

,"v":" [Time] Computing the model took 0.011 sec"}


{"ts":"2016-09-29T16:43:27.449","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.011,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:43:27.502","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:43:27.502","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"Error: OpenGL Error: 1280"}
{"ts":"2016-09-29T16:43:27.502","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"OpenGL Error occurred before bindTexture."}
{"ts":"2016-09-29T16:43:27.503","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:43:27.528","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:43:27.594","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:44:17.682","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"AUTOUPDATE: Download of update complete."}
{"ts":"2016-09-29T16:45:11.845","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"\" drag-source=\"drag-dro
p-schema\" drop-target=\"drag-drop-schema\" field-encodings=[{\"fn\": \"[excel-d
irect.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]\",\
"encoding-type\": \"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\
" is-right-drag=\"false\" shelf-drag-source-position={\"is-override\": false} sh
elf-drop-context=\"none\" shelf-drop-target-position={\"is-override\": false}","
name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:45:11.848","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"\" drag-source=\"drag-dr
op-schema\" drop-target=\"drag-drop-schema\" field-encodings=[{\"fn\": \"[exceldirect.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]\",
\"encoding-type\": \"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false
\" is-right-drag=\"false\" shelf-drag-source-position={\"is-override\": false} s
helf-drop-context=\"none\" shelf-drop-target-position={\"is-override\": false}",
"name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:45:11.879","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:11.880","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:45:11.880","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:45:11.880","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:45:11.880","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:45:11.881","pid":78016,"tid":"139c8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q

uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:45:11.882","pid":78016,"tid":"139c8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:45:11.882","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.002,"elapsed-compute-keys":0,"elapsed-sum":0.001,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[av
g:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l]
.[sum:Calculation_5489888009455718401:qk]' />\n </fields>\n</query>\n","query-i
d":0}]}}
{"ts":"2016-09-29T16:45:11.886","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:45:11.886","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:45:11.887","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:45:11.887","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:45:11.888","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:11.888","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:11.888","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:11.888","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:11.888","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:11.889","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:45:11.889","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:45:11.889","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:45:11.890","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:11.895","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.006}}
{"ts":"2016-09-29T16:45:11.895","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"

,"v":" [Time] Computing the model took 0.009 sec"}


{"ts":"2016-09-29T16:45:11.895","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.009,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:45:11.904","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:45:11.904","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"Error: OpenGL Error: 1280"}
{"ts":"2016-09-29T16:45:11.904","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"OpenGL Error occurred before bindTexture."}
{"ts":"2016-09-29T16:45:11.905","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:45:11.953","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:45:11.974","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:45:15.862","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"Rows\" drag-source=\"drag
-drop-shelf\" drop-target=\"drag-drop-none\" field-encodings=[{\"fn\": \"[exceldirect.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]\",
\"encoding-type\": \"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false
\" is-right-drag=\"false\" shelf-drag-source-position={\"shelf-type\": \"rows-sh
elf\",\"shelf-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\":
false} shelf-drop-context=\"none\" shelf-drop-target-position={\"is-override\":
false} shelf-selection=[2] source-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:45:15.864","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"Rows\" drag-source=\"dra
g-drop-shelf\" drop-target=\"drag-drop-none\" field-encodings=[{\"fn\": \"[excel
-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]\"
,\"encoding-type\": \"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"fals
e\" is-right-drag=\"false\" shelf-drag-source-position={\"shelf-type\": \"rows-s
helf\",\"shelf-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\"
: false} shelf-drop-context=\"none\" shelf-drop-target-position={\"is-override\"
: false} shelf-selection=[2] source-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:45:15.873","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:45:15.874","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:15.875","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:45:15.876","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:45:15.876","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:45:15.876","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}

{"ts":"2016-09-29T16:45:15.876","pid":78016,"tid":"133c4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:45:15.878","pid":78016,"tid":"133c4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:45:15.878","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.003,"elapsed-compute-keys":0,"elapsed-sum":0.001,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[av
g:Sales:qk]' />\n </fields>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T16:45:15.878","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:45:15.881","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:45:15.881","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:45:15.881","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:15.881","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:15.881","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:15.881","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:15.881","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:15.883","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:45:15.883","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:45:15.883","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:45:15.884","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:15.888","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.004}}
{"ts":"2016-09-29T16:45:15.888","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.014 sec"}
{"ts":"2016-09-29T16:45:15.888","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"end-

update-sheet","v":{"elapsed":0.014,"sheet":"Sheet 1","view":"Sheet 1"}}


{"ts":"2016-09-29T16:45:15.899","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:45:15.899","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Create framebuffer 1408,751."}
{"ts":"2016-09-29T16:45:15.900","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:45:16.056","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:45:16.116","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:45:17.072","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:add-to-sheet fn=\"[excel-direct.0s0w8bc1somq6z110no
i81jfj70l].[Calculation_5489888009455718401]\"","name":"tabdoc:add-to-sheet"}}
{"ts":"2016-09-29T16:45:17.073","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:17.073","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:45:17.074","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:45:17.074","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:45:17.075","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:45:17.076","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"","owner-dashboard":"","owner-worksheet":"",
"query-id":0}}
{"ts":"2016-09-29T16:45:17.082","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AQTV3Z","elapsed-ms":"0","key-hash":"3273227834","key-size-b":"
78","outcome":"miss"}}
{"ts":"2016-09-29T16:45:17.082","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"excel-direct","elapsed-ms":"0","key-hash":"1969361771","outc
ome":"miss-no-entry","query-kind":"abstract"}}
{"ts":"2016-09-29T16:45:17.091","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Shadow extract file name: C:\\Users\\Vissu\\AppData\\Local\\Tableau\\Cachi
ng\\TemporaryExtracts\\5070ba7b14ff34c1ee7348d10175ea55647cd3a3b2c61a4d21bc9aa3c
051bab0.ttde"}
{"ts":"2016-09-29T16:45:17.091","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:45:17.091","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:45:17.091","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"

,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:45:17.091","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:45:17.091","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:45:17.092","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:45:17.094","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"NQTV1Z","elapsed-ms":"0","key-hash":"3167573560","key-size-b":"
80","outcome":"miss"}}
{"ts":"2016-09-29T16:45:17.094","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"excel-direct","elapsed-ms":"0","key-hash":"3119213457","outc
ome":"miss-no-entry","query-kind":"native"}}
{"ts":"2016-09-29T16:45:17.095","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(restrict\n (aggregate\n
(project\n
(join\n
(table [TableauTemp].[Orders$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Orders$])\n
(\n
([Customer Name] [Customer Name])\n
)\n
(\n
([__measure__0]\n
(min [Order Date])\n
)\n
)\n
)\n
([Customer Name] [__measure__0])\n
)\n
(\n
([Customer Name] [Customer Name])\n
)\n
(\n
([$temp0_output] [__measure__0])\n
)\n
1)\n
(\n
([Calculation_5489888009455718401]\n
(-\n
(to
_datetime\n
(truncmonth [Order Date])\n
)\n
(to_datetime\n
(truncmonth [$temp0_output])\n
)\n
)\n
)\n
)\n
)\n
(\n
([Calculation_548988800
9455718401] [Calculation_5489888009455718401])\n
)\n
(\n
([avg:Sale
s:ok]\n
(average [Sales])\n
)\n
)\n
)\n ([Calculation_548
9888009455718401] [avg:Sales:ok])\n )\n","query-hash":3119213457}}
{"ts":"2016-09-29T16:45:17.095","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:45:17.117","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":2,"elapsed":0.022,"protocol-id":2,"query":"(restrict\n (aggr
egate\n
(project\n
(join\n
(table [TableauTemp].[Orders$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Orders$])\
n
(\n
([Customer Name] [Customer Name])\n
)
\n
(\n
([__measure__0]\n
(min [Order Date
])\n
)\n
)\n
)\n
([Customer Name
] [__measure__0])\n
)\n
(\n
([Customer Name] [Customer
Name])\n
)\n
(\n
([$temp0_output] [__measure__0])\n
)\n
1)\n
(\n
([Calculation_5489888009455718401]\n
(-\n
(to_datetime\n
(truncmonth [Order Date])\n
)\n
(to_datetime\n
(truncmonth [$temp0_output])
\n
)\n
)\n
)\n
)\n
)\n
(\n
([Calculation_5489888009455718401] [Calculation_5489888009455718401])\n
)\n
(\n
([avg:Sales:ok]\n
(average [Sales])\n
)\n
)\n
)\n ([Calculation_5489888009455718401] [avg:Sales:ok])\n )\n","query-hash":31
19213457,"rows":179}}
{"ts":"2016-09-29T16:45:17.117","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"NQTV1Z","elapsed-ms":"0","key-hash":"3167573560","key-size-b":"
80","outcome":"miss"}}

{"ts":"2016-09-29T16:45:17.118","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-compress-data","v":{"compressed-size-b":"3365","elapsed-ms":"0","outcome":"done
","uncompressed-size-b":"10832"}}
{"ts":"2016-09-29T16:45:17.118","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"class":"excel-direct","column-count":"2","elapsed-ms":"0","key-hash
":"3119213457","key-size-b":"2142","outcome":"try-store","query-kind":"native","
query-latency-ms":"24","row-count":"179","value-size-b":"6704"}}
{"ts":"2016-09-29T16:45:17.119","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"NQTV1Z","elapsed-ms":"0","key-hash":"3167573560","key-size-b":
"80","load-time-ms":"24","lower-bound-ms":"20","outcome":"done","value-size-b":"
9"}}
{"ts":"2016-09-29T16:45:17.120","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqclog-cache-key","v":{"cache-key":"<aq-cache-key are-all-local-sorts-supported='tr
ue' has-agg-measure-filters='false' has-lod-calcs='true' has-user-reference='fal
se' start-of-week='sunday' version='9.3'>\n <query aggregation='true' caching='
normal' hierarchize-rows='false' include-empty='false'>\n
<fields>\n
<fi
eld column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Calculation_54898880094
55718401]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l]
.[Calculation_5489888009455718401]' />\n
<output column='[excel-direct.0s0w
8bc1somq6z110noi81jfj70l].[avg:Sales:ok]' />\n
</fields>\n </query>\n <rela
tion-xml>&lt;relation name=&apos;Orders&apos; table=&apos;[Orders$]&apos; type=&
apos;table&apos;&gt;&#10; &lt;columns gridOrigin=&apos;A1:U8400:no:A1:U8400:0&a
pos; header=&apos;yes&apos; outcome=&apos;2&apos;&gt;&#10;
&lt;column datatyp
e=&apos;integer&apos; name=&apos;Row ID&apos; ordinal=&apos;0&apos; /&gt;&#10;
&lt;column datatype=&apos;integer&apos; name=&apos;Order ID&apos; ordinal=&apo
s;1&apos; /&gt;&#10;
&lt;column datatype=&apos;date&apos; name=&apos;Order Da
te&apos; ordinal=&apos;2&apos; /&gt;&#10;
&lt;column datatype=&apos;string&ap
os; name=&apos;Order Priority&apos; ordinal=&apos;3&apos; /&gt;&#10;
&lt;colu
mn datatype=&apos;integer&apos; name=&apos;Order Quantity&apos; ordinal=&apos;4&
apos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Sales&apos;
ordinal=&apos;5&apos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&a
pos;Discount&apos; ordinal=&apos;6&apos; /&gt;&#10;
&lt;column datatype=&apos
;string&apos; name=&apos;Ship Mode&apos; ordinal=&apos;7&apos; /&gt;&#10;
&lt
;column datatype=&apos;real&apos; name=&apos;Profit&apos; ordinal=&apos;8&apos;
/&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Unit Price&apos; o
rdinal=&apos;9&apos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&ap
os;Shipping Cost&apos; ordinal=&apos;10&apos; /&gt;&#10;
&lt;column datatype=
&apos;string&apos; name=&apos;Customer Name&apos; ordinal=&apos;11&apos; /&gt;&#
10;
&lt;column datatype=&apos;string&apos; name=&apos;Province&apos; ordinal=
&apos;12&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;R
egion&apos; ordinal=&apos;13&apos; /&gt;&#10;
&lt;column datatype=&apos;strin
g&apos; name=&apos;Customer Segment&apos; ordinal=&apos;14&apos; /&gt;&#10;
&
lt;column datatype=&apos;string&apos; name=&apos;Product Category&apos; ordinal=
&apos;15&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;P
roduct Sub-Category&apos; ordinal=&apos;16&apos; /&gt;&#10;
&lt;column dataty
pe=&apos;string&apos; name=&apos;Product Name&apos; ordinal=&apos;17&apos; /&gt;
&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Product Container&apo
s; ordinal=&apos;18&apos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; nam
e=&apos;Product Base Margin&apos; ordinal=&apos;19&apos; /&gt;&#10;
&lt;colum
n datatype=&apos;date&apos; name=&apos;Ship Date&apos; ordinal=&apos;20&apos; /&
gt;&#10; &lt;/columns&gt;&#10;&lt;/relation&gt;&#10;</relation-xml>\n <relatio
n-names>\n
<relation-name key='[Customer Name]' value='[Orders].[Customer Nam
e]' />\n
<relation-name key='[Customer Segment]' value='[Orders].[Customer Se
gment]' />\n
<relation-name key='[Discount]' value='[Orders].[Discount]' />\n
<relation-name key='[Order Date]' value='[Orders].[Order Date]' />\n
<rel
ation-name key='[Order ID]' value='[Orders].[Order ID]' />\n
<relation-name k

ey='[Order Priority]' value='[Orders].[Order Priority]' />\n


<relation-name k
ey='[Order Quantity]' value='[Orders].[Order Quantity]' />\n
<relation-name k
ey='[Product Base Margin]' value='[Orders].[Product Base Margin]' />\n
<relat
ion-name key='[Product Category]' value='[Orders].[Product Category]' />\n
<r
elation-name key='[Product Container]' value='[Orders].[Product Container]' />\n
<relation-name key='[Product Name]' value='[Orders].[Product Name]' />\n
<relation-name key='[Product Sub-Category]' value='[Orders].[Product Sub-Categor
y]' />\n
<relation-name key='[Profit]' value='[Orders].[Profit]' />\n
<rel
ation-name key='[Province]' value='[Orders].[Province]' />\n
<relation-name k
ey='[Region]' value='[Orders].[Region]' />\n
<relation-name key='[Row ID]' va
lue='[Orders].[Row ID]' />\n
<relation-name key='[Sales]' value='[Orders].[Sa
les]' />\n
<relation-name key='[Ship Date]' value='[Orders].[Ship Date]' />\n
<relation-name key='[Ship Mode]' value='[Orders].[Ship Mode]' />\n
<relat
ion-name key='[Shipping Cost]' value='[Orders].[Shipping Cost]' />\n
<relatio
n-name key='[Unit Price]' value='[Orders].[Unit Price]' />\n </relation-names>\
n <bindings>\n
<binding key='[Calculation_5489888009455718401]' value='Calcu
lation_5489888009455718401' />\n
<binding key='[avg:Sales:ok]' value='avg:Sal
es:ok' />\n </bindings>\n <lod>\n
<column>[excel-direct.0s0w8bc1somq6z110no
i81jfj70l].[Calculation_5489888009455718401]</column>\n </lod>\n <measure-filt
er-lod>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Calculation_54
89888009455718401]</column>\n </measure-filter-lod>\n <output>\n
<column>[e
xcel-direct.0s0w8bc1somq6z110noi81jfj70l].[Calculation_5489888009455718401]</col
umn>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:ok]</co
lumn>\n </output>\n <aggregates />\n <slicers />\n <filtered />\n <local-fi
lters />\n <calculations>\n
<calculation column='[excel-direct.0s0w8bc1somq6
z110noi81jfj70l].[Calculation_5489888009455513600]' formula='{FIXED [Customer Na
me]:MIN([Order Date])}' />\n
<calculation column='[excel-direct.0s0w8bc1somq6
z110noi81jfj70l].[Calculation_5489888009455718401]' formula='DATETRUNC(&apos;mon
th&apos;,[Order Date])-DATETRUNC(&apos;month&apos;,[Calculation_5489888009455513
600])' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].
[Customer Name]' formula='' />\n
<calculation column='[excel-direct.0s0w8bc1s
omq6z110noi81jfj70l].[Order Date]' formula='' />\n
<calculation column='[exce
l-direct.0s0w8bc1somq6z110noi81jfj70l].[Sales]' formula='' />\n
<calculation
column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:ok]' formula='AVG
([Sales])' />\n </calculations>\n <agg-types>\n
<agg-type column='[excel-di
rect.0s0w8bc1somq6z110noi81jfj70l].[Calculation_5489888009455718401]' type='User
' />\n
<agg-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sal
es:ok]' type='Avg' />\n </agg-types>\n <data-types>\n
<data-type column='[e
xcel-direct.0s0w8bc1somq6z110noi81jfj70l].[Calculation_5489888009455513600]' typ
e='date' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].
[Calculation_5489888009455718401]' type='real' />\n
<data-type column='[excel
-direct.0s0w8bc1somq6z110noi81jfj70l].[Customer Name]' type='string' />\n
<da
ta-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order Date]' type='
date' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Sa
les]' type='real' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi8
1jfj70l].[avg:Sales:ok]' type='real' />\n </data-types>\n <current-user displa
y-name='' name='' short-domain-qualified-name='' type='user' />\n</aq-cache-key>
\n","column-count":"2","key-hash":"1969361771","key-size-b":"14354","query-kind"
:"abstract","query-latency-ms":"44","row-count":"179","value-size-b":"6704"}}
{"ts":"2016-09-29T16:45:17.120","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AQTV3Z","elapsed-ms":"0","key-hash":"3273227834","key-size-b":"
78","outcome":"miss"}}
{"ts":"2016-09-29T16:45:17.121","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"none","elapsed":0.044,"owner-component":"","owner-da
shboard":"","owner-worksheet":"","protocol-id":0,"query-id":0}}
{"ts":"2016-09-29T16:45:17.121","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"NQRV1Z","elapsed-ms":"0","key-hash":"3995186689","key-size-b":

"114","load-time-ms":"24","lower-bound-ms":"20","outcome":"done","value-size-b":
"3365"}}
{"ts":"2016-09-29T16:45:17.121","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-compress-data","v":{"compressed-size-b":"4882","elapsed-ms":"0","outcome":"done
","uncompressed-size-b":"26894"}}
{"ts":"2016-09-29T16:45:17.121","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.047,"elapsed-compute-keys":0,"elapsed-sum":0.044,
"job-count":1,"jobs":[{"cache-hit":"none","elapsed":0.044,"owner-component":"","
owner-dashboard":"","owner-worksheet":"","protocol-id":0,"query-abstract":"<quer
y aggregation='true' caching='normal' hierarchize-rows='false' include-empty='fa
lse'>\n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l
].[none:Calculation_5489888009455718401:ok]' />\n
<output column='[excel-dire
ct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:qk]' />\n
<output column='[exceldirect.0s0w8bc1somq6z110noi81jfj70l].[none:Calculation_5489888009455718401:ok]'
/>\n </fields>\n</query>\n","query-compiled":"(restrict\n (aggregate\n
(pro
ject\n
(join\n
(table [TableauTemp].[Orders$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Orders$])\n
(\
n
([Customer Name] [Customer Name])\n
)\n
(
\n
([__measure__0]\n
(min [Order Date])\n
)\n
)\n
)\n
([Customer Name] [__measure__0
])\n
)\n
(\n
([Customer Name] [Customer Name])\n
)\n
(\n
([$temp0_output] [__measure__0])\n
)\n
1)\n
(\n
([Calculation_5489888009455718401]\n
(-\n
(to_datetime\n
(truncmonth [Order Date])\n
)\n
(to_datetime\n
(truncmonth [$temp0_output])\n
)\n
)\n
)\n
)\n
)\n
(\n
([Calculation_5
489888009455718401] [Calculation_5489888009455718401])\n
)\n
(\n
([
avg:Sales:ok]\n
(average [Sales])\n
)\n
)\n
)\n ([Calcula
tion_5489888009455718401] [avg:Sales:ok])\n )\n","query-id":0}]}}
{"ts":"2016-09-29T16:45:17.121","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:45:17.122","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AQRV3Z","elapsed-ms":"0","key-hash":"3670836850","key-size-b":
"112","load-time-ms":"44","lower-bound-ms":"20","outcome":"done","value-size-b":
"4882"}}
{"ts":"2016-09-29T16:45:17.122","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:45:17.123","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:add-to-sheet fn=\"[excel-direct.0s0w8bc1somq6z110n
oi81jfj70l].[Calculation_5489888009455718401]\"","name":"tabdoc:add-to-sheet"}}
{"ts":"2016-09-29T16:45:17.124","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:17.124","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:45:17.124","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AbstractQueryHistoryV2Z","elapsed-ms":"2","key-hash":"386894654
7","key-size-b":"124","outcome":"hit","value-size-b":"57904"}}
{"ts":"2016-09-29T16:45:17.125","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:45:17.125","pid":78016,"tid":"129d4","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:45:17.125","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:45:17.126","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AbstractQueryHistoryV2Z","elapsed-ms":"1","key-hash":"38689465
47","key-size-b":"124","load-time-ms":"500","lower-bound-ms":"20","outcome":"don
e","value-size-b":"77862"}}
{"ts":"2016-09-29T16:45:17.126","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"class":"excel-direct","column-count":"2","elapsed-ms":"5","key-hash
":"1969361771","key-size-b":"14354","outcome":"try-store","query-kind":"abstract
","query-latency-ms":"44","row-count":"179","value-size-b":"6704"}}
{"ts":"2016-09-29T16:45:17.126","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AQTV3Z","elapsed-ms":"0","key-hash":"3273227834","key-size-b":
"78","load-time-ms":"44","lower-bound-ms":"20","outcome":"done","value-size-b":"
9"}}
{"ts":"2016-09-29T16:45:17.127","pid":78016,"tid":"13a40","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:45:17.128","pid":78016,"tid":"13a40","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:45:17.128","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.003,"elapsed-compute-keys":0,"elapsed-sum":0,"job
-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter","o
wner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggregat
ion='true' caching='normal' hierarchize-rows='false' include-empty='false'>\n <
fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Ca
lculation_5489888009455718401:ok]' />\n
<output column='[excel-direct.0s0w8bc
1somq6z110noi81jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0
w8bc1somq6z110noi81jfj70l].[none:Calculation_5489888009455718401:ok]' />\n </fi
elds>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T16:45:17.130","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:45:17.131","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:45:17.132","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:45:17.132","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:45:17.132","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:17.132","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:17.132","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}

{"ts":"2016-09-29T16:45:17.132","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:17.132","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:17.134","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:45:17.134","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:45:17.134","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:45:17.134","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:17.144","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.01}}
{"ts":"2016-09-29T16:45:17.144","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.013 sec"}
{"ts":"2016-09-29T16:45:17.144","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.013,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:45:17.278","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:45:17.278","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:45:17.327","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:45:17.402","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:45:36.872","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:set-primitive pane-spec=\"0\" primitive-type=\"line
\"","name":"tabdoc:set-primitive"}}
{"ts":"2016-09-29T16:45:36.873","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:set-primitive pane-spec=\"0\" primitive-type=\"lin
e\"","name":"tabdoc:set-primitive"}}
{"ts":"2016-09-29T16:45:36.889","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:45:36.891","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:36.891","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:45:36.892","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:45:36.892","pid":78016,"tid":"121fc","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:45:36.892","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:45:36.892","pid":78016,"tid":"13974","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:45:36.894","pid":78016,"tid":"13974","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:45:36.894","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.002,"elapsed-compute-keys":0,"elapsed-sum":0.001,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[non
e:Calculation_5489888009455718401:ok]' />\n
<output column='[excel-direct.0s0
w8bc1somq6z110noi81jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct
.0s0w8bc1somq6z110noi81jfj70l].[none:Calculation_5489888009455718401:ok]' />\n
</fields>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T16:45:36.894","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:45:36.896","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:45:36.896","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:45:36.896","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:36.897","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:36.897","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:36.897","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:36.897","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:36.901","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.003}}
{"ts":"2016-09-29T16:45:36.901","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.005}}
{"ts":"2016-09-29T16:45:36.902","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:45:36.902","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}

{"ts":"2016-09-29T16:45:36.908","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.006}}
{"ts":"2016-09-29T16:45:36.908","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.019 sec"}
{"ts":"2016-09-29T16:45:36.909","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.019,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:45:36.985","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:45:37.004","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:45:37.066","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:45:37.134","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:45:49.952","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:set-primitive pane-spec=\"0\" primitive-type=\"bar\
"","name":"tabdoc:set-primitive"}}
{"ts":"2016-09-29T16:45:49.953","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:set-primitive pane-spec=\"0\" primitive-type=\"bar
\"","name":"tabdoc:set-primitive"}}
{"ts":"2016-09-29T16:45:49.967","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:45:49.967","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:49.968","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:45:49.968","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:45:49.968","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:45:49.968","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:45:49.969","pid":78016,"tid":"139cc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:45:49.970","pid":78016,"tid":"139cc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:45:49.970","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.002,"elapsed-compute-keys":0,"elapsed-sum":0.001,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr

egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\


n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[non
e:Calculation_5489888009455718401:ok]' />\n
<output column='[excel-direct.0s0
w8bc1somq6z110noi81jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct
.0s0w8bc1somq6z110noi81jfj70l].[none:Calculation_5489888009455718401:ok]' />\n
</fields>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T16:45:49.970","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:45:49.972","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:45:49.972","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:45:49.972","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:49.973","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:49.973","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:49.973","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:49.973","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:49.975","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:45:49.975","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.003}}
{"ts":"2016-09-29T16:45:49.975","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:45:49.976","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:45:49.982","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.006}}
{"ts":"2016-09-29T16:45:49.982","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.015 sec"}
{"ts":"2016-09-29T16:45:49.982","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.015,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:45:50.013","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:45:50.013","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:45:50.059","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}

{"ts":"2016-09-29T16:45:50.136","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:46:06.340","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:swap-rows-and-columns","name":"tabdoc:swap-rows-and
-columns"}}
{"ts":"2016-09-29T16:46:06.355","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:swap-rows-and-columns","name":"tabdoc:swap-rows-an
d-columns"}}
{"ts":"2016-09-29T16:46:06.362","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:46:06.363","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:46:06.363","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:46:06.364","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:46:06.364","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:46:06.364","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:46:06.364","pid":78016,"tid":"134ac","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:46:06.365","pid":78016,"tid":"134ac","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:46:06.365","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.002,"elapsed-compute-keys":0,"elapsed-sum":0.001,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[non
e:Calculation_5489888009455718401:ok]' />\n
<output column='[excel-direct.0s0
w8bc1somq6z110noi81jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct
.0s0w8bc1somq6z110noi81jfj70l].[none:Calculation_5489888009455718401:ok]' />\n
</fields>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T16:46:06.365","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:46:06.367","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:46:06.367","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:46:06.368","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}

{"ts":"2016-09-29T16:46:06.368","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:46:06.368","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:46:06.368","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:46:06.368","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:46:06.370","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:46:06.370","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:46:06.370","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:46:06.372","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:46:06.395","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.024}}
{"ts":"2016-09-29T16:46:06.396","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.033 sec"}
{"ts":"2016-09-29T16:46:06.396","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.033,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:46:06.539","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:46:06.539","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:46:06.600","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:46:06.656","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:48:19.860","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:undo","name":"tabdoc:undo"}}
{"ts":"2016-09-29T16:48:19.864","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:19.865","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:48:19.866","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:48:19.866","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}

{"ts":"2016-09-29T16:48:19.866","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:48:19.867","pid":78016,"tid":"138cc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:48:19.870","pid":78016,"tid":"138cc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:48:19.870","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.005,"elapsed-compute-keys":0.001,"elapsed-sum":0.
002,"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpr
eter","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query
aggregation='true' caching='normal' hierarchize-rows='false' include-empty='fals
e'>\n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].
[none:Calculation_5489888009455718401:ok]' />\n
<output column='[excel-direct
.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-di
rect.0s0w8bc1somq6z110noi81jfj70l].[none:Calculation_5489888009455718401:ok]' />
\n </fields>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T16:48:19.881","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:48:19.881","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:48:19.885","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.003}}
{"ts":"2016-09-29T16:48:19.885","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:48:19.885","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:19.887","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:48:19.887","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:19.888","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:19.888","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:19.892","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.004}}
{"ts":"2016-09-29T16:48:19.892","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.006}}
{"ts":"2016-09-29T16:48:19.893","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:48:19.895","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene

rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:19.906","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.013}}
{"ts":"2016-09-29T16:48:19.907","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.026 sec"}
{"ts":"2016-09-29T16:48:19.907","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.026,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:48:19.932","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:undo","name":"tabdoc:undo"}}
{"ts":"2016-09-29T16:48:19.932","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:48:19.933","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:48:19.992","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:48:20.012","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:48:20.103","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:undo","name":"tabdoc:undo"}}
{"ts":"2016-09-29T16:48:20.104","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:20.105","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:48:20.105","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:48:20.105","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:48:20.105","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:48:20.106","pid":78016,"tid":"135d0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:48:20.106","pid":78016,"tid":"135d0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:48:20.106","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.001,"elapsed-compute-keys":0,"elapsed-sum":0,"job
-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter","o
wner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggregat
ion='true' caching='normal' hierarchize-rows='false' include-empty='false'>\n <
fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Ca
lculation_5489888009455718401:ok]' />\n
<output column='[excel-direct.0s0w8bc
1somq6z110noi81jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0

w8bc1somq6z110noi81jfj70l].[none:Calculation_5489888009455718401:ok]' />\n </fi


elds>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T16:48:20.110","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:48:20.110","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:48:20.112","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:48:20.112","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:48:20.112","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:20.113","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:20.113","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:20.113","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:20.113","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:20.115","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:48:20.115","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:48:20.115","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:48:20.115","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:20.119","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.004}}
{"ts":"2016-09-29T16:48:20.119","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.009 sec"}
{"ts":"2016-09-29T16:48:20.119","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.009,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:48:20.134","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:undo","name":"tabdoc:undo"}}
{"ts":"2016-09-29T16:48:20.134","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:48:20.134","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:48:20.187","pid":78016,"tid":"13074","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:48:20.205","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:48:20.575","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:undo","name":"tabdoc:undo"}}
{"ts":"2016-09-29T16:48:20.577","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:20.578","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:48:20.578","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:48:20.578","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:48:20.578","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:48:20.578","pid":78016,"tid":"12054","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:48:20.580","pid":78016,"tid":"12054","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:48:20.580","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.002,"elapsed-compute-keys":0,"elapsed-sum":0.001,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[non
e:Calculation_5489888009455718401:ok]' />\n
<output column='[excel-direct.0s0
w8bc1somq6z110noi81jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct
.0s0w8bc1somq6z110noi81jfj70l].[none:Calculation_5489888009455718401:ok]' />\n
</fields>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T16:48:20.584","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:48:20.585","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:48:20.586","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:48:20.586","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:48:20.586","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:20.587","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}

{"ts":"2016-09-29T16:48:20.587","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:20.587","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:20.588","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:20.589","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:48:20.589","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.003}}
{"ts":"2016-09-29T16:48:20.590","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:48:20.591","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:20.596","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.006}}
{"ts":"2016-09-29T16:48:20.596","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.012 sec"}
{"ts":"2016-09-29T16:48:20.596","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.012,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:48:20.621","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:undo","name":"tabdoc:undo"}}
{"ts":"2016-09-29T16:48:20.621","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:48:20.621","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:48:20.677","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:48:20.695","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:48:20.984","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:undo","name":"tabdoc:undo"}}
{"ts":"2016-09-29T16:48:20.987","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:20.988","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:48:20.989","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:48:20.989","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}

{"ts":"2016-09-29T16:48:20.989","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:48:20.990","pid":78016,"tid":"13760","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:48:20.992","pid":78016,"tid":"13760","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:48:20.992","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.004,"elapsed-compute-keys":0,"elapsed-sum":0.001,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[av
g:Sales:qk]' />\n </fields>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T16:48:21.001","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:48:21.002","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:48:21.006","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.003}}
{"ts":"2016-09-29T16:48:21.006","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:48:21.006","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:21.006","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:21.006","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:21.006","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:21.006","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:21.009","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:48:21.009","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.003}}
{"ts":"2016-09-29T16:48:21.009","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:48:21.011","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:21.017","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"end-

visual-interpreter","v":{"elapsed":0.007}}
{"ts":"2016-09-29T16:48:21.017","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.015 sec"}
{"ts":"2016-09-29T16:48:21.017","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.015,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:48:21.046","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:undo","name":"tabdoc:undo"}}
{"ts":"2016-09-29T16:48:21.118","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:48:21.118","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:48:21.141","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:48:21.195","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:48:21.712","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:undo","name":"tabdoc:undo"}}
{"ts":"2016-09-29T16:48:21.716","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:21.717","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:48:21.718","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:48:21.718","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:48:21.718","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:48:21.719","pid":78016,"tid":"138e0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:48:21.721","pid":78016,"tid":"138e0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:48:21.722","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.004,"elapsed-compute-keys":0.001,"elapsed-sum":0.
002,"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpr
eter","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query
aggregation='true' caching='normal' hierarchize-rows='false' include-empty='fals
e'>\n <fields>\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l]
.[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj
70l].[sum:Calculation_5489888009455718401:qk]' />\n </fields>\n</query>\n","que
ry-id":0}]}}
{"ts":"2016-09-29T16:48:21.736","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi

n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}


{"ts":"2016-09-29T16:48:21.736","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:48:21.738","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:48:21.738","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:48:21.738","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:21.739","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:21.739","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:21.739","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:21.739","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:21.740","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:48:21.740","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:48:21.740","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:48:21.742","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:21.747","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.006}}
{"ts":"2016-09-29T16:48:21.747","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.011 sec"}
{"ts":"2016-09-29T16:48:21.747","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.011,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:48:21.771","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:undo","name":"tabdoc:undo"}}
{"ts":"2016-09-29T16:48:21.772","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:48:21.772","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"Error: OpenGL Error: 1280"}
{"ts":"2016-09-29T16:48:21.772","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"OpenGL Error occurred before bindTexture."}
{"ts":"2016-09-29T16:48:21.781","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"

,"v":"render-pipeline: BeginScene using OpenGL"}


{"ts":"2016-09-29T16:48:21.826","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:48:21.918","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:48:26.027","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:add-to-sheet fn=\"[excel-direct.0s0w8bc1somq6z110no
i81jfj70l].[Customer Name]\"","name":"tabdoc:add-to-sheet"}}
{"ts":"2016-09-29T16:48:26.029","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:26.030","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:48:26.032","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:48:26.032","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:48:26.032","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:48:26.033","pid":78016,"tid":"12900","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"","owner-dashboard":"","owner-worksheet":"",
"query-id":0}}
{"ts":"2016-09-29T16:48:26.042","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AQTV3Z","elapsed-ms":"0","key-hash":"566906680","key-size-b":"8
0","outcome":"miss"}}
{"ts":"2016-09-29T16:48:26.042","pid":78016,"tid":"12900","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"excel-direct","elapsed-ms":"1","key-hash":"4125379986","outc
ome":"miss-no-entry","query-kind":"abstract"}}
{"ts":"2016-09-29T16:48:26.055","pid":78016,"tid":"12900","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Shadow extract file name: C:\\Users\\Vissu\\AppData\\Local\\Tableau\\Cachi
ng\\TemporaryExtracts\\5070ba7b14ff34c1ee7348d10175ea55647cd3a3b2c61a4d21bc9aa3c
051bab0.ttde"}
{"ts":"2016-09-29T16:48:26.056","pid":78016,"tid":"12900","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:48:26.056","pid":78016,"tid":"12900","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 1 msec."}
{"ts":"2016-09-29T16:48:26.056","pid":78016,"tid":"12900","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:48:26.057","pid":78016,"tid":"12900","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:48:26.057","pid":78016,"tid":"12900","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:48:26.057","pid":78016,"tid":"12900","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"

,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 1 msec."}


{"ts":"2016-09-29T16:48:26.059","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"NQTV1Z","elapsed-ms":"0","key-hash":"3230328736","key-size-b":"
80","outcome":"miss"}}
{"ts":"2016-09-29T16:48:26.059","pid":78016,"tid":"12900","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"excel-direct","elapsed-ms":"0","key-hash":"3201887157","outc
ome":"miss-no-entry","query-kind":"native"}}
{"ts":"2016-09-29T16:48:26.059","pid":78016,"tid":"12900","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(restrict\n (aggregate\n
(join\n
(table [TableauTemp].[Orders$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Orders$])\n
(\n
([Customer Name] [Cus
tomer Name])\n
)\n
(\n
([__measure__1]\n
(min [Order Date])\n
)\n
)\n
)\n
([
Customer Name] [__measure__1])\n
)\n
(\n
([Customer Name] [Cu
stomer Name])\n
)\n
(\n
([$temp0_output] [__measure__1])\n
)\n
1)\n
(\n
([Customer Name] [Customer Name])\n
)\n
(
\n
([avg:Sales:ok]\n
(average [Sales])\n
)\n
([sum:Calcu
lation_5489888009455718401:ok]\n
(sum\n
(-\n
(to_date
time\n
(truncmonth [Order Date])\n
)\n
(to_
datetime\n
(truncmonth [$temp0_output])\n
)\n
)\n
)\n
)\n
)\n
)\n ([Customer Name] [avg:Sales:ok]
[sum:Calculation_5489888009455718401:ok])\n )\n","query-hash":3201887157}}
{"ts":"2016-09-29T16:48:26.059","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:48:26.073","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":3,"elapsed":0.014,"protocol-id":2,"query":"(restrict\n (aggr
egate\n
(join\n
(table [TableauTemp].[Orders$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Orders$])\n
(\n
([Customer Name] [Customer Name])\n
)\n
(\n
([_
_measure__1]\n
(min [Order Date])\n
)\n
)\n
)\n
([Customer Name] [__measure__1])\n
)\n
(\n
([Customer Name] [Customer Name])\n
)\n
(\n
([$temp0_outpu
t] [__measure__1])\n
)\n
1)\n
(\n
([Customer Name] [Customer
Name])\n
)\n
(\n
([avg:Sales:ok]\n
(average [Sales])\n
)\n
([sum:Calculation_5489888009455718401:ok]\n
(sum\n
(
-\n
(to_datetime\n
(truncmonth [Order Date])\n
)\n
(to_datetime\n
(truncmonth [$temp0_output])\n
)\n
)\n
)\n
)\n
)\n
)\n ([Custome
r Name] [avg:Sales:ok] [sum:Calculation_5489888009455718401:ok])\n )\n","queryhash":3201887157,"rows":795}}
{"ts":"2016-09-29T16:48:26.073","pid":78016,"tid":"12900","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"column-count":"3","outcome":"ignore-fast","query-kind":"native","qu
ery-latency-ms":"15","row-count":"795","value-size-b":"60134"}}
{"ts":"2016-09-29T16:48:26.075","pid":78016,"tid":"12900","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqclog-cache-key","v":{"cache-key":"<aq-cache-key are-all-local-sorts-supported='tr
ue' has-agg-measure-filters='false' has-lod-calcs='true' has-user-reference='fal
se' start-of-week='sunday' version='9.3'>\n <query aggregation='true' caching='
normal' hierarchize-rows='false' include-empty='false'>\n
<fields>\n
<fi
eld column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Customer Name]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Customer Name]'
/>\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales
:ok]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[sum
:Calculation_5489888009455718401:ok]' />\n
</fields>\n </query>\n <relation

-xml>&lt;relation name=&apos;Orders&apos; table=&apos;[Orders$]&apos; type=&apos


;table&apos;&gt;&#10; &lt;columns gridOrigin=&apos;A1:U8400:no:A1:U8400:0&apos;
header=&apos;yes&apos; outcome=&apos;2&apos;&gt;&#10;
&lt;column datatype=&a
pos;integer&apos; name=&apos;Row ID&apos; ordinal=&apos;0&apos; /&gt;&#10;
&l
t;column datatype=&apos;integer&apos; name=&apos;Order ID&apos; ordinal=&apos;1&
apos; /&gt;&#10;
&lt;column datatype=&apos;date&apos; name=&apos;Order Date&a
pos; ordinal=&apos;2&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos;
name=&apos;Order Priority&apos; ordinal=&apos;3&apos; /&gt;&#10;
&lt;column d
atatype=&apos;integer&apos; name=&apos;Order Quantity&apos; ordinal=&apos;4&apos
; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Sales&apos; ordi
nal=&apos;5&apos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;
Discount&apos; ordinal=&apos;6&apos; /&gt;&#10;
&lt;column datatype=&apos;str
ing&apos; name=&apos;Ship Mode&apos; ordinal=&apos;7&apos; /&gt;&#10;
&lt;col
umn datatype=&apos;real&apos; name=&apos;Profit&apos; ordinal=&apos;8&apos; /&gt
;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Unit Price&apos; ordin
al=&apos;9&apos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;S
hipping Cost&apos; ordinal=&apos;10&apos; /&gt;&#10;
&lt;column datatype=&apo
s;string&apos; name=&apos;Customer Name&apos; ordinal=&apos;11&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Province&apos; ordinal=&apo
s;12&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Regio
n&apos; ordinal=&apos;13&apos; /&gt;&#10;
&lt;column datatype=&apos;string&ap
os; name=&apos;Customer Segment&apos; ordinal=&apos;14&apos; /&gt;&#10;
&lt;c
olumn datatype=&apos;string&apos; name=&apos;Product Category&apos; ordinal=&apo
s;15&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Produ
ct Sub-Category&apos; ordinal=&apos;16&apos; /&gt;&#10;
&lt;column datatype=&
apos;string&apos; name=&apos;Product Name&apos; ordinal=&apos;17&apos; /&gt;&#10
;
&lt;column datatype=&apos;string&apos; name=&apos;Product Container&apos; o
rdinal=&apos;18&apos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&a
pos;Product Base Margin&apos; ordinal=&apos;19&apos; /&gt;&#10;
&lt;column da
tatype=&apos;date&apos; name=&apos;Ship Date&apos; ordinal=&apos;20&apos; /&gt;&
#10; &lt;/columns&gt;&#10;&lt;/relation&gt;&#10;</relation-xml>\n <relation-na
mes>\n
<relation-name key='[Customer Name]' value='[Orders].[Customer Name]'
/>\n
<relation-name key='[Customer Segment]' value='[Orders].[Customer Segmen
t]' />\n
<relation-name key='[Discount]' value='[Orders].[Discount]' />\n
<relation-name key='[Order Date]' value='[Orders].[Order Date]' />\n
<relatio
n-name key='[Order ID]' value='[Orders].[Order ID]' />\n
<relation-name key='
[Order Priority]' value='[Orders].[Order Priority]' />\n
<relation-name key='
[Order Quantity]' value='[Orders].[Order Quantity]' />\n
<relation-name key='
[Product Base Margin]' value='[Orders].[Product Base Margin]' />\n
<relationname key='[Product Category]' value='[Orders].[Product Category]' />\n
<relat
ion-name key='[Product Container]' value='[Orders].[Product Container]' />\n
<relation-name key='[Product Name]' value='[Orders].[Product Name]' />\n
<rel
ation-name key='[Product Sub-Category]' value='[Orders].[Product Sub-Category]'
/>\n
<relation-name key='[Profit]' value='[Orders].[Profit]' />\n
<relatio
n-name key='[Province]' value='[Orders].[Province]' />\n
<relation-name key='
[Region]' value='[Orders].[Region]' />\n
<relation-name key='[Row ID]' value=
'[Orders].[Row ID]' />\n
<relation-name key='[Sales]' value='[Orders].[Sales]
' />\n
<relation-name key='[Ship Date]' value='[Orders].[Ship Date]' />\n
<relation-name key='[Ship Mode]' value='[Orders].[Ship Mode]' />\n
<relationname key='[Shipping Cost]' value='[Orders].[Shipping Cost]' />\n
<relation-na
me key='[Unit Price]' value='[Orders].[Unit Price]' />\n </relation-names>\n <
bindings>\n
<binding key='[Customer Name]' value='Customer Name' />\n
<bin
ding key='[avg:Sales:ok]' value='avg:Sales:ok' />\n
<binding key='[sum:Calcul
ation_5489888009455718401:ok]' value='sum:Calculation_5489888009455718401:ok' />
\n </bindings>\n <lod>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l
].[Customer Name]</column>\n </lod>\n <measure-filter-lod>\n
<column>[excel
-direct.0s0w8bc1somq6z110noi81jfj70l].[Customer Name]</column>\n </measure-filt
er-lod>\n <output>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Cu
stomer Name]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[
avg:Sales:ok]</column>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].

[sum:Calculation_5489888009455718401:ok]</column>\n </output>\n <aggregates />


\n <slicers />\n <filtered />\n <local-filters />\n <calculations>\n
<cal
culation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Calculation_548988
8009455513600]' formula='{FIXED [Customer Name]:MIN([Order Date])}' />\n
<cal
culation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Calculation_548988
8009455718401]' formula='DATETRUNC(&apos;month&apos;,[Order Date])-DATETRUNC(&ap
os;month&apos;,[Calculation_5489888009455513600])' />\n
<calculation column='
[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Customer Name]' formula='' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order Date]' f
ormula='' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70
l].[Sales]' formula='' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z
110noi81jfj70l].[avg:Sales:ok]' formula='AVG([Sales])' />\n
<calculation colu
mn='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_548988800945571
8401:ok]' formula='SUM([Calculation_5489888009455718401])' />\n </calculations>
\n <agg-types>\n
<agg-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70
l].[Customer Name]' type='None' />\n
<agg-type column='[excel-direct.0s0w8bc1
somq6z110noi81jfj70l].[avg:Sales:ok]' type='Avg' />\n
<agg-type column='[exce
l-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:ok]'
type='User' />\n </agg-types>\n <data-types>\n
<data-type column='[excel-d
irect.0s0w8bc1somq6z110noi81jfj70l].[Calculation_5489888009455513600]' type='dat
e' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Calcu
lation_5489888009455718401]' type='real' />\n
<data-type column='[excel-direc
t.0s0w8bc1somq6z110noi81jfj70l].[Customer Name]' type='string' />\n
<data-typ
e column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order Date]' type='date'
/>\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Sales]'
type='real' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70
l].[avg:Sales:ok]' type='real' />\n
<data-type column='[excel-direct.0s0w8bc1
somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:ok]' type='real' />\n
</data-types>\n <current-user display-name='' name='' short-domain-qualifiedname='' type='user' />\n</aq-cache-key>\n","column-count":"3","key-hash":"412537
9986","key-size-b":"15540","query-kind":"abstract","query-latency-ms":"41","rowcount":"795","value-size-b":"60134"}}
{"ts":"2016-09-29T16:48:26.075","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AQTV3Z","elapsed-ms":"0","key-hash":"566906680","key-size-b":"8
0","outcome":"miss"}}
{"ts":"2016-09-29T16:48:26.076","pid":78016,"tid":"12900","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"setcollation","v":{"collation":"charset=0x0 en_US (LEN_RUS_S2)","column":"[excel-di
rect.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]"}}
{"ts":"2016-09-29T16:48:26.076","pid":78016,"tid":"12900","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"none","elapsed":0.042,"owner-component":"","owner-da
shboard":"","owner-worksheet":"","protocol-id":0,"query-id":0}}
{"ts":"2016-09-29T16:48:26.076","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.046,"elapsed-compute-keys":0.001,"elapsed-sum":0.
042,"job-count":1,"jobs":[{"cache-hit":"none","elapsed":0.042,"owner-component":
"","owner-dashboard":"","owner-worksheet":"","protocol-id":0,"query-abstract":"<
query aggregation='true' caching='normal' hierarchize-rows='false' include-empty
='false'>\n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jf
j70l].[none:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w8bc1som
q6z110noi81jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc
1somq6z110noi81jfj70l].[none:Customer Name:nk]' />\n
<output column='[excel-d
irect.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]' />
\n </fields>\n</query>\n","query-compiled":"(restrict\n (aggregate\n
(join\
n
(table [TableauTemp].[Orders$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Orders$])\n
(\n
([Customer Name
] [Customer Name])\n
)\n
(\n
([__measure__1]\n
(min [Order Date])\n
)\n
)\n
)\n

([Customer Name] [__measure__1])\n


)\n
(\n
([Customer Nam
e] [Customer Name])\n
)\n
(\n
([$temp0_output] [__measure__1]
)\n
)\n
1)\n
(\n
([Customer Name] [Customer Name])\n
)\
n
(\n
([avg:Sales:ok]\n
(average [Sales])\n
)\n
([sum
:Calculation_5489888009455718401:ok]\n
(sum\n
(-\n
(t
o_datetime\n
(truncmonth [Order Date])\n
)\n
(to_datetime\n
(truncmonth [$temp0_output])\n
)\n
)\n
)\n
)\n
)\n
)\n ([Customer Name] [avg:Sale
s:ok] [sum:Calculation_5489888009455718401:ok])\n )\n","query-id":0}]}}
{"ts":"2016-09-29T16:48:26.076","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:48:26.078","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-compress-data","v":{"compressed-size-b":"23043","elapsed-ms":"1","outcome":"don
e","uncompressed-size-b":"75678"}}
{"ts":"2016-09-29T16:48:26.079","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:48:26.080","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:add-to-sheet fn=\"[excel-direct.0s0w8bc1somq6z110n
oi81jfj70l].[Customer Name]\"","name":"tabdoc:add-to-sheet"}}
{"ts":"2016-09-29T16:48:26.081","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:26.081","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:48:26.082","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:48:26.082","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:48:26.082","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:48:26.095","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AbstractQueryHistoryV2Z","elapsed-ms":"0","key-hash":"386894654
7","key-size-b":"124","outcome":"hit","value-size-b":"77862"}}
{"ts":"2016-09-29T16:48:26.127","pid":78016,"tid":"11954","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:48:26.129","pid":78016,"tid":"11954","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:48:26.130","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.048,"elapsed-compute-keys":0,"elapsed-sum":0.001,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[non
e:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi8
1jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110
noi81jfj70l].[none:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w

8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]' />\n </fiel


ds>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T16:48:26.135","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:48:26.156","pid":78016,"tid":"e7bc","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begin
-data-interpreter","v":{}}
{"ts":"2016-09-29T16:48:26.158","pid":78016,"tid":"e7bc","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"end-d
ata-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:48:26.158","pid":78016,"tid":"e7bc","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begin
-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:48:26.158","pid":78016,"tid":"e7bc","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"compu
te-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:26.158","pid":78016,"tid":"e7bc","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"compu
te-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:26.158","pid":78016,"tid":"e7bc","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"compu
te-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:26.158","pid":78016,"tid":"e7bc","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"compu
te-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:26.159","pid":78016,"tid":"e7bc","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"parti
tion-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:26.197","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AbstractQueryHistoryV2Z","elapsed-ms":"102","key-hash":"386894
6547","key-size-b":"124","load-time-ms":"500","lower-bound-ms":"20","outcome":"d
one","value-size-b":"99318"}}
{"ts":"2016-09-29T16:48:26.198","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"class":"excel-direct","column-count":"3","elapsed-ms":"123","key-ha
sh":"4125379986","key-size-b":"15540","outcome":"try-store","query-kind":"abstra
ct","query-latency-ms":"41","row-count":"795","value-size-b":"60134"}}
{"ts":"2016-09-29T16:48:26.205","pid":78016,"tid":"e7bc","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sortpanes","v":{"elapsed":0.046}}
{"ts":"2016-09-29T16:48:26.205","pid":78016,"tid":"e7bc","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"end-p
artition-interpreter","v":{"elapsed":0.047}}
{"ts":"2016-09-29T16:48:26.206","pid":78016,"tid":"e7bc","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begin
-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:48:26.207","pid":78016,"tid":"e7bc","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gener
ate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:26.213","pid":78016,"tid":"e7bc","sev":"info","req":"-",
"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"end-v
isual-interpreter","v":{"elapsed":0.007}}
{"ts":"2016-09-29T16:48:26.213","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.078 sec"}
{"ts":"2016-09-29T16:48:26.213","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.078,"sheet":"Sheet 1","view":"Sheet 1"}}

{"ts":"2016-09-29T16:48:26.318","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:48:26.318","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"Error: OpenGL Error: 1280"}
{"ts":"2016-09-29T16:48:26.318","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"OpenGL Error occurred before bindTexture."}
{"ts":"2016-09-29T16:48:26.327","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:48:26.364","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:48:26.428","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:48:27.601","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AQRV3Z","elapsed-ms":"200","key-hash":"2635870305","key-size-b
":"114","load-time-ms":"41","lower-bound-ms":"20","outcome":"fail","problem":"ti
meout","value-size-b":"23043"}}
{"ts":"2016-09-29T16:48:27.613","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AQTV3Z","elapsed-ms":"200","key-hash":"566906680","key-size-b"
:"80","load-time-ms":"41","lower-bound-ms":"20","outcome":"fail","problem":"time
out","value-size-b":"9"}}
{"ts":"2016-09-29T16:48:34.317","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"Encodings\" drag-source=\
"drag-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[
excel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encodingtype\": \"level-of-detail-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\"
is-right-drag=\"false\" shelf-drag-source-position={\"shelf-type\": \"encoding-s
helf\",\"shelf-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\"
: false} shelf-drop-context=\"none\" shelf-drop-target-position={\"shelf-type\":
\"rows-shelf\",\"shelf-pos-index\": 0,\"is-override\": false} shelf-selection=[
3] source-sheet=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:48:34.319","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"Encodings\" drag-source=
\"drag-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"
[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding
-type\": \"level-of-detail-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\"
is-right-drag=\"false\" shelf-drag-source-position={\"shelf-type\": \"encodingshelf\",\"shelf-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\
": false} shelf-drop-context=\"none\" shelf-drop-target-position={\"shelf-type\"
: \"rows-shelf\",\"shelf-pos-index\": 0,\"is-override\": false} shelf-selection=
[3] source-sheet=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:48:34.335","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:48:34.336","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:34.336","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:48:34.337","pid":78016,"tid":"130b0","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:48:34.337","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:48:34.337","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:48:34.337","pid":78016,"tid":"110f4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:48:34.339","pid":78016,"tid":"110f4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:48:34.339","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.002,"elapsed-compute-keys":0,"elapsed-sum":0.001,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[non
e:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi8
1jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110
noi81jfj70l].[none:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w
8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]' />\n </fiel
ds>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T16:48:34.339","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:48:34.341","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:48:34.341","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:48:34.341","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:34.353","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0.011}}
{"ts":"2016-09-29T16:48:34.353","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:34.354","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:34.354","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:34.358","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:48:34.358","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.016}}
{"ts":"2016-09-29T16:48:34.358","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi

n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:48:34.383","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0.024}}
{"ts":"2016-09-29T16:48:34.545","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.187}}
{"ts":"2016-09-29T16:48:34.546","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.210 sec"}
{"ts":"2016-09-29T16:48:34.546","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.21,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:48:34.647","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:48:34.647","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"Error: OpenGL Error: 1280"}
{"ts":"2016-09-29T16:48:34.647","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"OpenGL Error occurred before bindTexture."}
{"ts":"2016-09-29T16:48:34.652","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:48:34.682","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:48:34.738","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:48:36.380","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"Rows\" drag-source=\"drag
-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[excel
-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding-type\
": \"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-right-drag
=\"false\" shelf-drag-source-position={\"shelf-type\": \"rows-shelf\",\"shelf-po
s-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} shelf-dr
op-context=\"none\" shelf-drop-target-position={\"shelf-type\": \"columns-shelf\
",\"shelf-pos-index\": 0,\"is-override\": false} shelf-selection=[2] source-shee
t=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:48:36.383","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"Rows\" drag-source=\"dra
g-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[exce
l-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding-type
\": \"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-right-dra
g=\"false\" shelf-drag-source-position={\"shelf-type\": \"rows-shelf\",\"shelf-p
os-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} shelf-d
rop-context=\"none\" shelf-drop-target-position={\"shelf-type\": \"columns-shelf
\",\"shelf-pos-index\": 0,\"is-override\": false} shelf-selection=[2] source-she
et=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:48:36.396","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:48:36.397","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:36.398","pid":78016,"tid":"119e8","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:48:36.399","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:48:36.399","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:48:36.399","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:48:36.399","pid":78016,"tid":"12f54","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:48:36.402","pid":78016,"tid":"12f54","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:48:36.403","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.005,"elapsed-compute-keys":0,"elapsed-sum":0.003,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[non
e:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi8
1jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110
noi81jfj70l].[none:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w
8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]' />\n </fiel
ds>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T16:48:36.403","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:48:36.415","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.011}}
{"ts":"2016-09-29T16:48:36.415","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:48:36.425","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0.01}}
{"ts":"2016-09-29T16:48:36.425","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:36.426","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:36.426","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:36.426","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:36.429","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:48:36.429","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"end-

partition-interpreter","v":{"elapsed":0.014}}
{"ts":"2016-09-29T16:48:36.429","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:48:36.456","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0.025}}
{"ts":"2016-09-29T16:48:36.623","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.193}}
{"ts":"2016-09-29T16:48:36.623","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.227 sec"}
{"ts":"2016-09-29T16:48:36.623","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.227,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:48:36.738","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:48:36.738","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"Error: OpenGL Error: 1280"}
{"ts":"2016-09-29T16:48:36.738","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"OpenGL Error occurred before bindTexture."}
{"ts":"2016-09-29T16:48:36.746","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:48:36.772","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:48:36.851","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:48:40.186","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"Columns\" drag-source=\"d
rag-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[ex
cel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding-ty
pe\": \"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-right-d
rag=\"false\" shelf-drag-source-position={\"shelf-type\": \"columns-shelf\",\"sh
elf-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} sh
elf-drop-context=\"none\" shelf-drop-target-position={\"shelf-type\": \"encoding
-shelf\",\"shelf-pos-index\": 0,\"encoding-type\": \"level-of-detail-encoding\",
\"is-override\": true,\"pane-spec\": 0} shelf-selection=[1] source-sheet=\"Sheet
1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:48:40.188","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"Columns\" drag-source=\"
drag-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[e
xcel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding-t
ype\": \"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-rightdrag=\"false\" shelf-drag-source-position={\"shelf-type\": \"columns-shelf\",\"s
helf-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} s
helf-drop-context=\"none\" shelf-drop-target-position={\"shelf-type\": \"encodin
g-shelf\",\"shelf-pos-index\": 0,\"encoding-type\": \"level-of-detail-encoding\"
,\"is-override\": true,\"pane-spec\": 0} shelf-selection=[1] source-sheet=\"Shee
t 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:48:40.195","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi

n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}


{"ts":"2016-09-29T16:48:40.196","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:40.196","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:48:40.197","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:48:40.197","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:48:40.197","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:48:40.197","pid":78016,"tid":"138f4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:48:40.199","pid":78016,"tid":"138f4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:48:40.199","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.003,"elapsed-compute-keys":0,"elapsed-sum":0.001,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[non
e:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi8
1jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110
noi81jfj70l].[none:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w
8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]' />\n </fiel
ds>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T16:48:40.199","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:48:40.201","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:48:40.201","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:48:40.201","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:40.201","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:40.201","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:40.201","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:40.202","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}

{"ts":"2016-09-29T16:48:40.214","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.012}}
{"ts":"2016-09-29T16:48:40.215","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.013}}
{"ts":"2016-09-29T16:48:40.215","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:48:40.216","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:40.219","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.004}}
{"ts":"2016-09-29T16:48:40.219","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.024 sec"}
{"ts":"2016-09-29T16:48:40.219","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.024,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:48:40.231","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:48:40.231","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"Error: OpenGL Error: 1280"}
{"ts":"2016-09-29T16:48:40.231","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"OpenGL Error occurred before bindTexture."}
{"ts":"2016-09-29T16:48:40.234","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:48:40.278","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:48:40.300","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:48:43.926","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"Encodings\" drag-source=\
"drag-drop-shelf\" drop-target=\"drag-drop-none\" field-encodings=[{\"fn\": \"[e
xcel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding-t
ype\": \"level-of-detail-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" i
s-right-drag=\"false\" shelf-drag-source-position={\"shelf-type\": \"encoding-sh
elf\",\"shelf-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\":
false} shelf-drop-context=\"none\" shelf-drop-target-position={\"is-override\":
false} shelf-selection=[3] source-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:48:43.928","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"Encodings\" drag-source=
\"drag-drop-shelf\" drop-target=\"drag-drop-none\" field-encodings=[{\"fn\": \"[
excel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encodingtype\": \"level-of-detail-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\"
is-right-drag=\"false\" shelf-drag-source-position={\"shelf-type\": \"encoding-s
helf\",\"shelf-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\"
: false} shelf-drop-context=\"none\" shelf-drop-target-position={\"is-override\"
: false} shelf-selection=[3] source-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:48:43.934","pid":78016,"tid":"13074","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:48:43.934","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:43.935","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:48:43.935","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:48:43.935","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:48:43.935","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:48:43.936","pid":78016,"tid":"138fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:48:43.937","pid":78016,"tid":"138fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:48:43.937","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.002,"elapsed-compute-keys":0,"elapsed-sum":0.001,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[av
g:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l]
.[sum:Calculation_5489888009455718401:qk]' />\n </fields>\n</query>\n","query-i
d":0}]}}
{"ts":"2016-09-29T16:48:43.937","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:48:43.940","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:48:43.940","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:48:43.940","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:43.940","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:43.940","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:43.940","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:43.940","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:43.942","pid":78016,"tid":"13734","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:48:43.942","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:48:43.942","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:48:43.944","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:48:43.949","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.007}}
{"ts":"2016-09-29T16:48:43.949","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.015 sec"}
{"ts":"2016-09-29T16:48:43.950","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.015,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:48:43.966","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:48:43.966","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"Error: OpenGL Error: 1280"}
{"ts":"2016-09-29T16:48:43.966","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"OpenGL Error occurred before bindTexture."}
{"ts":"2016-09-29T16:48:43.967","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:48:44.011","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:48:44.037","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:57:37.382","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: invoking the context menu."}
{"ts":"2016-09-29T16:57:40.100","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: context menu event loop returned."}
{"ts":"2016-09-29T16:57:40.147","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:change-field-type-ui field-type=\"ordinal\"","name":
"tabui:change-field-type-ui"}}
{"ts":"2016-09-29T16:57:40.148","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:change-field-type-ui field-type=\"ordinal\"","name"
:"tabui:change-field-type-ui"}}
{"ts":"2016-09-29T16:57:40.157","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:57:40.158","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:40.159","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i

nfo","v":"Received for processing a query batch of 1 queries."}


{"ts":"2016-09-29T16:57:40.161","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:57:40.161","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:57:40.161","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:57:40.161","pid":78016,"tid":"12c1c","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:57:40.163","pid":78016,"tid":"12c1c","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:57:40.164","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.004,"elapsed-compute-keys":0.001,"elapsed-sum":0.
002,"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpr
eter","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query
aggregation='true' caching='normal' hierarchize-rows='false' include-empty='fals
e'>\n <fields>\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l]
.[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj
70l].[sum:Calculation_5489888009455718401:ok]' />\n </fields>\n</query>\n","que
ry-id":0}]}}
{"ts":"2016-09-29T16:57:40.164","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:57:40.166","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:57:40.166","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:57:40.166","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:40.168","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:57:40.168","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:40.168","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:40.168","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:40.172","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.003}}
{"ts":"2016-09-29T16:57:40.172","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.005}}
{"ts":"2016-09-29T16:57:40.172","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi

n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:57:40.173","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:40.181","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.008}}
{"ts":"2016-09-29T16:57:40.181","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.024 sec"}
{"ts":"2016-09-29T16:57:40.181","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.024,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:57:40.209","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:57:40.212","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:57:40.240","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:57:40.260","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:57:42.755","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: invoking the context menu."}
{"ts":"2016-09-29T16:57:46.512","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: context menu event loop returned."}
{"ts":"2016-09-29T16:57:46.559","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:change-field-type-ui field-type=\"quantitative\"","n
ame":"tabui:change-field-type-ui"}}
{"ts":"2016-09-29T16:57:46.559","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:change-field-type-ui field-type=\"quantitative\"","
name":"tabui:change-field-type-ui"}}
{"ts":"2016-09-29T16:57:46.565","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:57:46.566","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:46.566","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:57:46.566","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:57:46.566","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:57:46.566","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:57:46.567","pid":78016,"tid":"1293c","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner

-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:57:46.567","pid":78016,"tid":"1293c","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:57:46.567","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.001,"elapsed-compute-keys":0,"elapsed-sum":0,"job
-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter","o
wner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggregat
ion='true' caching='normal' hierarchize-rows='false' include-empty='false'>\n <
fields>\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sa
les:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[su
m:Calculation_5489888009455718401:qk]' />\n </fields>\n</query>\n","query-id":0
}]}}
{"ts":"2016-09-29T16:57:46.568","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:57:46.569","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:57:46.569","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:57:46.569","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:46.569","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:46.569","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:46.569","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:46.569","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:46.570","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:46.570","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:46.570","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:57:46.571","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:46.573","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.003}}
{"ts":"2016-09-29T16:57:46.574","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.008 sec"}
{"ts":"2016-09-29T16:57:46.574","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.008,"sheet":"Sheet 1","view":"Sheet 1"}}

{"ts":"2016-09-29T16:57:46.667","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:57:46.667","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"Error: OpenGL Error: 1280"}
{"ts":"2016-09-29T16:57:46.667","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"OpenGL Error occurred before bindTexture."}
{"ts":"2016-09-29T16:57:46.668","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:57:46.706","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:57:46.768","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:57:48.061","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: invoking the context menu."}
{"ts":"2016-09-29T16:57:50.868","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: context menu event loop returned."}
{"ts":"2016-09-29T16:57:50.897","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:change-aggregation-ui aggregation=\"none\"","name":"
tabui:change-aggregation-ui"}}
{"ts":"2016-09-29T16:57:50.898","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:change-aggregation-ui aggregation=\"none\"","name":
"tabui:change-aggregation-ui"}}
{"ts":"2016-09-29T16:57:50.906","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:57:50.907","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:50.907","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:57:50.908","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:57:50.908","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:57:50.908","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:57:50.908","pid":78016,"tid":"13b54","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:57:50.910","pid":78016,"tid":"13b54","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:57:50.910","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b

atch-summary","v":{"elapsed":0.002,"elapsed-compute-keys":0,"elapsed-sum":0.001,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[non
e:Calculation_5489888009455718401:ok]' />\n
<output column='[excel-direct.0s0
w8bc1somq6z110noi81jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct
.0s0w8bc1somq6z110noi81jfj70l].[none:Calculation_5489888009455718401:ok]' />\n
</fields>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T16:57:50.910","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:57:50.912","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:57:50.912","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:57:50.912","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:50.913","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:50.913","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:50.913","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:50.913","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:50.915","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:57:50.915","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.003}}
{"ts":"2016-09-29T16:57:50.915","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:57:50.916","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:50.922","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.006}}
{"ts":"2016-09-29T16:57:50.922","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.015 sec"}
{"ts":"2016-09-29T16:57:50.922","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.015,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:57:50.933","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:57:50.934","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}

{"ts":"2016-09-29T16:57:50.990","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:57:51.012","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:57:52.383","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: invoking the context menu."}
{"ts":"2016-09-29T16:57:53.779","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: context menu event loop returned."}
{"ts":"2016-09-29T16:57:53.814","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:change-aggregation-ui aggregation=\"attr\"","name":"
tabui:change-aggregation-ui"}}
{"ts":"2016-09-29T16:57:53.820","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:change-aggregation-ui aggregation=\"attr\"","name":
"tabui:change-aggregation-ui"}}
{"ts":"2016-09-29T16:57:53.828","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:57:53.829","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:53.835","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:57:53.836","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:57:53.836","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:57:53.836","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:57:53.840","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:57:53.848","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AQTV3Z","elapsed-ms":"0","key-hash":"3367335285","key-size-b":"
80","outcome":"miss"}}
{"ts":"2016-09-29T16:57:53.848","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"excel-direct","elapsed-ms":"0","key-hash":"3053907495","outc
ome":"miss-no-entry","query-kind":"abstract"}}
{"ts":"2016-09-29T16:57:53.855","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Shadow extract file name: C:\\Users\\Vissu\\AppData\\Local\\Tableau\\Cachi
ng\\TemporaryExtracts\\5070ba7b14ff34c1ee7348d10175ea55647cd3a3b2c61a4d21bc9aa3c
051bab0.ttde"}
{"ts":"2016-09-29T16:57:53.856","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:57:53.856","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"

,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}


{"ts":"2016-09-29T16:57:53.856","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:57:53.856","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:57:53.856","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:57:53.856","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:57:53.875","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"NQTV1Z","elapsed-ms":"0","key-hash":"529461708","key-size-b":"8
0","outcome":"miss"}}
{"ts":"2016-09-29T16:57:53.875","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"excel-direct","elapsed-ms":"0","key-hash":"1108550657","outc
ome":"miss-no-entry","query-kind":"native"}}
{"ts":"2016-09-29T16:57:53.875","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(restrict\n (aggregate\n
(join\n
(table [TableauTemp].[Orders$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Orders$])\n
(\n
([Customer Name] [Cus
tomer Name])\n
)\n
(\n
([__measure__0]\n
(min [Order Date])\n
)\n
([__measure__2]\n
(min [Order Date])\n
)\n
)\n
)\n
([
Customer Name] [__measure__0] [__measure__2])\n
)\n
(\n
([Cus
tomer Name] [Customer Name])\n
)\n
(\n
([$temp0_import] [__me
asure__0])\n
([$temp1_import] [__measure__2])\n
)\n
1)\n
(
)\n
(\n
([TEMP(attr:Calculation_5489888009455718401:qk)(1083756958)(0)]\
n
(max\n
(-\n
(to_datetime\n
(truncmonth
[Order Date])\n
)\n
(to_datetime\n
(truncm
onth [$temp0_import])\n
)\n
)\n
)\n
)\n
([TEMP(attr:Calculation_5489888009455718401:qk)(811960993)(0)]\n
(mi
n\n
(-\n
(to_datetime\n
(truncmonth [Order Date
])\n
)\n
(to_datetime\n
(truncmonth [$temp1
_import])\n
)\n
)\n
)\n
)\n
([avg:S
ales:ok]\n
(average [Sales])\n
)\n
)\n
)\n ([TEMP(attr:Ca
lculation_5489888009455718401:qk)(1083756958)(0)] [TEMP(attr:Calculation_5489888
009455718401:qk)(811960993)(0)] [avg:Sales:ok])\n )\n","query-hash":1108550657}
}
{"ts":"2016-09-29T16:57:53.894","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:57:53.993","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":3,"elapsed":0.118,"protocol-id":2,"query":"(restrict\n (aggr
egate\n
(join\n
(table [TableauTemp].[Orders$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Orders$])\n
(\n
([Customer Name] [Customer Name])\n
)\n
(\n
([_
_measure__0]\n
(min [Order Date])\n
)\n
([_
_measure__2]\n
(min [Order Date])\n
)\n
)\n
)\n
([Customer Name] [__measure__0] [__measure__2])\n
)\
n
(\n
([Customer Name] [Customer Name])\n
)\n
(\n
([$temp0_import] [__measure__0])\n
([$temp1_import] [__measure__2])\n
)\n
1)\n
()\n
(\n
([TEMP(attr:Calculation_54898880094557184
01:qk)(1083756958)(0)]\n
(max\n
(-\n
(to_datetime\n

(truncmonth [Order Date])\n


)\n
(to_datetime
(truncmonth [$temp0_import])\n
)\n
)\n
)\n
)\n
([TEMP(attr:Calculation_5489888009455718401:qk)(8119
60993)(0)]\n
(min\n
(-\n
(to_datetime\n
(truncmonth [Order Date])\n
)\n
(to_datetime\n
(truncmonth [$temp1_import])\n
)\n
)\n
)\n
)\n
([avg:Sales:ok]\n
(average [Sales])\n
)\n
)\n
)\n ([TEMP(attr:Calculation_5489888009455718401:qk)(1083756958)(0)] [TEMP(a
ttr:Calculation_5489888009455718401:qk)(811960993)(0)] [avg:Sales:ok])\n )\n","
query-hash":1108550657,"rows":1}}
{"ts":"2016-09-29T16:57:53.993","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"NQTV1Z","elapsed-ms":"0","key-hash":"529461708","key-size-b":"8
0","outcome":"miss"}}
{"ts":"2016-09-29T16:57:53.994","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-compress-data","v":{"compressed-size-b":"1272","elapsed-ms":"0","outcome":"done
","uncompressed-size-b":"7278"}}
{"ts":"2016-09-29T16:57:53.994","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"class":"excel-direct","column-count":"3","elapsed-ms":"0","key-hash
":"1108550657","key-size-b":"2946","outcome":"try-store","query-kind":"native","
query-latency-ms":"133","row-count":"1","value-size-b":"1512"}}
{"ts":"2016-09-29T16:57:54.178","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqclog-cache-key","v":{"cache-key":"<aq-cache-key are-all-local-sorts-supported='tr
ue' has-agg-measure-filters='false' has-lod-calcs='true' has-user-reference='fal
se' start-of-week='sunday' version='9.3'>\n <query aggregation='true' caching='
normal' hierarchize-rows='false' include-empty='false'>\n
<fields>\n
<ou
tput column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[TEMP(attr:Calculation_
5489888009455718401:qk)(1083756958)(0)]' />\n
<output column='[excel-direct
.0s0w8bc1somq6z110noi81jfj70l].[TEMP(attr:Calculation_5489888009455718401:qk)(81
1960993)(0)]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj7
0l].[avg:Sales:ok]' />\n
</fields>\n </query>\n <relation-xml>&lt;relation
name=&apos;Orders&apos; table=&apos;[Orders$]&apos; type=&apos;table&apos;&gt;&#
10; &lt;columns gridOrigin=&apos;A1:U8400:no:A1:U8400:0&apos; header=&apos;yes&
apos; outcome=&apos;2&apos;&gt;&#10;
&lt;column datatype=&apos;integer&apos;
name=&apos;Row ID&apos; ordinal=&apos;0&apos; /&gt;&#10;
&lt;column datatype=
&apos;integer&apos; name=&apos;Order ID&apos; ordinal=&apos;1&apos; /&gt;&#10;
&lt;column datatype=&apos;date&apos; name=&apos;Order Date&apos; ordinal=&apos
;2&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Order P
riority&apos; ordinal=&apos;3&apos; /&gt;&#10;
&lt;column datatype=&apos;inte
ger&apos; name=&apos;Order Quantity&apos; ordinal=&apos;4&apos; /&gt;&#10;
&l
t;column datatype=&apos;real&apos; name=&apos;Sales&apos; ordinal=&apos;5&apos;
/&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Discount&apos; ord
inal=&apos;6&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&ap
os;Ship Mode&apos; ordinal=&apos;7&apos; /&gt;&#10;
&lt;column datatype=&apos
;real&apos; name=&apos;Profit&apos; ordinal=&apos;8&apos; /&gt;&#10;
&lt;colu
mn datatype=&apos;real&apos; name=&apos;Unit Price&apos; ordinal=&apos;9&apos; /
&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Shipping Cost&apos;
ordinal=&apos;10&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; nam
e=&apos;Customer Name&apos; ordinal=&apos;11&apos; /&gt;&#10;
&lt;column data
type=&apos;string&apos; name=&apos;Province&apos; ordinal=&apos;12&apos; /&gt;&#
10;
&lt;column datatype=&apos;string&apos; name=&apos;Region&apos; ordinal=&a
pos;13&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Cus
tomer Segment&apos; ordinal=&apos;14&apos; /&gt;&#10;
&lt;column datatype=&ap
os;string&apos; name=&apos;Product Category&apos; ordinal=&apos;15&apos; /&gt;&#
10;
&lt;column datatype=&apos;string&apos; name=&apos;Product Sub-Category&ap
os; ordinal=&apos;16&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos;
name=&apos;Product Name&apos; ordinal=&apos;17&apos; /&gt;&#10;
&lt;column da
\n

tatype=&apos;string&apos; name=&apos;Product Container&apos; ordinal=&apos;18&ap


os; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Product Base M
argin&apos; ordinal=&apos;19&apos; /&gt;&#10;
&lt;column datatype=&apos;date&
apos; name=&apos;Ship Date&apos; ordinal=&apos;20&apos; /&gt;&#10; &lt;/columns
&gt;&#10;&lt;/relation&gt;&#10;</relation-xml>\n <relation-names>\n
<relatio
n-name key='[Customer Name]' value='[Orders].[Customer Name]' />\n
<relationname key='[Customer Segment]' value='[Orders].[Customer Segment]' />\n
<relat
ion-name key='[Discount]' value='[Orders].[Discount]' />\n
<relation-name key
='[Order Date]' value='[Orders].[Order Date]' />\n
<relation-name key='[Order
ID]' value='[Orders].[Order ID]' />\n
<relation-name key='[Order Priority]'
value='[Orders].[Order Priority]' />\n
<relation-name key='[Order Quantity]'
value='[Orders].[Order Quantity]' />\n
<relation-name key='[Product Base Marg
in]' value='[Orders].[Product Base Margin]' />\n
<relation-name key='[Product
Category]' value='[Orders].[Product Category]' />\n
<relation-name key='[Pro
duct Container]' value='[Orders].[Product Container]' />\n
<relation-name key
='[Product Name]' value='[Orders].[Product Name]' />\n
<relation-name key='[P
roduct Sub-Category]' value='[Orders].[Product Sub-Category]' />\n
<relationname key='[Profit]' value='[Orders].[Profit]' />\n
<relation-name key='[Provi
nce]' value='[Orders].[Province]' />\n
<relation-name key='[Region]' value='[
Orders].[Region]' />\n
<relation-name key='[Row ID]' value='[Orders].[Row ID]
' />\n
<relation-name key='[Sales]' value='[Orders].[Sales]' />\n
<relatio
n-name key='[Ship Date]' value='[Orders].[Ship Date]' />\n
<relation-name key
='[Ship Mode]' value='[Orders].[Ship Mode]' />\n
<relation-name key='[Shippin
g Cost]' value='[Orders].[Shipping Cost]' />\n
<relation-name key='[Unit Pric
e]' value='[Orders].[Unit Price]' />\n </relation-names>\n <bindings>\n
<bi
nding key='[TEMP(attr:Calculation_5489888009455718401:qk)(1083756958)(0)]' value
='TEMP(attr:Calculation_5489888009455718401:qk)(1083756958)(0)' />\n
<binding
key='[TEMP(attr:Calculation_5489888009455718401:qk)(811960993)(0)]' value='TEMP
(attr:Calculation_5489888009455718401:qk)(811960993)(0)' />\n
<binding key='[
avg:Sales:ok]' value='avg:Sales:ok' />\n </bindings>\n <lod />\n <measure-fil
ter-lod />\n <output>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].
[TEMP(attr:Calculation_5489888009455718401:qk)(1083756958)(0)]</column>\n
<co
lumn>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[TEMP(attr:Calculation_54898880
09455718401:qk)(811960993)(0)]</column>\n
<column>[excel-direct.0s0w8bc1somq6
z110noi81jfj70l].[avg:Sales:ok]</column>\n </output>\n <aggregates />\n <slic
ers />\n <filtered />\n <local-filters />\n <calculations>\n
<calculation
column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Calculation_548988800945551
3600]' formula='{FIXED [Customer Name]:MIN([Order Date])}' />\n
<calculation
column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Calculation_548988800945571
8401]' formula='DATETRUNC(&apos;month&apos;,[Order Date])-DATETRUNC(&apos;month&
apos;,[Calculation_5489888009455513600])' />\n
<calculation column='[excel-di
rect.0s0w8bc1somq6z110noi81jfj70l].[Customer Name]' formula='' />\n
<calculat
ion column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order Date]' formula=''
/>\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Sales
]' formula='' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81j
fj70l].[TEMP(attr:Calculation_5489888009455718401:qk)(1083756958)(0)]' formula='
MAX([Calculation_5489888009455718401])' />\n
<calculation column='[excel-dire
ct.0s0w8bc1somq6z110noi81jfj70l].[TEMP(attr:Calculation_5489888009455718401:qk)(
811960993)(0)]' formula='MIN([Calculation_5489888009455718401])' />\n
<calcul
ation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:ok]' formul
a='AVG([Sales])' />\n </calculations>\n <agg-types>\n
<agg-type column='[ex
cel-direct.0s0w8bc1somq6z110noi81jfj70l].[TEMP(attr:Calculation_5489888009455718
401:qk)(1083756958)(0)]' type='User' />\n
<agg-type column='[excel-direct.0s0
w8bc1somq6z110noi81jfj70l].[TEMP(attr:Calculation_5489888009455718401:qk)(811960
993)(0)]' type='User' />\n
<agg-type column='[excel-direct.0s0w8bc1somq6z110n
oi81jfj70l].[avg:Sales:ok]' type='Avg' />\n </agg-types>\n <data-types>\n
<
data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Calculation_54898
88009455513600]' type='date' />\n
<data-type column='[excel-direct.0s0w8bc1so
mq6z110noi81jfj70l].[Calculation_5489888009455718401]' type='real' />\n
<data
-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Customer Name]' type=

'string' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].
[Order Date]' type='date' />\n
<data-type column='[excel-direct.0s0w8bc1somq6
z110noi81jfj70l].[Sales]' type='real' />\n
<data-type column='[excel-direct.0
s0w8bc1somq6z110noi81jfj70l].[TEMP(attr:Calculation_5489888009455718401:qk)(1083
756958)(0)]' type='real' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z
110noi81jfj70l].[TEMP(attr:Calculation_5489888009455718401:qk)(811960993)(0)]' t
ype='real' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l
].[avg:Sales:ok]' type='real' />\n </data-types>\n <current-user display-name=
'' name='' short-domain-qualified-name='' type='user' />\n</aq-cache-key>\n","co
lumn-count":"3","key-hash":"3053907495","key-size-b":"16414","query-kind":"abstr
act","query-latency-ms":"337","row-count":"1","value-size-b":"1512"}}
{"ts":"2016-09-29T16:57:54.179","pid":78016,"tid":"12fd0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"none","elapsed":0.338,"owner-component":"DataInterpr
eter","owner-dashboard":"","owner-worksheet":"Sheet 1","protocol-id":0,"query-id
":0}}
{"ts":"2016-09-29T16:57:54.179","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AQTV3Z","elapsed-ms":"0","key-hash":"3367335285","key-size-b":"
80","outcome":"miss"}}
{"ts":"2016-09-29T16:57:54.180","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-compress-data","v":{"compressed-size-b":"2692","elapsed-ms":"0","outcome":"done
","uncompressed-size-b":"24420"}}
{"ts":"2016-09-29T16:57:54.180","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.344,"elapsed-compute-keys":0,"elapsed-sum":0.338,
"job-count":1,"jobs":[{"cache-hit":"none","elapsed":0.338,"owner-component":"Dat
aInterpreter","owner-dashboard":"","owner-worksheet":"Sheet 1","protocol-id":0,"
query-abstract":"<query aggregation='true' caching='normal' hierarchize-rows='fa
lse' include-empty='false'>\n <fields>\n
<output column='[excel-direct.0s0w8
bc1somq6z110noi81jfj70l].[TEMP(attr:Calculation_5489888009455718401:qk)(10837569
58)(0)]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[TE
MP(attr:Calculation_5489888009455718401:qk)(811960993)(0)]' />\n
<output colu
mn='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:qk]' />\n </fields>\
n</query>\n","query-compiled":"(restrict\n (aggregate\n
(join\n
(table
[TableauTemp].[Orders$])\n
(restrict\n
(aggregate\n
(table
[TableauTemp].[Orders$])\n
(\n
([Customer Name] [Customer Na
me])\n
)\n
(\n
([__measure__0]\n
(mi
n [Order Date])\n
)\n
([__measure__2]\n
(mi
n [Order Date])\n
)\n
)\n
)\n
([Customer
Name] [__measure__0] [__measure__2])\n
)\n
(\n
([Customer Na
me] [Customer Name])\n
)\n
(\n
([$temp0_import] [__measure__0
])\n
([$temp1_import] [__measure__2])\n
)\n
1)\n
()\n
(
\n
([TEMP(attr:Calculation_5489888009455718401:qk)(1083756958)(0)]\n
(max\n
(-\n
(to_datetime\n
(truncmonth [Order
Date])\n
)\n
(to_datetime\n
(truncmonth [$t
emp0_import])\n
)\n
)\n
)\n
)\n
([T
EMP(attr:Calculation_5489888009455718401:qk)(811960993)(0)]\n
(min\n
(-\n
(to_datetime\n
(truncmonth [Order Date])\n
)\n
(to_datetime\n
(truncmonth [$temp1_import]
)\n
)\n
)\n
)\n
)\n
([avg:Sales:ok]
\n
(average [Sales])\n
)\n
)\n
)\n ([TEMP(attr:Calculatio
n_5489888009455718401:qk)(1083756958)(0)] [TEMP(attr:Calculation_548988800945571
8401:qk)(811960993)(0)] [avg:Sales:ok])\n )\n","query-id":0}]}}
{"ts":"2016-09-29T16:57:54.180","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:57:54.182","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"end-

data-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:57:54.182","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:57:54.182","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:54.182","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:54.182","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:54.182","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:54.182","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:54.184","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:57:54.184","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:57:54.184","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:57:54.185","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:57:54.190","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.005}}
{"ts":"2016-09-29T16:57:54.190","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.361 sec"}
{"ts":"2016-09-29T16:57:54.190","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.361,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:57:54.225","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:57:54.225","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"Error: OpenGL Error: 1280"}
{"ts":"2016-09-29T16:57:54.225","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"OpenGL Error occurred before bindTexture."}
{"ts":"2016-09-29T16:57:54.276","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:57:54.435","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:57:54.533","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:57:54.680","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqc-

store","v":{"class":"excel-direct","column-count":"3","elapsed-ms":"500","key-ha
sh":"3053907495","key-size-b":"16414","outcome":"try-store","query-kind":"abstra
ct","query-latency-ms":"337","row-count":"1","value-size-b":"1512"}}
{"ts":"2016-09-29T16:57:54.681","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AbstractQueryHistoryV2Z","elapsed-ms":"1","key-hash":"386894654
7","key-size-b":"124","outcome":"hit","value-size-b":"99318"}}
{"ts":"2016-09-29T16:57:55.799","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: invoking the context menu."}
{"ts":"2016-09-29T16:57:56.469","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"NQTV1Z","elapsed-ms":"200","key-hash":"529461708","key-size-b"
:"80","load-time-ms":"133","lower-bound-ms":"20","outcome":"fail","problem":"tim
eout","value-size-b":"9"}}
{"ts":"2016-09-29T16:57:56.832","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AQTV3Z","elapsed-ms":"200","key-hash":"3367335285","key-size-b
":"80","load-time-ms":"250","lower-bound-ms":"20","outcome":"fail","problem":"ti
meout","value-size-b":"9"}}
{"ts":"2016-09-29T16:57:56.896","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"NQRV1Z","elapsed-ms":"200","key-hash":"3102039758","key-size-b
":"114","load-time-ms":"133","lower-bound-ms":"20","outcome":"fail","problem":"t
imeout","value-size-b":"1272"}}
{"ts":"2016-09-29T16:57:57.070","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AQRV3Z","elapsed-ms":"200","key-hash":"2955193844","key-size-b
":"114","load-time-ms":"250","lower-bound-ms":"20","outcome":"fail","problem":"t
imeout","value-size-b":"2692"}}
{"ts":"2016-09-29T16:58:03.118","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: context menu event loop returned."}
{"ts":"2016-09-29T16:58:03.152","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:change-aggregation-ui aggregation=\"count\"","name":
"tabui:change-aggregation-ui"}}
{"ts":"2016-09-29T16:58:03.153","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:change-aggregation-ui aggregation=\"count\"","name"
:"tabui:change-aggregation-ui"}}
{"ts":"2016-09-29T16:58:03.162","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:58:03.162","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:03.163","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:58:03.164","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:58:03.164","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:58:03.164","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:58:03.164","pid":78016,"tid":"13980","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:58:03.168","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AQTV3Z","elapsed-ms":"0","key-hash":"3254448870","key-size-b":"
80","outcome":"miss"}}
{"ts":"2016-09-29T16:58:03.168","pid":78016,"tid":"13980","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"excel-direct","elapsed-ms":"0","key-hash":"414032228","outco
me":"miss-no-entry","query-kind":"abstract"}}
{"ts":"2016-09-29T16:58:03.174","pid":78016,"tid":"13980","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Shadow extract file name: C:\\Users\\Vissu\\AppData\\Local\\Tableau\\Cachi
ng\\TemporaryExtracts\\5070ba7b14ff34c1ee7348d10175ea55647cd3a3b2c61a4d21bc9aa3c
051bab0.ttde"}
{"ts":"2016-09-29T16:58:03.174","pid":78016,"tid":"13980","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:58:03.174","pid":78016,"tid":"13980","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:58:03.174","pid":78016,"tid":"13980","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:58:03.174","pid":78016,"tid":"13980","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:58:03.174","pid":78016,"tid":"13980","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:58:03.175","pid":78016,"tid":"13980","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:58:03.176","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"NQTV1Z","elapsed-ms":"0","key-hash":"617380051","key-size-b":"7
8","outcome":"miss"}}
{"ts":"2016-09-29T16:58:03.176","pid":78016,"tid":"13980","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"excel-direct","elapsed-ms":"0","key-hash":"4082866086","outc
ome":"miss-no-entry","query-kind":"native"}}
{"ts":"2016-09-29T16:58:03.176","pid":78016,"tid":"13980","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(restrict\n (aggregate\n
(join\n
(table [TableauTemp].[Orders$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Orders$])\n
(\n
([Customer Name] [Cus
tomer Name])\n
)\n
(\n
([__measure__1]\n
(min [Order Date])\n
)\n
)\n
)\n
([
Customer Name] [__measure__1])\n
)\n
(\n
([Customer Name] [Cu
stomer Name])\n
)\n
(\n
([$temp0_output] [__measure__1])\n
)\n
1)\n
()\n
(\n
([avg:Sales:ok]\n
(average [Sales]
)\n
)\n
([cnt:Calculation_5489888009455718401:ok]\n
(count\n
(-\n
(to_datetime\n
(truncmonth [Order Date])\n
)\n
(to_datetime\n
(truncmonth [$temp0_out
put])\n
)\n
)\n
)\n
)\n
)\n
)\n
([avg:Sales:ok] [cnt:Calculation_5489888009455718401:ok])\n )\n","query-hash":
4082866086}}
{"ts":"2016-09-29T16:58:03.177","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"

,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:58:03.186","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":2,"elapsed":0.01,"protocol-id":2,"query":"(restrict\n (aggre
gate\n
(join\n
(table [TableauTemp].[Orders$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Orders$])\n
(\n
([Customer Name] [Customer Name])\n
)\n
(\n
([__
measure__1]\n
(min [Order Date])\n
)\n
)\n
)\n
([Customer Name] [__measure__1])\n
)\n
(\n
([Customer Name] [Customer Name])\n
)\n
(\n
([$temp0_output
] [__measure__1])\n
)\n
1)\n
()\n
(\n
([avg:Sales:ok]\n
(average [Sales])\n
)\n
([cnt:Calculation_5489888009455718401:
ok]\n
(count\n
(-\n
(to_datetime\n
(trun
cmonth [Order Date])\n
)\n
(to_datetime\n
(
truncmonth [$temp0_output])\n
)\n
)\n
)\n
)\n
)\n
)\n ([avg:Sales:ok] [cnt:Calculation_5489888009455718401:ok])
\n )\n","query-hash":4082866086,"rows":1}}
{"ts":"2016-09-29T16:58:03.186","pid":78016,"tid":"13980","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"column-count":"2","outcome":"ignore-fast","query-kind":"native","qu
ery-latency-ms":"11","row-count":"1","value-size-b":"1008"}}
{"ts":"2016-09-29T16:58:03.187","pid":78016,"tid":"13980","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqclog-cache-key","v":{"cache-key":"<aq-cache-key are-all-local-sorts-supported='tr
ue' has-agg-measure-filters='false' has-lod-calcs='true' has-user-reference='fal
se' start-of-week='sunday' version='9.3'>\n <query aggregation='true' caching='
normal' hierarchize-rows='false' include-empty='false'>\n
<fields>\n
<ou
tput column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:ok]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[cnt:Calculation_
5489888009455718401:ok]' />\n
</fields>\n </query>\n <relation-xml>&lt;rela
tion name=&apos;Orders&apos; table=&apos;[Orders$]&apos; type=&apos;table&apos;&
gt;&#10; &lt;columns gridOrigin=&apos;A1:U8400:no:A1:U8400:0&apos; header=&apos
;yes&apos; outcome=&apos;2&apos;&gt;&#10;
&lt;column datatype=&apos;integer&a
pos; name=&apos;Row ID&apos; ordinal=&apos;0&apos; /&gt;&#10;
&lt;column data
type=&apos;integer&apos; name=&apos;Order ID&apos; ordinal=&apos;1&apos; /&gt;&#
10;
&lt;column datatype=&apos;date&apos; name=&apos;Order Date&apos; ordinal=
&apos;2&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Or
der Priority&apos; ordinal=&apos;3&apos; /&gt;&#10;
&lt;column datatype=&apos
;integer&apos; name=&apos;Order Quantity&apos; ordinal=&apos;4&apos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Sales&apos; ordinal=&apos;5&a
pos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Discount&apos
; ordinal=&apos;6&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; nam
e=&apos;Ship Mode&apos; ordinal=&apos;7&apos; /&gt;&#10;
&lt;column datatype=
&apos;real&apos; name=&apos;Profit&apos; ordinal=&apos;8&apos; /&gt;&#10;
&lt
;column datatype=&apos;real&apos; name=&apos;Unit Price&apos; ordinal=&apos;9&ap
os; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Shipping Cost&
apos; ordinal=&apos;10&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos
; name=&apos;Customer Name&apos; ordinal=&apos;11&apos; /&gt;&#10;
&lt;column
datatype=&apos;string&apos; name=&apos;Province&apos; ordinal=&apos;12&apos; /&
gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Region&apos; ordin
al=&apos;13&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apo
s;Customer Segment&apos; ordinal=&apos;14&apos; /&gt;&#10;
&lt;column datatyp
e=&apos;string&apos; name=&apos;Product Category&apos; ordinal=&apos;15&apos; /&
gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Product Sub-Catego
ry&apos; ordinal=&apos;16&apos; /&gt;&#10;
&lt;column datatype=&apos;string&a
pos; name=&apos;Product Name&apos; ordinal=&apos;17&apos; /&gt;&#10;
&lt;colu
mn datatype=&apos;string&apos; name=&apos;Product Container&apos; ordinal=&apos;
18&apos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Product B
ase Margin&apos; ordinal=&apos;19&apos; /&gt;&#10;
&lt;column datatype=&apos;
date&apos; name=&apos;Ship Date&apos; ordinal=&apos;20&apos; /&gt;&#10; &lt;/co

lumns&gt;&#10;&lt;/relation&gt;&#10;</relation-xml>\n <relation-names>\n
<re
lation-name key='[Customer Name]' value='[Orders].[Customer Name]' />\n
<rela
tion-name key='[Customer Segment]' value='[Orders].[Customer Segment]' />\n
<
relation-name key='[Discount]' value='[Orders].[Discount]' />\n
<relation-nam
e key='[Order Date]' value='[Orders].[Order Date]' />\n
<relation-name key='[
Order ID]' value='[Orders].[Order ID]' />\n
<relation-name key='[Order Priori
ty]' value='[Orders].[Order Priority]' />\n
<relation-name key='[Order Quanti
ty]' value='[Orders].[Order Quantity]' />\n
<relation-name key='[Product Base
Margin]' value='[Orders].[Product Base Margin]' />\n
<relation-name key='[Pr
oduct Category]' value='[Orders].[Product Category]' />\n
<relation-name key=
'[Product Container]' value='[Orders].[Product Container]' />\n
<relation-nam
e key='[Product Name]' value='[Orders].[Product Name]' />\n
<relation-name ke
y='[Product Sub-Category]' value='[Orders].[Product Sub-Category]' />\n
<rela
tion-name key='[Profit]' value='[Orders].[Profit]' />\n
<relation-name key='[
Province]' value='[Orders].[Province]' />\n
<relation-name key='[Region]' val
ue='[Orders].[Region]' />\n
<relation-name key='[Row ID]' value='[Orders].[Ro
w ID]' />\n
<relation-name key='[Sales]' value='[Orders].[Sales]' />\n
<re
lation-name key='[Ship Date]' value='[Orders].[Ship Date]' />\n
<relation-nam
e key='[Ship Mode]' value='[Orders].[Ship Mode]' />\n
<relation-name key='[Sh
ipping Cost]' value='[Orders].[Shipping Cost]' />\n
<relation-name key='[Unit
Price]' value='[Orders].[Unit Price]' />\n </relation-names>\n <bindings>\n
<binding key='[avg:Sales:ok]' value='avg:Sales:ok' />\n
<binding key='[cnt:
Calculation_5489888009455718401:ok]' value='cnt:Calculation_5489888009455718401:
ok' />\n </bindings>\n <lod />\n <measure-filter-lod />\n <output>\n
<col
umn>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:ok]</column>\n
<co
lumn>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[cnt:Calculation_54898880094557
18401:ok]</column>\n </output>\n <aggregates />\n <slicers />\n <filtered />
\n <local-filters />\n <calculations>\n
<calculation column='[excel-direct.
0s0w8bc1somq6z110noi81jfj70l].[Calculation_5489888009455513600]' formula='{FIXED
[Customer Name]:MIN([Order Date])}' />\n
<calculation column='[excel-direct.
0s0w8bc1somq6z110noi81jfj70l].[Calculation_5489888009455718401]' formula='DATETR
UNC(&apos;month&apos;,[Order Date])-DATETRUNC(&apos;month&apos;,[Calculation_548
9888009455513600])' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z110
noi81jfj70l].[Customer Name]' formula='' />\n
<calculation column='[excel-dir
ect.0s0w8bc1somq6z110noi81jfj70l].[Order Date]' formula='' />\n
<calculation
column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Sales]' formula='' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:ok]'
formula='AVG([Sales])' />\n
<calculation column='[excel-direct.0s0w8bc1somq6
z110noi81jfj70l].[cnt:Calculation_5489888009455718401:ok]' formula='COUNT([Calcu
lation_5489888009455718401])' />\n </calculations>\n <agg-types>\n
<agg-typ
e column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:ok]' type='Avg'
/>\n
<agg-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[cnt:Calc
ulation_5489888009455718401:ok]' type='User' />\n </agg-types>\n <data-types>\
n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Calculation
_5489888009455513600]' type='date' />\n
<data-type column='[excel-direct.0s0w
8bc1somq6z110noi81jfj70l].[Calculation_5489888009455718401]' type='real' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Customer Name]'
type='string' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jf
j70l].[Order Date]' type='date' />\n
<data-type column='[excel-direct.0s0w8bc
1somq6z110noi81jfj70l].[Sales]' type='real' />\n
<data-type column='[excel-di
rect.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:ok]' type='real' />\n
<data-typ
e column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[cnt:Calculation_548988800
9455718401:ok]' type='integer' />\n </data-types>\n <current-user display-name
='' name='' short-domain-qualified-name='' type='user' />\n</aq-cache-key>\n","c
olumn-count":"2","key-hash":"414032228","key-size-b":"14348","query-kind":"abstr
act","query-latency-ms":"23","row-count":"1","value-size-b":"1008"}}
{"ts":"2016-09-29T16:58:03.188","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AQTV3Z","elapsed-ms":"0","key-hash":"3254448870","key-size-b":"
80","outcome":"miss"}}

{"ts":"2016-09-29T16:58:03.188","pid":78016,"tid":"13980","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"none","elapsed":0.023,"owner-component":"DataInterpr
eter","owner-dashboard":"","owner-worksheet":"Sheet 1","protocol-id":0,"query-id
":0}}
{"ts":"2016-09-29T16:58:03.188","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.025,"elapsed-compute-keys":0,"elapsed-sum":0.023,
"job-count":1,"jobs":[{"cache-hit":"none","elapsed":0.023,"owner-component":"Dat
aInterpreter","owner-dashboard":"","owner-worksheet":"Sheet 1","protocol-id":0,"
query-abstract":"<query aggregation='true' caching='normal' hierarchize-rows='fa
lse' include-empty='false'>\n <fields>\n
<output column='[excel-direct.0s0w8
bc1somq6z110noi81jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0
s0w8bc1somq6z110noi81jfj70l].[cnt:Calculation_5489888009455718401:qk]' />\n </f
ields>\n</query>\n","query-compiled":"(restrict\n (aggregate\n
(join\n
(table [TableauTemp].[Orders$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Orders$])\n
(\n
([Customer Name] [Cust
omer Name])\n
)\n
(\n
([__measure__1]\n
(min [Order Date])\n
)\n
)\n
)\n
([C
ustomer Name] [__measure__1])\n
)\n
(\n
([Customer Name] [Cus
tomer Name])\n
)\n
(\n
([$temp0_output] [__measure__1])\n
)\n
1)\n
()\n
(\n
([avg:Sales:ok]\n
(average [Sales])
\n
)\n
([cnt:Calculation_5489888009455718401:ok]\n
(count\n
(-\n
(to_datetime\n
(truncmonth [Order Date])\n
)\n
(to_datetime\n
(truncmonth [$temp0_outp
ut])\n
)\n
)\n
)\n
)\n
)\n
)\n
([avg:Sales:ok] [cnt:Calculation_5489888009455718401:ok])\n )\n","query-id":0}]
}}
{"ts":"2016-09-29T16:58:03.188","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:58:03.188","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-compress-data","v":{"compressed-size-b":"2541","elapsed-ms":"0","outcome":"done
","uncompressed-size-b":"21202"}}
{"ts":"2016-09-29T16:58:03.190","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AQTV3Z","elapsed-ms":"1","key-hash":"3254448870","key-size-b":
"80","load-time-ms":"23","lower-bound-ms":"20","outcome":"done","value-size-b":"
9"}}
{"ts":"2016-09-29T16:58:03.190","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AQRV3Z","elapsed-ms":"1","key-hash":"185316540","key-size-b":"
114","load-time-ms":"23","lower-bound-ms":"20","outcome":"done","value-size-b":"
2541"}}
{"ts":"2016-09-29T16:58:03.190","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:58:03.190","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:58:03.190","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:03.190","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:03.190","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}

{"ts":"2016-09-29T16:58:03.190","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:03.190","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:03.191","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AbstractQueryHistoryV2Z","elapsed-ms":"0","key-hash":"386894654
7","key-size-b":"124","outcome":"hit","value-size-b":"99318"}}
{"ts":"2016-09-29T16:58:03.191","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:58:03.191","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:58:03.191","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:58:03.192","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:03.197","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.006}}
{"ts":"2016-09-29T16:58:03.197","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.035 sec"}
{"ts":"2016-09-29T16:58:03.197","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.035,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:58:03.209","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:58:03.210","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"Error: OpenGL Error: 1280"}
{"ts":"2016-09-29T16:58:03.210","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"OpenGL Error occurred before bindTexture."}
{"ts":"2016-09-29T16:58:03.211","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:58:03.269","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:58:03.275","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AbstractQueryHistoryV2Z","elapsed-ms":"83","key-hash":"3868946
547","key-size-b":"124","load-time-ms":"500","lower-bound-ms":"20","outcome":"do
ne","value-size-b":"119246"}}
{"ts":"2016-09-29T16:58:03.275","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"class":"excel-direct","column-count":"2","elapsed-ms":"87","key-has
h":"414032228","key-size-b":"14348","outcome":"try-store","query-kind":"abstract
","query-latency-ms":"23","row-count":"1","value-size-b":"1008"}}
{"ts":"2016-09-29T16:58:03.288","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:58:05.266","pid":78016,"tid":"13074","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: invoking the context menu."}
{"ts":"2016-09-29T16:58:07.006","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: context menu event loop returned."}
{"ts":"2016-09-29T16:58:07.038","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:change-aggregation-ui aggregation=\"sum\"","name":"t
abui:change-aggregation-ui"}}
{"ts":"2016-09-29T16:58:07.040","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:change-aggregation-ui aggregation=\"sum\"","name":"
tabui:change-aggregation-ui"}}
{"ts":"2016-09-29T16:58:07.052","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:58:07.053","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:07.053","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:58:07.054","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:58:07.054","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:58:07.054","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:58:07.054","pid":78016,"tid":"13994","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:58:07.056","pid":78016,"tid":"13994","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:58:07.056","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.003,"elapsed-compute-keys":0,"elapsed-sum":0.001,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[av
g:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l]
.[sum:Calculation_5489888009455718401:qk]' />\n </fields>\n</query>\n","query-i
d":0}]}}
{"ts":"2016-09-29T16:58:07.056","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:58:07.058","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:58:07.058","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:58:07.058","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp

ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:07.058","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:07.058","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:07.058","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:07.059","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:07.060","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:58:07.060","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:58:07.061","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:58:07.062","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:07.069","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.008}}
{"ts":"2016-09-29T16:58:07.069","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.017 sec"}
{"ts":"2016-09-29T16:58:07.069","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.017,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:58:07.094","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:58:07.095","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"Error: OpenGL Error: 1280"}
{"ts":"2016-09-29T16:58:07.095","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"OpenGL Error occurred before bindTexture."}
{"ts":"2016-09-29T16:58:07.097","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:58:07.176","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:58:07.195","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:58:08.574","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: invoking the context menu."}
{"ts":"2016-09-29T16:58:15.572","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: context menu event loop returned."}
{"ts":"2016-09-29T16:58:22.253","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm

and-pre","v":{"args":"tabdoc:add-to-sheet fn=\"[excel-direct.0s0w8bc1somq6z110no
i81jfj70l].[Order Date]\"","name":"tabdoc:add-to-sheet"}}
{"ts":"2016-09-29T16:58:22.255","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:22.255","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:58:22.257","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:58:22.257","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:58:22.257","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:58:22.260","pid":78016,"tid":"139f0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"","owner-dashboard":"","owner-worksheet":"",
"query-id":0}}
{"ts":"2016-09-29T16:58:22.269","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AQTV3Z","elapsed-ms":"0","key-hash":"2668493211","key-size-b":"
80","outcome":"miss"}}
{"ts":"2016-09-29T16:58:22.269","pid":78016,"tid":"139f0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"excel-direct","elapsed-ms":"1","key-hash":"2955755461","outc
ome":"miss-no-entry","query-kind":"abstract"}}
{"ts":"2016-09-29T16:58:22.283","pid":78016,"tid":"139f0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Shadow extract file name: C:\\Users\\Vissu\\AppData\\Local\\Tableau\\Cachi
ng\\TemporaryExtracts\\5070ba7b14ff34c1ee7348d10175ea55647cd3a3b2c61a4d21bc9aa3c
051bab0.ttde"}
{"ts":"2016-09-29T16:58:22.283","pid":78016,"tid":"139f0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:58:22.283","pid":78016,"tid":"139f0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:58:22.283","pid":78016,"tid":"139f0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:58:22.284","pid":78016,"tid":"139f0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 1 msec."}
{"ts":"2016-09-29T16:58:22.284","pid":78016,"tid":"139f0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:58:22.284","pid":78016,"tid":"139f0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:58:22.289","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"NQTV1Z","elapsed-ms":"0","key-hash":"2337074274","key-size-b":"
78","outcome":"miss"}}
{"ts":"2016-09-29T16:58:22.289","pid":78016,"tid":"139f0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"excel-direct","elapsed-ms":"0","key-hash":"3805636072","outc
ome":"miss-no-entry","query-kind":"native"}}

{"ts":"2016-09-29T16:58:22.290","pid":78016,"tid":"139f0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(restrict\n (aggregate\n
(join\n
(table [TableauTemp].[Orders$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Orders$])\n
(\n
([Customer Name] [Cus
tomer Name])\n
)\n
(\n
([__measure__1]\n
(min [Order Date])\n
)\n
)\n
)\n
([
Customer Name] [__measure__1])\n
)\n
(\n
([Customer Name] [Cu
stomer Name])\n
)\n
(\n
([$temp0_output] [__measure__1])\n
)\n
1)\n
(\n
([Order Date] [Order Date])\n
)\n
(\n
([avg:Sales:ok]\n
(average [Sales])\n
)\n
([sum:Calculation
_5489888009455718401:ok]\n
(sum\n
(-\n
(to_datetime\n
(truncmonth [Order Date])\n
)\n
(to_dateti
me\n
(truncmonth [$temp0_output])\n
)\n
)\n
)\n
)\n
)\n
)\n ([Order Date] [avg:Sales:ok] [sum:Calc
ulation_5489888009455718401:ok])\n )\n","query-hash":3805636072}}
{"ts":"2016-09-29T16:58:22.291","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:58:22.323","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":3,"elapsed":0.033,"protocol-id":2,"query":"(restrict\n (aggr
egate\n
(join\n
(table [TableauTemp].[Orders$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Orders$])\n
(\n
([Customer Name] [Customer Name])\n
)\n
(\n
([_
_measure__1]\n
(min [Order Date])\n
)\n
)\n
)\n
([Customer Name] [__measure__1])\n
)\n
(\n
([Customer Name] [Customer Name])\n
)\n
(\n
([$temp0_outpu
t] [__measure__1])\n
)\n
1)\n
(\n
([Order Date] [Order Date]
)\n
)\n
(\n
([avg:Sales:ok]\n
(average [Sales])\n
)\n
([sum:Calculation_5489888009455718401:ok]\n
(sum\n
(-\n
(to_datetime\n
(truncmonth [Order Date])\n
)\
n
(to_datetime\n
(truncmonth [$temp0_output])\n
)\n
)\n
)\n
)\n
)\n
)\n ([Order Date] [
avg:Sales:ok] [sum:Calculation_5489888009455718401:ok])\n )\n","query-hash":380
5636072,"rows":1418}}
{"ts":"2016-09-29T16:58:22.324","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"NQTV1Z","elapsed-ms":"0","key-hash":"2337074274","key-size-b":"
78","outcome":"miss"}}
{"ts":"2016-09-29T16:58:22.326","pid":78016,"tid":"139f0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqclog-cache-key","v":{"cache-key":"<aq-cache-key are-all-local-sorts-supported='tr
ue' has-agg-measure-filters='false' has-lod-calcs='true' has-user-reference='fal
se' start-of-week='sunday' version='9.3'>\n <query aggregation='true' caching='
normal' hierarchize-rows='false' include-empty='false'>\n
<fields>\n
<fi
eld column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order Date]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order Date]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:ok]'
/>\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:Calcu
lation_5489888009455718401:ok]' />\n
</fields>\n </query>\n <relation-xml>&
lt;relation name=&apos;Orders&apos; table=&apos;[Orders$]&apos; type=&apos;table
&apos;&gt;&#10; &lt;columns gridOrigin=&apos;A1:U8400:no:A1:U8400:0&apos; heade
r=&apos;yes&apos; outcome=&apos;2&apos;&gt;&#10;
&lt;column datatype=&apos;in
teger&apos; name=&apos;Row ID&apos; ordinal=&apos;0&apos; /&gt;&#10;
&lt;colu
mn datatype=&apos;integer&apos; name=&apos;Order ID&apos; ordinal=&apos;1&apos;
/&gt;&#10;
&lt;column datatype=&apos;date&apos; name=&apos;Order Date&apos; o
rdinal=&apos;2&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&
apos;Order Priority&apos; ordinal=&apos;3&apos; /&gt;&#10;
&lt;column datatyp
e=&apos;integer&apos; name=&apos;Order Quantity&apos; ordinal=&apos;4&apos; /&gt

;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Sales&apos; ordinal=&a
pos;5&apos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Discou
nt&apos; ordinal=&apos;6&apos; /&gt;&#10;
&lt;column datatype=&apos;string&ap
os; name=&apos;Ship Mode&apos; ordinal=&apos;7&apos; /&gt;&#10;
&lt;column da
tatype=&apos;real&apos; name=&apos;Profit&apos; ordinal=&apos;8&apos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Unit Price&apos; ordinal=&ap
os;9&apos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Shippin
g Cost&apos; ordinal=&apos;10&apos; /&gt;&#10;
&lt;column datatype=&apos;stri
ng&apos; name=&apos;Customer Name&apos; ordinal=&apos;11&apos; /&gt;&#10;
&lt
;column datatype=&apos;string&apos; name=&apos;Province&apos; ordinal=&apos;12&a
pos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Region&apos
; ordinal=&apos;13&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; na
me=&apos;Customer Segment&apos; ordinal=&apos;14&apos; /&gt;&#10;
&lt;column
datatype=&apos;string&apos; name=&apos;Product Category&apos; ordinal=&apos;15&a
pos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Product Sub
-Category&apos; ordinal=&apos;16&apos; /&gt;&#10;
&lt;column datatype=&apos;s
tring&apos; name=&apos;Product Name&apos; ordinal=&apos;17&apos; /&gt;&#10;
&
lt;column datatype=&apos;string&apos; name=&apos;Product Container&apos; ordinal
=&apos;18&apos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Pr
oduct Base Margin&apos; ordinal=&apos;19&apos; /&gt;&#10;
&lt;column datatype
=&apos;date&apos; name=&apos;Ship Date&apos; ordinal=&apos;20&apos; /&gt;&#10;
&lt;/columns&gt;&#10;&lt;/relation&gt;&#10;</relation-xml>\n <relation-names>\n
<relation-name key='[Customer Name]' value='[Orders].[Customer Name]' />\n
<relation-name key='[Customer Segment]' value='[Orders].[Customer Segment]' />
\n
<relation-name key='[Discount]' value='[Orders].[Discount]' />\n
<relat
ion-name key='[Order Date]' value='[Orders].[Order Date]' />\n
<relation-name
key='[Order ID]' value='[Orders].[Order ID]' />\n
<relation-name key='[Order
Priority]' value='[Orders].[Order Priority]' />\n
<relation-name key='[Order
Quantity]' value='[Orders].[Order Quantity]' />\n
<relation-name key='[Produ
ct Base Margin]' value='[Orders].[Product Base Margin]' />\n
<relation-name k
ey='[Product Category]' value='[Orders].[Product Category]' />\n
<relation-na
me key='[Product Container]' value='[Orders].[Product Container]' />\n
<relat
ion-name key='[Product Name]' value='[Orders].[Product Name]' />\n
<relationname key='[Product Sub-Category]' value='[Orders].[Product Sub-Category]' />\n
<relation-name key='[Profit]' value='[Orders].[Profit]' />\n
<relation-name
key='[Province]' value='[Orders].[Province]' />\n
<relation-name key='[Regio
n]' value='[Orders].[Region]' />\n
<relation-name key='[Row ID]' value='[Orde
rs].[Row ID]' />\n
<relation-name key='[Sales]' value='[Orders].[Sales]' />\n
<relation-name key='[Ship Date]' value='[Orders].[Ship Date]' />\n
<relat
ion-name key='[Ship Mode]' value='[Orders].[Ship Mode]' />\n
<relation-name k
ey='[Shipping Cost]' value='[Orders].[Shipping Cost]' />\n
<relation-name key
='[Unit Price]' value='[Orders].[Unit Price]' />\n </relation-names>\n <bindin
gs>\n
<binding key='[Order Date]' value='Order Date' />\n
<binding key='[a
vg:Sales:ok]' value='avg:Sales:ok' />\n
<binding key='[sum:Calculation_548988
8009455718401:ok]' value='sum:Calculation_5489888009455718401:ok' />\n </bindin
gs>\n <lod>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order Dat
e]</column>\n </lod>\n <measure-filter-lod>\n
<column>[excel-direct.0s0w8bc
1somq6z110noi81jfj70l].[Order Date]</column>\n </measure-filter-lod>\n <output
>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order Date]</column>
\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:ok]</column
>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489
888009455718401:ok]</column>\n </output>\n <aggregates />\n <slicers />\n <f
iltered />\n <local-filters />\n <calculations>\n
<calculation column='[exc
el-direct.0s0w8bc1somq6z110noi81jfj70l].[Calculation_5489888009455513600]' formu
la='{FIXED [Customer Name]:MIN([Order Date])}' />\n
<calculation column='[exc
el-direct.0s0w8bc1somq6z110noi81jfj70l].[Calculation_5489888009455718401]' formu
la='DATETRUNC(&apos;month&apos;,[Order Date])-DATETRUNC(&apos;month&apos;,[Calcu
lation_5489888009455513600])' />\n
<calculation column='[excel-direct.0s0w8bc
1somq6z110noi81jfj70l].[Customer Name]' formula='' />\n
<calculation column='
[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order Date]' formula='' />\n
<ca

lculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Sales]' formula='


' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:
Sales:ok]' formula='AVG([Sales])' />\n
<calculation column='[excel-direct.0s0
w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:ok]' formula='SU
M([Calculation_5489888009455718401])' />\n </calculations>\n <agg-types>\n
<agg-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order Date]' type
='None' />\n
<agg-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[a
vg:Sales:ok]' type='Avg' />\n
<agg-type column='[excel-direct.0s0w8bc1somq6z1
10noi81jfj70l].[sum:Calculation_5489888009455718401:ok]' type='User' />\n </agg
-types>\n <data-types>\n
<data-type column='[excel-direct.0s0w8bc1somq6z110n
oi81jfj70l].[Calculation_5489888009455513600]' type='date' />\n
<data-type co
lumn='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Calculation_54898880094557184
01]' type='real' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81
jfj70l].[Customer Name]' type='string' />\n
<data-type column='[excel-direct.
0s0w8bc1somq6z110noi81jfj70l].[Order Date]' type='date' />\n
<data-type colum
n='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Sales]' type='real' />\n
<dat
a-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:ok]' type=
'real' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[s
um:Calculation_5489888009455718401:ok]' type='real' />\n </data-types>\n <curr
ent-user display-name='' name='' short-domain-qualified-name='' type='user' />\n
</aq-cache-key>\n","column-count":"3","key-hash":"2955755461","key-size-b":"1549
2","query-kind":"abstract","query-latency-ms":"65","row-count":"1418","value-siz
e-b":"69528"}}
{"ts":"2016-09-29T16:58:22.327","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-compress-data","v":{"compressed-size-b":"25029","elapsed-ms":"2","outcome":"don
e","uncompressed-size-b":"73960"}}
{"ts":"2016-09-29T16:58:22.327","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"class":"excel-direct","column-count":"3","elapsed-ms":"3","key-hash
":"3805636072","key-size-b":"1984","outcome":"try-store","query-kind":"native","
query-latency-ms":"37","row-count":"1418","value-size-b":"69528"}}
{"ts":"2016-09-29T16:58:22.328","pid":78016,"tid":"139f0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"none","elapsed":0.067,"owner-component":"","owner-da
shboard":"","owner-worksheet":"","protocol-id":0,"query-id":0}}
{"ts":"2016-09-29T16:58:22.330","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"NQTV1Z","elapsed-ms":"2","key-hash":"2337074274","key-size-b":
"78","load-time-ms":"37","lower-bound-ms":"20","outcome":"done","value-size-b":"
9"}}
{"ts":"2016-09-29T16:58:22.331","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AQTV3Z","elapsed-ms":"0","key-hash":"2668493211","key-size-b":"
80","outcome":"miss"}}
{"ts":"2016-09-29T16:58:22.331","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.075,"elapsed-compute-keys":0.001,"elapsed-sum":0.
067,"job-count":1,"jobs":[{"cache-hit":"none","elapsed":0.067,"owner-component":
"","owner-dashboard":"","owner-worksheet":"","protocol-id":0,"query-abstract":"<
query aggregation='true' caching='normal' hierarchize-rows='false' include-empty
='false'>\n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jf
j70l].[none:Order Date:ok]' />\n
<output column='[excel-direct.0s0w8bc1somq6z
110noi81jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1so
mq6z110noi81jfj70l].[none:Order Date:ok]' />\n
<output column='[excel-direct.
0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]' />\n </
fields>\n</query>\n","query-compiled":"(restrict\n (aggregate\n
(join\n
(table [TableauTemp].[Orders$])\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Orders$])\n
(\n
([Customer Name] [Cus
tomer Name])\n
)\n
(\n
([__measure__1]\n

(min [Order Date])\n


)\n
)\n
)\n
([
Customer Name] [__measure__1])\n
)\n
(\n
([Customer Name] [Cu
stomer Name])\n
)\n
(\n
([$temp0_output] [__measure__1])\n
)\n
1)\n
(\n
([Order Date] [Order Date])\n
)\n
(\n
([avg:Sales:ok]\n
(average [Sales])\n
)\n
([sum:Calculation
_5489888009455718401:ok]\n
(sum\n
(-\n
(to_datetime\n
(truncmonth [Order Date])\n
)\n
(to_dateti
me\n
(truncmonth [$temp0_output])\n
)\n
)\n
)\n
)\n
)\n
)\n ([Order Date] [avg:Sales:ok] [sum:Calc
ulation_5489888009455718401:ok])\n )\n","query-id":0}]}}
{"ts":"2016-09-29T16:58:22.331","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:58:22.334","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.003}}
{"ts":"2016-09-29T16:58:22.336","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:add-to-sheet fn=\"[excel-direct.0s0w8bc1somq6z110n
oi81jfj70l].[Order Date]\"","name":"tabdoc:add-to-sheet"}}
{"ts":"2016-09-29T16:58:22.338","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:22.339","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"NQRV1Z","elapsed-ms":"9","key-hash":"4047531792","key-size-b":
"112","load-time-ms":"37","lower-bound-ms":"20","outcome":"done","value-size-b":
"25029"}}
{"ts":"2016-09-29T16:58:22.339","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:58:22.339","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-compress-data","v":{"compressed-size-b":"26467","elapsed-ms":"2","outcome":"don
e","uncompressed-size-b":"91254"}}
{"ts":"2016-09-29T16:58:22.340","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:58:22.340","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:58:22.340","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:58:22.341","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AbstractQueryHistoryV2Z","elapsed-ms":"0","key-hash":"386894654
7","key-size-b":"124","outcome":"hit","value-size-b":"119246"}}
{"ts":"2016-09-29T16:58:22.342","pid":78016,"tid":"131f4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:58:22.343","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AQRV3Z","elapsed-ms":"3","key-hash":"3417274772","key-size-b":
"114","load-time-ms":"65","lower-bound-ms":"20","outcome":"done","value-size-b":
"26467"}}
{"ts":"2016-09-29T16:58:22.343","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AQTV3Z","elapsed-ms":"3","key-hash":"2668493211","key-size-b":

"80","load-time-ms":"65","lower-bound-ms":"20","outcome":"done","value-size-b":"
9"}}
{"ts":"2016-09-29T16:58:22.345","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AbstractQueryHistoryV2Z","elapsed-ms":"3","key-hash":"38689465
47","key-size-b":"124","load-time-ms":"500","lower-bound-ms":"20","outcome":"don
e","value-size-b":"140654"}}
{"ts":"2016-09-29T16:58:22.345","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"class":"excel-direct","column-count":"3","elapsed-ms":"16","key-has
h":"2955755461","key-size-b":"15492","outcome":"try-store","query-kind":"abstrac
t","query-latency-ms":"65","row-count":"1418","value-size-b":"69528"}}
{"ts":"2016-09-29T16:58:22.345","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AQTV3Z","elapsed-ms":"0","key-hash":"184206840","key-size-b":"8
0","outcome":"miss"}}
{"ts":"2016-09-29T16:58:22.345","pid":78016,"tid":"131f4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"excel-direct","elapsed-ms":"0","key-hash":"4153400739","outc
ome":"miss-no-entry","query-kind":"abstract"}}
{"ts":"2016-09-29T16:58:22.351","pid":78016,"tid":"131f4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Shadow extract file name: C:\\Users\\Vissu\\AppData\\Local\\Tableau\\Cachi
ng\\TemporaryExtracts\\5070ba7b14ff34c1ee7348d10175ea55647cd3a3b2c61a4d21bc9aa3c
051bab0.ttde"}
{"ts":"2016-09-29T16:58:22.354","pid":78016,"tid":"131f4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:58:22.354","pid":78016,"tid":"131f4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:58:22.354","pid":78016,"tid":"131f4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:58:22.354","pid":78016,"tid":"131f4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 1 msec."}
{"ts":"2016-09-29T16:58:22.354","pid":78016,"tid":"131f4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : [Orders$]"}
{"ts":"2016-09-29T16:58:22.354","pid":78016,"tid":"131f4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"ExcelDirectProtocol::CompileCacheKey : elapsed = 0 msec."}
{"ts":"2016-09-29T16:58:22.356","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"NQTV1Z","elapsed-ms":"0","key-hash":"1462028437","key-size-b":"
80","outcome":"miss"}}
{"ts":"2016-09-29T16:58:22.356","pid":78016,"tid":"131f4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcload","v":{"class":"excel-direct","elapsed-ms":"0","key-hash":"2863252069","outc
ome":"miss-no-entry","query-kind":"native"}}
{"ts":"2016-09-29T16:58:22.357","pid":78016,"tid":"131f4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-query","v":{"protocol-id":2,"query":"(restrict\n (aggregate\n
(join\n
(project\n
(table [TableauTemp].[Orders$])\n
(\n
([yr:Or
der Date:ok]\n
(year [Order Date])\n
)\n
)\n
)\n
(restrict\n
(aggregate\n
(table [TableauTemp].[Order
s$])\n
(\n
([Customer Name] [Customer Name])\n
)\
n
(\n
([__measure__1]\n
(min [Order Date])\n
)\n
)\n
)\n
([Customer Name] [__measure__1

])\n

)\n
(\n
([Customer Name] [Customer Name])\n
)\n
(\n
([$temp0_output] [__measure__1])\n
)\n
1)\n
(\n
([yr:Order Date:ok] [yr:Order Date:ok])\n
)\n
(\n
([avg:Sales:ok
]\n
(average [Sales])\n
)\n
([sum:Calculation_548988800945571
8401:ok]\n
(sum\n
(-\n
(to_datetime\n
(t
runcmonth [Order Date])\n
)\n
(to_datetime\n
(truncmonth [$temp0_output])\n
)\n
)\n
)\n
)\n
)\n
)\n ([avg:Sales:ok] [sum:Calculation_5489888009455718401:o
k] [yr:Order Date:ok])\n )\n","query-hash":2863252069}}
{"ts":"2016-09-29T16:58:22.357","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"DataEngine::Execute: Session3"}
{"ts":"2016-09-29T16:58:22.372","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endquery","v":{"cols":3,"elapsed":0.016,"protocol-id":2,"query":"(restrict\n (aggr
egate\n
(join\n
(project\n
(table [TableauTemp].[Orders$])\n
(\n
([yr:Order Date:ok]\n
(year [Order Date])\n
)\n
)\n
)\n
(restrict\n
(aggregate\n
(tab
le [TableauTemp].[Orders$])\n
(\n
([Customer Name] [Customer
Name])\n
)\n
(\n
([__measure__1]\n
(min [Order Date])\n
)\n
)\n
)\n
([Custo
mer Name] [__measure__1])\n
)\n
(\n
([Customer Name] [Custome
r Name])\n
)\n
(\n
([$temp0_output] [__measure__1])\n
)\n
1)\n
(\n
([yr:Order Date:ok] [yr:Order Date:ok])\n
)\n
(\n
([avg:Sales:ok]\n
(average [Sales])\n
)\n
([sum:Calc
ulation_5489888009455718401:ok]\n
(sum\n
(-\n
(to_dat
etime\n
(truncmonth [Order Date])\n
)\n
(to
_datetime\n
(truncmonth [$temp0_output])\n
)\n
)\n
)\n
)\n
)\n
)\n ([avg:Sales:ok] [sum:Calculatio
n_5489888009455718401:ok] [yr:Order Date:ok])\n )\n","query-hash":2863252069,"r
ows":4}}
{"ts":"2016-09-29T16:58:22.372","pid":78016,"tid":"131f4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"column-count":"3","outcome":"ignore-fast","query-kind":"native","qu
ery-latency-ms":"17","row-count":"4","value-size-b":"1656"}}
{"ts":"2016-09-29T16:58:22.375","pid":78016,"tid":"131f4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqclog-cache-key","v":{"cache-key":"<aq-cache-key are-all-local-sorts-supported='tr
ue' has-agg-measure-filters='false' has-lod-calcs='true' has-user-reference='fal
se' start-of-week='sunday' version='9.3'>\n <query aggregation='true' caching='
normal' hierarchize-rows='false' include-empty='false'>\n
<fields>\n
<fi
eld column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[yr:Order Date:ok]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:ok]
' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:Cal
culation_5489888009455718401:ok]' />\n
<output column='[excel-direct.0s0w8b
c1somq6z110noi81jfj70l].[yr:Order Date:ok]' />\n
</fields>\n </query>\n <re
lation-xml>&lt;relation name=&apos;Orders&apos; table=&apos;[Orders$]&apos; type
=&apos;table&apos;&gt;&#10; &lt;columns gridOrigin=&apos;A1:U8400:no:A1:U8400:0
&apos; header=&apos;yes&apos; outcome=&apos;2&apos;&gt;&#10;
&lt;column datat
ype=&apos;integer&apos; name=&apos;Row ID&apos; ordinal=&apos;0&apos; /&gt;&#10;
&lt;column datatype=&apos;integer&apos; name=&apos;Order ID&apos; ordinal=&a
pos;1&apos; /&gt;&#10;
&lt;column datatype=&apos;date&apos; name=&apos;Order
Date&apos; ordinal=&apos;2&apos; /&gt;&#10;
&lt;column datatype=&apos;string&
apos; name=&apos;Order Priority&apos; ordinal=&apos;3&apos; /&gt;&#10;
&lt;co
lumn datatype=&apos;integer&apos; name=&apos;Order Quantity&apos; ordinal=&apos;
4&apos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Sales&apos
; ordinal=&apos;5&apos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=
&apos;Discount&apos; ordinal=&apos;6&apos; /&gt;&#10;
&lt;column datatype=&ap
os;string&apos; name=&apos;Ship Mode&apos; ordinal=&apos;7&apos; /&gt;&#10;
&
lt;column datatype=&apos;real&apos; name=&apos;Profit&apos; ordinal=&apos;8&apos

; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&apos;Unit Price&apos;
ordinal=&apos;9&apos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; name=&
apos;Shipping Cost&apos; ordinal=&apos;10&apos; /&gt;&#10;
&lt;column datatyp
e=&apos;string&apos; name=&apos;Customer Name&apos; ordinal=&apos;11&apos; /&gt;
&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Province&apos; ordina
l=&apos;12&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos
;Region&apos; ordinal=&apos;13&apos; /&gt;&#10;
&lt;column datatype=&apos;str
ing&apos; name=&apos;Customer Segment&apos; ordinal=&apos;14&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Product Category&apos; ordina
l=&apos;15&apos; /&gt;&#10;
&lt;column datatype=&apos;string&apos; name=&apos
;Product Sub-Category&apos; ordinal=&apos;16&apos; /&gt;&#10;
&lt;column data
type=&apos;string&apos; name=&apos;Product Name&apos; ordinal=&apos;17&apos; /&g
t;&#10;
&lt;column datatype=&apos;string&apos; name=&apos;Product Container&a
pos; ordinal=&apos;18&apos; /&gt;&#10;
&lt;column datatype=&apos;real&apos; n
ame=&apos;Product Base Margin&apos; ordinal=&apos;19&apos; /&gt;&#10;
&lt;col
umn datatype=&apos;date&apos; name=&apos;Ship Date&apos; ordinal=&apos;20&apos;
/&gt;&#10; &lt;/columns&gt;&#10;&lt;/relation&gt;&#10;</relation-xml>\n <relat
ion-names>\n
<relation-name key='[Customer Name]' value='[Orders].[Customer N
ame]' />\n
<relation-name key='[Customer Segment]' value='[Orders].[Customer
Segment]' />\n
<relation-name key='[Discount]' value='[Orders].[Discount]' />
\n
<relation-name key='[Order Date]' value='[Orders].[Order Date]' />\n
<r
elation-name key='[Order ID]' value='[Orders].[Order ID]' />\n
<relation-name
key='[Order Priority]' value='[Orders].[Order Priority]' />\n
<relation-name
key='[Order Quantity]' value='[Orders].[Order Quantity]' />\n
<relation-name
key='[Product Base Margin]' value='[Orders].[Product Base Margin]' />\n
<rel
ation-name key='[Product Category]' value='[Orders].[Product Category]' />\n
<relation-name key='[Product Container]' value='[Orders].[Product Container]' />
\n
<relation-name key='[Product Name]' value='[Orders].[Product Name]' />\n
<relation-name key='[Product Sub-Category]' value='[Orders].[Product Sub-Categ
ory]' />\n
<relation-name key='[Profit]' value='[Orders].[Profit]' />\n
<r
elation-name key='[Province]' value='[Orders].[Province]' />\n
<relation-name
key='[Region]' value='[Orders].[Region]' />\n
<relation-name key='[Row ID]'
value='[Orders].[Row ID]' />\n
<relation-name key='[Sales]' value='[Orders].[
Sales]' />\n
<relation-name key='[Ship Date]' value='[Orders].[Ship Date]' />
\n
<relation-name key='[Ship Mode]' value='[Orders].[Ship Mode]' />\n
<rel
ation-name key='[Shipping Cost]' value='[Orders].[Shipping Cost]' />\n
<relat
ion-name key='[Unit Price]' value='[Orders].[Unit Price]' />\n </relation-names
>\n <bindings>\n
<binding key='[avg:Sales:ok]' value='avg:Sales:ok' />\n
<binding key='[sum:Calculation_5489888009455718401:ok]' value='sum:Calculation_5
489888009455718401:ok' />\n
<binding key='[yr:Order Date:ok]' value='yr:Order
Date:ok' />\n </bindings>\n <lod>\n
<column>[excel-direct.0s0w8bc1somq6z11
0noi81jfj70l].[yr:Order Date:ok]</column>\n </lod>\n <measure-filter-lod>\n
<column>[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[yr:Order Date:ok]</column>
\n </measure-filter-lod>\n <output>\n
<column>[excel-direct.0s0w8bc1somq6z1
10noi81jfj70l].[avg:Sales:ok]</column>\n
<column>[excel-direct.0s0w8bc1somq6z
110noi81jfj70l].[sum:Calculation_5489888009455718401:ok]</column>\n
<column>[
excel-direct.0s0w8bc1somq6z110noi81jfj70l].[yr:Order Date:ok]</column>\n </outp
ut>\n <aggregates />\n <slicers />\n <filtered />\n <local-filters />\n <ca
lculations>\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l
].[Calculation_5489888009455513600]' formula='{FIXED [Customer Name]:MIN([Order
Date])}' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l
].[Calculation_5489888009455718401]' formula='DATETRUNC(&apos;month&apos;,[Order
Date])-DATETRUNC(&apos;month&apos;,[Calculation_5489888009455513600])' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Customer Name]
' formula='' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81jf
j70l].[Order Date]' formula='' />\n
<calculation column='[excel-direct.0s0w8b
c1somq6z110noi81jfj70l].[Sales]' formula='' />\n
<calculation column='[exceldirect.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:ok]' formula='AVG([Sales])' />\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:Calcul
ation_5489888009455718401:ok]' formula='SUM([Calculation_5489888009455718401])'

/>\n
<calculation column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[yr:Ord
er Date:ok]' formula='DATEPART(&apos;year&apos;, [Order Date])' />\n </calculat
ions>\n <agg-types>\n
<agg-type column='[excel-direct.0s0w8bc1somq6z110noi81
jfj70l].[avg:Sales:ok]' type='Avg' />\n
<agg-type column='[excel-direct.0s0w8
bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:ok]' type='User' /
>\n
<agg-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[yr:Order D
ate:ok]' type='None' />\n </agg-types>\n <data-types>\n
<data-type column='
[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Calculation_5489888009455513600]' t
ype='date' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l
].[Calculation_5489888009455718401]' type='real' />\n
<data-type column='[exc
el-direct.0s0w8bc1somq6z110noi81jfj70l].[Customer Name]' type='string' />\n
<
data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[Order Date]' type
='date' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[
Sales]' type='real' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110no
i81jfj70l].[avg:Sales:ok]' type='real' />\n
<data-type column='[excel-direct.
0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:ok]' type='re
al' />\n
<data-type column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[yr:O
rder Date:ok]' type='integer' />\n </data-types>\n <current-user display-name=
'' name='' short-domain-qualified-name='' type='user' />\n</aq-cache-key>\n","co
lumn-count":"3","key-hash":"4153400739","key-size-b":"16084","query-kind":"abstr
act","query-latency-ms":"32","row-count":"4","value-size-b":"1656"}}
{"ts":"2016-09-29T16:58:22.375","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AQTV3Z","elapsed-ms":"0","key-hash":"184206840","key-size-b":"8
0","outcome":"miss"}}
{"ts":"2016-09-29T16:58:22.376","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"zlib
-compress-data","v":{"compressed-size-b":"2781","elapsed-ms":"0","outcome":"done
","uncompressed-size-b":"24140"}}
{"ts":"2016-09-29T16:58:22.376","pid":78016,"tid":"131f4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"none","elapsed":0.033,"owner-component":"DataInterpr
eter","owner-dashboard":"","owner-worksheet":"Sheet 1","protocol-id":0,"query-id
":0}}
{"ts":"2016-09-29T16:58:22.377","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.038,"elapsed-compute-keys":0,"elapsed-sum":0.033,
"job-count":1,"jobs":[{"cache-hit":"none","elapsed":0.033,"owner-component":"Dat
aInterpreter","owner-dashboard":"","owner-worksheet":"Sheet 1","protocol-id":0,"
query-abstract":"<query aggregation='true' caching='normal' hierarchize-rows='fa
lse' include-empty='false'>\n <fields>\n
<field column='[excel-direct.0s0w8b
c1somq6z110noi81jfj70l].[yr:Order Date:ok]' />\n
<output column='[excel-direc
t.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-d
irect.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]' />
\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[yr:Order Date
:ok]' />\n </fields>\n</query>\n","query-compiled":"(restrict\n (aggregate\n
(join\n
(project\n
(table [TableauTemp].[Orders$])\n
(\n
([yr:Order Date:ok]\n
(year [Order Date])\n
)\n
)\n
)\n
(restrict\n
(aggregate\n
(table [Table
auTemp].[Orders$])\n
(\n
([Customer Name] [Customer Name])\n
)\n
(\n
([__measure__1]\n
(min [Ord
er Date])\n
)\n
)\n
)\n
([Customer Name]
[__measure__1])\n
)\n
(\n
([Customer Name] [Customer Name])\
n
)\n
(\n
([$temp0_output] [__measure__1])\n
)\n
1)\n
(\n
([yr:Order Date:ok] [yr:Order Date:ok])\n
)\n
(\n
([avg:Sales:ok]\n
(average [Sales])\n
)\n
([sum:Calculation_5
489888009455718401:ok]\n
(sum\n
(-\n
(to_datetime\n
(truncmonth [Order Date])\n
)\n
(to_datetime
\n
(truncmonth [$temp0_output])\n
)\n
)\n
)\n
)\n
)\n
)\n ([avg:Sales:ok] [sum:Calculation_5489888

009455718401:ok] [yr:Order Date:ok])\n )\n","query-id":0}]}}


{"ts":"2016-09-29T16:58:22.381","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AQTV3Z","elapsed-ms":"4","key-hash":"184206840","key-size-b":"
80","load-time-ms":"32","lower-bound-ms":"20","outcome":"done","value-size-b":"9
"}}
{"ts":"2016-09-29T16:58:22.381","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-l
oad","v":{"cns":"AbstractQueryHistoryV2Z","elapsed-ms":"5","key-hash":"386894654
7","key-size-b":"124","outcome":"hit","value-size-b":"140654"}}
{"ts":"2016-09-29T16:58:22.381","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AQRV3Z","elapsed-ms":"1","key-hash":"1395320728","key-size-b":
"114","load-time-ms":"32","lower-bound-ms":"20","outcome":"done","value-size-b":
"2781"}}
{"ts":"2016-09-29T16:58:22.383","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"ec-s
tore","v":{"cns":"AbstractQueryHistoryV2Z","elapsed-ms":"1","key-hash":"38689465
47","key-size-b":"124","load-time-ms":"500","lower-bound-ms":"20","outcome":"don
e","value-size-b":"162790"}}
{"ts":"2016-09-29T16:58:22.383","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"eqcstore","v":{"class":"excel-direct","column-count":"3","elapsed-ms":"7","key-hash
":"4153400739","key-size-b":"16084","outcome":"try-store","query-kind":"abstract
","query-latency-ms":"32","row-count":"4","value-size-b":"1656"}}
{"ts":"2016-09-29T16:58:22.383","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:58:22.384","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:58:22.386","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:58:22.386","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:58:22.387","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:22.387","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:22.387","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:22.387","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:22.387","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:22.388","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:58:22.388","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:58:22.388","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi

n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:58:22.389","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:22.396","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.007}}
{"ts":"2016-09-29T16:58:22.396","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.012 sec"}
{"ts":"2016-09-29T16:58:22.396","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.012,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:58:22.418","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:58:22.418","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"Error: OpenGL Error: 1280"}
{"ts":"2016-09-29T16:58:22.418","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"OpenGL Error occurred before bindTexture."}
{"ts":"2016-09-29T16:58:22.419","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:58:22.462","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:58:22.481","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:58:26.168","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"Columns\" drag-source=\"d
rag-drop-shelf\" drop-target=\"drag-drop-none\" field-encodings=[{\"fn\": \"[exc
el-direct.0s0w8bc1somq6z110noi81jfj70l].[yr:Order Date:ok]\",\"encoding-type\":
\"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-right-drag=\"
false\" shelf-drag-source-position={\"shelf-type\": \"columns-shelf\",\"shelf-po
s-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} shelf-dr
op-context=\"none\" shelf-drop-target-position={\"is-override\": false} shelf-se
lection=[1] source-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:58:26.170","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"Columns\" drag-source=\"
drag-drop-shelf\" drop-target=\"drag-drop-none\" field-encodings=[{\"fn\": \"[ex
cel-direct.0s0w8bc1somq6z110noi81jfj70l].[yr:Order Date:ok]\",\"encoding-type\":
\"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-right-drag=\
"false\" shelf-drag-source-position={\"shelf-type\": \"columns-shelf\",\"shelf-p
os-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} shelf-d
rop-context=\"none\" shelf-drop-target-position={\"is-override\": false} shelf-s
election=[1] source-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:58:26.184","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:58:26.185","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:26.186","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}

{"ts":"2016-09-29T16:58:26.187","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:58:26.187","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:58:26.187","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:58:26.187","pid":78016,"tid":"134f8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:58:26.189","pid":78016,"tid":"134f8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:58:26.189","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.003,"elapsed-compute-keys":0,"elapsed-sum":0.001,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[av
g:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l]
.[sum:Calculation_5489888009455718401:qk]' />\n </fields>\n</query>\n","query-i
d":0}]}}
{"ts":"2016-09-29T16:58:26.189","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:58:26.192","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:58:26.192","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:58:26.192","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:26.192","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:26.192","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:26.192","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:26.192","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:26.194","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:58:26.194","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:58:26.194","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}

{"ts":"2016-09-29T16:58:26.196","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:26.205","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.01}}
{"ts":"2016-09-29T16:58:26.205","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.020 sec"}
{"ts":"2016-09-29T16:58:26.205","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.02,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:58:26.219","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:58:26.220","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"Error: OpenGL Error: 1280"}
{"ts":"2016-09-29T16:58:26.220","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"OpenGL Error occurred before bindTexture."}
{"ts":"2016-09-29T16:58:26.221","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:58:26.271","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:58:26.290","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:58:36.796","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:add-to-sheet fn=\"[excel-direct.0s0w8bc1somq6z110no
i81jfj70l].[Customer Name]\"","name":"tabdoc:add-to-sheet"}}
{"ts":"2016-09-29T16:58:36.798","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:36.799","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:58:36.799","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:58:36.799","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:58:36.800","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:58:36.800","pid":78016,"tid":"1293c","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"","owner-dashboard":"","owner-worksheet":"",
"query-id":0}}
{"ts":"2016-09-29T16:58:36.802","pid":78016,"tid":"1293c","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"","owner-dashboard":"",
"owner-worksheet":"","query-id":0}}
{"ts":"2016-09-29T16:58:36.802","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.003,"elapsed-compute-keys":0,"elapsed-sum":0.002,

"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"","owner-dashbo
ard":"","owner-worksheet":"","query-abstract":"<query aggregation='true' caching
='normal' hierarchize-rows='false' include-empty='false'>\n <fields>\n
<fiel
d column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]' /
>\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:qk
]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Cus
tomer Name:nk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj7
0l].[sum:Calculation_5489888009455718401:qk]' />\n </fields>\n</query>\n","quer
y-id":0}]}}
{"ts":"2016-09-29T16:58:36.802","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:58:36.806","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.004}}
{"ts":"2016-09-29T16:58:36.808","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:add-to-sheet fn=\"[excel-direct.0s0w8bc1somq6z110n
oi81jfj70l].[Customer Name]\"","name":"tabdoc:add-to-sheet"}}
{"ts":"2016-09-29T16:58:36.811","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:36.812","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:58:36.813","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:58:36.813","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:58:36.813","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:58:36.814","pid":78016,"tid":"131e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:58:36.816","pid":78016,"tid":"131e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:58:36.817","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.004,"elapsed-compute-keys":0.001,"elapsed-sum":0.
002,"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpr
eter","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query
aggregation='true' caching='normal' hierarchize-rows='false' include-empty='fals
e'>\n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].
[none:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110
noi81jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6
z110noi81jfj70l].[none:Customer Name:nk]' />\n
<output column='[excel-direct.
0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]' />\n </
fields>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T16:58:36.824","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:58:36.824","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}

{"ts":"2016-09-29T16:58:36.827","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:58:36.827","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:58:36.828","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:36.828","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:36.828","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:36.828","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:36.828","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:36.845","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.017}}
{"ts":"2016-09-29T16:58:36.845","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.018}}
{"ts":"2016-09-29T16:58:36.846","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:58:36.848","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:36.856","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.009}}
{"ts":"2016-09-29T16:58:36.856","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.031 sec"}
{"ts":"2016-09-29T16:58:36.856","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.032,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:58:36.941","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:58:36.941","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"Error: OpenGL Error: 1280"}
{"ts":"2016-09-29T16:58:36.941","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"OpenGL Error occurred before bindTexture."}
{"ts":"2016-09-29T16:58:36.942","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:58:36.984","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:58:37.062","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}

{"ts":"2016-09-29T16:58:42.744","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"Columns\" drag-source=\"d
rag-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[ex
cel-direct.0s0w8bc1somq6z110noi81jfj70l].[cum:avg:Sales:qk]\",\"encoding-type\":
\"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-right-drag=\
"false\" shelf-drag-source-position={\"shelf-type\": \"columns-shelf\",\"shelf-p
os-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} shelf-d
rop-context=\"none\" shelf-drop-target-position={\"shelf-type\": \"rows-shelf\",
\"shelf-pos-index\": 1,\"is-override\": false} shelf-selection=[1] source-sheet=
\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:58:42.747","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"Columns\" drag-source=\"
drag-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[e
xcel-direct.0s0w8bc1somq6z110noi81jfj70l].[cum:avg:Sales:qk]\",\"encoding-type\"
: \"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-right-drag=
\"false\" shelf-drag-source-position={\"shelf-type\": \"columns-shelf\",\"shelfpos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} shelfdrop-context=\"none\" shelf-drop-target-position={\"shelf-type\": \"rows-shelf\"
,\"shelf-pos-index\": 1,\"is-override\": false} shelf-selection=[1] source-sheet
=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:58:42.814","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:58:42.814","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:42.815","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:42.815","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 2 queries."}
{"ts":"2016-09-29T16:58:42.816","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:58:42.816","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:58:42.816","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-components":[{"dependency-query":0,"depen
dent-queries":"1"}],"dependency-count":1}}
{"ts":"2016-09-29T16:58:42.816","pid":78016,"tid":"11ad8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:58:42.817","pid":78016,"tid":"11ad8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:58:42.817","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":1}}
{"ts":"2016-09-29T16:58:42.819","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":1}}

{"ts":"2016-09-29T16:58:42.819","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.003,"elapsed-compute-keys":0,"elapsed-sum":0.002,
"job-count":2,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[non
e:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi8
1jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110
noi81jfj70l].[none:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w
8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]' />\n </fiel
ds>\n</query>\n","query-id":0},{"cache-hit":"abstract","owner-component":"DataIn
terpreter","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<q
uery aggregation='true' caching='normal' hierarchize-rows='false' include-empty=
'false'>\n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj
70l].[none:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w8bc1somq
6z110noi81jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1
somq6z110noi81jfj70l].[none:Customer Name:nk]' />\n
<output column='[excel-di
rect.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]' />\
n </fields>\n</query>\n","query-id":1}]}}
{"ts":"2016-09-29T16:58:42.819","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:58:42.822","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.003}}
{"ts":"2016-09-29T16:58:42.822","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:58:42.822","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:42.822","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:42.823","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:42.823","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:42.823","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:42.834","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.011}}
{"ts":"2016-09-29T16:58:42.834","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.011}}
{"ts":"2016-09-29T16:58:42.834","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:58:42.837","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:42.852","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.017}}
{"ts":"2016-09-29T16:58:42.852","pid":78016,"tid":"13074","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.038 sec"}
{"ts":"2016-09-29T16:58:42.852","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.038,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:58:42.922","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:58:42.922","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:58:42.968","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:58:43.019","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:58:44.981","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"Encodings\" drag-source=\
"drag-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[
excel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encodingtype\": \"level-of-detail-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\"
is-right-drag=\"false\" shelf-drag-source-position={\"shelf-type\": \"encoding-s
helf\",\"shelf-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\"
: false} shelf-drop-context=\"none\" shelf-drop-target-position={\"shelf-type\":
\"columns-shelf\",\"shelf-pos-index\": 0,\"is-override\": false} shelf-selectio
n=[6] source-sheet=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}
}
{"ts":"2016-09-29T16:58:44.986","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"Encodings\" drag-source=
\"drag-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"
[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding
-type\": \"level-of-detail-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\"
is-right-drag=\"false\" shelf-drag-source-position={\"shelf-type\": \"encodingshelf\",\"shelf-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\
": false} shelf-drop-context=\"none\" shelf-drop-target-position={\"shelf-type\"
: \"columns-shelf\",\"shelf-pos-index\": 0,\"is-override\": false} shelf-selecti
on=[6] source-sheet=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"
}}
{"ts":"2016-09-29T16:58:45.000","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:58:45.001","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:45.002","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:45.002","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:58:45.003","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:58:45.003","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:58:45.003","pid":78016,"tid":"119e8","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:58:45.004","pid":78016,"tid":"13304","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:58:45.006","pid":78016,"tid":"13304","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:58:45.006","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.004,"elapsed-compute-keys":0,"elapsed-sum":0.002,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[non
e:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi8
1jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110
noi81jfj70l].[none:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w
8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]' />\n </fiel
ds>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T16:58:45.006","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:58:45.043","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.036}}
{"ts":"2016-09-29T16:58:45.043","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:58:45.061","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0.018}}
{"ts":"2016-09-29T16:58:45.061","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:45.062","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:45.062","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:45.062","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:45.070","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.008}}
{"ts":"2016-09-29T16:58:45.070","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.027}}
{"ts":"2016-09-29T16:58:45.071","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:58:45.074","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:58:45.140","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"end-

visual-interpreter","v":{"elapsed":0.069}}
{"ts":"2016-09-29T16:58:45.140","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.140 sec"}
{"ts":"2016-09-29T16:58:45.140","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.14,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:58:45.252","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:58:45.252","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:58:45.300","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:58:45.391","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:58:48.487","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"Rows\" drag-source=\"drag
-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[excel
-direct.0s0w8bc1somq6z110noi81jfj70l].[cum:avg:Sales:qk]\",\"encoding-type\": \"
invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-right-drag=\"fa
lse\" shelf-drag-source-position={\"shelf-type\": \"rows-shelf\",\"shelf-pos-ind
ex\": 1,\"shelf-drop-action\": \"replace\",\"is-override\": false} shelf-drop-co
ntext=\"none\" shelf-drop-target-position={\"shelf-type\": \"columns-shelf\",\"s
helf-pos-index\": 1,\"is-override\": false} shelf-selection=[3] source-sheet=\"S
heet 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:58:48.491","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"Rows\" drag-source=\"dra
g-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[exce
l-direct.0s0w8bc1somq6z110noi81jfj70l].[cum:avg:Sales:qk]\",\"encoding-type\": \
"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-right-drag=\"f
alse\" shelf-drag-source-position={\"shelf-type\": \"rows-shelf\",\"shelf-pos-in
dex\": 1,\"shelf-drop-action\": \"replace\",\"is-override\": false} shelf-drop-c
ontext=\"none\" shelf-drop-target-position={\"shelf-type\": \"columns-shelf\",\"
shelf-pos-index\": 1,\"is-override\": false} shelf-selection=[3] source-sheet=\"
Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:58:48.514","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:58:48.516","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:48.517","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:58:48.518","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:58:48.518","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:58:48.518","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:58:48.520","pid":78016,"tid":"13954","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:58:48.525","pid":78016,"tid":"13954","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:58:48.525","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.008,"elapsed-compute-keys":0.001,"elapsed-sum":0.
004,"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpr
eter","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query
aggregation='true' caching='normal' hierarchize-rows='false' include-empty='fals
e'>\n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].
[none:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110
noi81jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6
z110noi81jfj70l].[none:Customer Name:nk]' />\n
<output column='[excel-direct.
0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]' />\n </
fields>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T16:58:48.525","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:58:48.545","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.019}}
{"ts":"2016-09-29T16:58:48.545","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:58:48.565","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0.019}}
{"ts":"2016-09-29T16:58:48.565","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:48.566","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:48.566","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:48.566","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:48.572","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.004}}
{"ts":"2016-09-29T16:58:48.572","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.026}}
{"ts":"2016-09-29T16:58:48.572","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:58:48.628","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0.054}}
{"ts":"2016-09-29T16:58:48.858","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.285}}
{"ts":"2016-09-29T16:58:48.858","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"

,"v":" [Time] Computing the model took 0.344 sec"}


{"ts":"2016-09-29T16:58:48.858","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.344,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:58:48.964","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:58:48.964","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"Error: OpenGL Error: 1280"}
{"ts":"2016-09-29T16:58:48.964","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"OpenGL Error occurred before bindTexture."}
{"ts":"2016-09-29T16:58:48.968","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:58:48.996","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:58:49.060","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:58:51.307","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"Columns\" drag-source=\"d
rag-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[ex
cel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding-ty
pe\": \"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-right-d
rag=\"false\" shelf-drag-source-position={\"shelf-type\": \"columns-shelf\",\"sh
elf-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} sh
elf-drop-context=\"none\" shelf-drop-target-position={\"shelf-type\": \"columnsshelf\",\"shelf-pos-index\": 1,\"is-override\": false} shelf-selection=[1] sourc
e-sheet=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:58:51.307","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"Columns\" drag-source=\"
drag-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[e
xcel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding-t
ype\": \"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-rightdrag=\"false\" shelf-drag-source-position={\"shelf-type\": \"columns-shelf\",\"s
helf-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} s
helf-drop-context=\"none\" shelf-drop-target-position={\"shelf-type\": \"columns
-shelf\",\"shelf-pos-index\": 1,\"is-override\": false} shelf-selection=[1] sour
ce-sheet=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:58:53.587","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"Columns\" drag-source=\"d
rag-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[ex
cel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding-ty
pe\": \"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-right-d
rag=\"false\" shelf-drag-source-position={\"shelf-type\": \"columns-shelf\",\"sh
elf-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} sh
elf-drop-context=\"none\" shelf-drop-target-position={\"shelf-type\": \"rows-she
lf\",\"shelf-pos-index\": 0,\"is-override\": false} shelf-selection=[1] source-s
heet=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:58:53.589","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"Columns\" drag-source=\"
drag-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[e
xcel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding-t

ype\": \"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-rightdrag=\"false\" shelf-drag-source-position={\"shelf-type\": \"columns-shelf\",\"s


helf-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} s
helf-drop-context=\"none\" shelf-drop-target-position={\"shelf-type\": \"rows-sh
elf\",\"shelf-pos-index\": 0,\"is-override\": false} shelf-selection=[1] sourcesheet=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:58:53.597","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:58:53.598","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:53.598","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:58:53.599","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:58:53.599","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:58:53.599","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:58:53.602","pid":78016,"tid":"135ec","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:58:53.604","pid":78016,"tid":"135ec","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:58:53.605","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.006,"elapsed-compute-keys":0,"elapsed-sum":0.002,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[non
e:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi8
1jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110
noi81jfj70l].[none:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w
8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]' />\n </fiel
ds>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T16:58:53.605","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:58:53.607","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:58:53.607","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:58:53.607","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:53.621","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0.013}}
{"ts":"2016-09-29T16:58:53.621","pid":78016,"tid":"119e8","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:53.622","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:53.623","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:53.626","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:58:53.626","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.018}}
{"ts":"2016-09-29T16:58:53.626","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:58:53.662","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0.035}}
{"ts":"2016-09-29T16:58:53.932","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.305}}
{"ts":"2016-09-29T16:58:53.933","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.335 sec"}
{"ts":"2016-09-29T16:58:53.933","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.335,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:58:54.141","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:58:54.141","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"Error: OpenGL Error: 1280"}
{"ts":"2016-09-29T16:58:54.141","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"OpenGL Error occurred before bindTexture."}
{"ts":"2016-09-29T16:58:54.164","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:58:54.188","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:58:54.238","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:58:56.482","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"Rows\" drag-source=\"drag
-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[excel
-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]\"
,\"encoding-type\": \"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"fals
e\" is-right-drag=\"false\" shelf-drag-source-position={\"shelf-type\": \"rows-s
helf\",\"shelf-pos-index\": 1,\"shelf-drop-action\": \"replace\",\"is-override\"
: false} shelf-drop-context=\"none\" shelf-drop-target-position={\"shelf-type\":
\"columns-shelf\",\"shelf-pos-index\": 1,\"is-override\": false} shelf-selectio
n=[3] source-sheet=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}
}
{"ts":"2016-09-29T16:58:56.484","pid":78016,"tid":"13074","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"Rows\" drag-source=\"dra
g-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[exce
l-direct.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]\
",\"encoding-type\": \"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"fal
se\" is-right-drag=\"false\" shelf-drag-source-position={\"shelf-type\": \"rowsshelf\",\"shelf-pos-index\": 1,\"shelf-drop-action\": \"replace\",\"is-override\
": false} shelf-drop-context=\"none\" shelf-drop-target-position={\"shelf-type\"
: \"columns-shelf\",\"shelf-pos-index\": 1,\"is-override\": false} shelf-selecti
on=[3] source-sheet=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"
}}
{"ts":"2016-09-29T16:58:56.501","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:58:56.501","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:56.502","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:56.502","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 2 queries."}
{"ts":"2016-09-29T16:58:56.503","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:58:56.503","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:58:56.503","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-components":[{"dependency-query":0,"depen
dent-queries":"1"}],"dependency-count":1}}
{"ts":"2016-09-29T16:58:56.504","pid":78016,"tid":"13370","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:58:56.506","pid":78016,"tid":"13370","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:58:56.506","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":1}}
{"ts":"2016-09-29T16:58:56.508","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":1}}
{"ts":"2016-09-29T16:58:56.508","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.006,"elapsed-compute-keys":0,"elapsed-sum":0.002,
"job-count":2,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[non
e:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi8
1jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110
noi81jfj70l].[none:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w
8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]' />\n </fiel

ds>\n</query>\n","query-id":0},{"cache-hit":"abstract","owner-component":"DataIn
terpreter","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<q
uery aggregation='true' caching='normal' hierarchize-rows='false' include-empty=
'false'>\n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj
70l].[none:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w8bc1somq
6z110noi81jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1
somq6z110noi81jfj70l].[none:Customer Name:nk]' />\n
<output column='[excel-di
rect.0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]' />\
n </fields>\n</query>\n","query-id":1}]}}
{"ts":"2016-09-29T16:58:56.508","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:58:56.514","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.005}}
{"ts":"2016-09-29T16:58:56.514","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:58:56.514","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:56.531","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0.017}}
{"ts":"2016-09-29T16:58:56.531","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:56.531","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:56.532","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:56.540","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.008}}
{"ts":"2016-09-29T16:58:56.540","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.026}}
{"ts":"2016-09-29T16:58:56.540","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:58:56.543","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:58:56.580","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.039}}
{"ts":"2016-09-29T16:58:56.581","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.079 sec"}
{"ts":"2016-09-29T16:58:56.581","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.079,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:58:56.728","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:58:56.741","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}

{"ts":"2016-09-29T16:58:56.791","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:58:56.849","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:58:59.658","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"Rows\" drag-source=\"drag
-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[excel
-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding-type\
": \"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-right-drag
=\"false\" shelf-drag-source-position={\"shelf-type\": \"rows-shelf\",\"shelf-po
s-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} shelf-dr
op-context=\"none\" shelf-drop-target-position={\"shelf-type\": \"columns-shelf\
",\"shelf-pos-index\": 0,\"is-override\": false} shelf-selection=[3] source-shee
t=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:58:59.660","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"Rows\" drag-source=\"dra
g-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[exce
l-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding-type
\": \"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-right-dra
g=\"false\" shelf-drag-source-position={\"shelf-type\": \"rows-shelf\",\"shelf-p
os-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} shelf-d
rop-context=\"none\" shelf-drop-target-position={\"shelf-type\": \"columns-shelf
\",\"shelf-pos-index\": 0,\"is-override\": false} shelf-selection=[3] source-she
et=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:58:59.669","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:58:59.670","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:59.670","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:59.671","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:58:59.671","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:58:59.671","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:58:59.671","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:58:59.672","pid":78016,"tid":"123e4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:58:59.674","pid":78016,"tid":"123e4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:58:59.674","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.003,"elapsed-compute-keys":0,"elapsed-sum":0.001,

"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[non
e:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi8
1jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110
noi81jfj70l].[none:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w
8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]' />\n </fiel
ds>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T16:58:59.674","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:58:59.746","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.072}}
{"ts":"2016-09-29T16:58:59.746","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:58:59.788","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0.041}}
{"ts":"2016-09-29T16:58:59.788","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:59.789","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:59.789","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:59.789","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:58:59.799","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.006}}
{"ts":"2016-09-29T16:58:59.799","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.053}}
{"ts":"2016-09-29T16:58:59.800","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:58:59.890","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0.089}}
{"ts":"2016-09-29T16:59:00.443","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.643}}
{"ts":"2016-09-29T16:59:00.444","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.774 sec"}
{"ts":"2016-09-29T16:59:00.444","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.775,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:59:00.808","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:59:00.847","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}

{"ts":"2016-09-29T16:59:00.869","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:59:00.925","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:59:03.429","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"Columns\" drag-source=\"d
rag-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[ex
cel-direct.0s0w8bc1somq6z110noi81jfj70l].[cum:avg:Sales:qk]\",\"encoding-type\":
\"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-right-drag=\
"false\" shelf-drag-source-position={\"shelf-type\": \"columns-shelf\",\"shelf-p
os-index\": 1,\"shelf-drop-action\": \"replace\",\"is-override\": false} shelf-d
rop-context=\"none\" shelf-drop-target-position={\"shelf-type\": \"rows-shelf\",
\"shelf-pos-index\": 0,\"is-override\": false} shelf-selection=[2] source-sheet=
\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:59:03.431","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"Columns\" drag-source=\"
drag-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[e
xcel-direct.0s0w8bc1somq6z110noi81jfj70l].[cum:avg:Sales:qk]\",\"encoding-type\"
: \"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-right-drag=
\"false\" shelf-drag-source-position={\"shelf-type\": \"columns-shelf\",\"shelfpos-index\": 1,\"shelf-drop-action\": \"replace\",\"is-override\": false} shelfdrop-context=\"none\" shelf-drop-target-position={\"shelf-type\": \"rows-shelf\"
,\"shelf-pos-index\": 0,\"is-override\": false} shelf-selection=[2] source-sheet
=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:59:03.444","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:59:03.445","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:03.445","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:59:03.446","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:59:03.446","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:59:03.446","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:59:03.446","pid":78016,"tid":"1319c","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:59:03.448","pid":78016,"tid":"1319c","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:59:03.448","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.002,"elapsed-compute-keys":0,"elapsed-sum":0.001,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\

n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[non
e:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi8
1jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110
noi81jfj70l].[none:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w
8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]' />\n </fiel
ds>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T16:59:03.448","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:59:03.456","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.008}}
{"ts":"2016-09-29T16:59:03.456","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:59:03.464","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0.008}}
{"ts":"2016-09-29T16:59:03.464","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:03.465","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:03.465","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:03.465","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:03.469","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.003}}
{"ts":"2016-09-29T16:59:03.469","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.013}}
{"ts":"2016-09-29T16:59:03.469","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:59:03.506","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0.035}}
{"ts":"2016-09-29T16:59:03.722","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.252}}
{"ts":"2016-09-29T16:59:03.722","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.277 sec"}
{"ts":"2016-09-29T16:59:03.722","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.277,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:59:03.882","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:59:03.882","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"Error: OpenGL Error: 1280"}
{"ts":"2016-09-29T16:59:03.882","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"OpenGL Error occurred before bindTexture."}

{"ts":"2016-09-29T16:59:03.916","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:59:03.947","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:59:04.005","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:59:05.132","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"Columns\" drag-source=\"d
rag-drop-shelf\" drop-target=\"drag-drop-viz\" field-encodings=[{\"fn\": \"[exce
l-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding-type
\": \"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"true\" is-right-drag
=\"false\" shelf-drag-source-position={\"shelf-type\": \"columns-shelf\",\"shelf
-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} shelf
-drop-context=\"none\" shelf-drop-target-position={\"is-override\": false} shelf
-selection=[1] source-sheet=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui:
drop-ui"}}
{"ts":"2016-09-29T16:59:05.133","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"Columns\" drag-source=\"
drag-drop-shelf\" drop-target=\"drag-drop-viz\" field-encodings=[{\"fn\": \"[exc
el-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding-typ
e\": \"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"true\" is-right-dra
g=\"false\" shelf-drag-source-position={\"shelf-type\": \"columns-shelf\",\"shel
f-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} shel
f-drop-context=\"none\" shelf-drop-target-position={\"is-override\": false} shel
f-selection=[1] source-sheet=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui
:drop-ui"}}
{"ts":"2016-09-29T16:59:05.139","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:59:05.140","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:05.140","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:59:05.141","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:59:05.141","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:59:05.141","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:59:05.141","pid":78016,"tid":"13bbc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:59:05.143","pid":78016,"tid":"13bbc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:59:05.143","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.002,"elapsed-compute-keys":0,"elapsed-sum":0.001,

"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[av
g:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l]
.[sum:Calculation_5489888009455718401:qk]' />\n </fields>\n</query>\n","query-i
d":0}]}}
{"ts":"2016-09-29T16:59:05.143","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:59:05.145","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:59:05.145","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:59:05.145","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:05.145","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:05.145","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:05.145","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:05.145","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:05.146","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:59:05.146","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:59:05.146","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:59:05.147","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:05.152","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.005}}
{"ts":"2016-09-29T16:59:05.152","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.012 sec"}
{"ts":"2016-09-29T16:59:05.152","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.012,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:59:05.179","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:59:05.180","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"Error: OpenGL Error: 1280"}
{"ts":"2016-09-29T16:59:05.180","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg

","v":"OpenGL Error occurred before bindTexture."}


{"ts":"2016-09-29T16:59:05.208","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:59:05.307","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:59:05.400","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:59:31.772","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"\" drag-source=\"drag-dro
p-schema\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[excel-di
rect.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding-type\":
\"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-right-drag=\"
false\" shelf-drag-source-position={\"is-override\": false} shelf-drop-context=\
"none\" shelf-drop-target-position={\"shelf-type\": \"encoding-shelf\",\"shelf-p
os-index\": 0,\"encoding-type\": \"color-encoding\",\"is-override\": true,\"pane
-spec\": 3} target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:59:36.983","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"\" drag-source=\"drag-dr
op-schema\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[excel-d
irect.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding-type\":
\"invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-right-drag=\
"false\" shelf-drag-source-position={\"is-override\": false} shelf-drop-context=
\"none\" shelf-drop-target-position={\"shelf-type\": \"encoding-shelf\",\"shelfpos-index\": 0,\"encoding-type\": \"color-encoding\",\"is-override\": true,\"pan
e-spec\": 3} target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T16:59:37.002","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:59:37.004","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:37.004","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:59:37.006","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:59:37.006","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:59:37.006","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:59:37.007","pid":78016,"tid":"13760","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:59:37.009","pid":78016,"tid":"13760","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:59:37.009","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.005,"elapsed-compute-keys":0.001,"elapsed-sum":0.
002,"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpr

eter","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query
aggregation='true' caching='normal' hierarchize-rows='false' include-empty='fals
e'>\n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].
[none:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110
noi81jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6
z110noi81jfj70l].[none:Customer Name:nk]' />\n
<output column='[excel-direct.
0s0w8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]' />\n </
fields>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T16:59:37.009","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T16:59:37.013","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.003}}
{"ts":"2016-09-29T16:59:37.013","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:59:37.013","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:37.013","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:37.013","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:37.013","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:37.013","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:37.033","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.019}}
{"ts":"2016-09-29T16:59:37.033","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.019}}
{"ts":"2016-09-29T16:59:37.033","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:59:37.036","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0.001}}
{"ts":"2016-09-29T16:59:37.129","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.095}}
{"ts":"2016-09-29T16:59:37.129","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.127 sec"}
{"ts":"2016-09-29T16:59:37.129","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.127,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:59:37.440","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:59:37.440","pid":78016,"tid":"13b38","sev":"error","req":"","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"Error: OpenGL Error: 1280"}
{"ts":"2016-09-29T16:59:37.440","pid":78016,"tid":"13b38","sev":"error","req":"-

","sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg
","v":"OpenGL Error occurred before bindTexture."}
{"ts":"2016-09-29T16:59:37.442","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:59:37.481","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:59:37.555","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:59:45.889","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:set-primitive pane-spec=\"3\" primitive-type=\"line
\"","name":"tabdoc:set-primitive"}}
{"ts":"2016-09-29T16:59:45.889","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:set-primitive pane-spec=\"3\" primitive-type=\"lin
e\"","name":"tabdoc:set-primitive"}}
{"ts":"2016-09-29T16:59:45.899","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:59:45.900","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:45.900","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T16:59:45.901","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T16:59:45.901","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T16:59:45.901","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T16:59:45.901","pid":78016,"tid":"139e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:59:45.903","pid":78016,"tid":"139e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T16:59:45.903","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.003,"elapsed-compute-keys":0,"elapsed-sum":0.001,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[non
e:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi8
1jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110
noi81jfj70l].[none:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w
8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]' />\n </fiel
ds>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T16:59:45.903","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}

{"ts":"2016-09-29T16:59:45.905","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T16:59:45.905","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T16:59:45.905","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:45.905","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:45.905","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:45.906","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:45.906","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:45.918","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.012}}
{"ts":"2016-09-29T16:59:45.918","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.012}}
{"ts":"2016-09-29T16:59:45.918","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T16:59:45.919","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T16:59:45.932","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.014}}
{"ts":"2016-09-29T16:59:45.933","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.033 sec"}
{"ts":"2016-09-29T16:59:45.933","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.033,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T16:59:46.077","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T16:59:46.078","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T16:59:46.121","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T16:59:46.180","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T16:59:57.170","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"Encodings\" drag-source=\
"drag-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[
excel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encodingtype\": \"color-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-right-d

rag=\"false\" shelf-drag-source-position={\"shelf-type\": \"encoding-shelf\",\"s


helf-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} s
helf-drop-context=\"none\" shelf-drop-target-position={\"shelf-type\": \"encodin
g-shelf\",\"shelf-pos-index\": 0,\"shelf-drop-action\": \"replace-all\",\"encodi
ng-type\": \"color-encoding\",\"is-override\": true,\"pane-spec\": 3} shelf-sele
ction=[3] source-sheet=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui:dropui"}}
{"ts":"2016-09-29T16:59:57.170","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"Encodings\" drag-source=
\"drag-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"
[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding
-type\": \"color-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-rightdrag=\"false\" shelf-drag-source-position={\"shelf-type\": \"encoding-shelf\",\"
shelf-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false}
shelf-drop-context=\"none\" shelf-drop-target-position={\"shelf-type\": \"encodi
ng-shelf\",\"shelf-pos-index\": 0,\"shelf-drop-action\": \"replace-all\",\"encod
ing-type\": \"color-encoding\",\"is-override\": true,\"pane-spec\": 3} shelf-sel
ection=[3] source-sheet=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop
-ui"}}
{"ts":"2016-09-29T17:00:00.340","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"Encodings\" drag-source=\
"drag-drop-shelf\" drop-target=\"drag-drop-viz\" field-encodings=[{\"fn\": \"[ex
cel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding-ty
pe\": \"color-encoding\"}] is-copy=\"false\" is-dead-drop=\"true\" is-right-drag
=\"false\" shelf-drag-source-position={\"shelf-type\": \"encoding-shelf\",\"shel
f-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} shel
f-drop-context=\"none\" shelf-drop-target-position={\"is-override\": false} shel
f-selection=[3] source-sheet=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui
:drop-ui"}}
{"ts":"2016-09-29T17:00:00.340","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"Encodings\" drag-source=
\"drag-drop-shelf\" drop-target=\"drag-drop-viz\" field-encodings=[{\"fn\": \"[e
xcel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding-t
ype\": \"color-encoding\"}] is-copy=\"false\" is-dead-drop=\"true\" is-right-dra
g=\"false\" shelf-drag-source-position={\"shelf-type\": \"encoding-shelf\",\"she
lf-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} she
lf-drop-context=\"none\" shelf-drop-target-position={\"is-override\": false} she
lf-selection=[3] source-sheet=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabu
i:drop-ui"}}
{"ts":"2016-09-29T17:00:00.346","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T17:00:00.346","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:00.346","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T17:00:00.347","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T17:00:00.347","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T17:00:00.347","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}

{"ts":"2016-09-29T17:00:00.347","pid":78016,"tid":"133c4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T17:00:00.348","pid":78016,"tid":"133c4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T17:00:00.348","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.001,"elapsed-compute-keys":0,"elapsed-sum":0,"job
-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter","o
wner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggregat
ion='true' caching='normal' hierarchize-rows='false' include-empty='false'>\n <
fields>\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sa
les:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[su
m:Calculation_5489888009455718401:qk]' />\n </fields>\n</query>\n","query-id":0
}]}}
{"ts":"2016-09-29T17:00:00.348","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T17:00:00.350","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T17:00:00.350","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T17:00:00.350","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:00.350","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:00.350","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:00.350","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:00.350","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:00.351","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.001}}
{"ts":"2016-09-29T17:00:00.351","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.001}}
{"ts":"2016-09-29T17:00:00.351","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T17:00:00.353","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:00.357","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.005}}
{"ts":"2016-09-29T17:00:00.357","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.011 sec"}

{"ts":"2016-09-29T17:00:00.357","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.011,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T17:00:00.369","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T17:00:00.370","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T17:00:00.418","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T17:00:00.436","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T17:00:02.100","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:add-to-sheet fn=\"[excel-direct.0s0w8bc1somq6z110no
i81jfj70l].[Customer Name]\"","name":"tabdoc:add-to-sheet"}}
{"ts":"2016-09-29T17:00:02.101","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:02.101","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T17:00:02.102","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T17:00:02.102","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T17:00:02.102","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T17:00:02.106","pid":78016,"tid":"13740","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"","owner-dashboard":"","owner-worksheet":"",
"query-id":0}}
{"ts":"2016-09-29T17:00:02.107","pid":78016,"tid":"13740","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"","owner-dashboard":"",
"owner-worksheet":"","query-id":0}}
{"ts":"2016-09-29T17:00:02.108","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.006,"elapsed-compute-keys":0,"elapsed-sum":0.001,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"","owner-dashbo
ard":"","owner-worksheet":"","query-abstract":"<query aggregation='true' caching
='normal' hierarchize-rows='false' include-empty='false'>\n <fields>\n
<fiel
d column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]' /
>\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[avg:Sales:qk
]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Cus
tomer Name:nk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj7
0l].[sum:Calculation_5489888009455718401:qk]' />\n </fields>\n</query>\n","quer
y-id":0}]}}
{"ts":"2016-09-29T17:00:02.108","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T17:00:02.110","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.002}}

{"ts":"2016-09-29T17:00:02.111","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:add-to-sheet fn=\"[excel-direct.0s0w8bc1somq6z110n
oi81jfj70l].[Customer Name]\"","name":"tabdoc:add-to-sheet"}}
{"ts":"2016-09-29T17:00:02.113","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:02.113","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T17:00:02.114","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T17:00:02.114","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T17:00:02.114","pid":78016,"tid":"130b0","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T17:00:02.115","pid":78016,"tid":"13878","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T17:00:02.117","pid":78016,"tid":"13878","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T17:00:02.118","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.004,"elapsed-compute-keys":0,"elapsed-sum":0.002,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[non
e:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi8
1jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110
noi81jfj70l].[none:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w
8bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]' />\n </fiel
ds>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T17:00:02.125","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T17:00:02.125","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T17:00:02.128","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T17:00:02.128","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T17:00:02.128","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:02.128","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:02.128","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}

{"ts":"2016-09-29T17:00:02.128","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:02.128","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:02.140","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.011}}
{"ts":"2016-09-29T17:00:02.140","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.011}}
{"ts":"2016-09-29T17:00:02.140","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T17:00:02.141","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:02.145","pid":78016,"tid":"129d4","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.005}}
{"ts":"2016-09-29T17:00:02.146","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.020 sec"}
{"ts":"2016-09-29T17:00:02.146","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.02,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T17:00:02.235","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T17:00:02.237","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T17:00:02.275","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T17:00:02.333","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T17:00:04.982","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"Encodings\" drag-source=\
"drag-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[
excel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encodingtype\": \"level-of-detail-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\"
is-right-drag=\"false\" shelf-drag-source-position={\"shelf-type\": \"encoding-s
helf\",\"shelf-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\"
: false} shelf-drop-context=\"none\" shelf-drop-target-position={\"shelf-type\":
\"encoding-shelf\",\"shelf-pos-index\": 0,\"encoding-type\": \"color-encoding\"
,\"is-override\": true,\"pane-spec\": 3} shelf-selection=[3] source-sheet=\"Shee
t 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T17:00:04.983","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"Encodings\" drag-source=
\"drag-drop-shelf\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"
[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding
-type\": \"level-of-detail-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\"
is-right-drag=\"false\" shelf-drag-source-position={\"shelf-type\": \"encodingshelf\",\"shelf-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\
": false} shelf-drop-context=\"none\" shelf-drop-target-position={\"shelf-type\"

: \"encoding-shelf\",\"shelf-pos-index\": 0,\"encoding-type\": \"color-encoding\


",\"is-override\": true,\"pane-spec\": 3} shelf-selection=[3] source-sheet=\"She
et 1\" target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T17:00:04.997","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T17:00:04.998","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:04.998","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T17:00:04.999","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T17:00:04.999","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T17:00:04.999","pid":78016,"tid":"12c58","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T17:00:05.045","pid":78016,"tid":"12f38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T17:00:05.047","pid":78016,"tid":"12f38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T17:00:05.048","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.05,"elapsed-compute-keys":0,"elapsed-sum":0.002,"
job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter"
,"owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggre
gation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\n
<fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[none
:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81
jfj70l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110n
oi81jfj70l].[none:Customer Name:nk]' />\n
<output column='[excel-direct.0s0w8
bc1somq6z110noi81jfj70l].[sum:Calculation_5489888009455718401:qk]' />\n </field
s>\n</query>\n","query-id":0}]}}
{"ts":"2016-09-29T17:00:05.048","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T17:00:05.051","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T17:00:05.051","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T17:00:05.051","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:05.051","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:05.051","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:05.051","pid":78016,"tid":"121fc","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:05.051","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:05.066","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.015}}
{"ts":"2016-09-29T17:00:05.066","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.015}}
{"ts":"2016-09-29T17:00:05.066","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T17:00:05.068","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:05.091","pid":78016,"tid":"121fc","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.024}}
{"ts":"2016-09-29T17:00:05.092","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.094 sec"}
{"ts":"2016-09-29T17:00:05.092","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.094,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T17:00:05.298","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T17:00:05.298","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T17:00:05.383","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T17:00:05.437","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T17:00:13.165","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:select-legend-item legend-names=[\"[excel-direct.0s
0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\"] legend-type=\"color\" wor
ksheet=\"Sheet 1\"","name":"tabdoc:select-legend-item"}}
{"ts":"2016-09-29T17:00:13.178","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:select-legend-item legend-names=[\"[excel-direct.0
s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\"] legend-type=\"color\" wo
rksheet=\"Sheet 1\"","name":"tabdoc:select-legend-item"}}
{"ts":"2016-09-29T17:00:13.284","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T17:00:13.285","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T17:00:13.321","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T17:00:13.439","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}

{"ts":"2016-09-29T17:00:37.179","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T17:00:37.180","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T17:00:37.310","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T17:00:37.357","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T17:00:38.187","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"Encodings\" drag-source=\
"drag-drop-shelf\" drop-target=\"drag-drop-viz\" field-encodings=[{\"fn\": \"[ex
cel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding-ty
pe\": \"color-encoding\"}] is-copy=\"false\" is-dead-drop=\"true\" is-right-drag
=\"false\" shelf-drag-source-position={\"shelf-type\": \"encoding-shelf\",\"shel
f-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} shel
f-drop-context=\"none\" shelf-drop-target-position={\"is-override\": false} shel
f-selection=[3] source-sheet=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabui
:drop-ui"}}
{"ts":"2016-09-29T17:00:38.189","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"Encodings\" drag-source=
\"drag-drop-shelf\" drop-target=\"drag-drop-viz\" field-encodings=[{\"fn\": \"[e
xcel-direct.0s0w8bc1somq6z110noi81jfj70l].[none:Customer Name:nk]\",\"encoding-t
ype\": \"color-encoding\"}] is-copy=\"false\" is-dead-drop=\"true\" is-right-dra
g=\"false\" shelf-drag-source-position={\"shelf-type\": \"encoding-shelf\",\"she
lf-pos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} she
lf-drop-context=\"none\" shelf-drop-target-position={\"is-override\": false} she
lf-selection=[3] source-sheet=\"Sheet 1\" target-sheet=\"Sheet 1\"","name":"tabu
i:drop-ui"}}
{"ts":"2016-09-29T17:00:38.200","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T17:00:38.201","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:38.202","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T17:00:38.203","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T17:00:38.203","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T17:00:38.203","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T17:00:38.203","pid":78016,"tid":"129a8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T17:00:38.205","pid":78016,"tid":"129a8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}

{"ts":"2016-09-29T17:00:38.205","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.003,"elapsed-compute-keys":0,"elapsed-sum":0.001,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[av
g:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l]
.[sum:Calculation_5489888009455718401:qk]' />\n </fields>\n</query>\n","query-i
d":0}]}}
{"ts":"2016-09-29T17:00:38.205","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T17:00:38.208","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T17:00:38.208","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T17:00:38.208","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:38.208","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:38.208","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:38.208","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:38.208","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:38.210","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.002}}
{"ts":"2016-09-29T17:00:38.210","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T17:00:38.211","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T17:00:38.212","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:38.222","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.011}}
{"ts":"2016-09-29T17:00:38.222","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.022 sec"}
{"ts":"2016-09-29T17:00:38.222","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.022,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T17:00:38.247","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T17:00:38.247","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"

,"v":"render-pipeline: BeginScene using OpenGL"}


{"ts":"2016-09-29T17:00:38.312","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T17:00:38.330","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T17:00:40.463","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"\" drag-source=\"drag-dro
p-schema\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[excel-di
rect.0s0w8bc1somq6z110noi81jfj70l].[none:Order Date:ok]\",\"encoding-type\": \"i
nvalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-right-drag=\"fal
se\" shelf-drag-source-position={\"is-override\": false} shelf-drop-context=\"no
ne\" shelf-drop-target-position={\"shelf-type\": \"encoding-shelf\",\"shelf-posindex\": 0,\"encoding-type\": \"color-encoding\",\"is-override\": true,\"pane-sp
ec\": 3} target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T17:00:40.467","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"\" drag-source=\"drag-dr
op-schema\" drop-target=\"drag-drop-shelf\" field-encodings=[{\"fn\": \"[excel-d
irect.0s0w8bc1somq6z110noi81jfj70l].[none:Order Date:ok]\",\"encoding-type\": \"
invalid-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-right-drag=\"fa
lse\" shelf-drag-source-position={\"is-override\": false} shelf-drop-context=\"n
one\" shelf-drop-target-position={\"shelf-type\": \"encoding-shelf\",\"shelf-pos
-index\": 0,\"encoding-type\": \"color-encoding\",\"is-override\": true,\"pane-s
pec\": 3} target-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T17:00:40.480","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T17:00:40.481","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:40.481","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T17:00:40.482","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T17:00:40.482","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T17:00:40.482","pid":78016,"tid":"119e8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T17:00:40.483","pid":78016,"tid":"12c8c","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T17:00:40.485","pid":78016,"tid":"12c8c","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T17:00:40.485","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.003,"elapsed-compute-keys":0,"elapsed-sum":0.002,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<field column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[yr:

Order Date:ok]' />\n


<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj7
0l].[avg:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81
jfj70l].[sum:Calculation_5489888009455718401:qk]' />\n
<output column='[excel
-direct.0s0w8bc1somq6z110noi81jfj70l].[yr:Order Date:ok]' />\n </fields>\n</que
ry>\n","query-id":0}]}}
{"ts":"2016-09-29T17:00:40.485","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-data-interpreter","v":{}}
{"ts":"2016-09-29T17:00:40.488","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T17:00:40.488","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T17:00:40.488","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:40.488","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:40.488","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:40.488","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:40.488","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:40.491","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.003}}
{"ts":"2016-09-29T17:00:40.491","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.003}}
{"ts":"2016-09-29T17:00:40.491","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T17:00:40.493","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:40.504","pid":78016,"tid":"133d8","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.012}}
{"ts":"2016-09-29T17:00:40.504","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.024 sec"}
{"ts":"2016-09-29T17:00:40.504","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.024,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T17:00:40.644","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T17:00:40.644","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T17:00:40.686","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T17:00:40.753","pid":78016,"tid":"13074","sev":"info","req":"-"

,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T17:00:43.138","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:drop-ui drag-description=\"Encodings\" drag-source=\
"drag-drop-shelf\" drop-target=\"drag-drop-none\" field-encodings=[{\"fn\": \"[e
xcel-direct.0s0w8bc1somq6z110noi81jfj70l].[yr:Order Date:ok]\",\"encoding-type\"
: \"color-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-right-drag=\"
false\" shelf-drag-source-position={\"shelf-type\": \"encoding-shelf\",\"shelf-p
os-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} shelf-d
rop-context=\"none\" shelf-drop-target-position={\"is-override\": false} shelf-s
election=[3] source-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T17:00:43.140","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:drop-ui drag-description=\"Encodings\" drag-source=
\"drag-drop-shelf\" drop-target=\"drag-drop-none\" field-encodings=[{\"fn\": \"[
excel-direct.0s0w8bc1somq6z110noi81jfj70l].[yr:Order Date:ok]\",\"encoding-type\
": \"color-encoding\"}] is-copy=\"false\" is-dead-drop=\"false\" is-right-drag=\
"false\" shelf-drag-source-position={\"shelf-type\": \"encoding-shelf\",\"shelfpos-index\": 0,\"shelf-drop-action\": \"replace\",\"is-override\": false} shelfdrop-context=\"none\" shelf-drop-target-position={\"is-override\": false} shelfselection=[3] source-sheet=\"Sheet 1\"","name":"tabui:drop-ui"}}
{"ts":"2016-09-29T17:00:43.161","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-update-sheet","v":{"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T17:00:43.162","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-percentages","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:43.162","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Received for processing a query batch of 1 queries."}
{"ts":"2016-09-29T17:00:43.163","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-i
nfo","v":"Starting parallel processing of query jobs."}
{"ts":"2016-09-29T17:00:43.163","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-fusions","v":{"fusion-count":0}}
{"ts":"2016-09-29T17:00:43.163","pid":78016,"tid":"12984","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-o
ptimize-dependencies","v":{"dependency-count":0}}
{"ts":"2016-09-29T17:00:43.164","pid":78016,"tid":"13638","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-begin","v":{"owner-component":"DataInterpreter","owner-dashboard":"","owner
-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T17:00:43.165","pid":78016,"tid":"13638","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-q
uery-end","v":{"cache-hit":"abstract","owner-component":"DataInterpreter","owner
-dashboard":"","owner-worksheet":"Sheet 1","query-id":0}}
{"ts":"2016-09-29T17:00:43.165","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"qp-b
atch-summary","v":{"elapsed":0.003,"elapsed-compute-keys":0,"elapsed-sum":0.001,
"job-count":1,"jobs":[{"cache-hit":"abstract","owner-component":"DataInterpreter
","owner-dashboard":"","owner-worksheet":"Sheet 1","query-abstract":"<query aggr
egation='true' caching='normal' hierarchize-rows='false' include-empty='false'>\
n <fields>\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l].[av
g:Sales:qk]' />\n
<output column='[excel-direct.0s0w8bc1somq6z110noi81jfj70l]
.[sum:Calculation_5489888009455718401:qk]' />\n </fields>\n</query>\n","query-i
d":0}]}}
{"ts":"2016-09-29T17:00:43.166","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi

n-data-interpreter","v":{}}
{"ts":"2016-09-29T17:00:43.168","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"enddata-interpreter","v":{"elapsed":0.002}}
{"ts":"2016-09-29T17:00:43.168","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-partition-interpreter","v":{}}
{"ts":"2016-09-29T17:00:43.168","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:43.168","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-set-interp","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:43.168","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-x-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:43.168","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comp
ute-y-axis-descriptor","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:43.168","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"part
ition-data","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:43.171","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"sort
-panes","v":{"elapsed":0.003}}
{"ts":"2016-09-29T17:00:43.171","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endpartition-interpreter","v":{"elapsed":0.003}}
{"ts":"2016-09-29T17:00:43.172","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"begi
n-visual-interpreter","v":{}}
{"ts":"2016-09-29T17:00:43.174","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"gene
rate-axis-encodings","v":{"elapsed":0}}
{"ts":"2016-09-29T17:00:43.184","pid":78016,"tid":"13734","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endvisual-interpreter","v":{"elapsed":0.012}}
{"ts":"2016-09-29T17:00:43.185","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":" [Time] Computing the model took 0.024 sec"}
{"ts":"2016-09-29T17:00:43.185","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"endupdate-sheet","v":{"elapsed":0.024,"sheet":"Sheet 1","view":"Sheet 1"}}
{"ts":"2016-09-29T17:00:43.322","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render Start"}
{"ts":"2016-09-29T17:00:43.322","pid":78016,"tid":"13b38","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: BeginScene using OpenGL"}
{"ts":"2016-09-29T17:00:43.372","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"render-pipeline: Render End"}
{"ts":"2016-09-29T17:00:43.422","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Finished rendering sheet: Sheet 1"}
{"ts":"2016-09-29T17:01:48.848","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"
,"v":"Workspace::DoContextMenu: invoking the context menu."}
{"ts":"2016-09-29T17:01:51.008","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"msg"

,"v":"Workspace::DoContextMenu: context menu event loop returned."}


{"ts":"2016-09-29T17:01:51.060","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabui:create-calculation-ui use-selector=\"false\"","name"
:"tabui:create-calculation-ui"}}
{"ts":"2016-09-29T17:01:51.060","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:create-calc datasource=\"excel-direct.0s0w8bc1somq6
z110noi81jfj70l\"","name":"tabdoc:create-calc"}}
{"ts":"2016-09-29T17:01:51.066","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:create-calc datasource=\"excel-direct.0s0w8bc1somq
6z110noi81jfj70l\"","name":"tabdoc:create-calc"}}
{"ts":"2016-09-29T17:01:51.102","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabui:create-calculation-ui use-selector=\"false\"","name
":"tabui:create-calculation-ui"}}
{"ts":"2016-09-29T17:01:56.272","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{\" calcul
ation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculati
on-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculation_548988800946
0379650\",\"scope-isolation\": true,\"calculation-formula\": \"\",\"fn\": \"\",\
"fn-source\": \"\",\"calculation-dependencies\": \"\",\"folder-name\": \"\",\"ad
d-to-folder\": false,\"folder-role\": \"dimensions\",\"has-table-calc-data\": fa
lse,\"table-calc-types-used\": 0,\"style-token-list\":[],\"error-string\": \"\",
\"error-info-list\":[],\"expression-func-pm\":{\"expression-func-list\":[{\"name
\": \"ABS\",\"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolu
te value of a number\",\"help-contents\": \"Returns the absolute value of the gi
ven number. \\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-type
s\":[\"real\"],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS
(number)\",\"func-tooltip\": \"Returns the arc cosine of a number\",\"help-conte
nts\": \"Returns the arc cosine of a number. The result is in radians. \\n\\nEx
ample: ACOS(-1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":
[\"real\"],\"has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1
> AND <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical conjuncti
on on two expressions\",\"help-contents\": \"Performs a logical conjunction on t
wo expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\":
\"Returns the ASCII code for the first character in a string\",\"help-contents\
": \"Returns the ASCII code value of the first character in a string. \\n\\nExam
ple: ASCII(\\\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\
"str\"],\"has-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number
)\",\"func-tooltip\": \"Returns the arc sine of a number\",\"help-contents\": \"
Returns the arc sine of a number. The result is in radians. \\n\\nExample: ASIN
(1) = 1.5707963267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func
-tooltip\": \"Returns the arc tangent of a number\",\"help-contents\": \"Returns
the arc tangent of a number. The result is in radians. \\n\\nExample: ATAN(18
0) = 1.5652408283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"h
as-var-args\": false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x num
ber)\",\"func-tooltip\": \"Returns the arc tangent of two numbers\",\"help-conte
nts\": \"Returns the arc tangent of two given numbers (x and y). The result is i
n radians. \\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \
"ATTR\",\"func-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value
of the expression if it has one value for all rows\",\"help-contents\": \"Retur
ns the value of the given expression if it only has a single value for all rows
in the group, otherwise it displays an asterisk (*). Null values are ignored.\\n
\\nExample: ATTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integ

er\"],\"has-var-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression


)\",\"func-tooltip\": \"Returns the average of the values in the expression\",\"
help-contents\": \"Returns the average of all the values in the expression. AVG
can be used with numeric fields only. Null values are ignored.\\n\\nExample: AVG
([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-arg
s\": false},{\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <
return1> ... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and
returns the appropriate value\",\"help-contents\": \"Finds the first <value> tha
t matches <expr> and returns the corresponding <return>. \\n\\nExample: CASE [Ro
manNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"
func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\"
: \"CEILING\",\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a num
ber to the nearest integer of equal or greater value\",\"help-contents\": \"Roun
ds a number to the nearest integer of equal or greater value. \\n\\nExample: CEI
LING(3.1415) = 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-v
ar-args\": false},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-too
ltip\": \"Converts an integer ASCII code into a character\",\"help-contents\": \
"Converts the given integer ASCII code into a character. \\n\\nExample: CHAR(65)
= 'A'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"
func-tooltip\": \"Returns true if a string contains the specified substring\",\"
help-contents\": \"Returns true if the string contains the substring. \\n\\nExam
ple: CONTAINS(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\
"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"CO
S\",\"func-sig\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an an
gle specified in radians\",\"help-contents\": \"Returns the cosine of an angle.
Specify the angle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"
name\": \"COT\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cot
angent of an angle specified in radians\",\"help-contents\": \"Returns the cotan
gent of an angle. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",
\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{
\"name\": \"COUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Retu
rns the number of items in the expression\",\"help-contents\": \"Returns the num
ber of items in a group. NULL values are not counted.\\n\\nExample: COUNT([Custo
mer ID])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-ar
gs\": false},{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-t
ooltip\": \"Returns the number of distinct items in the expression\",\"help-cont
ents\": \"Returns the number of distinct items in a group. NULL values are not c
ounted. Each unique value is counted only once.\\n\\nExample: COUNTD([Region])\
",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": fal
se},{\"name\": \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"R
eturns a date from a number\",\"help-contents\": \"Returns a date given a number
, string, or date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2
006-06-15 \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\"
,\"func-sig\": \"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Return
s the specified date incremented by the specified amount\",\"help-contents\": \"
Adds an increment to the specified date and returns the new date. The increment
is defined by the interval and the date_part. \\n\\nExample: DATEADD('month', 3,
#2004-04-15#) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-ty
pes\":[\"locstr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\":
\"DATEDIFF\",\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of
_week])\",\"func-tooltip\": \"Returns the difference between two dates\",\"helpcontents\": \"Returns the difference between two dates where start_date is subtr
acted from end_date. The difference is expressed in units of date_part. If start
_of_week is omitted, the week start day is determined by the start day configure
d for the data source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03
#, 'sunday') = -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"da
tetime\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME

\",\"func-sig\": \"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\"


: \"Returns a part of the specified date as a string\",\"help-contents\": \"Retu
rns a part of the given date as a string, where the part is defined by date_part
. If start_of_week is omitted, the week start day is determined by the start day
configured for the data source.\\n\\nExample: DATENAME('month', #2004-04-15#) =
\\\"April\\\"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datet
ime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\"
: \"DATEPARSE(format, string)\",\"func-tooltip\": \"Converts a string to a date\
",\"help-contents\": \"Converts a string to a date in the specified format. \\n\
\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15
12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\
"has-var-args\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_pa
rt, date, [start_of_week])\",\"func-tooltip\": \"Returns the specified part of a
date as an integer\",\"help-contents\": \"Returns a part of the given date as a
n integer where the part is defined by date_part. If start_of_week is omitted, t
he week start day is determined by the start day configured for the data source.
\\n\\nExample: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"
func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{
\"name\": \"DATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\":
\"Returns a datetime from a number\",\"help-contents\": \"Returns a datetime giv
en a number, string, or date expression. \\n\\nExample: DATETIME(\\\"April 15,
2004 07:59:00\\\") \\nNote that the quotation marks are required.\",\"func-grps
\":[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \
"DATETRUNC\",\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"fun
c-tooltip\": \"Truncates the specified date to the specified accuracy\",\"help-c
ontents\": \"Truncates the specified date to the accuracy specified by the date_
part and returns the new date. If start_of_week is omitted, the week start day i
s determined by the start day configured for the data source.\\n\\nExample: DATE
TRUNC('quarter', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\
"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": fal
se},{\"name\": \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns t
he day part of the specified date as an integer\",\"help-contents\": \"Returns t
he day of the given date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\"
,\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": fa
lse},{\"name\": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\":
\"Converts a value in radians to degrees\",\"help-contents\": \"Converts a numbe
r in radians to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\
"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\
",\"func-sig\": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the intege
r part of a division operation\",\"help-contents\": \"Returns the integer part o
f a division.\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-argtypes\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\
"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <el
se>] END\",\"func-tooltip\": \"Performs a logical test and returns an appropriat
e value\",\"help-contents\": \"Tests a series of expressions returning the <then
> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitab
le' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logi
c\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func
-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>]
END\",\"func-tooltip\": \"Performs a logical test and returns an appropriate val
ue\",\"help-contents\": \"Tests a series of expressions returning the <then> val
ue for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' E
LSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\":
\"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"
func-tooltip\": \"Performs a logical test and returns an appropriate value\",\"h
elp-contents\": \"Tests a series of expressions returning the <then> value for t
he first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [P
rofit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-a
rg-types\":[],\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"E

NDSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the specified s


tring ends with the specified substring\",\"help-contents\": \"Returns true if t
he string ends with the substring (trailing whitespace is ignored). \\n\\nExampl
e: ENDSWITH(\\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],
\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLU
DE\",\"func-sig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"fu
nc-tooltip\": \"Computes an aggregate excluding the specified dimensions if pres
ent in the view.\",\"help-contents\": \"Computes an aggregate excluding the spec
ified dimensions if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)
\",\"func-tooltip\": \"Returns e raised to the power of a number\",\"help-conten
ts\": \"Returns e raised to the power of the given number. \\n\\nExample: EXP(5
) = e^5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",
\"func-tooltip\": \"Returns the position of a substring within a string\",\"help
-contents\": \"Returns the position of a substring within a string, or 0 if the
substring isn't found. If the start argument is defined, any instances of substr
ing that appear before the start position are ignored. The first character in th
e string is position 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") =
2\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has
-var-args\": false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, subst
ring, occurrence)\",\"func-tooltip\": \"Returns the position of the nth occurren
ce a substring within a string\",\"help-contents\": \"Returns the position of th
e nth occurrence of a substring within a string, or 0 if that occurrence of the
substring isn't found. The first character in the string is position 1. \\n\\nEx
ample: FINDNTH(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],
\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\"
: \"FIRST\",\"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of
rows from to the first row in the partition\",\"help-contents\": \"Returns the n
umber of rows from the current row to the first row in the partition.\\n\\nExamp
le (current row index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"
func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\":
\"{ FIXED [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Compu
tes an aggregate using only the specified dimensions.\",\"help-contents\": \"Com
putes an aggregate using only the specified dimensions.\",\"func-grps\":[\"agg\"
],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig
\": \"FLOAT(expression)\",\"func-tooltip\": \"Returns a float from an expression
\",\"help-contents\": \"Returns a float given an expression of any type. This fu
nction requires unformatted numbers which means exclude commas and other symbols
. \\n\\nExample: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-argtypes\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\"
: \"FLOOR(number)\",\"func-tooltip\": \"Rounds a number to the nearest integer o
f equal or lesser value\",\"help-contents\": \"Rounds a number to the nearest in
teger of equal or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\"
:[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"F
ULLNAME\",\"func-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name
for the current user\",\"help-contents\": \"Returns the full name for the curre
nt user. This is the Tableau Server or Tableau Online full name when the user is
signed in; otherwise it is the local or network full name for the Tableau Deskt
op user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-toolt
ip\": \"Returns the x-coordinate of the nearest hexagonal bin.\",\"help-contents
\": \"Maps an (x,y) coordinate to the x-coordinate of the nearest hexagonal bin.
The bins have side length 1, so the inputs may need to be scaled appropriately.
\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args
\": false},{\"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"fu
nc-tooltip\": \"Returns the y-coordinate of the nearest hexagonal bin.\",\"helpcontents\": \"Maps an (x,y) coordinate to the y-coordinate of the nearest hexago
nal bin. The bins have side length 1, so the inputs may need to be scaled approp
riately.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-

var-args\": false},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSE


IF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a
logical test and returns an appropriate value\",\"help-contents\": \"Tests a ser
ies of expressions returning the <then> value for the first true <expr>. \\n\\nE
xample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' E
LSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-to
oltip\": \"Returns expression1 if not null\",\"help-contents\": \"Returns <expr1
> if it is not null, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit],
0)\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"h
as-var-args\": false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [
unknown])\",\"func-tooltip\": \"Evaluates a Boolean expression and returns one o
f two values\",\"help-contents\": \"Checks whether a condition is met, and retur
ns one value if TRUE, another value if FALSE, and an optional third value or NUL
L if unknown. \\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\"
:[\"logic\"],\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-v
ar-args\": false},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]
...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate using
the specified dimensions and the view dimensions.\",\"help-contents\": \"Compute
s an aggregate using the specified dimensions and the view dimensions.\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IND
EX\",\"func-sig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of the curr
ent row in the partition\",\"help-contents\": \"Returns the index of the current
row in the partition.\\n\\nExample (for the first row in the partition): INDEX(
) = 1\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false
},{\"name\": \"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evalu
ates an expression and returns an integer\",\"help-contents\": \"Returns an inte
ger given an expression. This function truncates results to the closest integer
toward zero. \\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[
\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \
"ISDATE\",\"func-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if t
he string is a valid date\",\"help-contents\": \"Returns true if a given string
is a valid date. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps
\":[\"str\",\"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": f
alse},{\"name\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tool
tip\": \"Returns true if the current user's full name matches the specified name
\",\"help-contents\": \"Returns true if the current user's full name matches the
specified full name, or false if it does not match. This function uses the Tabl
eau Server or Tableau Online full name when the user is signed in; otherwise it
uses the local or network full name for the Tableau Desktop user.\",\"func-grps\
":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\":
\"ISMEMBEROF\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns
true if the current user is a member of the specified group\",\"help-contents\"
: \"Returns true if the current user is a member of the given group, false other
wise. This uses the Tableau Server to resolve group membership if logged on, ot
herwise it always returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[
\"locstr\"],\"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNUL
L(expression)\",\"func-tooltip\": \"Returns true if the specified expression is
null\",\"help-contents\": \"Returns true if the expression does not contain vali
d data (Null).\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func
-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"
func-sig\": \"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if the curre
nt user's name matches the specified user name\",\"help-contents\": \"Returns tr
ue if the current user's username matches the specified username, or false if it
does not match. This function uses the Tableau Server or Tableau Online usernam
e when the user is signed in; otherwise it uses the local or network username fo
r the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"loc
str\"],\"has-var-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"f
unc-tooltip\": \"Returns the number of rows to the last row in the partition\",\
"help-contents\": \"Returns the number of rows from the current row to the last

row in the partition.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4


\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"n
ame\": \"LEFT\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Re
turns the specified number of characters from the start of a string\",\"help-con
tents\": \"Returns the specified number of characters from the start of the give
n string. \\n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{
\"name\": \"LEN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the
number of characters in a string\",\"help-contents\": \"Returns the number of ch
aracters in the given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"f
unc-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"na
me\": \"LN\",\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natura
l logarithm of a number\",\"help-contents\": \"Returns the natural logarithm of
the given number. Returns Null if the number is less than or equal to 0.\\n\\nEx
ample: LN(EXP(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",
\"func-tooltip\": \"Returns the logarithm of a number for the given base\",\"hel
p-contents\": \"Returns the logarithm of a number for the given base. If the bas
e value is omitted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LO
G(256, 2) = 8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\
"has-var-args\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression,
[offset])\",\"func-tooltip\": \"Returns the value of the expression in a row of
fset from current row\",\"help-contents\": \"Returns the value of the given expr
ession in a target row, specified as a relative offset from the current row. Use
FIRST()+n and LAST()-n for a target relative to the first/last rows in the part
ition. If offset is omitted, the Compare To row may be set on the field menu. Re
turns NULL if the target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Pro
fit]), FIRST( ) + 2) = SUM(Profit) in the third row of the partition\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \
"Returns a string in all lowercase characters\",\"help-contents\": \"Converts a
text string to all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\
\"product\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-a
rgs\": false},{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-toolti
p\": \"Returns a string with leading spaces removed\",\"help-contents\": \"Retur
ns the string with any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\
\") = \\\"Sales\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has
-var-args\": false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month
, day)\",\"func-tooltip\": \"Returns a date value constructed from a year, a mon
th and a day of the month.\",\"help-contents\": \"Returns a date value construct
ed from a year, a month and a day of the month. \\n\\nExample: MAKEDATE( 2014,
3, 18 )\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\
"integer\"],\"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \
"MAKEDATETIME(date, time)\",\"func-tooltip\": \"Returns a datetime by combining
a date and a time\",\"help-contents\": \"Returns a date and time value given a d
ate expression and a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#,
#07:59:00#)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\
"],\"has-var-args\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hou
r, minute, second)\",\"func-tooltip\": \"Returns a time value constructed from h
ours, minutes and seconds.\",\"help-contents\": \"Returns a time value construct
ed from hours, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"f
unc-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\
"has-var-args\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MA
X(expr1, expr2)\",\"func-tooltip\": \"Returns the maximum of an expression\",\"h
elp-contents\": \"Returns the maximum of a single expression across all records
or the maximum of two expressions for each record. \\n\\nExample: MAX([Sales])\
",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":
[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\":
\"MEDIAN(expression)\",\"func-tooltip\": \"Returns the median of an expression\
",\"help-contents\": \"Returns the median of a single expression. MEDIAN can be

used with numeric fields only. Null values are ignored.\\n\\nExample: MEDIAN([Pr
ofit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-t
ooltip\": \"Returns the characters from the middle of a text string\",\"help-con
tents\": \"Returns the characters from the middle of a text string given a start
ing position and a length. The first character in the string is position 1. If t
he length is not included, all characters to the end of the string are returned.
If the length is included, up to that many characters are returned. \\n\\nExamp
le: MID(\\\"Tableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Ta
bleau Software\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"fu
nc-sig\": \"MIN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns t
he minimum of an expression\",\"help-contents\": \"Returns the minimum of an exp
ression across all records or the minimum of two expressions for each record. \
\n\\nExample: MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",
\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name
\": \"MONTH\",\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the mont
h part of the specified date as an integer\",\"help-contents\": \"Returns the mo
nth of a given date as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"f
unc-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false}
,{\"name\": \"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-toolt
ip\": \"Performs logical negation on an expression\",\"help-contents\": \"Perfor
ms logical negation on an expression\",\"func-grps\":[\"logic\"],\"func-arg-type
s\":[],\"has-var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"fun
c-tooltip\": \"Returns the current date and time\",\"help-contents\": \"Returns
the current date and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"fun
c-grps\":[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"
OR\",\"func-sig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \
"Performs a logical disjunction on two expressions\",\"help-contents\": \"Perfor
ms a logical disjunction on two expressions\",\"func-grps\":[\"logic\"],\"func-a
rg-types\":[],\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \
"PERCENTILE(expression, number)\",\"func-tooltip\": \"Returns the percentile val
ue at the specified number\",\"help-contents\": \"Aggregate calculation that ret
urns the percentile value from the given expression corresponding to the specifi
ed number. Valid values for the number are 0 through 1. PERCENTILE([expression],
0.50) will always return the median value in the expression.\\n\\nExample: PERC
ENTILE([Sales], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"l
ocreal\"],\"has-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"fu
nc-tooltip\": \"Returns the numeric constant pi\",\"help-contents\": \"Returns t
he numeric constant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\
"num\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"fu
nc-sig\": \"POWER(number,power)\",\"func-tooltip\": \"Raises the number to the s
pecified power\",\"help-contents\": \"Returns the result of a number raised to t
he given power. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\
"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREV
IOUS_VALUE\",\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Re
turns the value of this calculation in the previous row\",\"help-contents\": \"R
eturns the value of this calculation in the previous row. Returns the given expr
ession if the current row is the first row of the partition.\\n\\nExample: SUM([
Profit]) + PREVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit])
* PREVIOUS_VALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"
],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS
\",\"func-sig\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a number in de
grees to radians\",\"help-contents\": \"Converts a number in degrees to radians.
\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"functooltip\": \"Returns the competition rank for the current partition row\",\"help
-contents\": \"Returns the standard competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'as
c' | 'desc' argument to specify ascending or descending order. The default order

is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would b


e ranked (1, 2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",
\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-varargs\": false},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression,
['asc'|'desc'])\",\"func-tooltip\": \"Returns the dense rank for the current par
tition row\",\"help-contents\": \"Returns the dense rank for the current row in
the partition. Identical values are assigned an identical rank, but no gaps are
inserted into the number sequence. Use the optional 'asc' | 'desc' argument to s
pecify ascending or descending order. The default order is descending.\\n\\nWith
this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in
ascending order.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table
\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name
\": \"RANK_MODIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\
",\"func-tooltip\": \"Returns the modified competition rank for the current part
ition row\",\"help-contents\": \"Returns the modified competition rank for the c
urrent row in the partition. Identical values are assigned an identical rank. Us
e the optional 'asc' | 'desc' argument to specify ascending or descending order.
The default order is descending.\\n\\nWith this function, the set of values (6,
9, 9, 14) would be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_M
ODIFIED(AVG([Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integ
er\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"funcsig\": \"RANK_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retur
ns the percentile rank for the current partition row\",\"help-contents\": \"Retu
rns the percentile rank for the current row in the partition. Use the optional '
asc' | 'desc' argument to specify ascending or descending order. The default ord
er is ascending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (25, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AV
G([Test Score]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"l
ocstr\"],\"has-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RAN
K_UNIQUE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique ra
nk for the current partition row\",\"help-contents\": \"Returns the unique rank
for the current row in the partition. Identical values are assigned different ra
nks. Use the optional 'asc' | 'desc' argument to specify ascending or descending
order. The default order is descending.\\n\\nWith this function, the set of val
ues (6, 9, 9, 14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample:
RANK_UNIQUE() = 1 for the first row in the partition\",\"func-grps\":[\"table\"
],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\"
: \"REGEXP_EXTRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-to
oltip\": \"Returns the portion of a string matching the capturing group in a reg
ular expression\",\"help-contents\": \"Returns a substring of the given string t
hat matches the capturing group within the regular expression pattern. The regu
lar expression pattern requires exactly one capturing group. \\n\\nExample: REGE
XP_EXTRACT('abc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],
\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEX
P_EXTRACT_NTH\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"f
unc-tooltip\": \"Returns a substring of a string using a regular expression patt
ern\",\"help-contents\": \"Returns a substring of the given string using the reg
ular expression pattern. The substring is matched to the nth capturing group, w
here n is the given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+
)\\\\s+(\\\\d+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str
\",\"str\",\"locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"fu
nc-sig\": \"REGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if
a string matches a regular expression\",\"help-contents\": \"Returns true if a s
ubstring of the provided string matches the regular expression pattern. \\n\\nEx
ample: REGEXP_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w
*\\\\s*\\\\])') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"s
tr\"],\"has-var-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REG
EXP_REPLACE(string, pattern, replacement)\",\"func-tooltip\": \"Returns a string
where substrings matching a regular expression are replaced\",\"help-contents\"
: \"Returns a copy of the given string where the matching pattern is substituted

with the replacement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s',


'-') = 'abc--123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"
,\"str\"],\"has-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLAC
E(string, substring, replacement)\",\"func-tooltip\": \"Replaces all instances o
f a substring within a string\",\"help-contents\": \"Returns a string in which e
very occurrence of the substring is replaced with the replacement string. If the
substring is not found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Cal
culation\\\", \\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"n
ame\": \"RIGHT\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"
Returns the specified number of characters from the end of a string\",\"help-con
tents\": \"Returns the specified number of characters from the end of the given
string. \\n\\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\
"name\": \"ROUND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\":
\"Rounds a number to the specified number of places\",\"help-contents\": \"Roun
ds a number to the nearest integer or to a specified number of decimal places. \
\n\\nExample: ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\"
: \"RTRIM(string)\",\"func-tooltip\": \"Returns a string with trailing spaces re
moved\",\"help-contents\": \"Returns the string with any trailing spaces removed
. \\n\\nExample: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str
\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_A
VG\",\"func-sig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the r
unning average of an expression\",\"help-contents\": \"Returns the running avera
ge of the given expression, from the first row in the partition to the current r
ow.\\n\\nExample: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",
\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false}
,{\"name\": \"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func
-tooltip\": \"Returns the running count of an expression\",\"help-contents\": \"
Returns the running count of the given expression, from the first row in the par
tition to the current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running
count of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(e
xpression)\",\"func-tooltip\": \"Returns the running maximum of an expression\",
\"help-contents\": \"Returns the running maximum of the given expression, from t
he first row in the partition to the current row.\\n\\nExample: RUNNING_MAX(MAX(
[Profit])) = running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit]))
= running maximum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\":
\"RUNNING_MIN(expression)\",\"func-tooltip\": \"Returns the running minimum of a
n expression\",\"help-contents\": \"Returns the running minimum of the given exp
ression, from the first row in the partition to the current row.\\n\\nExample: R
UNNING_MIN(MIN([Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(
SUM([Profit])) = running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\"
,\"func-sig\": \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the runni
ng sum of an expression\",\"help-contents\": \"Returns the running sum of the gi
ven expression, from the first row in the partition to the current row.\\n\\nExa
mple: RUNNING_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_S
UM(COUNT([Profit])) = running count of Profit\",\"func-grps\":[\"table\"],\"func
-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\
"func-sig\": \"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Return
s a Boolean result from an R expression\",\"help-contents\": \"Returns a Boolean
result from a given R expression. The R expression is passed directly to a runn
ing Rserve instance. Use .arg# in the R expression to reference parameters. In t
he following example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOO
L(\\\"is.finite(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-ar
g-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig
\": \"SCRIPT_INT(string, expression, ...)\",\"func-tooltip\": \"Returns an integ

er result from an R expression\",\"help-contents\": \"Returns an integer result


from a given R expression. The R expression is passed directly to a running Rser
ve instance. Use .arg# in the R expression to reference parameters. In the follo
wing example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.
integer(.arg1 * 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\":
\"SCRIPT_REAL(string, expression, ...)\",\"func-tooltip\": \"Returns a numeric
result from an R expression\",\"help-contents\": \"Returns a numeric result from
a given R expression. The R expression is passed directly to a running Rserve i
nstance. Use .arg# in the R expression to reference parameters. In the following
example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1
* 0.5\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(
string, expression, ...)\",\"func-tooltip\": \"Returns a string result from an R
expression\",\"help-contents\": \"Returns a string result from a given R expres
sion. The R expression is passed directly to a running Rserve instance. Use .arg
# in the R expression to reference parameters. In the following example, .arg1 i
s equal to ATTR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\"
, ATTR([Region]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has
-var-args\": true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-too
ltip\": \"Returns 1 for a positive number\",\"help-contents\": \"Returns the sig
n of a number: 1 if the number is positive, zero if the number is zero, or -1 if
the number is negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],
\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func
-sig\": \"SIN(angle)\",\"func-tooltip\": \"Returns the sine of a number\",\"help
-contents\": \"Returns the sine of an angle. Specify the angle in radians.\\n\\n
Example: SIN(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-ty
pes\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SI
ZE()\",\"func-tooltip\": \"Returns the number of rows in the partition\",\"helpcontents\": \"Returns the number of rows in the partition.\\n\\nExample (partiti
on has 5 rows):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"
func-tooltip\": \"Returns a string containing the specified number of spaces\",\
"help-contents\": \"Returns a string composed of the specified number of repeate
d spaces. \\n\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\
": \"SPLIT(string, delimiter, token number)\",\"func-tooltip\": \"Extracts a sub
string from a string\",\"help-contents\": \"Returns a substring from a string, a
s determined by a delimiter extracting the characters from the beginning or end
of the string. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLI
T('a-b-c-d', '-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\
",\"locstr\",\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig
\": \"SQRT(number)\",\"func-tooltip\": \"Returns the square root of a number\",\
"help-contents\": \"Returns the square root of a number. \\n\\nExample: SQRT(25)
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \
"Returns the square of a number\",\"help-contents\": \"Returns the square of a g
iven number. \\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig
\": \"STARTSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the sp
ecified string starts with the specified substring\",\"help-contents\": \"Return
s true if the string starts with the substring. \\n\\nExample: STARTSWITH(\\\"Ca
lculation\\\", \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":
[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"
STDEV(expression)\",\"func-tooltip\": \"Returns the sample standard deviation fo
r an expression\",\"help-contents\": \"Returns the sample standard deviation of
the expression.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\
": \"STDEVP(expression)\",\"func-tooltip\": \"Returns the population standard de
viation for an expression\",\"help-contents\": \"Returns the population standard

deviation of the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"


agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\"
,\"func-sig\": \"STR(expression)\",\"func-tooltip\": \"Returns an expression as
a string\",\"help-contents\": \"Returns a string given an expression. \\n\\nExa
mple: STR([Age]) returns all of the values of the Age measure as strings.\",\"fu
nc-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{
\"name\": \"SUM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns
the sum of values in an expression\",\"help-contents\": \"Returns the sum of all
the values in the expression. SUM can be used with numeric fields only. Null va
lues are ignored.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\":
\"TAN(angle)\",\"func-tooltip\": \"Returns the tangent of an angle specified in
radians\",\"help-contents\": \"Returns the tangent of an angle. Specify the angl
e in radians.\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\":
\"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\
"func-tooltip\": \"Performs a logical test and returns an appropriate value\",\"
help-contents\": \"Tests a series of expressions returning the <then> value for
the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [
Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"funcarg-types\":[],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TOD
AY()\",\"func-tooltip\": \"Returns the current date\",\"help-contents\": \"Retur
ns the current date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"dat
e\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"funcsig\": \"TOTAL(expression)\",\"func-tooltip\": \"Returns the total for an expres
sion within the partition\",\"help-contents\": \"Returns the total for the given
expression.\\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database r
ows that contribute to the partition\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"T
RIM(string)\",\"func-tooltip\": \"Returns a string with leading and trailing spa
ces removed\",\"help-contents\": \"Returns the string with both leading and trai
ling spaces removed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"
name\": \"UPPER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a
string in all uppercase characters\",\"help-contents\": \"Converts a text string
to all uppercase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\
\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fals
e},{\"name\": \"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"
Returns the domain for the current user\",\"help-contents\": \"Returns the domai
n for the current user when the user is signed on to Tableau Server. Returns the
Windows domain if the Tableau Desktop user is on a domain. Otherwise this funct
ion returns a null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func
-tooltip\": \"Returns the user name for the current user\",\"help-contents\": \"
Returns the username for the current user. This is the Tableau Server or Tableau
Online username when the user is signed in; otherwise it is the local or networ
k username for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expres
sion)\",\"func-tooltip\": \"Returns the sample variance for an expression\",\"he
lp-contents\": \"Returns the sample variance of the expression.\\n\\nExample: VA
R([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-toolt
ip\": \"Returns the population variance for an expression\",\"help-contents\": \
"Returns the population variance of the expression.\\n\\nExample: VARP([Profit])
\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> .
.. [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns th
e appropriate value\",\"help-contents\": \"Finds the first <value> that matches
<expr> and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral
] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\

":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW


_AVG\",\"func-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\":
\"Returns the average of the values within the window\",\"help-contents\": \"Ret
urns the average of the expression within the window. The window is defined as
offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fi
rst or last row in the partition. If start and end are omitted, the entire part
ition is used.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(P
rofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},
{\"name\": \"WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end
])\",\"func-tooltip\": \"Returns the number of items within the window\",\"helpcontents\": \"Returns the count of the expression within the window. The window
is defined as offsets from the current row. Use FIRST()+n and LAST()-n for offs
ets from the first or last row in the partition. If start and end are omitted,
the entire partition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) =
count of SUM(Profit) from the two previous rows to the current row\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-varargs\": false},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression,
[start, end])\",\"func-tooltip\": \"Returns the maximum within the window\",\"he
lp-contents\": \"Returns the maximum of the expression within the window. The w
indow is defined as offsets from the current row. Use FIRST()+n and LAST()-n for
offsets from the first or last row in the partition. If start and end are omit
ted, the entire partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0
) = maximum of Profit from the two previous rows to the current row\\n\\nExample
: WINDOW_MAX(SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two previou
s rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"inte
ger\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDI
AN\",\"func-sig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\":
\"Returns the median within the window\",\"help-contents\": \"Returns the media
n of the expression within the window. The window is defined as offsets from th
e current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\
\n\\nExample: WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from t
he two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"
WINDOW_MIN\",\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-toolt
ip\": \"Returns the minimum within the window\",\"help-contents\": \"Returns the
minimum of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or l
ast row in the partition. If start and end are omitted, the entire partition is
used.\\n\\nExample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from t
he two previous rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]),
-2, 0) = minimum of SUM(Profit) from the two previous rows to the current row\",
\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\
"],\"has-var-args\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WIN
DOW_PERCENTILE(expression, number, [start, end])\",\"func-tooltip\": \"Returns t
he percentile value at the specified number\",\"help-contents\": \"Returns the v
alue corresponding to the specified percentile within the window. The window is
defined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets
from the first or last row in the partition. If start and end are omitted, the
entire partition is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75,
-2., 0)) = 75th percentile of SUM(Profit) from the two previous rows to the cur
rent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"
integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"fu
nc-sig\": \"WINDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns
the sample standard deviation within the window\",\"help-contents\": \"Returns
the sample standard deviation of the expression within the window. The window i
s defined as offsets from the current row. Use FIRST()+n and LAST()-n for offset
s from the first or last row in the partition. If start and end are omitted, th
e entire partition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = s

td. dev. of SUM(Profit) from the two previous rows to the current row\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-va
r-args\": false},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expr
ession, [start, end])\",\"func-tooltip\": \"Returns the population standard devi
ation within the window\",\"help-contents\": \"Returns the population standard d
eviation of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or l
ast row in the partition. If start and end are omitted, the entire partition is
used.\\n\\nExample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Prof
it) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"
func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"
name\": \"WINDOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"
func-tooltip\": \"Returns the sum of values within the window\",\"help-contents\
": \"Returns the sum of the expression within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from th
e first or last row in the partition. If start and end are omitted, the entire
partition is used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(P
rofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": fals
e},{\"name\": \"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end]
)\",\"func-tooltip\": \"Returns the sample variance within the window\",\"help-c
ontents\": \"Returns the sample variance of the expression within the window. T
he window is defined as offsets from the current row. Use FIRST()+n and LAST()-n
for offsets from the first or last row in the partition. If start and end are
omitted, the entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), 2, 0) = variance of SUM(Profit) from the two previous rows to the current row\",
\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],
\"has-var-args\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(
expression, [start, end])\",\"func-tooltip\": \"Returns the population variance
within the window\",\"help-contents\": \"Returns the population variance of the
expression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the p
artition. If start and end are omitted, the entire partition is used.\\n\\nExam
ple: WINDOW_VARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two pr
evious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"
func-sig\": \"YEAR(date)\",\"func-tooltip\": \"Returns the year of the specified
date as an integer\",\"help-contents\": \"Returns the year of a given date as a
n integer. \\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],
\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"f
unc-sig\": \"ZN(expression)\",\"func-tooltip\": \"Returns the expression if it i
s not null\",\"help-contents\": \"Returns <expression> if it is not null, otherw
ise returns zero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\
"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false}]},\"calculation-con
text\": \"calculation-dialog\",\"use-parameters\": true} position=\"1\"","name":
"tabdoc:calculation-auto-complete"}}
{"ts":"2016-09-29T17:01:56.272","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{\" calcu
lation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculat
ion-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculation_54898880094
60379650\",\"scope-isolation\": true,\"calculation-formula\": \"\",\"fn\": \"\",
\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"folder-name\": \"\",\"a
dd-to-folder\": false,\"folder-role\": \"dimensions\",\"has-table-calc-data\": f
alse,\"table-calc-types-used\": 0,\"style-token-list\":[],\"error-string\": \"\"
,\"error-info-list\":[],\"expression-func-pm\":{\"expression-func-list\":[{\"nam
e\": \"ABS\",\"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absol
ute value of a number\",\"help-contents\": \"Returns the absolute value of the g
iven number. \\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\"],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACO

S(number)\",\"func-tooltip\": \"Returns the arc cosine of a number\",\"help-cont


ents\": \"Returns the arc cosine of a number. The result is in radians. \\n\\nE
xample: ACOS(-1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr
1> AND <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical conjunct
ion on two expressions\",\"help-contents\": \"Performs a logical conjunction on
two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args
\": false},{\"name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\"
: \"Returns the ASCII code for the first character in a string\",\"help-contents
\": \"Returns the ASCII code value of the first character in a string. \\n\\nExa
mple: ASCII(\\\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[
\"str\"],\"has-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(numbe
r)\",\"func-tooltip\": \"Returns the arc sine of a number\",\"help-contents\": \
"Returns the arc sine of a number. The result is in radians. \\n\\nExample: ASI
N(1) = 1.5707963267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"fun
c-tooltip\": \"Returns the arc tangent of a number\",\"help-contents\": \"Return
s the arc tangent of a number. The result is in radians. \\n\\nExample: ATAN(1
80) = 1.5652408283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x nu
mber)\",\"func-tooltip\": \"Returns the arc tangent of two numbers\",\"help-cont
ents\": \"Returns the arc tangent of two given numbers (x and y). The result is
in radians. \\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"nu
m\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\":
\"ATTR\",\"func-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the valu
e of the expression if it has one value for all rows\",\"help-contents\": \"Retu
rns the value of the given expression if it only has a single value for all rows
in the group, otherwise it displays an asterisk (*). Null values are ignored.\\
n\\nExample: ATTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"inte
ger\"],\"has-var-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expressio
n)\",\"func-tooltip\": \"Returns the average of the values in the expression\",\
"help-contents\": \"Returns the average of all the values in the expression. AVG
can be used with numeric fields only. Null values are ignored.\\n\\nExample: AV
G([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN
<return1> ... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and
returns the appropriate value\",\"help-contents\": \"Finds the first <value> th
at matches <expr> and returns the corresponding <return>. \\n\\nExample: CASE [R
omanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"CEILING\",\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a nu
mber to the nearest integer of equal or greater value\",\"help-contents\": \"Rou
nds a number to the nearest integer of equal or greater value. \\n\\nExample: CE
ILING(3.1415) = 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"hasvar-args\": false},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-to
oltip\": \"Converts an integer ASCII code into a character\",\"help-contents\":
\"Converts the given integer ASCII code into a character. \\n\\nExample: CHAR(65
) = 'A'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\
"func-tooltip\": \"Returns true if a string contains the specified substring\",\
"help-contents\": \"Returns true if the string contains the substring. \\n\\nExa
mple: CONTAINS(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str
\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"C
OS\",\"func-sig\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an a
ngle specified in radians\",\"help-contents\": \"Returns the cosine of an angle.
Specify the angle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\
"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\
"name\": \"COT\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the co
tangent of an angle specified in radians\",\"help-contents\": \"Returns the cota
ngent of an angle. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\"

,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"COUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Ret
urns the number of items in the expression\",\"help-contents\": \"Returns the nu
mber of items in a group. NULL values are not counted.\\n\\nExample: COUNT([Cust
omer ID])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-a
rgs\": false},{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"functooltip\": \"Returns the number of distinct items in the expression\",\"help-con
tents\": \"Returns the number of distinct items in a group. NULL values are not
counted. Each unique value is counted only once.\\n\\nExample: COUNTD([Region])
\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": fa
lse},{\"name\": \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"
Returns a date from a number\",\"help-contents\": \"Returns a date given a numbe
r, string, or date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") =
2006-06-15 \\nNote that the quotation marks are required.\",\"func-grps\":[\"cas
t\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\
",\"func-sig\": \"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Retur
ns the specified date incremented by the specified amount\",\"help-contents\": \
"Adds an increment to the specified date and returns the new date. The increment
is defined by the interval and the date_part. \\n\\nExample: DATEADD('month', 3
, #2004-04-15#) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-t
ypes\":[\"locstr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\":
\"DATEDIFF\",\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_o
f_week])\",\"func-tooltip\": \"Returns the difference between two dates\",\"help
-contents\": \"Returns the difference between two dates where start_date is subt
racted from end_date. The difference is expressed in units of date_part. If star
t_of_week is omitted, the week start day is determined by the start day configur
ed for the data source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-0
3#, 'sunday') = -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"d
atetime\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAM
E\",\"func-sig\": \"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\
": \"Returns a part of the specified date as a string\",\"help-contents\": \"Ret
urns a part of the given date as a string, where the part is defined by date_par
t. If start_of_week is omitted, the week start day is determined by the start da
y configured for the data source.\\n\\nExample: DATENAME('month', #2004-04-15#)
= \\\"April\\\"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"date
time\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\
": \"DATEPARSE(format, string)\",\"func-tooltip\": \"Converts a string to a date
\",\"help-contents\": \"Converts a string to a date in the specified format. \\n
\\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15
12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],
\"has-var-args\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_p
art, date, [start_of_week])\",\"func-tooltip\": \"Returns the specified part of
a date as an integer\",\"help-contents\": \"Returns a part of the given date as
an integer where the part is defined by date_part. If start_of_week is omitted,
the week start day is determined by the start day configured for the data source
.\\n\\nExample: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\
"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},
{\"name\": \"DATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\":
\"Returns a datetime from a number\",\"help-contents\": \"Returns a datetime gi
ven a number, string, or date expression. \\n\\nExample: DATETIME(\\\"April 15,
2004 07:59:00\\\") \\nNote that the quotation marks are required.\",\"func-grp
s\":[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"DATETRUNC\",\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"fu
nc-tooltip\": \"Truncates the specified date to the specified accuracy\",\"helpcontents\": \"Truncates the specified date to the accuracy specified by the date
_part and returns the new date. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DAT
ETRUNC('quarter', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date
\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": fa
lse},{\"name\": \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns

the day part of the specified date as an integer\",\"help-contents\": \"Returns


the day of the given date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\
",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": f
alse},{\"name\": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\":
\"Converts a value in radians to degrees\",\"help-contents\": \"Converts a numb
er in radians to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV
\",\"func-sig\": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integ
er part of a division operation\",\"help-contents\": \"Returns the integer part
of a division.\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",
\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <e
lse>] END\",\"func-tooltip\": \"Performs a logical test and returns an appropria
te value\",\"help-contents\": \"Tests a series of expressions returning the <the
n> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profita
ble' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"log
ic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"fun
c-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>]
END\",\"func-tooltip\": \"Performs a logical test and returns an appropriate va
lue\",\"help-contents\": \"Tests a series of expressions returning the <then> va
lue for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable'
ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"]
,\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\":
\"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\
"func-tooltip\": \"Performs a logical test and returns an appropriate value\",\"
help-contents\": \"Tests a series of expressions returning the <then> value for
the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [
Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"funcarg-types\":[],\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"
ENDSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the specified
string ends with the specified substring\",\"help-contents\": \"Returns true if
the string ends with the substring (trailing whitespace is ignored). \\n\\nExamp
le: ENDSWITH(\\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCL
UDE\",\"func-sig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"f
unc-tooltip\": \"Computes an aggregate excluding the specified dimensions if pre
sent in the view.\",\"help-contents\": \"Computes an aggregate excluding the spe
cified dimensions if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number
)\",\"func-tooltip\": \"Returns e raised to the power of a number\",\"help-conte
nts\": \"Returns e raised to the power of the given number. \\n\\nExample: EXP(
5) = e^5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\"
,\"func-tooltip\": \"Returns the position of a substring within a string\",\"hel
p-contents\": \"Returns the position of a substring within a string, or 0 if the
substring isn't found. If the start argument is defined, any instances of subst
ring that appear before the start position are ignored. The first character in t
he string is position 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\")
= 2\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"ha
s-var-args\": false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, subs
tring, occurrence)\",\"func-tooltip\": \"Returns the position of the nth occurre
nce a substring within a string\",\"help-contents\": \"Returns the position of t
he nth occurrence of a substring within a string, or 0 if that occurrence of the
substring isn't found. The first character in the string is position 1. \\n\\nE
xample: FINDNTH(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\
": \"FIRST\",\"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of
rows from to the first row in the partition\",\"help-contents\": \"Returns the
number of rows from the current row to the first row in the partition.\\n\\nExam
ple (current row index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\

"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\":


\"{ FIXED [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Comp
utes an aggregate using only the specified dimensions.\",\"help-contents\": \"Co
mputes an aggregate using only the specified dimensions.\",\"func-grps\":[\"agg\
"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-si
g\": \"FLOAT(expression)\",\"func-tooltip\": \"Returns a float from an expressio
n\",\"help-contents\": \"Returns a float given an expression of any type. This f
unction requires unformatted numbers which means exclude commas and other symbol
s. \\n\\nExample: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg
-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\
": \"FLOOR(number)\",\"func-tooltip\": \"Rounds a number to the nearest integer
of equal or lesser value\",\"help-contents\": \"Rounds a number to the nearest i
nteger of equal or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\
":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
FULLNAME\",\"func-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full nam
e for the current user\",\"help-contents\": \"Returns the full name for the curr
ent user. This is the Tableau Server or Tableau Online full name when the user i
s signed in; otherwise it is the local or network full name for the Tableau Desk
top user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tool
tip\": \"Returns the x-coordinate of the nearest hexagonal bin.\",\"help-content
s\": \"Maps an (x,y) coordinate to the x-coordinate of the nearest hexagonal bin
. The bins have side length 1, so the inputs may need to be scaled appropriately
.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-arg
s\": false},{\"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"f
unc-tooltip\": \"Returns the y-coordinate of the nearest hexagonal bin.\",\"help
-contents\": \"Maps an (x,y) coordinate to the y-coordinate of the nearest hexag
onal bin. The bins have side length 1, so the inputs may need to be scaled appro
priately.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has
-var-args\": false},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELS
EIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a
logical test and returns an appropriate value\",\"help-contents\": \"Tests a se
ries of expressions returning the <then> value for the first true <expr>. \\n\\n
Example: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven'
ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args
\": false},{\"name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-t
ooltip\": \"Returns expression1 if not null\",\"help-contents\": \"Returns <expr
1> if it is not null, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit]
, 0)\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"
has-var-args\": false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else,
[unknown])\",\"func-tooltip\": \"Evaluates a Boolean expression and returns one
of two values\",\"help-contents\": \"Checks whether a condition is met, and retu
rns one value if TRUE, another value if FALSE, and an optional third value or NU
LL if unknown. \\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\
":[\"logic\"],\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"hasvar-args\": false},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2
]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate using
the specified dimensions and the view dimensions.\",\"help-contents\": \"Comput
es an aggregate using the specified dimensions and the view dimensions.\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IN
DEX\",\"func-sig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of the cur
rent row in the partition\",\"help-contents\": \"Returns the index of the curren
t row in the partition.\\n\\nExample (for the first row in the partition): INDEX
( ) = 1\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Eval
uates an expression and returns an integer\",\"help-contents\": \"Returns an int
eger given an expression. This function truncates results to the closest integer
toward zero. \\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":
[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\":
\"ISDATE\",\"func-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if

the string is a valid date\",\"help-contents\": \"Returns true if a given string


is a valid date. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grp
s\":[\"str\",\"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\":
false},{\"name\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-too
ltip\": \"Returns true if the current user's full name matches the specified nam
e\",\"help-contents\": \"Returns true if the current user's full name matches th
e specified full name, or false if it does not match. This function uses the Tab
leau Server or Tableau Online full name when the user is signed in; otherwise it
uses the local or network full name for the Tableau Desktop user.\",\"func-grps
\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\"
: \"ISMEMBEROF\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Return
s true if the current user is a member of the specified group\",\"help-contents\
": \"Returns true if the current user is a member of the given group, false othe
rwise. This uses the Tableau Server to resolve group membership if logged on, o
therwise it always returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":
[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNU
LL(expression)\",\"func-tooltip\": \"Returns true if the specified expression is
null\",\"help-contents\": \"Returns true if the expression does not contain val
id data (Null).\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\
"func-sig\": \"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if the curr
ent user's name matches the specified user name\",\"help-contents\": \"Returns t
rue if the current user's username matches the specified username, or false if i
t does not match. This function uses the Tableau Server or Tableau Online userna
me when the user is signed in; otherwise it uses the local or network username f
or the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"lo
cstr\"],\"has-var-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"
func-tooltip\": \"Returns the number of rows to the last row in the partition\",
\"help-contents\": \"Returns the number of rows from the current row to the last
row in the partition.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) =
4\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"
name\": \"LEFT\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"R
eturns the specified number of characters from the start of a string\",\"help-co
ntents\": \"Returns the specified number of characters from the start of the giv
en string. \\n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"funcgrps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},
{\"name\": \"LEN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the
number of characters in a string\",\"help-contents\": \"Returns the number of c
haracters in the given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"
func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"n
ame\": \"LN\",\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natur
al logarithm of a number\",\"help-contents\": \"Returns the natural logarithm of
the given number. Returns Null if the number is less than or equal to 0.\\n\\nE
xample: LN(EXP(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\"
,\"func-tooltip\": \"Returns the logarithm of a number for the given base\",\"he
lp-contents\": \"Returns the logarithm of a number for the given base. If the ba
se value is omitted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: L
OG(256, 2) = 8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],
\"has-var-args\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression
, [offset])\",\"func-tooltip\": \"Returns the value of the expression in a row o
ffset from current row\",\"help-contents\": \"Returns the value of the given exp
ression in a target row, specified as a relative offset from the current row. Us
e FIRST()+n and LAST()-n for a target relative to the first/last rows in the par
tition. If offset is omitted, the Compare To row may be set on the field menu. R
eturns NULL if the target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Pr
ofit]), FIRST( ) + 2) = SUM(Profit) in the third row of the partition\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\"
: false},{\"name\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\":
\"Returns a string in all lowercase characters\",\"help-contents\": \"Converts a

text string to all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \


\\"product\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-varargs\": false},{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-toolt
ip\": \"Returns a string with leading spaces removed\",\"help-contents\": \"Retu
rns the string with any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\
\\") = \\\"Sales\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"ha
s-var-args\": false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, mont
h, day)\",\"func-tooltip\": \"Returns a date value constructed from a year, a mo
nth and a day of the month.\",\"help-contents\": \"Returns a date value construc
ted from a year, a month and a day of the month. \\n\\nExample: MAKEDATE( 2014,
3, 18 )\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\":
\"MAKEDATETIME(date, time)\",\"func-tooltip\": \"Returns a datetime by combining
a date and a time\",\"help-contents\": \"Returns a date and time value given a
date expression and a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#
, #07:59:00#)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime
\"],\"has-var-args\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(ho
ur, minute, second)\",\"func-tooltip\": \"Returns a time value constructed from
hours, minutes and seconds.\",\"help-contents\": \"Returns a time value construc
ted from hours, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"
func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],
\"has-var-args\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or M
AX(expr1, expr2)\",\"func-tooltip\": \"Returns the maximum of an expression\",\"
help-contents\": \"Returns the maximum of a single expression across all records
or the maximum of two expressions for each record. \\n\\nExample: MAX([Sales])
\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\"
:[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\"
: \"MEDIAN(expression)\",\"func-tooltip\": \"Returns the median of an expression
\",\"help-contents\": \"Returns the median of a single expression. MEDIAN can be
used with numeric fields only. Null values are ignored.\\n\\nExample: MEDIAN([P
rofit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"functooltip\": \"Returns the characters from the middle of a text string\",\"help-co
ntents\": \"Returns the characters from the middle of a text string given a star
ting position and a length. The first character in the string is position 1. If
the length is not included, all characters to the end of the string are returned
. If the length is included, up to that many characters are returned. \\n\\nExam
ple: MID(\\\"Tableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"T
ableau Software\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"f
unc-sig\": \"MIN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns
the minimum of an expression\",\"help-contents\": \"Returns the minimum of an ex
pression across all records or the minimum of two expressions for each record.
\\n\\nExample: MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\"
,\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"nam
e\": \"MONTH\",\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the mon
th part of the specified date as an integer\",\"help-contents\": \"Returns the m
onth of a given date as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"
func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false
},{\"name\": \"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tool
tip\": \"Performs logical negation on an expression\",\"help-contents\": \"Perfo
rms logical negation on an expression\",\"func-grps\":[\"logic\"],\"func-arg-typ
es\":[],\"has-var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"fu
nc-tooltip\": \"Returns the current date and time\",\"help-contents\": \"Returns
the current date and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"fu
nc-grps\":[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \
"OR\",\"func-sig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\":
\"Performs a logical disjunction on two expressions\",\"help-contents\": \"Perfo
rms a logical disjunction on two expressions\",\"func-grps\":[\"logic\"],\"funcarg-types\":[],\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\":

\"PERCENTILE(expression, number)\",\"func-tooltip\": \"Returns the percentile va


lue at the specified number\",\"help-contents\": \"Aggregate calculation that re
turns the percentile value from the given expression corresponding to the specif
ied number. Valid values for the number are 0 through 1. PERCENTILE([expression]
, 0.50) will always return the median value in the expression.\\n\\nExample: PER
CENTILE([Sales], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"
locreal\"],\"has-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"f
unc-tooltip\": \"Returns the numeric constant pi\",\"help-contents\": \"Returns
the numeric constant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[
\"num\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"f
unc-sig\": \"POWER(number,power)\",\"func-tooltip\": \"Raises the number to the
specified power\",\"help-contents\": \"Returns the result of a number raised to
the given power. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],
\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PRE
VIOUS_VALUE\",\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"R
eturns the value of this calculation in the previous row\",\"help-contents\": \"
Returns the value of this calculation in the previous row. Returns the given exp
ression if the current row is the first row of the partition.\\n\\nExample: SUM(
[Profit]) + PREVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]
) * PREVIOUS_VALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\
"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIAN
S\",\"func-sig\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a number in d
egrees to radians\",\"help-contents\": \"Converts a number in degrees to radians
.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func
-tooltip\": \"Returns the competition rank for the current partition row\",\"hel
p-contents\": \"Returns the standard competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'a
sc' | 'desc' argument to specify ascending or descending order. The default orde
r is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (1, 2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var
-args\": false},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression,
['asc'|'desc'])\",\"func-tooltip\": \"Returns the dense rank for the current pa
rtition row\",\"help-contents\": \"Returns the dense rank for the current row in
the partition. Identical values are assigned an identical rank, but no gaps are
inserted into the number sequence. Use the optional 'asc' | 'desc' argument to
specify ascending or descending order. The default order is descending.\\n\\nWit
h this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in
ascending order.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"nam
e\": \"RANK_MODIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])
\",\"func-tooltip\": \"Returns the modified competition rank for the current par
tition row\",\"help-contents\": \"Returns the modified competition rank for the
current row in the partition. Identical values are assigned an identical rank. U
se the optional 'asc' | 'desc' argument to specify ascending or descending order
. The default order is descending.\\n\\nWith this function, the set of values (6
, 9, 9, 14) would be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_
MODIFIED(AVG([Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"inte
ger\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func
-sig\": \"RANK_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retu
rns the percentile rank for the current partition row\",\"help-contents\": \"Ret
urns the percentile rank for the current row in the partition. Use the optional
'asc' | 'desc' argument to specify ascending or descending order. The default or
der is ascending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (25, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(A
VG([Test Score]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"
locstr\"],\"has-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RA
NK_UNIQUE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique r
ank for the current partition row\",\"help-contents\": \"Returns the unique rank

for the current row in the partition. Identical values are assigned different r
anks. Use the optional 'asc' | 'desc' argument to specify ascending or descendin
g order. The default order is descending.\\n\\nWith this function, the set of va
lues (6, 9, 9, 14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample
: RANK_UNIQUE() = 1 for the first row in the partition\",\"func-grps\":[\"table\
"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\
": \"REGEXP_EXTRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-t
ooltip\": \"Returns the portion of a string matching the capturing group in a re
gular expression\",\"help-contents\": \"Returns a substring of the given string
that matches the capturing group within the regular expression pattern. The reg
ular expression pattern requires exactly one capturing group. \\n\\nExample: REG
EXP_EXTRACT('abc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGE
XP_EXTRACT_NTH\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"
func-tooltip\": \"Returns a substring of a string using a regular expression pat
tern\",\"help-contents\": \"Returns a substring of the given string using the re
gular expression pattern. The substring is matched to the nth capturing group,
where n is the given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]
+)\\\\s+(\\\\d+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"st
r\",\"str\",\"locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"f
unc-sig\": \"REGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if
a string matches a regular expression\",\"help-contents\": \"Returns true if a
substring of the provided string matches the regular expression pattern. \\n\\nE
xample: REGEXP_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\
w*\\\\s*\\\\])') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"
str\"],\"has-var-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"RE
GEXP_REPLACE(string, pattern, replacement)\",\"func-tooltip\": \"Returns a strin
g where substrings matching a regular expression are replaced\",\"help-contents\
": \"Returns a copy of the given string where the matching pattern is substitute
d with the replacement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s'
, '-') = 'abc--123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\
",\"str\"],\"has-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLA
CE(string, substring, replacement)\",\"func-tooltip\": \"Replaces all instances
of a substring within a string\",\"help-contents\": \"Returns a string in which
every occurrence of the substring is replaced with the replacement string. If th
e substring is not found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Ca
lculation\\\", \\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"
name\": \"RIGHT\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \
"Returns the specified number of characters from the end of a string\",\"help-co
ntents\": \"Returns the specified number of characters from the end of the given
string. \\n\\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{
\"name\": \"ROUND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\"
: \"Rounds a number to the specified number of places\",\"help-contents\": \"Rou
nds a number to the nearest integer or to a specified number of decimal places.
\\n\\nExample: ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types
\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\
": \"RTRIM(string)\",\"func-tooltip\": \"Returns a string with trailing spaces r
emoved\",\"help-contents\": \"Returns the string with any trailing spaces remove
d. \\n\\nExample: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_
AVG\",\"func-sig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the
running average of an expression\",\"help-contents\": \"Returns the running aver
age of the given expression, from the first row in the partition to the current
row.\\n\\nExample: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"fun
c-tooltip\": \"Returns the running count of an expression\",\"help-contents\": \
"Returns the running count of the given expression, from the first row in the pa

rtition to the current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running


count of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(
expression)\",\"func-tooltip\": \"Returns the running maximum of an expression\"
,\"help-contents\": \"Returns the running maximum of the given expression, from
the first row in the partition to the current row.\\n\\nExample: RUNNING_MAX(MAX
([Profit])) = running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit]))
= running maximum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\":
\"RUNNING_MIN(expression)\",\"func-tooltip\": \"Returns the running minimum of
an expression\",\"help-contents\": \"Returns the running minimum of the given ex
pression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_MIN(MIN([Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN
(SUM([Profit])) = running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"f
unc-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\
",\"func-sig\": \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the runn
ing sum of an expression\",\"help-contents\": \"Returns the running sum of the g
iven expression, from the first row in the partition to the current row.\\n\\nEx
ample: RUNNING_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_
SUM(COUNT([Profit])) = running count of Profit\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",
\"func-sig\": \"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Retur
ns a Boolean result from an R expression\",\"help-contents\": \"Returns a Boolea
n result from a given R expression. The R expression is passed directly to a run
ning Rserve instance. Use .arg# in the R expression to reference parameters. In
the following example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BO
OL(\\\"is.finite(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-si
g\": \"SCRIPT_INT(string, expression, ...)\",\"func-tooltip\": \"Returns an inte
ger result from an R expression\",\"help-contents\": \"Returns an integer result
from a given R expression. The R expression is passed directly to a running Rse
rve instance. Use .arg# in the R expression to reference parameters. In the foll
owing example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as
.integer(.arg1 * 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\"
: \"SCRIPT_REAL(string, expression, ...)\",\"func-tooltip\": \"Returns a numeric
result from an R expression\",\"help-contents\": \"Returns a numeric result fro
m a given R expression. The R expression is passed directly to a running Rserve
instance. Use .arg# in the R expression to reference parameters. In the followin
g example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1
* 0.5\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str
\"],\"has-var-args\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR
(string, expression, ...)\",\"func-tooltip\": \"Returns a string result from an
R expression\",\"help-contents\": \"Returns a string result from a given R expre
ssion. The R expression is passed directly to a running Rserve instance. Use .ar
g# in the R expression to reference parameters. In the following example, .arg1
is equal to ATTR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\
", ATTR([Region]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"ha
s-var-args\": true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-to
oltip\": \"Returns 1 for a positive number\",\"help-contents\": \"Returns the si
gn of a number: 1 if the number is positive, zero if the number is zero, or -1 i
f the number is negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"]
,\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"fun
c-sig\": \"SIN(angle)\",\"func-tooltip\": \"Returns the sine of a number\",\"hel
p-contents\": \"Returns the sine of an angle. Specify the angle in radians.\\n\\
nExample: SIN(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-t
ypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"S
IZE()\",\"func-tooltip\": \"Returns the number of rows in the partition\",\"help
-contents\": \"Returns the number of rows in the partition.\\n\\nExample (partit
ion has 5 rows):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[]

,\"has-var-args\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\


"func-tooltip\": \"Returns a string containing the specified number of spaces\",
\"help-contents\": \"Returns a string composed of the specified number of repeat
ed spaces. \\n\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig
\": \"SPLIT(string, delimiter, token number)\",\"func-tooltip\": \"Extracts a su
bstring from a string\",\"help-contents\": \"Returns a substring from a string,
as determined by a delimiter extracting the characters from the beginning or end
of the string. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPL
IT('a-b-c-d', '-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str
\",\"locstr\",\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-si
g\": \"SQRT(number)\",\"func-tooltip\": \"Returns the square root of a number\",
\"help-contents\": \"Returns the square root of a number. \\n\\nExample: SQRT(25
) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\":
\"Returns the square of a number\",\"help-contents\": \"Returns the square of a
given number. \\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-si
g\": \"STARTSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the s
pecified string starts with the specified substring\",\"help-contents\": \"Retur
ns true if the string starts with the substring. \\n\\nExample: STARTSWITH(\\\"C
alculation\\\", \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \
"STDEV(expression)\",\"func-tooltip\": \"Returns the sample standard deviation f
or an expression\",\"help-contents\": \"Returns the sample standard deviation of
the expression.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig
\": \"STDEVP(expression)\",\"func-tooltip\": \"Returns the population standard d
eviation for an expression\",\"help-contents\": \"Returns the population standar
d deviation of the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\
",\"func-sig\": \"STR(expression)\",\"func-tooltip\": \"Returns an expression as
a string\",\"help-contents\": \"Returns a string given an expression. \\n\\nEx
ample: STR([Age]) returns all of the values of the Age measure as strings.\",\"f
unc-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},
{\"name\": \"SUM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns
the sum of values in an expression\",\"help-contents\": \"Returns the sum of al
l the values in the expression. SUM can be used with numeric fields only. Null v
alues are ignored.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\":
\"TAN(angle)\",\"func-tooltip\": \"Returns the tangent of an angle specified in
radians\",\"help-contents\": \"Returns the tangent of an angle. Specify the ang
le in radians.\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\"
: \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",
\"func-tooltip\": \"Performs a logical test and returns an appropriate value\",\
"help-contents\": \"Tests a series of expressions returning the <then> value for
the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF
[Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func
-arg-types\":[],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TO
DAY()\",\"func-tooltip\": \"Returns the current date\",\"help-contents\": \"Retu
rns the current date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"da
te\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func
-sig\": \"TOTAL(expression)\",\"func-tooltip\": \"Returns the total for an expre
ssion within the partition\",\"help-contents\": \"Returns the total for the give
n expression.\\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database
rows that contribute to the partition\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"
TRIM(string)\",\"func-tooltip\": \"Returns a string with leading and trailing sp
aces removed\",\"help-contents\": \"Returns the string with both leading and tra

iling spaces removed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",


\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\
"name\": \"UPPER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a
string in all uppercase characters\",\"help-contents\": \"Converts a text strin
g to all uppercase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\
\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fal
se},{\"name\": \"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \
"Returns the domain for the current user\",\"help-contents\": \"Returns the doma
in for the current user when the user is signed on to Tableau Server. Returns th
e Windows domain if the Tableau Desktop user is on a domain. Otherwise this func
tion returns a null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"fun
c-tooltip\": \"Returns the user name for the current user\",\"help-contents\": \
"Returns the username for the current user. This is the Tableau Server or Tablea
u Online username when the user is signed in; otherwise it is the local or netwo
rk username for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expre
ssion)\",\"func-tooltip\": \"Returns the sample variance for an expression\",\"h
elp-contents\": \"Returns the sample variance of the expression.\\n\\nExample: V
AR([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tool
tip\": \"Returns the population variance for an expression\",\"help-contents\":
\"Returns the population variance of the expression.\\n\\nExample: VARP([Profit]
)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1>
... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns t
he appropriate value\",\"help-contents\": \"Finds the first <value> that matches
<expr> and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumera
l] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps
\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDO
W_AVG\",\"func-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\":
\"Returns the average of the values within the window\",\"help-contents\": \"Re
turns the average of the expression within the window. The window is defined as
offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the f
irst or last row in the partition. If start and end are omitted, the entire par
tition is used.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(
Profit) from the two previous rows to the current row\",\"func-grps\":[\"table\"
],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false}
,{\"name\": \"WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, en
d])\",\"func-tooltip\": \"Returns the number of items within the window\",\"help
-contents\": \"Returns the count of the expression within the window. The windo
w is defined as offsets from the current row. Use FIRST()+n and LAST()-n for off
sets from the first or last row in the partition. If start and end are omitted,
the entire partition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0)
= count of SUM(Profit) from the two previous rows to the current row\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var
-args\": false},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression,
[start, end])\",\"func-tooltip\": \"Returns the maximum within the window\",\"h
elp-contents\": \"Returns the maximum of the expression within the window. The
window is defined as offsets from the current row. Use FIRST()+n and LAST()-n fo
r offsets from the first or last row in the partition. If start and end are omi
tted, the entire partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2,
0) = maximum of Profit from the two previous rows to the current row\\n\\nExampl
e: WINDOW_MAX(SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two previo
us rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"int
eger\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MED
IAN\",\"func-sig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\"
: \"Returns the median within the window\",\"help-contents\": \"Returns the medi
an of the expression within the window. The window is defined as offsets from t
he current row. Use FIRST()+n and LAST()-n for offsets from the first or last ro

w in the partition. If start and end are omitted, the entire partition is used.
\\n\\nExample: WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from
the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-argtypes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \
"WINDOW_MIN\",\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tool
tip\": \"Returns the minimum within the window\",\"help-contents\": \"Returns th
e minimum of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition i
s used.\\n\\nExample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from
the two previous rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]),
-2, 0) = minimum of SUM(Profit) from the two previous rows to the current row\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer
\"],\"has-var-args\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WI
NDOW_PERCENTILE(expression, number, [start, end])\",\"func-tooltip\": \"Returns
the percentile value at the specified number\",\"help-contents\": \"Returns the
value corresponding to the specified percentile within the window. The window i
s defined as offsets from the current row. Use FIRST()+n and LAST()-n for offset
s from the first or last row in the partition. If start and end are omitted, th
e entire partition is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75,
-2., 0)) = 75th percentile of SUM(Profit) from the two previous rows to the cu
rrent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"f
unc-sig\": \"WINDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Return
s the sample standard deviation within the window\",\"help-contents\": \"Returns
the sample standard deviation of the expression within the window. The window
is defined as offsets from the current row. Use FIRST()+n and LAST()-n for offse
ts from the first or last row in the partition. If start and end are omitted, t
he entire partition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) =
std. dev. of SUM(Profit) from the two previous rows to the current row\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-v
ar-args\": false},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(exp
ression, [start, end])\",\"func-tooltip\": \"Returns the population standard dev
iation within the window\",\"help-contents\": \"Returns the population standard
deviation of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition i
s used.\\n\\nExample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Pro
fit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\
"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"WINDOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\
"func-tooltip\": \"Returns the sum of values within the window\",\"help-contents
\": \"Returns the sum of the expression within the window. The window is define
d as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from t
he first or last row in the partition. If start and end are omitted, the entire
partition is used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(
Profit) from the two previous rows to the current row\",\"func-grps\":[\"table\"
],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end
])\",\"func-tooltip\": \"Returns the sample variance within the window\",\"helpcontents\": \"Returns the sample variance of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST()n for offsets from the first or last row in the partition. If start and end are
omitted, the entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]),
-2, 0) = variance of SUM(Profit) from the two previous rows to the current row\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"]
,\"has-var-args\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP
(expression, [start, end])\",\"func-tooltip\": \"Returns the population variance
within the window\",\"help-contents\": \"Returns the population variance of the
expression within the window. The window is defined as offsets from the curren

t row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the
partition. If start and end are omitted, the entire partition is used.\\n\\nExa
mple: WINDOW_VARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two p
revious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\
"func-sig\": \"YEAR(date)\",\"func-tooltip\": \"Returns the year of the specifie
d date as an integer\",\"help-contents\": \"Returns the year of a given date as
an integer. \\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"]
,\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"
func-sig\": \"ZN(expression)\",\"func-tooltip\": \"Returns the expression if it
is not null\",\"help-contents\": \"Returns <expression> if it is not null, other
wise returns zero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic
\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false}]},\"calculation-co
ntext\": \"calculation-dialog\",\"use-parameters\": true} position=\"1\"","name"
:"tabdoc:calculation-auto-complete"}}
{"ts":"2016-09-29T17:01:56.273","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{\" calcul
ation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculati
on-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculation_548988800946
0379650\",\"scope-isolation\": true,\"calculation-formula\": \"\",\"fn\": \"\",\
"fn-source\": \"\",\"calculation-dependencies\": \"\",\"folder-name\": \"\",\"ad
d-to-folder\": false,\"folder-role\": \"dimensions\",\"has-table-calc-data\": fa
lse,\"table-calc-types-used\": 0,\"style-token-list\":[],\"error-string\": \"\",
\"error-info-list\":[],\"expression-func-pm\":{\"expression-func-list\":[{\"name
\": \"ABS\",\"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolu
te value of a number\",\"help-contents\": \"Returns the absolute value of the gi
ven number. \\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-type
s\":[\"real\"],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS
(number)\",\"func-tooltip\": \"Returns the arc cosine of a number\",\"help-conte
nts\": \"Returns the arc cosine of a number. The result is in radians. \\n\\nEx
ample: ACOS(-1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":
[\"real\"],\"has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1
> AND <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical conjuncti
on on two expressions\",\"help-contents\": \"Performs a logical conjunction on t
wo expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\":
\"Returns the ASCII code for the first character in a string\",\"help-contents\
": \"Returns the ASCII code value of the first character in a string. \\n\\nExam
ple: ASCII(\\\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\
"str\"],\"has-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number
)\",\"func-tooltip\": \"Returns the arc sine of a number\",\"help-contents\": \"
Returns the arc sine of a number. The result is in radians. \\n\\nExample: ASIN
(1) = 1.5707963267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func
-tooltip\": \"Returns the arc tangent of a number\",\"help-contents\": \"Returns
the arc tangent of a number. The result is in radians. \\n\\nExample: ATAN(18
0) = 1.5652408283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"h
as-var-args\": false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x num
ber)\",\"func-tooltip\": \"Returns the arc tangent of two numbers\",\"help-conte
nts\": \"Returns the arc tangent of two given numbers (x and y). The result is i
n radians. \\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \
"ATTR\",\"func-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value
of the expression if it has one value for all rows\",\"help-contents\": \"Retur
ns the value of the given expression if it only has a single value for all rows
in the group, otherwise it displays an asterisk (*). Null values are ignored.\\n
\\nExample: ATTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integ
er\"],\"has-var-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression
)\",\"func-tooltip\": \"Returns the average of the values in the expression\",\"

help-contents\": \"Returns the average of all the values in the expression. AVG
can be used with numeric fields only. Null values are ignored.\\n\\nExample: AVG
([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-arg
s\": false},{\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <
return1> ... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and
returns the appropriate value\",\"help-contents\": \"Finds the first <value> tha
t matches <expr> and returns the corresponding <return>. \\n\\nExample: CASE [Ro
manNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"
func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\"
: \"CEILING\",\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a num
ber to the nearest integer of equal or greater value\",\"help-contents\": \"Roun
ds a number to the nearest integer of equal or greater value. \\n\\nExample: CEI
LING(3.1415) = 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-v
ar-args\": false},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-too
ltip\": \"Converts an integer ASCII code into a character\",\"help-contents\": \
"Converts the given integer ASCII code into a character. \\n\\nExample: CHAR(65)
= 'A'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"
func-tooltip\": \"Returns true if a string contains the specified substring\",\"
help-contents\": \"Returns true if the string contains the substring. \\n\\nExam
ple: CONTAINS(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\
"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"CO
S\",\"func-sig\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an an
gle specified in radians\",\"help-contents\": \"Returns the cosine of an angle.
Specify the angle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"
name\": \"COT\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cot
angent of an angle specified in radians\",\"help-contents\": \"Returns the cotan
gent of an angle. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",
\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{
\"name\": \"COUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Retu
rns the number of items in the expression\",\"help-contents\": \"Returns the num
ber of items in a group. NULL values are not counted.\\n\\nExample: COUNT([Custo
mer ID])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-ar
gs\": false},{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-t
ooltip\": \"Returns the number of distinct items in the expression\",\"help-cont
ents\": \"Returns the number of distinct items in a group. NULL values are not c
ounted. Each unique value is counted only once.\\n\\nExample: COUNTD([Region])\
",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": fal
se},{\"name\": \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"R
eturns a date from a number\",\"help-contents\": \"Returns a date given a number
, string, or date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2
006-06-15 \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\"
,\"func-sig\": \"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Return
s the specified date incremented by the specified amount\",\"help-contents\": \"
Adds an increment to the specified date and returns the new date. The increment
is defined by the interval and the date_part. \\n\\nExample: DATEADD('month', 3,
#2004-04-15#) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-ty
pes\":[\"locstr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\":
\"DATEDIFF\",\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of
_week])\",\"func-tooltip\": \"Returns the difference between two dates\",\"helpcontents\": \"Returns the difference between two dates where start_date is subtr
acted from end_date. The difference is expressed in units of date_part. If start
_of_week is omitted, the week start day is determined by the start day configure
d for the data source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03
#, 'sunday') = -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"da
tetime\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME
\",\"func-sig\": \"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\"
: \"Returns a part of the specified date as a string\",\"help-contents\": \"Retu

rns a part of the given date as a string, where the part is defined by date_part
. If start_of_week is omitted, the week start day is determined by the start day
configured for the data source.\\n\\nExample: DATENAME('month', #2004-04-15#) =
\\\"April\\\"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datet
ime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\"
: \"DATEPARSE(format, string)\",\"func-tooltip\": \"Converts a string to a date\
",\"help-contents\": \"Converts a string to a date in the specified format. \\n\
\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15
12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\
"has-var-args\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_pa
rt, date, [start_of_week])\",\"func-tooltip\": \"Returns the specified part of a
date as an integer\",\"help-contents\": \"Returns a part of the given date as a
n integer where the part is defined by date_part. If start_of_week is omitted, t
he week start day is determined by the start day configured for the data source.
\\n\\nExample: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"
func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{
\"name\": \"DATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\":
\"Returns a datetime from a number\",\"help-contents\": \"Returns a datetime giv
en a number, string, or date expression. \\n\\nExample: DATETIME(\\\"April 15,
2004 07:59:00\\\") \\nNote that the quotation marks are required.\",\"func-grps
\":[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \
"DATETRUNC\",\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"fun
c-tooltip\": \"Truncates the specified date to the specified accuracy\",\"help-c
ontents\": \"Truncates the specified date to the accuracy specified by the date_
part and returns the new date. If start_of_week is omitted, the week start day i
s determined by the start day configured for the data source.\\n\\nExample: DATE
TRUNC('quarter', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\
"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": fal
se},{\"name\": \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns t
he day part of the specified date as an integer\",\"help-contents\": \"Returns t
he day of the given date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\"
,\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": fa
lse},{\"name\": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\":
\"Converts a value in radians to degrees\",\"help-contents\": \"Converts a numbe
r in radians to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\
"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\
",\"func-sig\": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the intege
r part of a division operation\",\"help-contents\": \"Returns the integer part o
f a division.\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-argtypes\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\
"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <el
se>] END\",\"func-tooltip\": \"Performs a logical test and returns an appropriat
e value\",\"help-contents\": \"Tests a series of expressions returning the <then
> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitab
le' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logi
c\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func
-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>]
END\",\"func-tooltip\": \"Performs a logical test and returns an appropriate val
ue\",\"help-contents\": \"Tests a series of expressions returning the <then> val
ue for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' E
LSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\":
\"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"
func-tooltip\": \"Performs a logical test and returns an appropriate value\",\"h
elp-contents\": \"Tests a series of expressions returning the <then> value for t
he first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [P
rofit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-a
rg-types\":[],\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"E
NDSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the specified s
tring ends with the specified substring\",\"help-contents\": \"Returns true if t

he string ends with the substring (trailing whitespace is ignored). \\n\\nExampl


e: ENDSWITH(\\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],
\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLU
DE\",\"func-sig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"fu
nc-tooltip\": \"Computes an aggregate excluding the specified dimensions if pres
ent in the view.\",\"help-contents\": \"Computes an aggregate excluding the spec
ified dimensions if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)
\",\"func-tooltip\": \"Returns e raised to the power of a number\",\"help-conten
ts\": \"Returns e raised to the power of the given number. \\n\\nExample: EXP(5
) = e^5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",
\"func-tooltip\": \"Returns the position of a substring within a string\",\"help
-contents\": \"Returns the position of a substring within a string, or 0 if the
substring isn't found. If the start argument is defined, any instances of substr
ing that appear before the start position are ignored. The first character in th
e string is position 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") =
2\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has
-var-args\": false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, subst
ring, occurrence)\",\"func-tooltip\": \"Returns the position of the nth occurren
ce a substring within a string\",\"help-contents\": \"Returns the position of th
e nth occurrence of a substring within a string, or 0 if that occurrence of the
substring isn't found. The first character in the string is position 1. \\n\\nEx
ample: FINDNTH(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],
\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\"
: \"FIRST\",\"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of
rows from to the first row in the partition\",\"help-contents\": \"Returns the n
umber of rows from the current row to the first row in the partition.\\n\\nExamp
le (current row index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"
func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\":
\"{ FIXED [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Compu
tes an aggregate using only the specified dimensions.\",\"help-contents\": \"Com
putes an aggregate using only the specified dimensions.\",\"func-grps\":[\"agg\"
],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig
\": \"FLOAT(expression)\",\"func-tooltip\": \"Returns a float from an expression
\",\"help-contents\": \"Returns a float given an expression of any type. This fu
nction requires unformatted numbers which means exclude commas and other symbols
. \\n\\nExample: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-argtypes\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\"
: \"FLOOR(number)\",\"func-tooltip\": \"Rounds a number to the nearest integer o
f equal or lesser value\",\"help-contents\": \"Rounds a number to the nearest in
teger of equal or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\"
:[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"F
ULLNAME\",\"func-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name
for the current user\",\"help-contents\": \"Returns the full name for the curre
nt user. This is the Tableau Server or Tableau Online full name when the user is
signed in; otherwise it is the local or network full name for the Tableau Deskt
op user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-toolt
ip\": \"Returns the x-coordinate of the nearest hexagonal bin.\",\"help-contents
\": \"Maps an (x,y) coordinate to the x-coordinate of the nearest hexagonal bin.
The bins have side length 1, so the inputs may need to be scaled appropriately.
\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args
\": false},{\"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"fu
nc-tooltip\": \"Returns the y-coordinate of the nearest hexagonal bin.\",\"helpcontents\": \"Maps an (x,y) coordinate to the y-coordinate of the nearest hexago
nal bin. The bins have side length 1, so the inputs may need to be scaled approp
riately.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"hasvar-args\": false},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSE
IF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a

logical test and returns an appropriate value\",\"help-contents\": \"Tests a ser


ies of expressions returning the <then> value for the first true <expr>. \\n\\nE
xample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' E
LSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-to
oltip\": \"Returns expression1 if not null\",\"help-contents\": \"Returns <expr1
> if it is not null, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit],
0)\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"h
as-var-args\": false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [
unknown])\",\"func-tooltip\": \"Evaluates a Boolean expression and returns one o
f two values\",\"help-contents\": \"Checks whether a condition is met, and retur
ns one value if TRUE, another value if FALSE, and an optional third value or NUL
L if unknown. \\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\"
:[\"logic\"],\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-v
ar-args\": false},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]
...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate using
the specified dimensions and the view dimensions.\",\"help-contents\": \"Compute
s an aggregate using the specified dimensions and the view dimensions.\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IND
EX\",\"func-sig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of the curr
ent row in the partition\",\"help-contents\": \"Returns the index of the current
row in the partition.\\n\\nExample (for the first row in the partition): INDEX(
) = 1\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false
},{\"name\": \"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evalu
ates an expression and returns an integer\",\"help-contents\": \"Returns an inte
ger given an expression. This function truncates results to the closest integer
toward zero. \\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[
\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \
"ISDATE\",\"func-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if t
he string is a valid date\",\"help-contents\": \"Returns true if a given string
is a valid date. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps
\":[\"str\",\"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": f
alse},{\"name\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tool
tip\": \"Returns true if the current user's full name matches the specified name
\",\"help-contents\": \"Returns true if the current user's full name matches the
specified full name, or false if it does not match. This function uses the Tabl
eau Server or Tableau Online full name when the user is signed in; otherwise it
uses the local or network full name for the Tableau Desktop user.\",\"func-grps\
":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\":
\"ISMEMBEROF\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns
true if the current user is a member of the specified group\",\"help-contents\"
: \"Returns true if the current user is a member of the given group, false other
wise. This uses the Tableau Server to resolve group membership if logged on, ot
herwise it always returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[
\"locstr\"],\"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNUL
L(expression)\",\"func-tooltip\": \"Returns true if the specified expression is
null\",\"help-contents\": \"Returns true if the expression does not contain vali
d data (Null).\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func
-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"
func-sig\": \"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if the curre
nt user's name matches the specified user name\",\"help-contents\": \"Returns tr
ue if the current user's username matches the specified username, or false if it
does not match. This function uses the Tableau Server or Tableau Online usernam
e when the user is signed in; otherwise it uses the local or network username fo
r the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"loc
str\"],\"has-var-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"f
unc-tooltip\": \"Returns the number of rows to the last row in the partition\",\
"help-contents\": \"Returns the number of rows from the current row to the last
row in the partition.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4
\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"n

ame\": \"LEFT\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Re


turns the specified number of characters from the start of a string\",\"help-con
tents\": \"Returns the specified number of characters from the start of the give
n string. \\n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{
\"name\": \"LEN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the
number of characters in a string\",\"help-contents\": \"Returns the number of ch
aracters in the given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"f
unc-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"na
me\": \"LN\",\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natura
l logarithm of a number\",\"help-contents\": \"Returns the natural logarithm of
the given number. Returns Null if the number is less than or equal to 0.\\n\\nEx
ample: LN(EXP(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",
\"func-tooltip\": \"Returns the logarithm of a number for the given base\",\"hel
p-contents\": \"Returns the logarithm of a number for the given base. If the bas
e value is omitted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LO
G(256, 2) = 8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\
"has-var-args\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression,
[offset])\",\"func-tooltip\": \"Returns the value of the expression in a row of
fset from current row\",\"help-contents\": \"Returns the value of the given expr
ession in a target row, specified as a relative offset from the current row. Use
FIRST()+n and LAST()-n for a target relative to the first/last rows in the part
ition. If offset is omitted, the Compare To row may be set on the field menu. Re
turns NULL if the target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Pro
fit]), FIRST( ) + 2) = SUM(Profit) in the third row of the partition\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \
"Returns a string in all lowercase characters\",\"help-contents\": \"Converts a
text string to all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\
\"product\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-a
rgs\": false},{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-toolti
p\": \"Returns a string with leading spaces removed\",\"help-contents\": \"Retur
ns the string with any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\
\") = \\\"Sales\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has
-var-args\": false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month
, day)\",\"func-tooltip\": \"Returns a date value constructed from a year, a mon
th and a day of the month.\",\"help-contents\": \"Returns a date value construct
ed from a year, a month and a day of the month. \\n\\nExample: MAKEDATE( 2014,
3, 18 )\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\
"integer\"],\"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \
"MAKEDATETIME(date, time)\",\"func-tooltip\": \"Returns a datetime by combining
a date and a time\",\"help-contents\": \"Returns a date and time value given a d
ate expression and a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#,
#07:59:00#)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\
"],\"has-var-args\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hou
r, minute, second)\",\"func-tooltip\": \"Returns a time value constructed from h
ours, minutes and seconds.\",\"help-contents\": \"Returns a time value construct
ed from hours, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"f
unc-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\
"has-var-args\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MA
X(expr1, expr2)\",\"func-tooltip\": \"Returns the maximum of an expression\",\"h
elp-contents\": \"Returns the maximum of a single expression across all records
or the maximum of two expressions for each record. \\n\\nExample: MAX([Sales])\
",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":
[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\":
\"MEDIAN(expression)\",\"func-tooltip\": \"Returns the median of an expression\
",\"help-contents\": \"Returns the median of a single expression. MEDIAN can be
used with numeric fields only. Null values are ignored.\\n\\nExample: MEDIAN([Pr
ofit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\":

false},{\"name\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-t


ooltip\": \"Returns the characters from the middle of a text string\",\"help-con
tents\": \"Returns the characters from the middle of a text string given a start
ing position and a length. The first character in the string is position 1. If t
he length is not included, all characters to the end of the string are returned.
If the length is included, up to that many characters are returned. \\n\\nExamp
le: MID(\\\"Tableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Ta
bleau Software\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"fu
nc-sig\": \"MIN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns t
he minimum of an expression\",\"help-contents\": \"Returns the minimum of an exp
ression across all records or the minimum of two expressions for each record. \
\n\\nExample: MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",
\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name
\": \"MONTH\",\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the mont
h part of the specified date as an integer\",\"help-contents\": \"Returns the mo
nth of a given date as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"f
unc-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false}
,{\"name\": \"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-toolt
ip\": \"Performs logical negation on an expression\",\"help-contents\": \"Perfor
ms logical negation on an expression\",\"func-grps\":[\"logic\"],\"func-arg-type
s\":[],\"has-var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"fun
c-tooltip\": \"Returns the current date and time\",\"help-contents\": \"Returns
the current date and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"fun
c-grps\":[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"
OR\",\"func-sig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \
"Performs a logical disjunction on two expressions\",\"help-contents\": \"Perfor
ms a logical disjunction on two expressions\",\"func-grps\":[\"logic\"],\"func-a
rg-types\":[],\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \
"PERCENTILE(expression, number)\",\"func-tooltip\": \"Returns the percentile val
ue at the specified number\",\"help-contents\": \"Aggregate calculation that ret
urns the percentile value from the given expression corresponding to the specifi
ed number. Valid values for the number are 0 through 1. PERCENTILE([expression],
0.50) will always return the median value in the expression.\\n\\nExample: PERC
ENTILE([Sales], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"l
ocreal\"],\"has-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"fu
nc-tooltip\": \"Returns the numeric constant pi\",\"help-contents\": \"Returns t
he numeric constant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\
"num\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"fu
nc-sig\": \"POWER(number,power)\",\"func-tooltip\": \"Raises the number to the s
pecified power\",\"help-contents\": \"Returns the result of a number raised to t
he given power. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\
"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREV
IOUS_VALUE\",\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Re
turns the value of this calculation in the previous row\",\"help-contents\": \"R
eturns the value of this calculation in the previous row. Returns the given expr
ession if the current row is the first row of the partition.\\n\\nExample: SUM([
Profit]) + PREVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit])
* PREVIOUS_VALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"
],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS
\",\"func-sig\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a number in de
grees to radians\",\"help-contents\": \"Converts a number in degrees to radians.
\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"functooltip\": \"Returns the competition rank for the current partition row\",\"help
-contents\": \"Returns the standard competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'as
c' | 'desc' argument to specify ascending or descending order. The default order
is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would b
e ranked (1, 2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",

\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-varargs\": false},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression,


['asc'|'desc'])\",\"func-tooltip\": \"Returns the dense rank for the current par
tition row\",\"help-contents\": \"Returns the dense rank for the current row in
the partition. Identical values are assigned an identical rank, but no gaps are
inserted into the number sequence. Use the optional 'asc' | 'desc' argument to s
pecify ascending or descending order. The default order is descending.\\n\\nWith
this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in
ascending order.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table
\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name
\": \"RANK_MODIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\
",\"func-tooltip\": \"Returns the modified competition rank for the current part
ition row\",\"help-contents\": \"Returns the modified competition rank for the c
urrent row in the partition. Identical values are assigned an identical rank. Us
e the optional 'asc' | 'desc' argument to specify ascending or descending order.
The default order is descending.\\n\\nWith this function, the set of values (6,
9, 9, 14) would be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_M
ODIFIED(AVG([Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integ
er\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"funcsig\": \"RANK_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retur
ns the percentile rank for the current partition row\",\"help-contents\": \"Retu
rns the percentile rank for the current row in the partition. Use the optional '
asc' | 'desc' argument to specify ascending or descending order. The default ord
er is ascending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (25, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AV
G([Test Score]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"l
ocstr\"],\"has-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RAN
K_UNIQUE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique ra
nk for the current partition row\",\"help-contents\": \"Returns the unique rank
for the current row in the partition. Identical values are assigned different ra
nks. Use the optional 'asc' | 'desc' argument to specify ascending or descending
order. The default order is descending.\\n\\nWith this function, the set of val
ues (6, 9, 9, 14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample:
RANK_UNIQUE() = 1 for the first row in the partition\",\"func-grps\":[\"table\"
],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\"
: \"REGEXP_EXTRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-to
oltip\": \"Returns the portion of a string matching the capturing group in a reg
ular expression\",\"help-contents\": \"Returns a substring of the given string t
hat matches the capturing group within the regular expression pattern. The regu
lar expression pattern requires exactly one capturing group. \\n\\nExample: REGE
XP_EXTRACT('abc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],
\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEX
P_EXTRACT_NTH\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"f
unc-tooltip\": \"Returns a substring of a string using a regular expression patt
ern\",\"help-contents\": \"Returns a substring of the given string using the reg
ular expression pattern. The substring is matched to the nth capturing group, w
here n is the given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+
)\\\\s+(\\\\d+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str
\",\"str\",\"locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"fu
nc-sig\": \"REGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if
a string matches a regular expression\",\"help-contents\": \"Returns true if a s
ubstring of the provided string matches the regular expression pattern. \\n\\nEx
ample: REGEXP_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w
*\\\\s*\\\\])') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"s
tr\"],\"has-var-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REG
EXP_REPLACE(string, pattern, replacement)\",\"func-tooltip\": \"Returns a string
where substrings matching a regular expression are replaced\",\"help-contents\"
: \"Returns a copy of the given string where the matching pattern is substituted
with the replacement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s',
'-') = 'abc--123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"

,\"str\"],\"has-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLAC


E(string, substring, replacement)\",\"func-tooltip\": \"Replaces all instances o
f a substring within a string\",\"help-contents\": \"Returns a string in which e
very occurrence of the substring is replaced with the replacement string. If the
substring is not found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Cal
culation\\\", \\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"n
ame\": \"RIGHT\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"
Returns the specified number of characters from the end of a string\",\"help-con
tents\": \"Returns the specified number of characters from the end of the given
string. \\n\\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\
"name\": \"ROUND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\":
\"Rounds a number to the specified number of places\",\"help-contents\": \"Roun
ds a number to the nearest integer or to a specified number of decimal places. \
\n\\nExample: ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\"
: \"RTRIM(string)\",\"func-tooltip\": \"Returns a string with trailing spaces re
moved\",\"help-contents\": \"Returns the string with any trailing spaces removed
. \\n\\nExample: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str
\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_A
VG\",\"func-sig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the r
unning average of an expression\",\"help-contents\": \"Returns the running avera
ge of the given expression, from the first row in the partition to the current r
ow.\\n\\nExample: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",
\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false}
,{\"name\": \"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func
-tooltip\": \"Returns the running count of an expression\",\"help-contents\": \"
Returns the running count of the given expression, from the first row in the par
tition to the current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running
count of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(e
xpression)\",\"func-tooltip\": \"Returns the running maximum of an expression\",
\"help-contents\": \"Returns the running maximum of the given expression, from t
he first row in the partition to the current row.\\n\\nExample: RUNNING_MAX(MAX(
[Profit])) = running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit]))
= running maximum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\":
\"RUNNING_MIN(expression)\",\"func-tooltip\": \"Returns the running minimum of a
n expression\",\"help-contents\": \"Returns the running minimum of the given exp
ression, from the first row in the partition to the current row.\\n\\nExample: R
UNNING_MIN(MIN([Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(
SUM([Profit])) = running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\"
,\"func-sig\": \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the runni
ng sum of an expression\",\"help-contents\": \"Returns the running sum of the gi
ven expression, from the first row in the partition to the current row.\\n\\nExa
mple: RUNNING_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_S
UM(COUNT([Profit])) = running count of Profit\",\"func-grps\":[\"table\"],\"func
-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\
"func-sig\": \"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Return
s a Boolean result from an R expression\",\"help-contents\": \"Returns a Boolean
result from a given R expression. The R expression is passed directly to a runn
ing Rserve instance. Use .arg# in the R expression to reference parameters. In t
he following example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOO
L(\\\"is.finite(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-ar
g-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig
\": \"SCRIPT_INT(string, expression, ...)\",\"func-tooltip\": \"Returns an integ
er result from an R expression\",\"help-contents\": \"Returns an integer result
from a given R expression. The R expression is passed directly to a running Rser

ve instance. Use .arg# in the R expression to reference parameters. In the follo


wing example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.
integer(.arg1 * 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\":
\"SCRIPT_REAL(string, expression, ...)\",\"func-tooltip\": \"Returns a numeric
result from an R expression\",\"help-contents\": \"Returns a numeric result from
a given R expression. The R expression is passed directly to a running Rserve i
nstance. Use .arg# in the R expression to reference parameters. In the following
example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1
* 0.5\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(
string, expression, ...)\",\"func-tooltip\": \"Returns a string result from an R
expression\",\"help-contents\": \"Returns a string result from a given R expres
sion. The R expression is passed directly to a running Rserve instance. Use .arg
# in the R expression to reference parameters. In the following example, .arg1 i
s equal to ATTR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\"
, ATTR([Region]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has
-var-args\": true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-too
ltip\": \"Returns 1 for a positive number\",\"help-contents\": \"Returns the sig
n of a number: 1 if the number is positive, zero if the number is zero, or -1 if
the number is negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],
\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func
-sig\": \"SIN(angle)\",\"func-tooltip\": \"Returns the sine of a number\",\"help
-contents\": \"Returns the sine of an angle. Specify the angle in radians.\\n\\n
Example: SIN(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-ty
pes\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SI
ZE()\",\"func-tooltip\": \"Returns the number of rows in the partition\",\"helpcontents\": \"Returns the number of rows in the partition.\\n\\nExample (partiti
on has 5 rows):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"
func-tooltip\": \"Returns a string containing the specified number of spaces\",\
"help-contents\": \"Returns a string composed of the specified number of repeate
d spaces. \\n\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\
": \"SPLIT(string, delimiter, token number)\",\"func-tooltip\": \"Extracts a sub
string from a string\",\"help-contents\": \"Returns a substring from a string, a
s determined by a delimiter extracting the characters from the beginning or end
of the string. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLI
T('a-b-c-d', '-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\
",\"locstr\",\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig
\": \"SQRT(number)\",\"func-tooltip\": \"Returns the square root of a number\",\
"help-contents\": \"Returns the square root of a number. \\n\\nExample: SQRT(25)
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \
"Returns the square of a number\",\"help-contents\": \"Returns the square of a g
iven number. \\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig
\": \"STARTSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the sp
ecified string starts with the specified substring\",\"help-contents\": \"Return
s true if the string starts with the substring. \\n\\nExample: STARTSWITH(\\\"Ca
lculation\\\", \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":
[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"
STDEV(expression)\",\"func-tooltip\": \"Returns the sample standard deviation fo
r an expression\",\"help-contents\": \"Returns the sample standard deviation of
the expression.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\
": \"STDEVP(expression)\",\"func-tooltip\": \"Returns the population standard de
viation for an expression\",\"help-contents\": \"Returns the population standard
deviation of the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"
agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\"

,\"func-sig\": \"STR(expression)\",\"func-tooltip\": \"Returns an expression as


a string\",\"help-contents\": \"Returns a string given an expression. \\n\\nExa
mple: STR([Age]) returns all of the values of the Age measure as strings.\",\"fu
nc-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{
\"name\": \"SUM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns
the sum of values in an expression\",\"help-contents\": \"Returns the sum of all
the values in the expression. SUM can be used with numeric fields only. Null va
lues are ignored.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\":
\"TAN(angle)\",\"func-tooltip\": \"Returns the tangent of an angle specified in
radians\",\"help-contents\": \"Returns the tangent of an angle. Specify the angl
e in radians.\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\":
\"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\
"func-tooltip\": \"Performs a logical test and returns an appropriate value\",\"
help-contents\": \"Tests a series of expressions returning the <then> value for
the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [
Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"funcarg-types\":[],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TOD
AY()\",\"func-tooltip\": \"Returns the current date\",\"help-contents\": \"Retur
ns the current date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"dat
e\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"funcsig\": \"TOTAL(expression)\",\"func-tooltip\": \"Returns the total for an expres
sion within the partition\",\"help-contents\": \"Returns the total for the given
expression.\\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database r
ows that contribute to the partition\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"T
RIM(string)\",\"func-tooltip\": \"Returns a string with leading and trailing spa
ces removed\",\"help-contents\": \"Returns the string with both leading and trai
ling spaces removed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"
name\": \"UPPER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a
string in all uppercase characters\",\"help-contents\": \"Converts a text string
to all uppercase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\
\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fals
e},{\"name\": \"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"
Returns the domain for the current user\",\"help-contents\": \"Returns the domai
n for the current user when the user is signed on to Tableau Server. Returns the
Windows domain if the Tableau Desktop user is on a domain. Otherwise this funct
ion returns a null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func
-tooltip\": \"Returns the user name for the current user\",\"help-contents\": \"
Returns the username for the current user. This is the Tableau Server or Tableau
Online username when the user is signed in; otherwise it is the local or networ
k username for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expres
sion)\",\"func-tooltip\": \"Returns the sample variance for an expression\",\"he
lp-contents\": \"Returns the sample variance of the expression.\\n\\nExample: VA
R([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-toolt
ip\": \"Returns the population variance for an expression\",\"help-contents\": \
"Returns the population variance of the expression.\\n\\nExample: VARP([Profit])
\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> .
.. [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns th
e appropriate value\",\"help-contents\": \"Finds the first <value> that matches
<expr> and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral
] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\
":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW
_AVG\",\"func-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\":

\"Returns the average of the values within the window\",\"help-contents\": \"Ret


urns the average of the expression within the window. The window is defined as
offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fi
rst or last row in the partition. If start and end are omitted, the entire part
ition is used.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(P
rofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},
{\"name\": \"WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end
])\",\"func-tooltip\": \"Returns the number of items within the window\",\"helpcontents\": \"Returns the count of the expression within the window. The window
is defined as offsets from the current row. Use FIRST()+n and LAST()-n for offs
ets from the first or last row in the partition. If start and end are omitted,
the entire partition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) =
count of SUM(Profit) from the two previous rows to the current row\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-varargs\": false},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression,
[start, end])\",\"func-tooltip\": \"Returns the maximum within the window\",\"he
lp-contents\": \"Returns the maximum of the expression within the window. The w
indow is defined as offsets from the current row. Use FIRST()+n and LAST()-n for
offsets from the first or last row in the partition. If start and end are omit
ted, the entire partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0
) = maximum of Profit from the two previous rows to the current row\\n\\nExample
: WINDOW_MAX(SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two previou
s rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"inte
ger\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDI
AN\",\"func-sig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\":
\"Returns the median within the window\",\"help-contents\": \"Returns the media
n of the expression within the window. The window is defined as offsets from th
e current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\
\n\\nExample: WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from t
he two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"
WINDOW_MIN\",\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-toolt
ip\": \"Returns the minimum within the window\",\"help-contents\": \"Returns the
minimum of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or l
ast row in the partition. If start and end are omitted, the entire partition is
used.\\n\\nExample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from t
he two previous rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]),
-2, 0) = minimum of SUM(Profit) from the two previous rows to the current row\",
\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\
"],\"has-var-args\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WIN
DOW_PERCENTILE(expression, number, [start, end])\",\"func-tooltip\": \"Returns t
he percentile value at the specified number\",\"help-contents\": \"Returns the v
alue corresponding to the specified percentile within the window. The window is
defined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets
from the first or last row in the partition. If start and end are omitted, the
entire partition is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75,
-2., 0)) = 75th percentile of SUM(Profit) from the two previous rows to the cur
rent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"
integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"fu
nc-sig\": \"WINDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns
the sample standard deviation within the window\",\"help-contents\": \"Returns
the sample standard deviation of the expression within the window. The window i
s defined as offsets from the current row. Use FIRST()+n and LAST()-n for offset
s from the first or last row in the partition. If start and end are omitted, th
e entire partition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = s
td. dev. of SUM(Profit) from the two previous rows to the current row\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-va

r-args\": false},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expr


ession, [start, end])\",\"func-tooltip\": \"Returns the population standard devi
ation within the window\",\"help-contents\": \"Returns the population standard d
eviation of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or l
ast row in the partition. If start and end are omitted, the entire partition is
used.\\n\\nExample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Prof
it) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"
func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"
name\": \"WINDOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"
func-tooltip\": \"Returns the sum of values within the window\",\"help-contents\
": \"Returns the sum of the expression within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from th
e first or last row in the partition. If start and end are omitted, the entire
partition is used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(P
rofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": fals
e},{\"name\": \"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end]
)\",\"func-tooltip\": \"Returns the sample variance within the window\",\"help-c
ontents\": \"Returns the sample variance of the expression within the window. T
he window is defined as offsets from the current row. Use FIRST()+n and LAST()-n
for offsets from the first or last row in the partition. If start and end are
omitted, the entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), 2, 0) = variance of SUM(Profit) from the two previous rows to the current row\",
\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],
\"has-var-args\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(
expression, [start, end])\",\"func-tooltip\": \"Returns the population variance
within the window\",\"help-contents\": \"Returns the population variance of the
expression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the p
artition. If start and end are omitted, the entire partition is used.\\n\\nExam
ple: WINDOW_VARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two pr
evious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"
func-sig\": \"YEAR(date)\",\"func-tooltip\": \"Returns the year of the specified
date as an integer\",\"help-contents\": \"Returns the year of a given date as a
n integer. \\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],
\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"f
unc-sig\": \"ZN(expression)\",\"func-tooltip\": \"Returns the expression if it i
s not null\",\"help-contents\": \"Returns <expression> if it is not null, otherw
ise returns zero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\
"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false}]},\"calculation-con
text\": \"calculation-dialog\",\"use-parameters\": true} position=\"1\"","name":
"tabdoc:calculation-auto-complete"}}
{"ts":"2016-09-29T17:01:56.273","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{\" calcu
lation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculat
ion-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculation_54898880094
60379650\",\"scope-isolation\": true,\"calculation-formula\": \"\",\"fn\": \"\",
\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"folder-name\": \"\",\"a
dd-to-folder\": false,\"folder-role\": \"dimensions\",\"has-table-calc-data\": f
alse,\"table-calc-types-used\": 0,\"style-token-list\":[],\"error-string\": \"\"
,\"error-info-list\":[],\"expression-func-pm\":{\"expression-func-list\":[{\"nam
e\": \"ABS\",\"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absol
ute value of a number\",\"help-contents\": \"Returns the absolute value of the g
iven number. \\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\"],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACO
S(number)\",\"func-tooltip\": \"Returns the arc cosine of a number\",\"help-cont
ents\": \"Returns the arc cosine of a number. The result is in radians. \\n\\nE

xample: ACOS(-1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\"


:[\"real\"],\"has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr
1> AND <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical conjunct
ion on two expressions\",\"help-contents\": \"Performs a logical conjunction on
two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args
\": false},{\"name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\"
: \"Returns the ASCII code for the first character in a string\",\"help-contents
\": \"Returns the ASCII code value of the first character in a string. \\n\\nExa
mple: ASCII(\\\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[
\"str\"],\"has-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(numbe
r)\",\"func-tooltip\": \"Returns the arc sine of a number\",\"help-contents\": \
"Returns the arc sine of a number. The result is in radians. \\n\\nExample: ASI
N(1) = 1.5707963267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"fun
c-tooltip\": \"Returns the arc tangent of a number\",\"help-contents\": \"Return
s the arc tangent of a number. The result is in radians. \\n\\nExample: ATAN(1
80) = 1.5652408283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x nu
mber)\",\"func-tooltip\": \"Returns the arc tangent of two numbers\",\"help-cont
ents\": \"Returns the arc tangent of two given numbers (x and y). The result is
in radians. \\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"nu
m\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\":
\"ATTR\",\"func-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the valu
e of the expression if it has one value for all rows\",\"help-contents\": \"Retu
rns the value of the given expression if it only has a single value for all rows
in the group, otherwise it displays an asterisk (*). Null values are ignored.\\
n\\nExample: ATTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"inte
ger\"],\"has-var-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expressio
n)\",\"func-tooltip\": \"Returns the average of the values in the expression\",\
"help-contents\": \"Returns the average of all the values in the expression. AVG
can be used with numeric fields only. Null values are ignored.\\n\\nExample: AV
G([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN
<return1> ... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and
returns the appropriate value\",\"help-contents\": \"Finds the first <value> th
at matches <expr> and returns the corresponding <return>. \\n\\nExample: CASE [R
omanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"CEILING\",\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a nu
mber to the nearest integer of equal or greater value\",\"help-contents\": \"Rou
nds a number to the nearest integer of equal or greater value. \\n\\nExample: CE
ILING(3.1415) = 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"hasvar-args\": false},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-to
oltip\": \"Converts an integer ASCII code into a character\",\"help-contents\":
\"Converts the given integer ASCII code into a character. \\n\\nExample: CHAR(65
) = 'A'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\
"func-tooltip\": \"Returns true if a string contains the specified substring\",\
"help-contents\": \"Returns true if the string contains the substring. \\n\\nExa
mple: CONTAINS(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str
\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"C
OS\",\"func-sig\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an a
ngle specified in radians\",\"help-contents\": \"Returns the cosine of an angle.
Specify the angle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\
"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\
"name\": \"COT\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the co
tangent of an angle specified in radians\",\"help-contents\": \"Returns the cota
ngent of an angle. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"COUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Ret

urns the number of items in the expression\",\"help-contents\": \"Returns the nu


mber of items in a group. NULL values are not counted.\\n\\nExample: COUNT([Cust
omer ID])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-a
rgs\": false},{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"functooltip\": \"Returns the number of distinct items in the expression\",\"help-con
tents\": \"Returns the number of distinct items in a group. NULL values are not
counted. Each unique value is counted only once.\\n\\nExample: COUNTD([Region])
\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": fa
lse},{\"name\": \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"
Returns a date from a number\",\"help-contents\": \"Returns a date given a numbe
r, string, or date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") =
2006-06-15 \\nNote that the quotation marks are required.\",\"func-grps\":[\"cas
t\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\
",\"func-sig\": \"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Retur
ns the specified date incremented by the specified amount\",\"help-contents\": \
"Adds an increment to the specified date and returns the new date. The increment
is defined by the interval and the date_part. \\n\\nExample: DATEADD('month', 3
, #2004-04-15#) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-t
ypes\":[\"locstr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\":
\"DATEDIFF\",\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_o
f_week])\",\"func-tooltip\": \"Returns the difference between two dates\",\"help
-contents\": \"Returns the difference between two dates where start_date is subt
racted from end_date. The difference is expressed in units of date_part. If star
t_of_week is omitted, the week start day is determined by the start day configur
ed for the data source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-0
3#, 'sunday') = -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"d
atetime\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAM
E\",\"func-sig\": \"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\
": \"Returns a part of the specified date as a string\",\"help-contents\": \"Ret
urns a part of the given date as a string, where the part is defined by date_par
t. If start_of_week is omitted, the week start day is determined by the start da
y configured for the data source.\\n\\nExample: DATENAME('month', #2004-04-15#)
= \\\"April\\\"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"date
time\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\
": \"DATEPARSE(format, string)\",\"func-tooltip\": \"Converts a string to a date
\",\"help-contents\": \"Converts a string to a date in the specified format. \\n
\\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15
12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],
\"has-var-args\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_p
art, date, [start_of_week])\",\"func-tooltip\": \"Returns the specified part of
a date as an integer\",\"help-contents\": \"Returns a part of the given date as
an integer where the part is defined by date_part. If start_of_week is omitted,
the week start day is determined by the start day configured for the data source
.\\n\\nExample: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\
"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},
{\"name\": \"DATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\":
\"Returns a datetime from a number\",\"help-contents\": \"Returns a datetime gi
ven a number, string, or date expression. \\n\\nExample: DATETIME(\\\"April 15,
2004 07:59:00\\\") \\nNote that the quotation marks are required.\",\"func-grp
s\":[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"DATETRUNC\",\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"fu
nc-tooltip\": \"Truncates the specified date to the specified accuracy\",\"helpcontents\": \"Truncates the specified date to the accuracy specified by the date
_part and returns the new date. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DAT
ETRUNC('quarter', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date
\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": fa
lse},{\"name\": \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns
the day part of the specified date as an integer\",\"help-contents\": \"Returns
the day of the given date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\

",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": f
alse},{\"name\": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\":
\"Converts a value in radians to degrees\",\"help-contents\": \"Converts a numb
er in radians to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV
\",\"func-sig\": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integ
er part of a division operation\",\"help-contents\": \"Returns the integer part
of a division.\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",
\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <e
lse>] END\",\"func-tooltip\": \"Performs a logical test and returns an appropria
te value\",\"help-contents\": \"Tests a series of expressions returning the <the
n> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profita
ble' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"log
ic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"fun
c-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>]
END\",\"func-tooltip\": \"Performs a logical test and returns an appropriate va
lue\",\"help-contents\": \"Tests a series of expressions returning the <then> va
lue for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable'
ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"]
,\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\":
\"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\
"func-tooltip\": \"Performs a logical test and returns an appropriate value\",\"
help-contents\": \"Tests a series of expressions returning the <then> value for
the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [
Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"funcarg-types\":[],\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"
ENDSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the specified
string ends with the specified substring\",\"help-contents\": \"Returns true if
the string ends with the substring (trailing whitespace is ignored). \\n\\nExamp
le: ENDSWITH(\\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCL
UDE\",\"func-sig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"f
unc-tooltip\": \"Computes an aggregate excluding the specified dimensions if pre
sent in the view.\",\"help-contents\": \"Computes an aggregate excluding the spe
cified dimensions if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number
)\",\"func-tooltip\": \"Returns e raised to the power of a number\",\"help-conte
nts\": \"Returns e raised to the power of the given number. \\n\\nExample: EXP(
5) = e^5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\"
,\"func-tooltip\": \"Returns the position of a substring within a string\",\"hel
p-contents\": \"Returns the position of a substring within a string, or 0 if the
substring isn't found. If the start argument is defined, any instances of subst
ring that appear before the start position are ignored. The first character in t
he string is position 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\")
= 2\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"ha
s-var-args\": false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, subs
tring, occurrence)\",\"func-tooltip\": \"Returns the position of the nth occurre
nce a substring within a string\",\"help-contents\": \"Returns the position of t
he nth occurrence of a substring within a string, or 0 if that occurrence of the
substring isn't found. The first character in the string is position 1. \\n\\nE
xample: FINDNTH(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\
": \"FIRST\",\"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of
rows from to the first row in the partition\",\"help-contents\": \"Returns the
number of rows from the current row to the first row in the partition.\\n\\nExam
ple (current row index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\":
\"{ FIXED [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Comp

utes an aggregate using only the specified dimensions.\",\"help-contents\": \"Co


mputes an aggregate using only the specified dimensions.\",\"func-grps\":[\"agg\
"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-si
g\": \"FLOAT(expression)\",\"func-tooltip\": \"Returns a float from an expressio
n\",\"help-contents\": \"Returns a float given an expression of any type. This f
unction requires unformatted numbers which means exclude commas and other symbol
s. \\n\\nExample: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg
-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\
": \"FLOOR(number)\",\"func-tooltip\": \"Rounds a number to the nearest integer
of equal or lesser value\",\"help-contents\": \"Rounds a number to the nearest i
nteger of equal or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\
":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
FULLNAME\",\"func-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full nam
e for the current user\",\"help-contents\": \"Returns the full name for the curr
ent user. This is the Tableau Server or Tableau Online full name when the user i
s signed in; otherwise it is the local or network full name for the Tableau Desk
top user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tool
tip\": \"Returns the x-coordinate of the nearest hexagonal bin.\",\"help-content
s\": \"Maps an (x,y) coordinate to the x-coordinate of the nearest hexagonal bin
. The bins have side length 1, so the inputs may need to be scaled appropriately
.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-arg
s\": false},{\"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"f
unc-tooltip\": \"Returns the y-coordinate of the nearest hexagonal bin.\",\"help
-contents\": \"Maps an (x,y) coordinate to the y-coordinate of the nearest hexag
onal bin. The bins have side length 1, so the inputs may need to be scaled appro
priately.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has
-var-args\": false},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELS
EIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a
logical test and returns an appropriate value\",\"help-contents\": \"Tests a se
ries of expressions returning the <then> value for the first true <expr>. \\n\\n
Example: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven'
ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args
\": false},{\"name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-t
ooltip\": \"Returns expression1 if not null\",\"help-contents\": \"Returns <expr
1> if it is not null, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit]
, 0)\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"
has-var-args\": false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else,
[unknown])\",\"func-tooltip\": \"Evaluates a Boolean expression and returns one
of two values\",\"help-contents\": \"Checks whether a condition is met, and retu
rns one value if TRUE, another value if FALSE, and an optional third value or NU
LL if unknown. \\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\
":[\"logic\"],\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"hasvar-args\": false},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2
]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate using
the specified dimensions and the view dimensions.\",\"help-contents\": \"Comput
es an aggregate using the specified dimensions and the view dimensions.\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IN
DEX\",\"func-sig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of the cur
rent row in the partition\",\"help-contents\": \"Returns the index of the curren
t row in the partition.\\n\\nExample (for the first row in the partition): INDEX
( ) = 1\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Eval
uates an expression and returns an integer\",\"help-contents\": \"Returns an int
eger given an expression. This function truncates results to the closest integer
toward zero. \\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":
[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\":
\"ISDATE\",\"func-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if
the string is a valid date\",\"help-contents\": \"Returns true if a given string
is a valid date. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grp

s\":[\"str\",\"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\":
false},{\"name\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-too
ltip\": \"Returns true if the current user's full name matches the specified nam
e\",\"help-contents\": \"Returns true if the current user's full name matches th
e specified full name, or false if it does not match. This function uses the Tab
leau Server or Tableau Online full name when the user is signed in; otherwise it
uses the local or network full name for the Tableau Desktop user.\",\"func-grps
\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\"
: \"ISMEMBEROF\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Return
s true if the current user is a member of the specified group\",\"help-contents\
": \"Returns true if the current user is a member of the given group, false othe
rwise. This uses the Tableau Server to resolve group membership if logged on, o
therwise it always returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":
[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNU
LL(expression)\",\"func-tooltip\": \"Returns true if the specified expression is
null\",\"help-contents\": \"Returns true if the expression does not contain val
id data (Null).\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\
"func-sig\": \"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if the curr
ent user's name matches the specified user name\",\"help-contents\": \"Returns t
rue if the current user's username matches the specified username, or false if i
t does not match. This function uses the Tableau Server or Tableau Online userna
me when the user is signed in; otherwise it uses the local or network username f
or the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"lo
cstr\"],\"has-var-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"
func-tooltip\": \"Returns the number of rows to the last row in the partition\",
\"help-contents\": \"Returns the number of rows from the current row to the last
row in the partition.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) =
4\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"
name\": \"LEFT\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"R
eturns the specified number of characters from the start of a string\",\"help-co
ntents\": \"Returns the specified number of characters from the start of the giv
en string. \\n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"funcgrps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},
{\"name\": \"LEN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the
number of characters in a string\",\"help-contents\": \"Returns the number of c
haracters in the given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"
func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"n
ame\": \"LN\",\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natur
al logarithm of a number\",\"help-contents\": \"Returns the natural logarithm of
the given number. Returns Null if the number is less than or equal to 0.\\n\\nE
xample: LN(EXP(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\"
,\"func-tooltip\": \"Returns the logarithm of a number for the given base\",\"he
lp-contents\": \"Returns the logarithm of a number for the given base. If the ba
se value is omitted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: L
OG(256, 2) = 8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],
\"has-var-args\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression
, [offset])\",\"func-tooltip\": \"Returns the value of the expression in a row o
ffset from current row\",\"help-contents\": \"Returns the value of the given exp
ression in a target row, specified as a relative offset from the current row. Us
e FIRST()+n and LAST()-n for a target relative to the first/last rows in the par
tition. If offset is omitted, the Compare To row may be set on the field menu. R
eturns NULL if the target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Pr
ofit]), FIRST( ) + 2) = SUM(Profit) in the third row of the partition\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\"
: false},{\"name\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\":
\"Returns a string in all lowercase characters\",\"help-contents\": \"Converts a
text string to all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \
\\"product\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-

args\": false},{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-toolt


ip\": \"Returns a string with leading spaces removed\",\"help-contents\": \"Retu
rns the string with any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\
\\") = \\\"Sales\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"ha
s-var-args\": false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, mont
h, day)\",\"func-tooltip\": \"Returns a date value constructed from a year, a mo
nth and a day of the month.\",\"help-contents\": \"Returns a date value construc
ted from a year, a month and a day of the month. \\n\\nExample: MAKEDATE( 2014,
3, 18 )\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\":
\"MAKEDATETIME(date, time)\",\"func-tooltip\": \"Returns a datetime by combining
a date and a time\",\"help-contents\": \"Returns a date and time value given a
date expression and a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#
, #07:59:00#)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime
\"],\"has-var-args\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(ho
ur, minute, second)\",\"func-tooltip\": \"Returns a time value constructed from
hours, minutes and seconds.\",\"help-contents\": \"Returns a time value construc
ted from hours, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"
func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],
\"has-var-args\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or M
AX(expr1, expr2)\",\"func-tooltip\": \"Returns the maximum of an expression\",\"
help-contents\": \"Returns the maximum of a single expression across all records
or the maximum of two expressions for each record. \\n\\nExample: MAX([Sales])
\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\"
:[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\"
: \"MEDIAN(expression)\",\"func-tooltip\": \"Returns the median of an expression
\",\"help-contents\": \"Returns the median of a single expression. MEDIAN can be
used with numeric fields only. Null values are ignored.\\n\\nExample: MEDIAN([P
rofit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"functooltip\": \"Returns the characters from the middle of a text string\",\"help-co
ntents\": \"Returns the characters from the middle of a text string given a star
ting position and a length. The first character in the string is position 1. If
the length is not included, all characters to the end of the string are returned
. If the length is included, up to that many characters are returned. \\n\\nExam
ple: MID(\\\"Tableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"T
ableau Software\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"f
unc-sig\": \"MIN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns
the minimum of an expression\",\"help-contents\": \"Returns the minimum of an ex
pression across all records or the minimum of two expressions for each record.
\\n\\nExample: MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\"
,\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"nam
e\": \"MONTH\",\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the mon
th part of the specified date as an integer\",\"help-contents\": \"Returns the m
onth of a given date as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"
func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false
},{\"name\": \"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tool
tip\": \"Performs logical negation on an expression\",\"help-contents\": \"Perfo
rms logical negation on an expression\",\"func-grps\":[\"logic\"],\"func-arg-typ
es\":[],\"has-var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"fu
nc-tooltip\": \"Returns the current date and time\",\"help-contents\": \"Returns
the current date and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"fu
nc-grps\":[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \
"OR\",\"func-sig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\":
\"Performs a logical disjunction on two expressions\",\"help-contents\": \"Perfo
rms a logical disjunction on two expressions\",\"func-grps\":[\"logic\"],\"funcarg-types\":[],\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\":
\"PERCENTILE(expression, number)\",\"func-tooltip\": \"Returns the percentile va
lue at the specified number\",\"help-contents\": \"Aggregate calculation that re

turns the percentile value from the given expression corresponding to the specif
ied number. Valid values for the number are 0 through 1. PERCENTILE([expression]
, 0.50) will always return the median value in the expression.\\n\\nExample: PER
CENTILE([Sales], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"
locreal\"],\"has-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"f
unc-tooltip\": \"Returns the numeric constant pi\",\"help-contents\": \"Returns
the numeric constant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[
\"num\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"f
unc-sig\": \"POWER(number,power)\",\"func-tooltip\": \"Raises the number to the
specified power\",\"help-contents\": \"Returns the result of a number raised to
the given power. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],
\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PRE
VIOUS_VALUE\",\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"R
eturns the value of this calculation in the previous row\",\"help-contents\": \"
Returns the value of this calculation in the previous row. Returns the given exp
ression if the current row is the first row of the partition.\\n\\nExample: SUM(
[Profit]) + PREVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]
) * PREVIOUS_VALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\
"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIAN
S\",\"func-sig\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a number in d
egrees to radians\",\"help-contents\": \"Converts a number in degrees to radians
.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func
-tooltip\": \"Returns the competition rank for the current partition row\",\"hel
p-contents\": \"Returns the standard competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'a
sc' | 'desc' argument to specify ascending or descending order. The default orde
r is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (1, 2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var
-args\": false},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression,
['asc'|'desc'])\",\"func-tooltip\": \"Returns the dense rank for the current pa
rtition row\",\"help-contents\": \"Returns the dense rank for the current row in
the partition. Identical values are assigned an identical rank, but no gaps are
inserted into the number sequence. Use the optional 'asc' | 'desc' argument to
specify ascending or descending order. The default order is descending.\\n\\nWit
h this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in
ascending order.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"nam
e\": \"RANK_MODIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])
\",\"func-tooltip\": \"Returns the modified competition rank for the current par
tition row\",\"help-contents\": \"Returns the modified competition rank for the
current row in the partition. Identical values are assigned an identical rank. U
se the optional 'asc' | 'desc' argument to specify ascending or descending order
. The default order is descending.\\n\\nWith this function, the set of values (6
, 9, 9, 14) would be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_
MODIFIED(AVG([Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"inte
ger\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func
-sig\": \"RANK_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retu
rns the percentile rank for the current partition row\",\"help-contents\": \"Ret
urns the percentile rank for the current row in the partition. Use the optional
'asc' | 'desc' argument to specify ascending or descending order. The default or
der is ascending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (25, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(A
VG([Test Score]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"
locstr\"],\"has-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RA
NK_UNIQUE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique r
ank for the current partition row\",\"help-contents\": \"Returns the unique rank
for the current row in the partition. Identical values are assigned different r
anks. Use the optional 'asc' | 'desc' argument to specify ascending or descendin

g order. The default order is descending.\\n\\nWith this function, the set of va


lues (6, 9, 9, 14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample
: RANK_UNIQUE() = 1 for the first row in the partition\",\"func-grps\":[\"table\
"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\
": \"REGEXP_EXTRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-t
ooltip\": \"Returns the portion of a string matching the capturing group in a re
gular expression\",\"help-contents\": \"Returns a substring of the given string
that matches the capturing group within the regular expression pattern. The reg
ular expression pattern requires exactly one capturing group. \\n\\nExample: REG
EXP_EXTRACT('abc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGE
XP_EXTRACT_NTH\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"
func-tooltip\": \"Returns a substring of a string using a regular expression pat
tern\",\"help-contents\": \"Returns a substring of the given string using the re
gular expression pattern. The substring is matched to the nth capturing group,
where n is the given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]
+)\\\\s+(\\\\d+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"st
r\",\"str\",\"locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"f
unc-sig\": \"REGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if
a string matches a regular expression\",\"help-contents\": \"Returns true if a
substring of the provided string matches the regular expression pattern. \\n\\nE
xample: REGEXP_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\
w*\\\\s*\\\\])') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"
str\"],\"has-var-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"RE
GEXP_REPLACE(string, pattern, replacement)\",\"func-tooltip\": \"Returns a strin
g where substrings matching a regular expression are replaced\",\"help-contents\
": \"Returns a copy of the given string where the matching pattern is substitute
d with the replacement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s'
, '-') = 'abc--123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\
",\"str\"],\"has-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLA
CE(string, substring, replacement)\",\"func-tooltip\": \"Replaces all instances
of a substring within a string\",\"help-contents\": \"Returns a string in which
every occurrence of the substring is replaced with the replacement string. If th
e substring is not found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Ca
lculation\\\", \\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"
name\": \"RIGHT\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \
"Returns the specified number of characters from the end of a string\",\"help-co
ntents\": \"Returns the specified number of characters from the end of the given
string. \\n\\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{
\"name\": \"ROUND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\"
: \"Rounds a number to the specified number of places\",\"help-contents\": \"Rou
nds a number to the nearest integer or to a specified number of decimal places.
\\n\\nExample: ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types
\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\
": \"RTRIM(string)\",\"func-tooltip\": \"Returns a string with trailing spaces r
emoved\",\"help-contents\": \"Returns the string with any trailing spaces remove
d. \\n\\nExample: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_
AVG\",\"func-sig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the
running average of an expression\",\"help-contents\": \"Returns the running aver
age of the given expression, from the first row in the partition to the current
row.\\n\\nExample: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"fun
c-tooltip\": \"Returns the running count of an expression\",\"help-contents\": \
"Returns the running count of the given expression, from the first row in the pa
rtition to the current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running
count of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],

\"has-var-args\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(


expression)\",\"func-tooltip\": \"Returns the running maximum of an expression\"
,\"help-contents\": \"Returns the running maximum of the given expression, from
the first row in the partition to the current row.\\n\\nExample: RUNNING_MAX(MAX
([Profit])) = running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit]))
= running maximum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\":
\"RUNNING_MIN(expression)\",\"func-tooltip\": \"Returns the running minimum of
an expression\",\"help-contents\": \"Returns the running minimum of the given ex
pression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_MIN(MIN([Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN
(SUM([Profit])) = running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"f
unc-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\
",\"func-sig\": \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the runn
ing sum of an expression\",\"help-contents\": \"Returns the running sum of the g
iven expression, from the first row in the partition to the current row.\\n\\nEx
ample: RUNNING_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_
SUM(COUNT([Profit])) = running count of Profit\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",
\"func-sig\": \"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Retur
ns a Boolean result from an R expression\",\"help-contents\": \"Returns a Boolea
n result from a given R expression. The R expression is passed directly to a run
ning Rserve instance. Use .arg# in the R expression to reference parameters. In
the following example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BO
OL(\\\"is.finite(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-si
g\": \"SCRIPT_INT(string, expression, ...)\",\"func-tooltip\": \"Returns an inte
ger result from an R expression\",\"help-contents\": \"Returns an integer result
from a given R expression. The R expression is passed directly to a running Rse
rve instance. Use .arg# in the R expression to reference parameters. In the foll
owing example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as
.integer(.arg1 * 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\"
: \"SCRIPT_REAL(string, expression, ...)\",\"func-tooltip\": \"Returns a numeric
result from an R expression\",\"help-contents\": \"Returns a numeric result fro
m a given R expression. The R expression is passed directly to a running Rserve
instance. Use .arg# in the R expression to reference parameters. In the followin
g example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1
* 0.5\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str
\"],\"has-var-args\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR
(string, expression, ...)\",\"func-tooltip\": \"Returns a string result from an
R expression\",\"help-contents\": \"Returns a string result from a given R expre
ssion. The R expression is passed directly to a running Rserve instance. Use .ar
g# in the R expression to reference parameters. In the following example, .arg1
is equal to ATTR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\
", ATTR([Region]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"ha
s-var-args\": true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-to
oltip\": \"Returns 1 for a positive number\",\"help-contents\": \"Returns the si
gn of a number: 1 if the number is positive, zero if the number is zero, or -1 i
f the number is negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"]
,\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"fun
c-sig\": \"SIN(angle)\",\"func-tooltip\": \"Returns the sine of a number\",\"hel
p-contents\": \"Returns the sine of an angle. Specify the angle in radians.\\n\\
nExample: SIN(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-t
ypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"S
IZE()\",\"func-tooltip\": \"Returns the number of rows in the partition\",\"help
-contents\": \"Returns the number of rows in the partition.\\n\\nExample (partit
ion has 5 rows):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[]
,\"has-var-args\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\
"func-tooltip\": \"Returns a string containing the specified number of spaces\",

\"help-contents\": \"Returns a string composed of the specified number of repeat


ed spaces. \\n\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig
\": \"SPLIT(string, delimiter, token number)\",\"func-tooltip\": \"Extracts a su
bstring from a string\",\"help-contents\": \"Returns a substring from a string,
as determined by a delimiter extracting the characters from the beginning or end
of the string. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPL
IT('a-b-c-d', '-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str
\",\"locstr\",\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-si
g\": \"SQRT(number)\",\"func-tooltip\": \"Returns the square root of a number\",
\"help-contents\": \"Returns the square root of a number. \\n\\nExample: SQRT(25
) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\":
\"Returns the square of a number\",\"help-contents\": \"Returns the square of a
given number. \\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-si
g\": \"STARTSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the s
pecified string starts with the specified substring\",\"help-contents\": \"Retur
ns true if the string starts with the substring. \\n\\nExample: STARTSWITH(\\\"C
alculation\\\", \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \
"STDEV(expression)\",\"func-tooltip\": \"Returns the sample standard deviation f
or an expression\",\"help-contents\": \"Returns the sample standard deviation of
the expression.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig
\": \"STDEVP(expression)\",\"func-tooltip\": \"Returns the population standard d
eviation for an expression\",\"help-contents\": \"Returns the population standar
d deviation of the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\
",\"func-sig\": \"STR(expression)\",\"func-tooltip\": \"Returns an expression as
a string\",\"help-contents\": \"Returns a string given an expression. \\n\\nEx
ample: STR([Age]) returns all of the values of the Age measure as strings.\",\"f
unc-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},
{\"name\": \"SUM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns
the sum of values in an expression\",\"help-contents\": \"Returns the sum of al
l the values in the expression. SUM can be used with numeric fields only. Null v
alues are ignored.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\":
\"TAN(angle)\",\"func-tooltip\": \"Returns the tangent of an angle specified in
radians\",\"help-contents\": \"Returns the tangent of an angle. Specify the ang
le in radians.\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\"
: \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",
\"func-tooltip\": \"Performs a logical test and returns an appropriate value\",\
"help-contents\": \"Tests a series of expressions returning the <then> value for
the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF
[Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func
-arg-types\":[],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TO
DAY()\",\"func-tooltip\": \"Returns the current date\",\"help-contents\": \"Retu
rns the current date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"da
te\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func
-sig\": \"TOTAL(expression)\",\"func-tooltip\": \"Returns the total for an expre
ssion within the partition\",\"help-contents\": \"Returns the total for the give
n expression.\\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database
rows that contribute to the partition\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"
TRIM(string)\",\"func-tooltip\": \"Returns a string with leading and trailing sp
aces removed\",\"help-contents\": \"Returns the string with both leading and tra
iling spaces removed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",
\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\

"name\": \"UPPER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a


string in all uppercase characters\",\"help-contents\": \"Converts a text strin
g to all uppercase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\
\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fal
se},{\"name\": \"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \
"Returns the domain for the current user\",\"help-contents\": \"Returns the doma
in for the current user when the user is signed on to Tableau Server. Returns th
e Windows domain if the Tableau Desktop user is on a domain. Otherwise this func
tion returns a null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"fun
c-tooltip\": \"Returns the user name for the current user\",\"help-contents\": \
"Returns the username for the current user. This is the Tableau Server or Tablea
u Online username when the user is signed in; otherwise it is the local or netwo
rk username for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expre
ssion)\",\"func-tooltip\": \"Returns the sample variance for an expression\",\"h
elp-contents\": \"Returns the sample variance of the expression.\\n\\nExample: V
AR([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tool
tip\": \"Returns the population variance for an expression\",\"help-contents\":
\"Returns the population variance of the expression.\\n\\nExample: VARP([Profit]
)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1>
... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns t
he appropriate value\",\"help-contents\": \"Finds the first <value> that matches
<expr> and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumera
l] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps
\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDO
W_AVG\",\"func-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\":
\"Returns the average of the values within the window\",\"help-contents\": \"Re
turns the average of the expression within the window. The window is defined as
offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the f
irst or last row in the partition. If start and end are omitted, the entire par
tition is used.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(
Profit) from the two previous rows to the current row\",\"func-grps\":[\"table\"
],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false}
,{\"name\": \"WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, en
d])\",\"func-tooltip\": \"Returns the number of items within the window\",\"help
-contents\": \"Returns the count of the expression within the window. The windo
w is defined as offsets from the current row. Use FIRST()+n and LAST()-n for off
sets from the first or last row in the partition. If start and end are omitted,
the entire partition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0)
= count of SUM(Profit) from the two previous rows to the current row\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var
-args\": false},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression,
[start, end])\",\"func-tooltip\": \"Returns the maximum within the window\",\"h
elp-contents\": \"Returns the maximum of the expression within the window. The
window is defined as offsets from the current row. Use FIRST()+n and LAST()-n fo
r offsets from the first or last row in the partition. If start and end are omi
tted, the entire partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2,
0) = maximum of Profit from the two previous rows to the current row\\n\\nExampl
e: WINDOW_MAX(SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two previo
us rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"int
eger\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MED
IAN\",\"func-sig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\"
: \"Returns the median within the window\",\"help-contents\": \"Returns the medi
an of the expression within the window. The window is defined as offsets from t
he current row. Use FIRST()+n and LAST()-n for offsets from the first or last ro
w in the partition. If start and end are omitted, the entire partition is used.
\\n\\nExample: WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from

the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-argtypes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \


"WINDOW_MIN\",\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tool
tip\": \"Returns the minimum within the window\",\"help-contents\": \"Returns th
e minimum of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition i
s used.\\n\\nExample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from
the two previous rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]),
-2, 0) = minimum of SUM(Profit) from the two previous rows to the current row\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer
\"],\"has-var-args\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WI
NDOW_PERCENTILE(expression, number, [start, end])\",\"func-tooltip\": \"Returns
the percentile value at the specified number\",\"help-contents\": \"Returns the
value corresponding to the specified percentile within the window. The window i
s defined as offsets from the current row. Use FIRST()+n and LAST()-n for offset
s from the first or last row in the partition. If start and end are omitted, th
e entire partition is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75,
-2., 0)) = 75th percentile of SUM(Profit) from the two previous rows to the cu
rrent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"f
unc-sig\": \"WINDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Return
s the sample standard deviation within the window\",\"help-contents\": \"Returns
the sample standard deviation of the expression within the window. The window
is defined as offsets from the current row. Use FIRST()+n and LAST()-n for offse
ts from the first or last row in the partition. If start and end are omitted, t
he entire partition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) =
std. dev. of SUM(Profit) from the two previous rows to the current row\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-v
ar-args\": false},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(exp
ression, [start, end])\",\"func-tooltip\": \"Returns the population standard dev
iation within the window\",\"help-contents\": \"Returns the population standard
deviation of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition i
s used.\\n\\nExample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Pro
fit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\
"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"WINDOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\
"func-tooltip\": \"Returns the sum of values within the window\",\"help-contents
\": \"Returns the sum of the expression within the window. The window is define
d as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from t
he first or last row in the partition. If start and end are omitted, the entire
partition is used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(
Profit) from the two previous rows to the current row\",\"func-grps\":[\"table\"
],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end
])\",\"func-tooltip\": \"Returns the sample variance within the window\",\"helpcontents\": \"Returns the sample variance of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST()n for offsets from the first or last row in the partition. If start and end are
omitted, the entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]),
-2, 0) = variance of SUM(Profit) from the two previous rows to the current row\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"]
,\"has-var-args\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP
(expression, [start, end])\",\"func-tooltip\": \"Returns the population variance
within the window\",\"help-contents\": \"Returns the population variance of the
expression within the window. The window is defined as offsets from the curren
t row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the
partition. If start and end are omitted, the entire partition is used.\\n\\nExa

mple: WINDOW_VARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two p


revious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\
"func-sig\": \"YEAR(date)\",\"func-tooltip\": \"Returns the year of the specifie
d date as an integer\",\"help-contents\": \"Returns the year of a given date as
an integer. \\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"]
,\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"
func-sig\": \"ZN(expression)\",\"func-tooltip\": \"Returns the expression if it
is not null\",\"help-contents\": \"Returns <expression> if it is not null, other
wise returns zero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic
\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false}]},\"calculation-co
ntext\": \"calculation-dialog\",\"use-parameters\": true} position=\"1\"","name"
:"tabdoc:calculation-auto-complete"}}
{"ts":"2016-09-29T17:01:57.029","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{f\" calcu
lation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculat
ion-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculation_54898880094
60379650\",\"scope-isolation\": true,\"calculation-formula\": \"\",\"fn\": \"\",
\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"folder-name\": \"\",\"a
dd-to-folder\": false,\"folder-role\": \"dimensions\",\"has-table-calc-data\": f
alse,\"table-calc-types-used\": 0,\"style-token-list\":[],\"error-string\": \"\"
,\"error-info-list\":[],\"expression-func-pm\":{\"expression-func-list\":[{\"nam
e\": \"ABS\",\"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absol
ute value of a number\",\"help-contents\": \"Returns the absolute value of the g
iven number. \\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\"],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACO
S(number)\",\"func-tooltip\": \"Returns the arc cosine of a number\",\"help-cont
ents\": \"Returns the arc cosine of a number. The result is in radians. \\n\\nE
xample: ACOS(-1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr
1> AND <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical conjunct
ion on two expressions\",\"help-contents\": \"Performs a logical conjunction on
two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args
\": false},{\"name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\"
: \"Returns the ASCII code for the first character in a string\",\"help-contents
\": \"Returns the ASCII code value of the first character in a string. \\n\\nExa
mple: ASCII(\\\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[
\"str\"],\"has-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(numbe
r)\",\"func-tooltip\": \"Returns the arc sine of a number\",\"help-contents\": \
"Returns the arc sine of a number. The result is in radians. \\n\\nExample: ASI
N(1) = 1.5707963267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"fun
c-tooltip\": \"Returns the arc tangent of a number\",\"help-contents\": \"Return
s the arc tangent of a number. The result is in radians. \\n\\nExample: ATAN(1
80) = 1.5652408283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x nu
mber)\",\"func-tooltip\": \"Returns the arc tangent of two numbers\",\"help-cont
ents\": \"Returns the arc tangent of two given numbers (x and y). The result is
in radians. \\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"nu
m\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\":
\"ATTR\",\"func-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the valu
e of the expression if it has one value for all rows\",\"help-contents\": \"Retu
rns the value of the given expression if it only has a single value for all rows
in the group, otherwise it displays an asterisk (*). Null values are ignored.\\
n\\nExample: ATTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"inte
ger\"],\"has-var-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expressio
n)\",\"func-tooltip\": \"Returns the average of the values in the expression\",\
"help-contents\": \"Returns the average of all the values in the expression. AVG
can be used with numeric fields only. Null values are ignored.\\n\\nExample: AV

G([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN
<return1> ... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and
returns the appropriate value\",\"help-contents\": \"Finds the first <value> th
at matches <expr> and returns the corresponding <return>. \\n\\nExample: CASE [R
omanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"CEILING\",\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a nu
mber to the nearest integer of equal or greater value\",\"help-contents\": \"Rou
nds a number to the nearest integer of equal or greater value. \\n\\nExample: CE
ILING(3.1415) = 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"hasvar-args\": false},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-to
oltip\": \"Converts an integer ASCII code into a character\",\"help-contents\":
\"Converts the given integer ASCII code into a character. \\n\\nExample: CHAR(65
) = 'A'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\
"func-tooltip\": \"Returns true if a string contains the specified substring\",\
"help-contents\": \"Returns true if the string contains the substring. \\n\\nExa
mple: CONTAINS(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str
\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"C
OS\",\"func-sig\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an a
ngle specified in radians\",\"help-contents\": \"Returns the cosine of an angle.
Specify the angle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\
"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\
"name\": \"COT\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the co
tangent of an angle specified in radians\",\"help-contents\": \"Returns the cota
ngent of an angle. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"COUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Ret
urns the number of items in the expression\",\"help-contents\": \"Returns the nu
mber of items in a group. NULL values are not counted.\\n\\nExample: COUNT([Cust
omer ID])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-a
rgs\": false},{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"functooltip\": \"Returns the number of distinct items in the expression\",\"help-con
tents\": \"Returns the number of distinct items in a group. NULL values are not
counted. Each unique value is counted only once.\\n\\nExample: COUNTD([Region])
\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": fa
lse},{\"name\": \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"
Returns a date from a number\",\"help-contents\": \"Returns a date given a numbe
r, string, or date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") =
2006-06-15 \\nNote that the quotation marks are required.\",\"func-grps\":[\"cas
t\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\
",\"func-sig\": \"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Retur
ns the specified date incremented by the specified amount\",\"help-contents\": \
"Adds an increment to the specified date and returns the new date. The increment
is defined by the interval and the date_part. \\n\\nExample: DATEADD('month', 3
, #2004-04-15#) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-t
ypes\":[\"locstr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\":
\"DATEDIFF\",\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_o
f_week])\",\"func-tooltip\": \"Returns the difference between two dates\",\"help
-contents\": \"Returns the difference between two dates where start_date is subt
racted from end_date. The difference is expressed in units of date_part. If star
t_of_week is omitted, the week start day is determined by the start day configur
ed for the data source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-0
3#, 'sunday') = -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"d
atetime\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAM
E\",\"func-sig\": \"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\
": \"Returns a part of the specified date as a string\",\"help-contents\": \"Ret
urns a part of the given date as a string, where the part is defined by date_par
t. If start_of_week is omitted, the week start day is determined by the start da

y configured for the data source.\\n\\nExample: DATENAME('month', #2004-04-15#)


= \\\"April\\\"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"date
time\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\
": \"DATEPARSE(format, string)\",\"func-tooltip\": \"Converts a string to a date
\",\"help-contents\": \"Converts a string to a date in the specified format. \\n
\\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15
12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],
\"has-var-args\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_p
art, date, [start_of_week])\",\"func-tooltip\": \"Returns the specified part of
a date as an integer\",\"help-contents\": \"Returns a part of the given date as
an integer where the part is defined by date_part. If start_of_week is omitted,
the week start day is determined by the start day configured for the data source
.\\n\\nExample: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\
"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},
{\"name\": \"DATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\":
\"Returns a datetime from a number\",\"help-contents\": \"Returns a datetime gi
ven a number, string, or date expression. \\n\\nExample: DATETIME(\\\"April 15,
2004 07:59:00\\\") \\nNote that the quotation marks are required.\",\"func-grp
s\":[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"DATETRUNC\",\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"fu
nc-tooltip\": \"Truncates the specified date to the specified accuracy\",\"helpcontents\": \"Truncates the specified date to the accuracy specified by the date
_part and returns the new date. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DAT
ETRUNC('quarter', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date
\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": fa
lse},{\"name\": \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns
the day part of the specified date as an integer\",\"help-contents\": \"Returns
the day of the given date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\
",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": f
alse},{\"name\": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\":
\"Converts a value in radians to degrees\",\"help-contents\": \"Converts a numb
er in radians to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV
\",\"func-sig\": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integ
er part of a division operation\",\"help-contents\": \"Returns the integer part
of a division.\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",
\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <e
lse>] END\",\"func-tooltip\": \"Performs a logical test and returns an appropria
te value\",\"help-contents\": \"Tests a series of expressions returning the <the
n> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profita
ble' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"log
ic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"fun
c-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>]
END\",\"func-tooltip\": \"Performs a logical test and returns an appropriate va
lue\",\"help-contents\": \"Tests a series of expressions returning the <then> va
lue for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable'
ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"]
,\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\":
\"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\
"func-tooltip\": \"Performs a logical test and returns an appropriate value\",\"
help-contents\": \"Tests a series of expressions returning the <then> value for
the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [
Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"funcarg-types\":[],\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"
ENDSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the specified
string ends with the specified substring\",\"help-contents\": \"Returns true if
the string ends with the substring (trailing whitespace is ignored). \\n\\nExamp
le: ENDSWITH(\\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"]

,\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCL


UDE\",\"func-sig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"f
unc-tooltip\": \"Computes an aggregate excluding the specified dimensions if pre
sent in the view.\",\"help-contents\": \"Computes an aggregate excluding the spe
cified dimensions if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number
)\",\"func-tooltip\": \"Returns e raised to the power of a number\",\"help-conte
nts\": \"Returns e raised to the power of the given number. \\n\\nExample: EXP(
5) = e^5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\"
,\"func-tooltip\": \"Returns the position of a substring within a string\",\"hel
p-contents\": \"Returns the position of a substring within a string, or 0 if the
substring isn't found. If the start argument is defined, any instances of subst
ring that appear before the start position are ignored. The first character in t
he string is position 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\")
= 2\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"ha
s-var-args\": false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, subs
tring, occurrence)\",\"func-tooltip\": \"Returns the position of the nth occurre
nce a substring within a string\",\"help-contents\": \"Returns the position of t
he nth occurrence of a substring within a string, or 0 if that occurrence of the
substring isn't found. The first character in the string is position 1. \\n\\nE
xample: FINDNTH(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\
": \"FIRST\",\"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of
rows from to the first row in the partition\",\"help-contents\": \"Returns the
number of rows from the current row to the first row in the partition.\\n\\nExam
ple (current row index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\":
\"{ FIXED [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Comp
utes an aggregate using only the specified dimensions.\",\"help-contents\": \"Co
mputes an aggregate using only the specified dimensions.\",\"func-grps\":[\"agg\
"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-si
g\": \"FLOAT(expression)\",\"func-tooltip\": \"Returns a float from an expressio
n\",\"help-contents\": \"Returns a float given an expression of any type. This f
unction requires unformatted numbers which means exclude commas and other symbol
s. \\n\\nExample: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg
-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\
": \"FLOOR(number)\",\"func-tooltip\": \"Rounds a number to the nearest integer
of equal or lesser value\",\"help-contents\": \"Rounds a number to the nearest i
nteger of equal or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\
":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
FULLNAME\",\"func-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full nam
e for the current user\",\"help-contents\": \"Returns the full name for the curr
ent user. This is the Tableau Server or Tableau Online full name when the user i
s signed in; otherwise it is the local or network full name for the Tableau Desk
top user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tool
tip\": \"Returns the x-coordinate of the nearest hexagonal bin.\",\"help-content
s\": \"Maps an (x,y) coordinate to the x-coordinate of the nearest hexagonal bin
. The bins have side length 1, so the inputs may need to be scaled appropriately
.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-arg
s\": false},{\"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"f
unc-tooltip\": \"Returns the y-coordinate of the nearest hexagonal bin.\",\"help
-contents\": \"Maps an (x,y) coordinate to the y-coordinate of the nearest hexag
onal bin. The bins have side length 1, so the inputs may need to be scaled appro
priately.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has
-var-args\": false},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELS
EIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a
logical test and returns an appropriate value\",\"help-contents\": \"Tests a se
ries of expressions returning the <then> value for the first true <expr>. \\n\\n

Example: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven'


ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args
\": false},{\"name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-t
ooltip\": \"Returns expression1 if not null\",\"help-contents\": \"Returns <expr
1> if it is not null, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit]
, 0)\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"
has-var-args\": false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else,
[unknown])\",\"func-tooltip\": \"Evaluates a Boolean expression and returns one
of two values\",\"help-contents\": \"Checks whether a condition is met, and retu
rns one value if TRUE, another value if FALSE, and an optional third value or NU
LL if unknown. \\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\
":[\"logic\"],\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"hasvar-args\": false},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2
]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate using
the specified dimensions and the view dimensions.\",\"help-contents\": \"Comput
es an aggregate using the specified dimensions and the view dimensions.\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IN
DEX\",\"func-sig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of the cur
rent row in the partition\",\"help-contents\": \"Returns the index of the curren
t row in the partition.\\n\\nExample (for the first row in the partition): INDEX
( ) = 1\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Eval
uates an expression and returns an integer\",\"help-contents\": \"Returns an int
eger given an expression. This function truncates results to the closest integer
toward zero. \\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":
[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\":
\"ISDATE\",\"func-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if
the string is a valid date\",\"help-contents\": \"Returns true if a given string
is a valid date. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grp
s\":[\"str\",\"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\":
false},{\"name\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-too
ltip\": \"Returns true if the current user's full name matches the specified nam
e\",\"help-contents\": \"Returns true if the current user's full name matches th
e specified full name, or false if it does not match. This function uses the Tab
leau Server or Tableau Online full name when the user is signed in; otherwise it
uses the local or network full name for the Tableau Desktop user.\",\"func-grps
\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\"
: \"ISMEMBEROF\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Return
s true if the current user is a member of the specified group\",\"help-contents\
": \"Returns true if the current user is a member of the given group, false othe
rwise. This uses the Tableau Server to resolve group membership if logged on, o
therwise it always returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":
[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNU
LL(expression)\",\"func-tooltip\": \"Returns true if the specified expression is
null\",\"help-contents\": \"Returns true if the expression does not contain val
id data (Null).\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\
"func-sig\": \"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if the curr
ent user's name matches the specified user name\",\"help-contents\": \"Returns t
rue if the current user's username matches the specified username, or false if i
t does not match. This function uses the Tableau Server or Tableau Online userna
me when the user is signed in; otherwise it uses the local or network username f
or the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"lo
cstr\"],\"has-var-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"
func-tooltip\": \"Returns the number of rows to the last row in the partition\",
\"help-contents\": \"Returns the number of rows from the current row to the last
row in the partition.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) =
4\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"
name\": \"LEFT\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"R
eturns the specified number of characters from the start of a string\",\"help-co

ntents\": \"Returns the specified number of characters from the start of the giv
en string. \\n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"funcgrps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},
{\"name\": \"LEN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the
number of characters in a string\",\"help-contents\": \"Returns the number of c
haracters in the given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"
func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"n
ame\": \"LN\",\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natur
al logarithm of a number\",\"help-contents\": \"Returns the natural logarithm of
the given number. Returns Null if the number is less than or equal to 0.\\n\\nE
xample: LN(EXP(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\"
,\"func-tooltip\": \"Returns the logarithm of a number for the given base\",\"he
lp-contents\": \"Returns the logarithm of a number for the given base. If the ba
se value is omitted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: L
OG(256, 2) = 8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],
\"has-var-args\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression
, [offset])\",\"func-tooltip\": \"Returns the value of the expression in a row o
ffset from current row\",\"help-contents\": \"Returns the value of the given exp
ression in a target row, specified as a relative offset from the current row. Us
e FIRST()+n and LAST()-n for a target relative to the first/last rows in the par
tition. If offset is omitted, the Compare To row may be set on the field menu. R
eturns NULL if the target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Pr
ofit]), FIRST( ) + 2) = SUM(Profit) in the third row of the partition\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\"
: false},{\"name\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\":
\"Returns a string in all lowercase characters\",\"help-contents\": \"Converts a
text string to all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \
\\"product\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-varargs\": false},{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-toolt
ip\": \"Returns a string with leading spaces removed\",\"help-contents\": \"Retu
rns the string with any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\
\\") = \\\"Sales\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"ha
s-var-args\": false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, mont
h, day)\",\"func-tooltip\": \"Returns a date value constructed from a year, a mo
nth and a day of the month.\",\"help-contents\": \"Returns a date value construc
ted from a year, a month and a day of the month. \\n\\nExample: MAKEDATE( 2014,
3, 18 )\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\":
\"MAKEDATETIME(date, time)\",\"func-tooltip\": \"Returns a datetime by combining
a date and a time\",\"help-contents\": \"Returns a date and time value given a
date expression and a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#
, #07:59:00#)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime
\"],\"has-var-args\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(ho
ur, minute, second)\",\"func-tooltip\": \"Returns a time value constructed from
hours, minutes and seconds.\",\"help-contents\": \"Returns a time value construc
ted from hours, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"
func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],
\"has-var-args\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or M
AX(expr1, expr2)\",\"func-tooltip\": \"Returns the maximum of an expression\",\"
help-contents\": \"Returns the maximum of a single expression across all records
or the maximum of two expressions for each record. \\n\\nExample: MAX([Sales])
\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\"
:[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\"
: \"MEDIAN(expression)\",\"func-tooltip\": \"Returns the median of an expression
\",\"help-contents\": \"Returns the median of a single expression. MEDIAN can be
used with numeric fields only. Null values are ignored.\\n\\nExample: MEDIAN([P
rofit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"functooltip\": \"Returns the characters from the middle of a text string\",\"help-co

ntents\": \"Returns the characters from the middle of a text string given a star
ting position and a length. The first character in the string is position 1. If
the length is not included, all characters to the end of the string are returned
. If the length is included, up to that many characters are returned. \\n\\nExam
ple: MID(\\\"Tableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"T
ableau Software\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"f
unc-sig\": \"MIN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns
the minimum of an expression\",\"help-contents\": \"Returns the minimum of an ex
pression across all records or the minimum of two expressions for each record.
\\n\\nExample: MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\"
,\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"nam
e\": \"MONTH\",\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the mon
th part of the specified date as an integer\",\"help-contents\": \"Returns the m
onth of a given date as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"
func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false
},{\"name\": \"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tool
tip\": \"Performs logical negation on an expression\",\"help-contents\": \"Perfo
rms logical negation on an expression\",\"func-grps\":[\"logic\"],\"func-arg-typ
es\":[],\"has-var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"fu
nc-tooltip\": \"Returns the current date and time\",\"help-contents\": \"Returns
the current date and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"fu
nc-grps\":[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \
"OR\",\"func-sig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\":
\"Performs a logical disjunction on two expressions\",\"help-contents\": \"Perfo
rms a logical disjunction on two expressions\",\"func-grps\":[\"logic\"],\"funcarg-types\":[],\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\":
\"PERCENTILE(expression, number)\",\"func-tooltip\": \"Returns the percentile va
lue at the specified number\",\"help-contents\": \"Aggregate calculation that re
turns the percentile value from the given expression corresponding to the specif
ied number. Valid values for the number are 0 through 1. PERCENTILE([expression]
, 0.50) will always return the median value in the expression.\\n\\nExample: PER
CENTILE([Sales], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"
locreal\"],\"has-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"f
unc-tooltip\": \"Returns the numeric constant pi\",\"help-contents\": \"Returns
the numeric constant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[
\"num\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"f
unc-sig\": \"POWER(number,power)\",\"func-tooltip\": \"Raises the number to the
specified power\",\"help-contents\": \"Returns the result of a number raised to
the given power. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],
\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PRE
VIOUS_VALUE\",\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"R
eturns the value of this calculation in the previous row\",\"help-contents\": \"
Returns the value of this calculation in the previous row. Returns the given exp
ression if the current row is the first row of the partition.\\n\\nExample: SUM(
[Profit]) + PREVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]
) * PREVIOUS_VALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\
"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIAN
S\",\"func-sig\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a number in d
egrees to radians\",\"help-contents\": \"Converts a number in degrees to radians
.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func
-tooltip\": \"Returns the competition rank for the current partition row\",\"hel
p-contents\": \"Returns the standard competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'a
sc' | 'desc' argument to specify ascending or descending order. The default orde
r is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (1, 2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var
-args\": false},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression,

['asc'|'desc'])\",\"func-tooltip\": \"Returns the dense rank for the current pa


rtition row\",\"help-contents\": \"Returns the dense rank for the current row in
the partition. Identical values are assigned an identical rank, but no gaps are
inserted into the number sequence. Use the optional 'asc' | 'desc' argument to
specify ascending or descending order. The default order is descending.\\n\\nWit
h this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in
ascending order.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"nam
e\": \"RANK_MODIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])
\",\"func-tooltip\": \"Returns the modified competition rank for the current par
tition row\",\"help-contents\": \"Returns the modified competition rank for the
current row in the partition. Identical values are assigned an identical rank. U
se the optional 'asc' | 'desc' argument to specify ascending or descending order
. The default order is descending.\\n\\nWith this function, the set of values (6
, 9, 9, 14) would be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_
MODIFIED(AVG([Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"inte
ger\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func
-sig\": \"RANK_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retu
rns the percentile rank for the current partition row\",\"help-contents\": \"Ret
urns the percentile rank for the current row in the partition. Use the optional
'asc' | 'desc' argument to specify ascending or descending order. The default or
der is ascending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (25, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(A
VG([Test Score]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"
locstr\"],\"has-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RA
NK_UNIQUE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique r
ank for the current partition row\",\"help-contents\": \"Returns the unique rank
for the current row in the partition. Identical values are assigned different r
anks. Use the optional 'asc' | 'desc' argument to specify ascending or descendin
g order. The default order is descending.\\n\\nWith this function, the set of va
lues (6, 9, 9, 14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample
: RANK_UNIQUE() = 1 for the first row in the partition\",\"func-grps\":[\"table\
"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\
": \"REGEXP_EXTRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-t
ooltip\": \"Returns the portion of a string matching the capturing group in a re
gular expression\",\"help-contents\": \"Returns a substring of the given string
that matches the capturing group within the regular expression pattern. The reg
ular expression pattern requires exactly one capturing group. \\n\\nExample: REG
EXP_EXTRACT('abc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGE
XP_EXTRACT_NTH\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"
func-tooltip\": \"Returns a substring of a string using a regular expression pat
tern\",\"help-contents\": \"Returns a substring of the given string using the re
gular expression pattern. The substring is matched to the nth capturing group,
where n is the given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]
+)\\\\s+(\\\\d+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"st
r\",\"str\",\"locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"f
unc-sig\": \"REGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if
a string matches a regular expression\",\"help-contents\": \"Returns true if a
substring of the provided string matches the regular expression pattern. \\n\\nE
xample: REGEXP_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\
w*\\\\s*\\\\])') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"
str\"],\"has-var-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"RE
GEXP_REPLACE(string, pattern, replacement)\",\"func-tooltip\": \"Returns a strin
g where substrings matching a regular expression are replaced\",\"help-contents\
": \"Returns a copy of the given string where the matching pattern is substitute
d with the replacement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s'
, '-') = 'abc--123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\
",\"str\"],\"has-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLA
CE(string, substring, replacement)\",\"func-tooltip\": \"Replaces all instances

of a substring within a string\",\"help-contents\": \"Returns a string in which


every occurrence of the substring is replaced with the replacement string. If th
e substring is not found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Ca
lculation\\\", \\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"
name\": \"RIGHT\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \
"Returns the specified number of characters from the end of a string\",\"help-co
ntents\": \"Returns the specified number of characters from the end of the given
string. \\n\\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{
\"name\": \"ROUND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\"
: \"Rounds a number to the specified number of places\",\"help-contents\": \"Rou
nds a number to the nearest integer or to a specified number of decimal places.
\\n\\nExample: ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types
\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\
": \"RTRIM(string)\",\"func-tooltip\": \"Returns a string with trailing spaces r
emoved\",\"help-contents\": \"Returns the string with any trailing spaces remove
d. \\n\\nExample: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_
AVG\",\"func-sig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the
running average of an expression\",\"help-contents\": \"Returns the running aver
age of the given expression, from the first row in the partition to the current
row.\\n\\nExample: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"fun
c-tooltip\": \"Returns the running count of an expression\",\"help-contents\": \
"Returns the running count of the given expression, from the first row in the pa
rtition to the current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running
count of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(
expression)\",\"func-tooltip\": \"Returns the running maximum of an expression\"
,\"help-contents\": \"Returns the running maximum of the given expression, from
the first row in the partition to the current row.\\n\\nExample: RUNNING_MAX(MAX
([Profit])) = running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit]))
= running maximum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\":
\"RUNNING_MIN(expression)\",\"func-tooltip\": \"Returns the running minimum of
an expression\",\"help-contents\": \"Returns the running minimum of the given ex
pression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_MIN(MIN([Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN
(SUM([Profit])) = running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"f
unc-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\
",\"func-sig\": \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the runn
ing sum of an expression\",\"help-contents\": \"Returns the running sum of the g
iven expression, from the first row in the partition to the current row.\\n\\nEx
ample: RUNNING_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_
SUM(COUNT([Profit])) = running count of Profit\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",
\"func-sig\": \"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Retur
ns a Boolean result from an R expression\",\"help-contents\": \"Returns a Boolea
n result from a given R expression. The R expression is passed directly to a run
ning Rserve instance. Use .arg# in the R expression to reference parameters. In
the following example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BO
OL(\\\"is.finite(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-si
g\": \"SCRIPT_INT(string, expression, ...)\",\"func-tooltip\": \"Returns an inte
ger result from an R expression\",\"help-contents\": \"Returns an integer result
from a given R expression. The R expression is passed directly to a running Rse
rve instance. Use .arg# in the R expression to reference parameters. In the foll
owing example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as

.integer(.arg1 * 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-t


ypes\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\"
: \"SCRIPT_REAL(string, expression, ...)\",\"func-tooltip\": \"Returns a numeric
result from an R expression\",\"help-contents\": \"Returns a numeric result fro
m a given R expression. The R expression is passed directly to a running Rserve
instance. Use .arg# in the R expression to reference parameters. In the followin
g example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1
* 0.5\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str
\"],\"has-var-args\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR
(string, expression, ...)\",\"func-tooltip\": \"Returns a string result from an
R expression\",\"help-contents\": \"Returns a string result from a given R expre
ssion. The R expression is passed directly to a running Rserve instance. Use .ar
g# in the R expression to reference parameters. In the following example, .arg1
is equal to ATTR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\
", ATTR([Region]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"ha
s-var-args\": true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-to
oltip\": \"Returns 1 for a positive number\",\"help-contents\": \"Returns the si
gn of a number: 1 if the number is positive, zero if the number is zero, or -1 i
f the number is negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"]
,\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"fun
c-sig\": \"SIN(angle)\",\"func-tooltip\": \"Returns the sine of a number\",\"hel
p-contents\": \"Returns the sine of an angle. Specify the angle in radians.\\n\\
nExample: SIN(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-t
ypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"S
IZE()\",\"func-tooltip\": \"Returns the number of rows in the partition\",\"help
-contents\": \"Returns the number of rows in the partition.\\n\\nExample (partit
ion has 5 rows):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[]
,\"has-var-args\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\
"func-tooltip\": \"Returns a string containing the specified number of spaces\",
\"help-contents\": \"Returns a string composed of the specified number of repeat
ed spaces. \\n\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig
\": \"SPLIT(string, delimiter, token number)\",\"func-tooltip\": \"Extracts a su
bstring from a string\",\"help-contents\": \"Returns a substring from a string,
as determined by a delimiter extracting the characters from the beginning or end
of the string. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPL
IT('a-b-c-d', '-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str
\",\"locstr\",\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-si
g\": \"SQRT(number)\",\"func-tooltip\": \"Returns the square root of a number\",
\"help-contents\": \"Returns the square root of a number. \\n\\nExample: SQRT(25
) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\":
\"Returns the square of a number\",\"help-contents\": \"Returns the square of a
given number. \\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-si
g\": \"STARTSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the s
pecified string starts with the specified substring\",\"help-contents\": \"Retur
ns true if the string starts with the substring. \\n\\nExample: STARTSWITH(\\\"C
alculation\\\", \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \
"STDEV(expression)\",\"func-tooltip\": \"Returns the sample standard deviation f
or an expression\",\"help-contents\": \"Returns the sample standard deviation of
the expression.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig
\": \"STDEVP(expression)\",\"func-tooltip\": \"Returns the population standard d
eviation for an expression\",\"help-contents\": \"Returns the population standar
d deviation of the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\
",\"func-sig\": \"STR(expression)\",\"func-tooltip\": \"Returns an expression as
a string\",\"help-contents\": \"Returns a string given an expression. \\n\\nEx

ample: STR([Age]) returns all of the values of the Age measure as strings.\",\"f
unc-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},
{\"name\": \"SUM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns
the sum of values in an expression\",\"help-contents\": \"Returns the sum of al
l the values in the expression. SUM can be used with numeric fields only. Null v
alues are ignored.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\":
\"TAN(angle)\",\"func-tooltip\": \"Returns the tangent of an angle specified in
radians\",\"help-contents\": \"Returns the tangent of an angle. Specify the ang
le in radians.\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\"
: \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",
\"func-tooltip\": \"Performs a logical test and returns an appropriate value\",\
"help-contents\": \"Tests a series of expressions returning the <then> value for
the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF
[Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func
-arg-types\":[],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TO
DAY()\",\"func-tooltip\": \"Returns the current date\",\"help-contents\": \"Retu
rns the current date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"da
te\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func
-sig\": \"TOTAL(expression)\",\"func-tooltip\": \"Returns the total for an expre
ssion within the partition\",\"help-contents\": \"Returns the total for the give
n expression.\\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database
rows that contribute to the partition\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"
TRIM(string)\",\"func-tooltip\": \"Returns a string with leading and trailing sp
aces removed\",\"help-contents\": \"Returns the string with both leading and tra
iling spaces removed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",
\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\
"name\": \"UPPER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a
string in all uppercase characters\",\"help-contents\": \"Converts a text strin
g to all uppercase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\
\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fal
se},{\"name\": \"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \
"Returns the domain for the current user\",\"help-contents\": \"Returns the doma
in for the current user when the user is signed on to Tableau Server. Returns th
e Windows domain if the Tableau Desktop user is on a domain. Otherwise this func
tion returns a null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"fun
c-tooltip\": \"Returns the user name for the current user\",\"help-contents\": \
"Returns the username for the current user. This is the Tableau Server or Tablea
u Online username when the user is signed in; otherwise it is the local or netwo
rk username for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expre
ssion)\",\"func-tooltip\": \"Returns the sample variance for an expression\",\"h
elp-contents\": \"Returns the sample variance of the expression.\\n\\nExample: V
AR([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tool
tip\": \"Returns the population variance for an expression\",\"help-contents\":
\"Returns the population variance of the expression.\\n\\nExample: VARP([Profit]
)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1>
... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns t
he appropriate value\",\"help-contents\": \"Finds the first <value> that matches
<expr> and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumera
l] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps
\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDO
W_AVG\",\"func-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\":
\"Returns the average of the values within the window\",\"help-contents\": \"Re
turns the average of the expression within the window. The window is defined as

offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the f
irst or last row in the partition. If start and end are omitted, the entire par
tition is used.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(
Profit) from the two previous rows to the current row\",\"func-grps\":[\"table\"
],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false}
,{\"name\": \"WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, en
d])\",\"func-tooltip\": \"Returns the number of items within the window\",\"help
-contents\": \"Returns the count of the expression within the window. The windo
w is defined as offsets from the current row. Use FIRST()+n and LAST()-n for off
sets from the first or last row in the partition. If start and end are omitted,
the entire partition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0)
= count of SUM(Profit) from the two previous rows to the current row\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var
-args\": false},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression,
[start, end])\",\"func-tooltip\": \"Returns the maximum within the window\",\"h
elp-contents\": \"Returns the maximum of the expression within the window. The
window is defined as offsets from the current row. Use FIRST()+n and LAST()-n fo
r offsets from the first or last row in the partition. If start and end are omi
tted, the entire partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2,
0) = maximum of Profit from the two previous rows to the current row\\n\\nExampl
e: WINDOW_MAX(SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two previo
us rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"int
eger\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MED
IAN\",\"func-sig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\"
: \"Returns the median within the window\",\"help-contents\": \"Returns the medi
an of the expression within the window. The window is defined as offsets from t
he current row. Use FIRST()+n and LAST()-n for offsets from the first or last ro
w in the partition. If start and end are omitted, the entire partition is used.
\\n\\nExample: WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from
the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-argtypes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \
"WINDOW_MIN\",\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tool
tip\": \"Returns the minimum within the window\",\"help-contents\": \"Returns th
e minimum of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition i
s used.\\n\\nExample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from
the two previous rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]),
-2, 0) = minimum of SUM(Profit) from the two previous rows to the current row\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer
\"],\"has-var-args\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WI
NDOW_PERCENTILE(expression, number, [start, end])\",\"func-tooltip\": \"Returns
the percentile value at the specified number\",\"help-contents\": \"Returns the
value corresponding to the specified percentile within the window. The window i
s defined as offsets from the current row. Use FIRST()+n and LAST()-n for offset
s from the first or last row in the partition. If start and end are omitted, th
e entire partition is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75,
-2., 0)) = 75th percentile of SUM(Profit) from the two previous rows to the cu
rrent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"f
unc-sig\": \"WINDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Return
s the sample standard deviation within the window\",\"help-contents\": \"Returns
the sample standard deviation of the expression within the window. The window
is defined as offsets from the current row. Use FIRST()+n and LAST()-n for offse
ts from the first or last row in the partition. If start and end are omitted, t
he entire partition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) =
std. dev. of SUM(Profit) from the two previous rows to the current row\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-v
ar-args\": false},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(exp
ression, [start, end])\",\"func-tooltip\": \"Returns the population standard dev

iation within the window\",\"help-contents\": \"Returns the population standard


deviation of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition i
s used.\\n\\nExample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Pro
fit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\
"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"WINDOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\
"func-tooltip\": \"Returns the sum of values within the window\",\"help-contents
\": \"Returns the sum of the expression within the window. The window is define
d as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from t
he first or last row in the partition. If start and end are omitted, the entire
partition is used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(
Profit) from the two previous rows to the current row\",\"func-grps\":[\"table\"
],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end
])\",\"func-tooltip\": \"Returns the sample variance within the window\",\"helpcontents\": \"Returns the sample variance of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST()n for offsets from the first or last row in the partition. If start and end are
omitted, the entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]),
-2, 0) = variance of SUM(Profit) from the two previous rows to the current row\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"]
,\"has-var-args\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP
(expression, [start, end])\",\"func-tooltip\": \"Returns the population variance
within the window\",\"help-contents\": \"Returns the population variance of the
expression within the window. The window is defined as offsets from the curren
t row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the
partition. If start and end are omitted, the entire partition is used.\\n\\nExa
mple: WINDOW_VARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two p
revious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\
"func-sig\": \"YEAR(date)\",\"func-tooltip\": \"Returns the year of the specifie
d date as an integer\",\"help-contents\": \"Returns the year of a given date as
an integer. \\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"]
,\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"
func-sig\": \"ZN(expression)\",\"func-tooltip\": \"Returns the expression if it
is not null\",\"help-contents\": \"Returns <expression> if it is not null, other
wise returns zero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic
\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false}]},\"calculation-co
ntext\": \"calculation-dialog\",\"use-parameters\": true} position=\"2\"","name"
:"tabdoc:calculation-auto-complete"}}
{"ts":"2016-09-29T17:01:57.030","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{f\" calc
ulation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calcula
tion-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculation_5489888009
460379650\",\"scope-isolation\": true,\"calculation-formula\": \"\",\"fn\": \"\"
,\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"folder-name\": \"\",\"
add-to-folder\": false,\"folder-role\": \"dimensions\",\"has-table-calc-data\":
false,\"table-calc-types-used\": 0,\"style-token-list\":[],\"error-string\": \"\
",\"error-info-list\":[],\"expression-func-pm\":{\"expression-func-list\":[{\"na
me\": \"ABS\",\"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the abso
lute value of a number\",\"help-contents\": \"Returns the absolute value of the
given number. \\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-ty
pes\":[\"real\"],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"AC
OS(number)\",\"func-tooltip\": \"Returns the arc cosine of a number\",\"help-con
tents\": \"Returns the arc cosine of a number. The result is in radians. \\n\\n
Example: ACOS(-1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <exp

r1> AND <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical conjunc


tion on two expressions\",\"help-contents\": \"Performs a logical conjunction on
two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-arg
s\": false},{\"name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\
": \"Returns the ASCII code for the first character in a string\",\"help-content
s\": \"Returns the ASCII code value of the first character in a string. \\n\\nEx
ample: ASCII(\\\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":
[\"str\"],\"has-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(numb
er)\",\"func-tooltip\": \"Returns the arc sine of a number\",\"help-contents\":
\"Returns the arc sine of a number. The result is in radians. \\n\\nExample: AS
IN(1) = 1.5707963267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"fu
nc-tooltip\": \"Returns the arc tangent of a number\",\"help-contents\": \"Retur
ns the arc tangent of a number. The result is in radians. \\n\\nExample: ATAN(
180) = 1.5652408283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x n
umber)\",\"func-tooltip\": \"Returns the arc tangent of two numbers\",\"help-con
tents\": \"Returns the arc tangent of two given numbers (x and y). The result is
in radians. \\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"n
um\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\":
\"ATTR\",\"func-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the val
ue of the expression if it has one value for all rows\",\"help-contents\": \"Ret
urns the value of the given expression if it only has a single value for all row
s in the group, otherwise it displays an asterisk (*). Null values are ignored.\
\n\\nExample: ATTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"int
eger\"],\"has-var-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expressi
on)\",\"func-tooltip\": \"Returns the average of the values in the expression\",
\"help-contents\": \"Returns the average of all the values in the expression. AV
G can be used with numeric fields only. Null values are ignored.\\n\\nExample: A
VG([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN
<return1> ... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests an
d returns the appropriate value\",\"help-contents\": \"Finds the first <value> t
hat matches <expr> and returns the corresponding <return>. \\n\\nExample: CASE [
RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"CEILING\",\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a n
umber to the nearest integer of equal or greater value\",\"help-contents\": \"Ro
unds a number to the nearest integer of equal or greater value. \\n\\nExample: C
EILING(3.1415) = 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has
-var-args\": false},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-t
ooltip\": \"Converts an integer ASCII code into a character\",\"help-contents\":
\"Converts the given integer ASCII code into a character. \\n\\nExample: CHAR(6
5) = 'A'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",
\"func-tooltip\": \"Returns true if a string contains the specified substring\",
\"help-contents\": \"Returns true if the string contains the substring. \\n\\nEx
ample: CONTAINS(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"
COS\",\"func-sig\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an
angle specified in radians\",\"help-contents\": \"Returns the cosine of an angle
. Specify the angle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",
\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{
\"name\": \"COT\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the c
otangent of an angle specified in radians\",\"help-contents\": \"Returns the cot
angent of an angle. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\
",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false}
,{\"name\": \"COUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Re
turns the number of items in the expression\",\"help-contents\": \"Returns the n
umber of items in a group. NULL values are not counted.\\n\\nExample: COUNT([Cus

tomer ID])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-varargs\": false},{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func


-tooltip\": \"Returns the number of distinct items in the expression\",\"help-co
ntents\": \"Returns the number of distinct items in a group. NULL values are not
counted. Each unique value is counted only once.\\n\\nExample: COUNTD([Region]
)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": f
alse},{\"name\": \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \
"Returns a date from a number\",\"help-contents\": \"Returns a date given a numb
er, string, or date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") =
2006-06-15 \\nNote that the quotation marks are required.\",\"func-grps\":[\"ca
st\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD
\",\"func-sig\": \"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Retu
rns the specified date incremented by the specified amount\",\"help-contents\":
\"Adds an increment to the specified date and returns the new date. The incremen
t is defined by the interval and the date_part. \\n\\nExample: DATEADD('month',
3, #2004-04-15#) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-argtypes\":[\"locstr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\"
: \"DATEDIFF\",\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_
of_week])\",\"func-tooltip\": \"Returns the difference between two dates\",\"hel
p-contents\": \"Returns the difference between two dates where start_date is sub
tracted from end_date. The difference is expressed in units of date_part. If sta
rt_of_week is omitted, the week start day is determined by the start day configu
red for the data source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-0403#, 'sunday') = -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"
datetime\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENA
ME\",\"func-sig\": \"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip
\": \"Returns a part of the specified date as a string\",\"help-contents\": \"Re
turns a part of the given date as a string, where the part is defined by date_pa
rt. If start_of_week is omitted, the week start day is determined by the start d
ay configured for the data source.\\n\\nExample: DATENAME('month', #2004-04-15#)
= \\\"April\\\"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"dat
etime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig
\": \"DATEPARSE(format, string)\",\"func-tooltip\": \"Converts a string to a dat
e\",\"help-contents\": \"Converts a string to a date in the specified format. \\
n\\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-1
5 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"]
,\"has-var-args\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_
part, date, [start_of_week])\",\"func-tooltip\": \"Returns the specified part of
a date as an integer\",\"help-contents\": \"Returns a part of the given date as
an integer where the part is defined by date_part. If start_of_week is omitted,
the week start day is determined by the start day configured for the data sourc
e.\\n\\nExample: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],
\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false}
,{\"name\": \"DATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\"
: \"Returns a datetime from a number\",\"help-contents\": \"Returns a datetime g
iven a number, string, or date expression. \\n\\nExample: DATETIME(\\\"April 15
, 2004 07:59:00\\\") \\nNote that the quotation marks are required.\",\"func-gr
ps\":[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"DATETRUNC\",\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"f
unc-tooltip\": \"Truncates the specified date to the specified accuracy\",\"help
-contents\": \"Truncates the specified date to the accuracy specified by the dat
e_part and returns the new date. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DA
TETRUNC('quarter', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"dat
e\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": f
alse},{\"name\": \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns
the day part of the specified date as an integer\",\"help-contents\": \"Returns
the day of the given date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12
\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\":
false},{\"name\": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\"

: \"Converts a value in radians to degrees\",\"help-contents\": \"Converts a num


ber in radians to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DI
V\",\"func-sig\": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the inte
ger part of a division operation\",\"help-contents\": \"Returns the integer part
of a division.\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\"
,\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <
else>] END\",\"func-tooltip\": \"Performs a logical test and returns an appropri
ate value\",\"help-contents\": \"Tests a series of expressions returning the <th
en> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profit
able' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"lo
gic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"fu
nc-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>
] END\",\"func-tooltip\": \"Performs a logical test and returns an appropriate v
alue\",\"help-contents\": \"Tests a series of expressions returning the <then> v
alue for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable'
ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"
],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\"
: \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",
\"func-tooltip\": \"Performs a logical test and returns an appropriate value\",\
"help-contents\": \"Tests a series of expressions returning the <then> value for
the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF
[Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func
-arg-types\":[],\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \
"ENDSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the specified
string ends with the specified substring\",\"help-contents\": \"Returns true if
the string ends with the substring (trailing whitespace is ignored). \\n\\nExam
ple: ENDSWITH(\\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"
],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXC
LUDE\",\"func-sig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"
func-tooltip\": \"Computes an aggregate excluding the specified dimensions if pr
esent in the view.\",\"help-contents\": \"Computes an aggregate excluding the sp
ecified dimensions if present in the view.\",\"func-grps\":[\"agg\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(numbe
r)\",\"func-tooltip\": \"Returns e raised to the power of a number\",\"help-cont
ents\": \"Returns e raised to the power of the given number. \\n\\nExample: EXP
(5) = e^5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args
\": false},{\"name\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\
",\"func-tooltip\": \"Returns the position of a substring within a string\",\"he
lp-contents\": \"Returns the position of a substring within a string, or 0 if th
e substring isn't found. If the start argument is defined, any instances of subs
tring that appear before the start position are ignored. The first character in
the string is position 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\")
= 2\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"h
as-var-args\": false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, sub
string, occurrence)\",\"func-tooltip\": \"Returns the position of the nth occurr
ence a substring within a string\",\"help-contents\": \"Returns the position of
the nth occurrence of a substring within a string, or 0 if that occurrence of th
e substring isn't found. The first character in the string is position 1. \\n\\n
Example: FINDNTH(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"
],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name
\": \"FIRST\",\"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number o
f rows from to the first row in the partition\",\"help-contents\": \"Returns the
number of rows from the current row to the first row in the partition.\\n\\nExa
mple (current row index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\"
: \"{ FIXED [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Com
putes an aggregate using only the specified dimensions.\",\"help-contents\": \"C
omputes an aggregate using only the specified dimensions.\",\"func-grps\":[\"agg

\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-s


ig\": \"FLOAT(expression)\",\"func-tooltip\": \"Returns a float from an expressi
on\",\"help-contents\": \"Returns a float given an expression of any type. This
function requires unformatted numbers which means exclude commas and other symbo
ls. \\n\\nExample: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-ar
g-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig
\": \"FLOOR(number)\",\"func-tooltip\": \"Rounds a number to the nearest integer
of equal or lesser value\",\"help-contents\": \"Rounds a number to the nearest
integer of equal or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"FULLNAME\",\"func-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full na
me for the current user\",\"help-contents\": \"Returns the full name for the cur
rent user. This is the Tableau Server or Tableau Online full name when the user
is signed in; otherwise it is the local or network full name for the Tableau Des
ktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fa
lse},{\"name\": \"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-too
ltip\": \"Returns the x-coordinate of the nearest hexagonal bin.\",\"help-conten
ts\": \"Maps an (x,y) coordinate to the x-coordinate of the nearest hexagonal bi
n. The bins have side length 1, so the inputs may need to be scaled appropriatel
y.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-ar
gs\": false},{\"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"
func-tooltip\": \"Returns the y-coordinate of the nearest hexagonal bin.\",\"hel
p-contents\": \"Maps an (x,y) coordinate to the y-coordinate of the nearest hexa
gonal bin. The bins have side length 1, so the inputs may need to be scaled appr
opriately.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"ha
s-var-args\": false},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [EL
SEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs
a logical test and returns an appropriate value\",\"help-contents\": \"Tests a s
eries of expressions returning the <then> value for the first true <expr>. \\n\\
nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven'
ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-arg
s\": false},{\"name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"functooltip\": \"Returns expression1 if not null\",\"help-contents\": \"Returns <exp
r1> if it is not null, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit
], 0)\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\
"has-var-args\": false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else,
[unknown])\",\"func-tooltip\": \"Evaluates a Boolean expression and returns one
of two values\",\"help-contents\": \"Checks whether a condition is met, and ret
urns one value if TRUE, another value if FALSE, and an optional third value or N
ULL if unknown. \\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps
\":[\"logic\"],\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has
-var-args\": false},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim
2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate usin
g the specified dimensions and the view dimensions.\",\"help-contents\": \"Compu
tes an aggregate using the specified dimensions and the view dimensions.\",\"fun
c-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"I
NDEX\",\"func-sig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of the cu
rrent row in the partition\",\"help-contents\": \"Returns the index of the curre
nt row in the partition.\\n\\nExample (for the first row in the partition): INDE
X( ) = 1\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Eva
luates an expression and returns an integer\",\"help-contents\": \"Returns an in
teger given an expression. This function truncates results to the closest intege
r toward zero. \\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\"
:[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\":
\"ISDATE\",\"func-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if
the string is a valid date\",\"help-contents\": \"Returns true if a given strin
g is a valid date. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-gr
ps\":[\"str\",\"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\":
false},{\"name\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-to

oltip\": \"Returns true if the current user's full name matches the specified na
me\",\"help-contents\": \"Returns true if the current user's full name matches t
he specified full name, or false if it does not match. This function uses the Ta
bleau Server or Tableau Online full name when the user is signed in; otherwise i
t uses the local or network full name for the Tableau Desktop user.\",\"func-grp
s\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\
": \"ISMEMBEROF\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Retur
ns true if the current user is a member of the specified group\",\"help-contents
\": \"Returns true if the current user is a member of the given group, false oth
erwise. This uses the Tableau Server to resolve group membership if logged on,
otherwise it always returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\"
:[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISN
ULL(expression)\",\"func-tooltip\": \"Returns true if the specified expression i
s null\",\"help-contents\": \"Returns true if the expression does not contain va
lid data (Null).\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",
\"func-sig\": \"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if the cur
rent user's name matches the specified user name\",\"help-contents\": \"Returns
true if the current user's username matches the specified username, or false if
it does not match. This function uses the Tableau Server or Tableau Online usern
ame when the user is signed in; otherwise it uses the local or network username
for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"l
ocstr\"],\"has-var-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\
"func-tooltip\": \"Returns the number of rows to the last row in the partition\"
,\"help-contents\": \"Returns the number of rows from the current row to the las
t row in the partition.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) =
4\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\
"name\": \"LEFT\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"
Returns the specified number of characters from the start of a string\",\"help-c
ontents\": \"Returns the specified number of characters from the start of the gi
ven string. \\n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func
-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false}
,{\"name\": \"LEN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns th
e number of characters in a string\",\"help-contents\": \"Returns the number of
characters in the given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"
name\": \"LN\",\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natu
ral logarithm of a number\",\"help-contents\": \"Returns the natural logarithm o
f the given number. Returns Null if the number is less than or equal to 0.\\n\\n
Example: LN(EXP(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\
",\"func-tooltip\": \"Returns the logarithm of a number for the given base\",\"h
elp-contents\": \"Returns the logarithm of a number for the given base. If the b
ase value is omitted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample:
LOG(256, 2) = 8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"]
,\"has-var-args\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expressio
n, [offset])\",\"func-tooltip\": \"Returns the value of the expression in a row
offset from current row\",\"help-contents\": \"Returns the value of the given ex
pression in a target row, specified as a relative offset from the current row. U
se FIRST()+n and LAST()-n for a target relative to the first/last rows in the pa
rtition. If offset is omitted, the Compare To row may be set on the field menu.
Returns NULL if the target row cannot be determined.\\n\\nExample: LOOKUP(SUM([P
rofit]), FIRST( ) + 2) = SUM(Profit) in the third row of the partition\",\"func
-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\
": false},{\"name\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\":
\"Returns a string in all lowercase characters\",\"help-contents\": \"Converts
a text string to all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") =
\\\"product\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var
-args\": false},{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tool
tip\": \"Returns a string with leading spaces removed\",\"help-contents\": \"Ret

urns the string with any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales
\\\") = \\\"Sales\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"h
as-var-args\": false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, mon
th, day)\",\"func-tooltip\": \"Returns a date value constructed from a year, a m
onth and a day of the month.\",\"help-contents\": \"Returns a date value constru
cted from a year, a month and a day of the month. \\n\\nExample: MAKEDATE( 2014
, 3, 18 )\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\"
,\"integer\"],\"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\":
\"MAKEDATETIME(date, time)\",\"func-tooltip\": \"Returns a datetime by combinin
g a date and a time\",\"help-contents\": \"Returns a date and time value given a
date expression and a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12
#, #07:59:00#)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetim
e\"],\"has-var-args\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(h
our, minute, second)\",\"func-tooltip\": \"Returns a time value constructed from
hours, minutes and seconds.\",\"help-contents\": \"Returns a time value constru
cted from hours, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\
"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"]
,\"has-var-args\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or
MAX(expr1, expr2)\",\"func-tooltip\": \"Returns the maximum of an expression\",\
"help-contents\": \"Returns the maximum of a single expression across all record
s or the maximum of two expressions for each record. \\n\\nExample: MAX([Sales]
)\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\
":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\
": \"MEDIAN(expression)\",\"func-tooltip\": \"Returns the median of an expressio
n\",\"help-contents\": \"Returns the median of a single expression. MEDIAN can b
e used with numeric fields only. Null values are ignored.\\n\\nExample: MEDIAN([
Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func
-tooltip\": \"Returns the characters from the middle of a text string\",\"help-c
ontents\": \"Returns the characters from the middle of a text string given a sta
rting position and a length. The first character in the string is position 1. If
the length is not included, all characters to the end of the string are returne
d. If the length is included, up to that many characters are returned. \\n\\nExa
mple: MID(\\\"Tableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"
Tableau Software\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"
func-sig\": \"MIN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns
the minimum of an expression\",\"help-contents\": \"Returns the minimum of an e
xpression across all records or the minimum of two expressions for each record.
\\n\\nExample: MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\
",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"na
me\": \"MONTH\",\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the mo
nth part of the specified date as an integer\",\"help-contents\": \"Returns the
month of a given date as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\
"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": fals
e},{\"name\": \"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-too
ltip\": \"Performs logical negation on an expression\",\"help-contents\": \"Perf
orms logical negation on an expression\",\"func-grps\":[\"logic\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"f
unc-tooltip\": \"Returns the current date and time\",\"help-contents\": \"Return
s the current date and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"f
unc-grps\":[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"OR\",\"func-sig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\":
\"Performs a logical disjunction on two expressions\",\"help-contents\": \"Perf
orms a logical disjunction on two expressions\",\"func-grps\":[\"logic\"],\"func
-arg-types\":[],\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\":
\"PERCENTILE(expression, number)\",\"func-tooltip\": \"Returns the percentile v
alue at the specified number\",\"help-contents\": \"Aggregate calculation that r
eturns the percentile value from the given expression corresponding to the speci
fied number. Valid values for the number are 0 through 1. PERCENTILE([expression

], 0.50) will always return the median value in the expression.\\n\\nExample: PE


RCENTILE([Sales], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\
"locreal\"],\"has-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"
func-tooltip\": \"Returns the numeric constant pi\",\"help-contents\": \"Returns
the numeric constant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":
[\"num\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"
func-sig\": \"POWER(number,power)\",\"func-tooltip\": \"Raises the number to the
specified power\",\"help-contents\": \"Returns the result of a number raised to
the given power. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"]
,\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PR
EVIOUS_VALUE\",\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"
Returns the value of this calculation in the previous row\",\"help-contents\": \
"Returns the value of this calculation in the previous row. Returns the given ex
pression if the current row is the first row of the partition.\\n\\nExample: SUM
([Profit]) + PREVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit
]) * PREVIOUS_VALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"table
\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIA
NS\",\"func-sig\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a number in
degrees to radians\",\"help-contents\": \"Converts a number in degrees to radian
s.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"fun
c-tooltip\": \"Returns the competition rank for the current partition row\",\"he
lp-contents\": \"Returns the standard competition rank for the current row in th
e partition. Identical values are assigned an identical rank. Use the optional '
asc' | 'desc' argument to specify ascending or descending order. The default ord
er is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (1, 2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-va
r-args\": false},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression
, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the dense rank for the current p
artition row\",\"help-contents\": \"Returns the dense rank for the current row i
n the partition. Identical values are assigned an identical rank, but no gaps ar
e inserted into the number sequence. Use the optional 'asc' | 'desc' argument to
specify ascending or descending order. The default order is descending.\\n\\nWi
th this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) i
n ascending order.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"tab
le\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"na
me\": \"RANK_MODIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc']
)\",\"func-tooltip\": \"Returns the modified competition rank for the current pa
rtition row\",\"help-contents\": \"Returns the modified competition rank for the
current row in the partition. Identical values are assigned an identical rank.
Use the optional 'asc' | 'desc' argument to specify ascending or descending orde
r. The default order is descending.\\n\\nWith this function, the set of values (
6, 9, 9, 14) would be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK
_MODIFIED(AVG([Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"int
eger\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"fun
c-sig\": \"RANK_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Ret
urns the percentile rank for the current partition row\",\"help-contents\": \"Re
turns the percentile rank for the current row in the partition. Use the optional
'asc' | 'desc' argument to specify ascending or descending order. The default o
rder is ascending.\\n\\nWith this function, the set of values (6, 9, 9, 14) woul
d be ranked (25, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(
AVG([Test Score]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\
"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"R
ANK_UNIQUE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique
rank for the current partition row\",\"help-contents\": \"Returns the unique ran
k for the current row in the partition. Identical values are assigned different
ranks. Use the optional 'asc' | 'desc' argument to specify ascending or descendi
ng order. The default order is descending.\\n\\nWith this function, the set of v
alues (6, 9, 9, 14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExampl

e: RANK_UNIQUE() = 1 for the first row in the partition\",\"func-grps\":[\"table


\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name
\": \"REGEXP_EXTRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"functooltip\": \"Returns the portion of a string matching the capturing group in a r
egular expression\",\"help-contents\": \"Returns a substring of the given string
that matches the capturing group within the regular expression pattern. The re
gular expression pattern requires exactly one capturing group. \\n\\nExample: RE
GEXP_EXTRACT('abc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"
],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REG
EXP_EXTRACT_NTH\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\
"func-tooltip\": \"Returns a substring of a string using a regular expression pa
ttern\",\"help-contents\": \"Returns a substring of the given string using the r
egular expression pattern. The substring is matched to the nth capturing group,
where n is the given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z
]+)\\\\s+(\\\\d+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"s
tr\",\"str\",\"locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"
func-sig\": \"REGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true i
f a string matches a regular expression\",\"help-contents\": \"Returns true if a
substring of the provided string matches the regular expression pattern. \\n\\n
Example: REGEXP_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\
\w*\\\\s*\\\\])') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\
"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"R
EGEXP_REPLACE(string, pattern, replacement)\",\"func-tooltip\": \"Returns a stri
ng where substrings matching a regular expression are replaced\",\"help-contents
\": \"Returns a copy of the given string where the matching pattern is substitut
ed with the replacement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s
', '-') = 'abc--123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str
\",\"str\"],\"has-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPL
ACE(string, substring, replacement)\",\"func-tooltip\": \"Replaces all instances
of a substring within a string\",\"help-contents\": \"Returns a string in which
every occurrence of the substring is replaced with the replacement string. If t
he substring is not found, the string is unchanged. \\n\\nExample: REPLACE(\\\"C
alculation\\\", \\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\
"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\
"name\": \"RIGHT\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\":
\"Returns the specified number of characters from the end of a string\",\"help-c
ontents\": \"Returns the specified number of characters from the end of the give
n string. \\n\\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"funcgrps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},
{\"name\": \"ROUND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\
": \"Rounds a number to the specified number of places\",\"help-contents\": \"Ro
unds a number to the nearest integer or to a specified number of decimal places.
\\n\\nExample: ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-type
s\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig
\": \"RTRIM(string)\",\"func-tooltip\": \"Returns a string with trailing spaces
removed\",\"help-contents\": \"Returns the string with any trailing spaces remov
ed. \\n\\nExample: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING
_AVG\",\"func-sig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the
running average of an expression\",\"help-contents\": \"Returns the running ave
rage of the given expression, from the first row in the partition to the current
row.\\n\\nExample: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"fu
nc-tooltip\": \"Returns the running count of an expression\",\"help-contents\":
\"Returns the running count of the given expression, from the first row in the p
artition to the current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = runnin
g count of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX
(expression)\",\"func-tooltip\": \"Returns the running maximum of an expression\

",\"help-contents\": \"Returns the running maximum of the given expression, from


the first row in the partition to the current row.\\n\\nExample: RUNNING_MAX(MA
X([Profit])) = running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])
) = running maximum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\"
: \"RUNNING_MIN(expression)\",\"func-tooltip\": \"Returns the running minimum of
an expression\",\"help-contents\": \"Returns the running minimum of the given e
xpression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_MIN(MIN([Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MI
N(SUM([Profit])) = running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"
func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM
\",\"func-sig\": \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the run
ning sum of an expression\",\"help-contents\": \"Returns the running sum of the
given expression, from the first row in the partition to the current row.\\n\\nE
xample: RUNNING_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING
_SUM(COUNT([Profit])) = running count of Profit\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\"
,\"func-sig\": \"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Retu
rns a Boolean result from an R expression\",\"help-contents\": \"Returns a Boole
an result from a given R expression. The R expression is passed directly to a ru
nning Rserve instance. Use .arg# in the R expression to reference parameters. In
the following example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_B
OOL(\\\"is.finite(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"funcarg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-s
ig\": \"SCRIPT_INT(string, expression, ...)\",\"func-tooltip\": \"Returns an int
eger result from an R expression\",\"help-contents\": \"Returns an integer resul
t from a given R expression. The R expression is passed directly to a running Rs
erve instance. Use .arg# in the R expression to reference parameters. In the fol
lowing example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"a
s.integer(.arg1 * 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-argtypes\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\
": \"SCRIPT_REAL(string, expression, ...)\",\"func-tooltip\": \"Returns a numeri
c result from an R expression\",\"help-contents\": \"Returns a numeric result fr
om a given R expression. The R expression is passed directly to a running Rserve
instance. Use .arg# in the R expression to reference parameters. In the followi
ng example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg
1 * 0.5\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"st
r\"],\"has-var-args\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_ST
R(string, expression, ...)\",\"func-tooltip\": \"Returns a string result from an
R expression\",\"help-contents\": \"Returns a string result from a given R expr
ession. The R expression is passed directly to a running Rserve instance. Use .a
rg# in the R expression to reference parameters. In the following example, .arg1
is equal to ATTR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\
\", ATTR([Region]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"h
as-var-args\": true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-t
ooltip\": \"Returns 1 for a positive number\",\"help-contents\": \"Returns the s
ign of a number: 1 if the number is positive, zero if the number is zero, or -1
if the number is negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"
],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"fu
nc-sig\": \"SIN(angle)\",\"func-tooltip\": \"Returns the sine of a number\",\"he
lp-contents\": \"Returns the sine of an angle. Specify the angle in radians.\\n\
\nExample: SIN(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"
SIZE()\",\"func-tooltip\": \"Returns the number of rows in the partition\",\"hel
p-contents\": \"Returns the number of rows in the partition.\\n\\nExample (parti
tion has 5 rows):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[
],\"has-var-args\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",
\"func-tooltip\": \"Returns a string containing the specified number of spaces\"
,\"help-contents\": \"Returns a string composed of the specified number of repea
ted spaces. \\n\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"fun

c-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-si


g\": \"SPLIT(string, delimiter, token number)\",\"func-tooltip\": \"Extracts a s
ubstring from a string\",\"help-contents\": \"Returns a substring from a string,
as determined by a delimiter extracting the characters from the beginning or en
d of the string. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SP
LIT('a-b-c-d', '-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"st
r\",\"locstr\",\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-s
ig\": \"SQRT(number)\",\"func-tooltip\": \"Returns the square root of a number\"
,\"help-contents\": \"Returns the square root of a number. \\n\\nExample: SQRT(2
5) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\":
\"Returns the square of a number\",\"help-contents\": \"Returns the square of a
given number. \\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-s
ig\": \"STARTSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the
specified string starts with the specified substring\",\"help-contents\": \"Retu
rns true if the string starts with the substring. \\n\\nExample: STARTSWITH(\\\"
Calculation\\\", \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\":
\"STDEV(expression)\",\"func-tooltip\": \"Returns the sample standard deviation
for an expression\",\"help-contents\": \"Returns the sample standard deviation o
f the expression.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-si
g\": \"STDEVP(expression)\",\"func-tooltip\": \"Returns the population standard
deviation for an expression\",\"help-contents\": \"Returns the population standa
rd deviation of the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR
\",\"func-sig\": \"STR(expression)\",\"func-tooltip\": \"Returns an expression a
s a string\",\"help-contents\": \"Returns a string given an expression. \\n\\nE
xample: STR([Age]) returns all of the values of the Age measure as strings.\",\"
func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false}
,{\"name\": \"SUM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Return
s the sum of values in an expression\",\"help-contents\": \"Returns the sum of a
ll the values in the expression. SUM can be used with numeric fields only. Null
values are ignored.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\"
: \"TAN(angle)\",\"func-tooltip\": \"Returns the tangent of an angle specified i
n radians\",\"help-contents\": \"Returns the tangent of an angle. Specify the an
gle in radians.\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\
": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\"
,\"func-tooltip\": \"Performs a logical test and returns an appropriate value\",
\"help-contents\": \"Tests a series of expressions returning the <then> value fo
r the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF
[Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"T
ODAY()\",\"func-tooltip\": \"Returns the current date\",\"help-contents\": \"Ret
urns the current date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"d
ate\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"fun
c-sig\": \"TOTAL(expression)\",\"func-tooltip\": \"Returns the total for an expr
ession within the partition\",\"help-contents\": \"Returns the total for the giv
en expression.\\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database
rows that contribute to the partition\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \
"TRIM(string)\",\"func-tooltip\": \"Returns a string with leading and trailing s
paces removed\",\"help-contents\": \"Returns the string with both leading and tr
ailing spaces removed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\"
,\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{
\"name\": \"UPPER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns
a string in all uppercase characters\",\"help-contents\": \"Converts a text stri

ng to all uppercase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT


\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fa
lse},{\"name\": \"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\":
\"Returns the domain for the current user\",\"help-contents\": \"Returns the dom
ain for the current user when the user is signed on to Tableau Server. Returns t
he Windows domain if the Tableau Desktop user is on a domain. Otherwise this fun
ction returns a null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"
has-var-args\": false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"fu
nc-tooltip\": \"Returns the user name for the current user\",\"help-contents\":
\"Returns the username for the current user. This is the Tableau Server or Table
au Online username when the user is signed in; otherwise it is the local or netw
ork username for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expr
ession)\",\"func-tooltip\": \"Returns the sample variance for an expression\",\"
help-contents\": \"Returns the sample variance of the expression.\\n\\nExample:
VAR([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-varargs\": false},{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-too
ltip\": \"Returns the population variance for an expression\",\"help-contents\":
\"Returns the population variance of the expression.\\n\\nExample: VARP([Profit
])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1>
... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns
the appropriate value\",\"help-contents\": \"Finds the first <value> that matche
s <expr> and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumer
al] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grp
s\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WIND
OW_AVG\",\"func-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\"
: \"Returns the average of the values within the window\",\"help-contents\": \"R
eturns the average of the expression within the window. The window is defined a
s offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire pa
rtition is used.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM
(Profit) from the two previous rows to the current row\",\"func-grps\":[\"table\
"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false
},{\"name\": \"WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, e
nd])\",\"func-tooltip\": \"Returns the number of items within the window\",\"hel
p-contents\": \"Returns the count of the expression within the window. The wind
ow is defined as offsets from the current row. Use FIRST()+n and LAST()-n for of
fsets from the first or last row in the partition. If start and end are omitted
, the entire partition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0)
= count of SUM(Profit) from the two previous rows to the current row\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-va
r-args\": false},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression
, [start, end])\",\"func-tooltip\": \"Returns the maximum within the window\",\"
help-contents\": \"Returns the maximum of the expression within the window. The
window is defined as offsets from the current row. Use FIRST()+n and LAST()-n f
or offsets from the first or last row in the partition. If start and end are om
itted, the entire partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2,
0) = maximum of Profit from the two previous rows to the current row\\n\\nExamp
le: WINDOW_MAX(SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two previ
ous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"in
teger\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_ME
DIAN\",\"func-sig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\
": \"Returns the median within the window\",\"help-contents\": \"Returns the med
ian of the expression within the window. The window is defined as offsets from
the current row. Use FIRST()+n and LAST()-n for offsets from the first or last r
ow in the partition. If start and end are omitted, the entire partition is used
.\\n\\nExample: WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from
the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg
-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":

\"WINDOW_MIN\",\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-too


ltip\": \"Returns the minimum within the window\",\"help-contents\": \"Returns t
he minimum of the expression within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from
the two previous rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit])
, -2, 0) = minimum of SUM(Profit) from the two previous rows to the current row\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"intege
r\"],\"has-var-args\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"W
INDOW_PERCENTILE(expression, number, [start, end])\",\"func-tooltip\": \"Returns
the percentile value at the specified number\",\"help-contents\": \"Returns the
value corresponding to the specified percentile within the window. The window
is defined as offsets from the current row. Use FIRST()+n and LAST()-n for offse
ts from the first or last row in the partition. If start and end are omitted, t
he entire partition is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75
, -2., 0)) = 75th percentile of SUM(Profit) from the two previous rows to the c
urrent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",
\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"
func-sig\": \"WINDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Retur
ns the sample standard deviation within the window\",\"help-contents\": \"Return
s the sample standard deviation of the expression within the window. The window
is defined as offsets from the current row. Use FIRST()+n and LAST()-n for offs
ets from the first or last row in the partition. If start and end are omitted,
the entire partition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) =
std. dev. of SUM(Profit) from the two previous rows to the current row\",\"func
-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"hasvar-args\": false},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(ex
pression, [start, end])\",\"func-tooltip\": \"Returns the population standard de
viation within the window\",\"help-contents\": \"Returns the population standard
deviation of the expression within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Pr
ofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{
\"name\": \"WINDOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",
\"func-tooltip\": \"Returns the sum of values within the window\",\"help-content
s\": \"Returns the sum of the expression within the window. The window is defin
ed as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the entir
e partition is used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM
(Profit) from the two previous rows to the current row\",\"func-grps\":[\"table\
"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": fa
lse},{\"name\": \"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, en
d])\",\"func-tooltip\": \"Returns the sample variance within the window\",\"help
-contents\": \"Returns the sample variance of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST()
-n for offsets from the first or last row in the partition. If start and end ar
e omitted, the entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]),
-2, 0) = variance of SUM(Profit) from the two previous rows to the current row\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"
],\"has-var-args\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VAR
P(expression, [start, end])\",\"func-tooltip\": \"Returns the population varianc
e within the window\",\"help-contents\": \"Returns the population variance of th
e expression within the window. The window is defined as offsets from the curre
nt row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the
partition. If start and end are omitted, the entire partition is used.\\n\\nEx
ample: WINDOW_VARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":

[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",


\"func-sig\": \"YEAR(date)\",\"func-tooltip\": \"Returns the year of the specifi
ed date as an integer\",\"help-contents\": \"Returns the year of a given date as
an integer. \\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"
],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\
"func-sig\": \"ZN(expression)\",\"func-tooltip\": \"Returns the expression if it
is not null\",\"help-contents\": \"Returns <expression> if it is not null, othe
rwise returns zero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logi
c\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false}]},\"calculation-c
ontext\": \"calculation-dialog\",\"use-parameters\": true} position=\"2\"","name
":"tabdoc:calculation-auto-complete"}}
{"ts":"2016-09-29T17:01:58.879","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{\" calcul
ation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculati
on-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculation_548988800946
0379650\",\"scope-isolation\": true,\"calculation-formula\": \"{f\",\"fn\": \"\"
,\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"folder-name\": \"\",\"
add-to-folder\": false,\"folder-role\": \"dimensions\",\"has-table-calc-data\":
false,\"table-calc-types-used\": 0,\"style-token-list\":[],\"error-string\": \"E
rror in calculation:\\n\\nExpected '}' following the expression.\\n\\nWould you
like to correct the calculation?\",\"error-info-list\":[{\"start-position-for-er
ror\": 1,\"length-of-calc-of-error\": 1,\"error-message\": \"Expected '}' follow
ing the expression.\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"nam
e\": \"ABS\",\"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absol
ute value of a number\",\"help-contents\": \"Returns the absolute value of the g
iven number. \\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\"],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACO
S(number)\",\"func-tooltip\": \"Returns the arc cosine of a number\",\"help-cont
ents\": \"Returns the arc cosine of a number. The result is in radians. \\n\\nE
xample: ACOS(-1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr
1> AND <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical conjunct
ion on two expressions\",\"help-contents\": \"Performs a logical conjunction on
two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args
\": false},{\"name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\"
: \"Returns the ASCII code for the first character in a string\",\"help-contents
\": \"Returns the ASCII code value of the first character in a string. \\n\\nExa
mple: ASCII(\\\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[
\"str\"],\"has-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(numbe
r)\",\"func-tooltip\": \"Returns the arc sine of a number\",\"help-contents\": \
"Returns the arc sine of a number. The result is in radians. \\n\\nExample: ASI
N(1) = 1.5707963267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"fun
c-tooltip\": \"Returns the arc tangent of a number\",\"help-contents\": \"Return
s the arc tangent of a number. The result is in radians. \\n\\nExample: ATAN(1
80) = 1.5652408283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x nu
mber)\",\"func-tooltip\": \"Returns the arc tangent of two numbers\",\"help-cont
ents\": \"Returns the arc tangent of two given numbers (x and y). The result is
in radians. \\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"nu
m\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\":
\"ATTR\",\"func-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the valu
e of the expression if it has one value for all rows\",\"help-contents\": \"Retu
rns the value of the given expression if it only has a single value for all rows
in the group, otherwise it displays an asterisk (*). Null values are ignored.\\
n\\nExample: ATTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"inte
ger\"],\"has-var-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expressio
n)\",\"func-tooltip\": \"Returns the average of the values in the expression\",\
"help-contents\": \"Returns the average of all the values in the expression. AVG

can be used with numeric fields only. Null values are ignored.\\n\\nExample: AV
G([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN
<return1> ... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and
returns the appropriate value\",\"help-contents\": \"Finds the first <value> th
at matches <expr> and returns the corresponding <return>. \\n\\nExample: CASE [R
omanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"CEILING\",\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a nu
mber to the nearest integer of equal or greater value\",\"help-contents\": \"Rou
nds a number to the nearest integer of equal or greater value. \\n\\nExample: CE
ILING(3.1415) = 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"hasvar-args\": false},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-to
oltip\": \"Converts an integer ASCII code into a character\",\"help-contents\":
\"Converts the given integer ASCII code into a character. \\n\\nExample: CHAR(65
) = 'A'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\
"func-tooltip\": \"Returns true if a string contains the specified substring\",\
"help-contents\": \"Returns true if the string contains the substring. \\n\\nExa
mple: CONTAINS(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str
\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"C
OS\",\"func-sig\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an a
ngle specified in radians\",\"help-contents\": \"Returns the cosine of an angle.
Specify the angle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\
"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\
"name\": \"COT\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the co
tangent of an angle specified in radians\",\"help-contents\": \"Returns the cota
ngent of an angle. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"COUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Ret
urns the number of items in the expression\",\"help-contents\": \"Returns the nu
mber of items in a group. NULL values are not counted.\\n\\nExample: COUNT([Cust
omer ID])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-a
rgs\": false},{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"functooltip\": \"Returns the number of distinct items in the expression\",\"help-con
tents\": \"Returns the number of distinct items in a group. NULL values are not
counted. Each unique value is counted only once.\\n\\nExample: COUNTD([Region])
\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": fa
lse},{\"name\": \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"
Returns a date from a number\",\"help-contents\": \"Returns a date given a numbe
r, string, or date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") =
2006-06-15 \\nNote that the quotation marks are required.\",\"func-grps\":[\"cas
t\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\
",\"func-sig\": \"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Retur
ns the specified date incremented by the specified amount\",\"help-contents\": \
"Adds an increment to the specified date and returns the new date. The increment
is defined by the interval and the date_part. \\n\\nExample: DATEADD('month', 3
, #2004-04-15#) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-t
ypes\":[\"locstr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\":
\"DATEDIFF\",\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_o
f_week])\",\"func-tooltip\": \"Returns the difference between two dates\",\"help
-contents\": \"Returns the difference between two dates where start_date is subt
racted from end_date. The difference is expressed in units of date_part. If star
t_of_week is omitted, the week start day is determined by the start day configur
ed for the data source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-0
3#, 'sunday') = -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"d
atetime\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAM
E\",\"func-sig\": \"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\
": \"Returns a part of the specified date as a string\",\"help-contents\": \"Ret
urns a part of the given date as a string, where the part is defined by date_par

t. If start_of_week is omitted, the week start day is determined by the start da


y configured for the data source.\\n\\nExample: DATENAME('month', #2004-04-15#)
= \\\"April\\\"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"date
time\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\
": \"DATEPARSE(format, string)\",\"func-tooltip\": \"Converts a string to a date
\",\"help-contents\": \"Converts a string to a date in the specified format. \\n
\\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15
12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],
\"has-var-args\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_p
art, date, [start_of_week])\",\"func-tooltip\": \"Returns the specified part of
a date as an integer\",\"help-contents\": \"Returns a part of the given date as
an integer where the part is defined by date_part. If start_of_week is omitted,
the week start day is determined by the start day configured for the data source
.\\n\\nExample: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\
"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},
{\"name\": \"DATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\":
\"Returns a datetime from a number\",\"help-contents\": \"Returns a datetime gi
ven a number, string, or date expression. \\n\\nExample: DATETIME(\\\"April 15,
2004 07:59:00\\\") \\nNote that the quotation marks are required.\",\"func-grp
s\":[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"DATETRUNC\",\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"fu
nc-tooltip\": \"Truncates the specified date to the specified accuracy\",\"helpcontents\": \"Truncates the specified date to the accuracy specified by the date
_part and returns the new date. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DAT
ETRUNC('quarter', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date
\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": fa
lse},{\"name\": \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns
the day part of the specified date as an integer\",\"help-contents\": \"Returns
the day of the given date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\
",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": f
alse},{\"name\": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\":
\"Converts a value in radians to degrees\",\"help-contents\": \"Converts a numb
er in radians to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV
\",\"func-sig\": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integ
er part of a division operation\",\"help-contents\": \"Returns the integer part
of a division.\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",
\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <e
lse>] END\",\"func-tooltip\": \"Performs a logical test and returns an appropria
te value\",\"help-contents\": \"Tests a series of expressions returning the <the
n> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profita
ble' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"log
ic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"fun
c-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>]
END\",\"func-tooltip\": \"Performs a logical test and returns an appropriate va
lue\",\"help-contents\": \"Tests a series of expressions returning the <then> va
lue for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable'
ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"]
,\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\":
\"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\
"func-tooltip\": \"Performs a logical test and returns an appropriate value\",\"
help-contents\": \"Tests a series of expressions returning the <then> value for
the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [
Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"funcarg-types\":[],\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"
ENDSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the specified
string ends with the specified substring\",\"help-contents\": \"Returns true if
the string ends with the substring (trailing whitespace is ignored). \\n\\nExamp

le: ENDSWITH(\\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"]


,\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCL
UDE\",\"func-sig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"f
unc-tooltip\": \"Computes an aggregate excluding the specified dimensions if pre
sent in the view.\",\"help-contents\": \"Computes an aggregate excluding the spe
cified dimensions if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number
)\",\"func-tooltip\": \"Returns e raised to the power of a number\",\"help-conte
nts\": \"Returns e raised to the power of the given number. \\n\\nExample: EXP(
5) = e^5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\"
,\"func-tooltip\": \"Returns the position of a substring within a string\",\"hel
p-contents\": \"Returns the position of a substring within a string, or 0 if the
substring isn't found. If the start argument is defined, any instances of subst
ring that appear before the start position are ignored. The first character in t
he string is position 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\")
= 2\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"ha
s-var-args\": false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, subs
tring, occurrence)\",\"func-tooltip\": \"Returns the position of the nth occurre
nce a substring within a string\",\"help-contents\": \"Returns the position of t
he nth occurrence of a substring within a string, or 0 if that occurrence of the
substring isn't found. The first character in the string is position 1. \\n\\nE
xample: FINDNTH(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\
": \"FIRST\",\"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of
rows from to the first row in the partition\",\"help-contents\": \"Returns the
number of rows from the current row to the first row in the partition.\\n\\nExam
ple (current row index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\":
\"{ FIXED [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Comp
utes an aggregate using only the specified dimensions.\",\"help-contents\": \"Co
mputes an aggregate using only the specified dimensions.\",\"func-grps\":[\"agg\
"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-si
g\": \"FLOAT(expression)\",\"func-tooltip\": \"Returns a float from an expressio
n\",\"help-contents\": \"Returns a float given an expression of any type. This f
unction requires unformatted numbers which means exclude commas and other symbol
s. \\n\\nExample: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg
-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\
": \"FLOOR(number)\",\"func-tooltip\": \"Rounds a number to the nearest integer
of equal or lesser value\",\"help-contents\": \"Rounds a number to the nearest i
nteger of equal or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\
":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
FULLNAME\",\"func-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full nam
e for the current user\",\"help-contents\": \"Returns the full name for the curr
ent user. This is the Tableau Server or Tableau Online full name when the user i
s signed in; otherwise it is the local or network full name for the Tableau Desk
top user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tool
tip\": \"Returns the x-coordinate of the nearest hexagonal bin.\",\"help-content
s\": \"Maps an (x,y) coordinate to the x-coordinate of the nearest hexagonal bin
. The bins have side length 1, so the inputs may need to be scaled appropriately
.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-arg
s\": false},{\"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"f
unc-tooltip\": \"Returns the y-coordinate of the nearest hexagonal bin.\",\"help
-contents\": \"Maps an (x,y) coordinate to the y-coordinate of the nearest hexag
onal bin. The bins have side length 1, so the inputs may need to be scaled appro
priately.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has
-var-args\": false},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELS
EIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a
logical test and returns an appropriate value\",\"help-contents\": \"Tests a se

ries of expressions returning the <then> value for the first true <expr>. \\n\\n
Example: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven'
ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args
\": false},{\"name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-t
ooltip\": \"Returns expression1 if not null\",\"help-contents\": \"Returns <expr
1> if it is not null, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit]
, 0)\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"
has-var-args\": false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else,
[unknown])\",\"func-tooltip\": \"Evaluates a Boolean expression and returns one
of two values\",\"help-contents\": \"Checks whether a condition is met, and retu
rns one value if TRUE, another value if FALSE, and an optional third value or NU
LL if unknown. \\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\
":[\"logic\"],\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"hasvar-args\": false},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2
]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate using
the specified dimensions and the view dimensions.\",\"help-contents\": \"Comput
es an aggregate using the specified dimensions and the view dimensions.\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IN
DEX\",\"func-sig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of the cur
rent row in the partition\",\"help-contents\": \"Returns the index of the curren
t row in the partition.\\n\\nExample (for the first row in the partition): INDEX
( ) = 1\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Eval
uates an expression and returns an integer\",\"help-contents\": \"Returns an int
eger given an expression. This function truncates results to the closest integer
toward zero. \\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":
[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\":
\"ISDATE\",\"func-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if
the string is a valid date\",\"help-contents\": \"Returns true if a given string
is a valid date. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grp
s\":[\"str\",\"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\":
false},{\"name\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-too
ltip\": \"Returns true if the current user's full name matches the specified nam
e\",\"help-contents\": \"Returns true if the current user's full name matches th
e specified full name, or false if it does not match. This function uses the Tab
leau Server or Tableau Online full name when the user is signed in; otherwise it
uses the local or network full name for the Tableau Desktop user.\",\"func-grps
\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\"
: \"ISMEMBEROF\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Return
s true if the current user is a member of the specified group\",\"help-contents\
": \"Returns true if the current user is a member of the given group, false othe
rwise. This uses the Tableau Server to resolve group membership if logged on, o
therwise it always returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":
[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNU
LL(expression)\",\"func-tooltip\": \"Returns true if the specified expression is
null\",\"help-contents\": \"Returns true if the expression does not contain val
id data (Null).\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\
"func-sig\": \"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if the curr
ent user's name matches the specified user name\",\"help-contents\": \"Returns t
rue if the current user's username matches the specified username, or false if i
t does not match. This function uses the Tableau Server or Tableau Online userna
me when the user is signed in; otherwise it uses the local or network username f
or the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"lo
cstr\"],\"has-var-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"
func-tooltip\": \"Returns the number of rows to the last row in the partition\",
\"help-contents\": \"Returns the number of rows from the current row to the last
row in the partition.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) =
4\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"
name\": \"LEFT\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"R

eturns the specified number of characters from the start of a string\",\"help-co


ntents\": \"Returns the specified number of characters from the start of the giv
en string. \\n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"funcgrps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},
{\"name\": \"LEN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the
number of characters in a string\",\"help-contents\": \"Returns the number of c
haracters in the given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"
func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"n
ame\": \"LN\",\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natur
al logarithm of a number\",\"help-contents\": \"Returns the natural logarithm of
the given number. Returns Null if the number is less than or equal to 0.\\n\\nE
xample: LN(EXP(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\"
,\"func-tooltip\": \"Returns the logarithm of a number for the given base\",\"he
lp-contents\": \"Returns the logarithm of a number for the given base. If the ba
se value is omitted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: L
OG(256, 2) = 8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],
\"has-var-args\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression
, [offset])\",\"func-tooltip\": \"Returns the value of the expression in a row o
ffset from current row\",\"help-contents\": \"Returns the value of the given exp
ression in a target row, specified as a relative offset from the current row. Us
e FIRST()+n and LAST()-n for a target relative to the first/last rows in the par
tition. If offset is omitted, the Compare To row may be set on the field menu. R
eturns NULL if the target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Pr
ofit]), FIRST( ) + 2) = SUM(Profit) in the third row of the partition\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\"
: false},{\"name\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\":
\"Returns a string in all lowercase characters\",\"help-contents\": \"Converts a
text string to all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \
\\"product\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-varargs\": false},{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-toolt
ip\": \"Returns a string with leading spaces removed\",\"help-contents\": \"Retu
rns the string with any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\
\\") = \\\"Sales\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"ha
s-var-args\": false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, mont
h, day)\",\"func-tooltip\": \"Returns a date value constructed from a year, a mo
nth and a day of the month.\",\"help-contents\": \"Returns a date value construc
ted from a year, a month and a day of the month. \\n\\nExample: MAKEDATE( 2014,
3, 18 )\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\":
\"MAKEDATETIME(date, time)\",\"func-tooltip\": \"Returns a datetime by combining
a date and a time\",\"help-contents\": \"Returns a date and time value given a
date expression and a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#
, #07:59:00#)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime
\"],\"has-var-args\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(ho
ur, minute, second)\",\"func-tooltip\": \"Returns a time value constructed from
hours, minutes and seconds.\",\"help-contents\": \"Returns a time value construc
ted from hours, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"
func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],
\"has-var-args\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or M
AX(expr1, expr2)\",\"func-tooltip\": \"Returns the maximum of an expression\",\"
help-contents\": \"Returns the maximum of a single expression across all records
or the maximum of two expressions for each record. \\n\\nExample: MAX([Sales])
\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\"
:[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\"
: \"MEDIAN(expression)\",\"func-tooltip\": \"Returns the median of an expression
\",\"help-contents\": \"Returns the median of a single expression. MEDIAN can be
used with numeric fields only. Null values are ignored.\\n\\nExample: MEDIAN([P
rofit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-

tooltip\": \"Returns the characters from the middle of a text string\",\"help-co


ntents\": \"Returns the characters from the middle of a text string given a star
ting position and a length. The first character in the string is position 1. If
the length is not included, all characters to the end of the string are returned
. If the length is included, up to that many characters are returned. \\n\\nExam
ple: MID(\\\"Tableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"T
ableau Software\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"f
unc-sig\": \"MIN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns
the minimum of an expression\",\"help-contents\": \"Returns the minimum of an ex
pression across all records or the minimum of two expressions for each record.
\\n\\nExample: MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\"
,\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"nam
e\": \"MONTH\",\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the mon
th part of the specified date as an integer\",\"help-contents\": \"Returns the m
onth of a given date as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"
func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false
},{\"name\": \"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tool
tip\": \"Performs logical negation on an expression\",\"help-contents\": \"Perfo
rms logical negation on an expression\",\"func-grps\":[\"logic\"],\"func-arg-typ
es\":[],\"has-var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"fu
nc-tooltip\": \"Returns the current date and time\",\"help-contents\": \"Returns
the current date and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"fu
nc-grps\":[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \
"OR\",\"func-sig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\":
\"Performs a logical disjunction on two expressions\",\"help-contents\": \"Perfo
rms a logical disjunction on two expressions\",\"func-grps\":[\"logic\"],\"funcarg-types\":[],\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\":
\"PERCENTILE(expression, number)\",\"func-tooltip\": \"Returns the percentile va
lue at the specified number\",\"help-contents\": \"Aggregate calculation that re
turns the percentile value from the given expression corresponding to the specif
ied number. Valid values for the number are 0 through 1. PERCENTILE([expression]
, 0.50) will always return the median value in the expression.\\n\\nExample: PER
CENTILE([Sales], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"
locreal\"],\"has-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"f
unc-tooltip\": \"Returns the numeric constant pi\",\"help-contents\": \"Returns
the numeric constant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[
\"num\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"f
unc-sig\": \"POWER(number,power)\",\"func-tooltip\": \"Raises the number to the
specified power\",\"help-contents\": \"Returns the result of a number raised to
the given power. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],
\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PRE
VIOUS_VALUE\",\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"R
eturns the value of this calculation in the previous row\",\"help-contents\": \"
Returns the value of this calculation in the previous row. Returns the given exp
ression if the current row is the first row of the partition.\\n\\nExample: SUM(
[Profit]) + PREVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]
) * PREVIOUS_VALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\
"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIAN
S\",\"func-sig\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a number in d
egrees to radians\",\"help-contents\": \"Converts a number in degrees to radians
.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func
-tooltip\": \"Returns the competition rank for the current partition row\",\"hel
p-contents\": \"Returns the standard competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'a
sc' | 'desc' argument to specify ascending or descending order. The default orde
r is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (1, 2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var

-args\": false},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression,


['asc'|'desc'])\",\"func-tooltip\": \"Returns the dense rank for the current pa
rtition row\",\"help-contents\": \"Returns the dense rank for the current row in
the partition. Identical values are assigned an identical rank, but no gaps are
inserted into the number sequence. Use the optional 'asc' | 'desc' argument to
specify ascending or descending order. The default order is descending.\\n\\nWit
h this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in
ascending order.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"nam
e\": \"RANK_MODIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])
\",\"func-tooltip\": \"Returns the modified competition rank for the current par
tition row\",\"help-contents\": \"Returns the modified competition rank for the
current row in the partition. Identical values are assigned an identical rank. U
se the optional 'asc' | 'desc' argument to specify ascending or descending order
. The default order is descending.\\n\\nWith this function, the set of values (6
, 9, 9, 14) would be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_
MODIFIED(AVG([Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"inte
ger\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func
-sig\": \"RANK_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retu
rns the percentile rank for the current partition row\",\"help-contents\": \"Ret
urns the percentile rank for the current row in the partition. Use the optional
'asc' | 'desc' argument to specify ascending or descending order. The default or
der is ascending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (25, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(A
VG([Test Score]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"
locstr\"],\"has-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RA
NK_UNIQUE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique r
ank for the current partition row\",\"help-contents\": \"Returns the unique rank
for the current row in the partition. Identical values are assigned different r
anks. Use the optional 'asc' | 'desc' argument to specify ascending or descendin
g order. The default order is descending.\\n\\nWith this function, the set of va
lues (6, 9, 9, 14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample
: RANK_UNIQUE() = 1 for the first row in the partition\",\"func-grps\":[\"table\
"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\
": \"REGEXP_EXTRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-t
ooltip\": \"Returns the portion of a string matching the capturing group in a re
gular expression\",\"help-contents\": \"Returns a substring of the given string
that matches the capturing group within the regular expression pattern. The reg
ular expression pattern requires exactly one capturing group. \\n\\nExample: REG
EXP_EXTRACT('abc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGE
XP_EXTRACT_NTH\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"
func-tooltip\": \"Returns a substring of a string using a regular expression pat
tern\",\"help-contents\": \"Returns a substring of the given string using the re
gular expression pattern. The substring is matched to the nth capturing group,
where n is the given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]
+)\\\\s+(\\\\d+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"st
r\",\"str\",\"locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"f
unc-sig\": \"REGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if
a string matches a regular expression\",\"help-contents\": \"Returns true if a
substring of the provided string matches the regular expression pattern. \\n\\nE
xample: REGEXP_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\
w*\\\\s*\\\\])') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"
str\"],\"has-var-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"RE
GEXP_REPLACE(string, pattern, replacement)\",\"func-tooltip\": \"Returns a strin
g where substrings matching a regular expression are replaced\",\"help-contents\
": \"Returns a copy of the given string where the matching pattern is substitute
d with the replacement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s'
, '-') = 'abc--123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\
",\"str\"],\"has-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLA

CE(string, substring, replacement)\",\"func-tooltip\": \"Replaces all instances


of a substring within a string\",\"help-contents\": \"Returns a string in which
every occurrence of the substring is replaced with the replacement string. If th
e substring is not found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Ca
lculation\\\", \\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"
name\": \"RIGHT\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \
"Returns the specified number of characters from the end of a string\",\"help-co
ntents\": \"Returns the specified number of characters from the end of the given
string. \\n\\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{
\"name\": \"ROUND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\"
: \"Rounds a number to the specified number of places\",\"help-contents\": \"Rou
nds a number to the nearest integer or to a specified number of decimal places.
\\n\\nExample: ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types
\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\
": \"RTRIM(string)\",\"func-tooltip\": \"Returns a string with trailing spaces r
emoved\",\"help-contents\": \"Returns the string with any trailing spaces remove
d. \\n\\nExample: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_
AVG\",\"func-sig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the
running average of an expression\",\"help-contents\": \"Returns the running aver
age of the given expression, from the first row in the partition to the current
row.\\n\\nExample: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"fun
c-tooltip\": \"Returns the running count of an expression\",\"help-contents\": \
"Returns the running count of the given expression, from the first row in the pa
rtition to the current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running
count of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(
expression)\",\"func-tooltip\": \"Returns the running maximum of an expression\"
,\"help-contents\": \"Returns the running maximum of the given expression, from
the first row in the partition to the current row.\\n\\nExample: RUNNING_MAX(MAX
([Profit])) = running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit]))
= running maximum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\":
\"RUNNING_MIN(expression)\",\"func-tooltip\": \"Returns the running minimum of
an expression\",\"help-contents\": \"Returns the running minimum of the given ex
pression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_MIN(MIN([Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN
(SUM([Profit])) = running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"f
unc-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\
",\"func-sig\": \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the runn
ing sum of an expression\",\"help-contents\": \"Returns the running sum of the g
iven expression, from the first row in the partition to the current row.\\n\\nEx
ample: RUNNING_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_
SUM(COUNT([Profit])) = running count of Profit\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",
\"func-sig\": \"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Retur
ns a Boolean result from an R expression\",\"help-contents\": \"Returns a Boolea
n result from a given R expression. The R expression is passed directly to a run
ning Rserve instance. Use .arg# in the R expression to reference parameters. In
the following example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BO
OL(\\\"is.finite(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-si
g\": \"SCRIPT_INT(string, expression, ...)\",\"func-tooltip\": \"Returns an inte
ger result from an R expression\",\"help-contents\": \"Returns an integer result
from a given R expression. The R expression is passed directly to a running Rse
rve instance. Use .arg# in the R expression to reference parameters. In the foll

owing example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as


.integer(.arg1 * 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\"
: \"SCRIPT_REAL(string, expression, ...)\",\"func-tooltip\": \"Returns a numeric
result from an R expression\",\"help-contents\": \"Returns a numeric result fro
m a given R expression. The R expression is passed directly to a running Rserve
instance. Use .arg# in the R expression to reference parameters. In the followin
g example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1
* 0.5\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str
\"],\"has-var-args\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR
(string, expression, ...)\",\"func-tooltip\": \"Returns a string result from an
R expression\",\"help-contents\": \"Returns a string result from a given R expre
ssion. The R expression is passed directly to a running Rserve instance. Use .ar
g# in the R expression to reference parameters. In the following example, .arg1
is equal to ATTR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\
", ATTR([Region]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"ha
s-var-args\": true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-to
oltip\": \"Returns 1 for a positive number\",\"help-contents\": \"Returns the si
gn of a number: 1 if the number is positive, zero if the number is zero, or -1 i
f the number is negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"]
,\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"fun
c-sig\": \"SIN(angle)\",\"func-tooltip\": \"Returns the sine of a number\",\"hel
p-contents\": \"Returns the sine of an angle. Specify the angle in radians.\\n\\
nExample: SIN(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-t
ypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"S
IZE()\",\"func-tooltip\": \"Returns the number of rows in the partition\",\"help
-contents\": \"Returns the number of rows in the partition.\\n\\nExample (partit
ion has 5 rows):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[]
,\"has-var-args\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\
"func-tooltip\": \"Returns a string containing the specified number of spaces\",
\"help-contents\": \"Returns a string composed of the specified number of repeat
ed spaces. \\n\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig
\": \"SPLIT(string, delimiter, token number)\",\"func-tooltip\": \"Extracts a su
bstring from a string\",\"help-contents\": \"Returns a substring from a string,
as determined by a delimiter extracting the characters from the beginning or end
of the string. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPL
IT('a-b-c-d', '-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str
\",\"locstr\",\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-si
g\": \"SQRT(number)\",\"func-tooltip\": \"Returns the square root of a number\",
\"help-contents\": \"Returns the square root of a number. \\n\\nExample: SQRT(25
) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\":
\"Returns the square of a number\",\"help-contents\": \"Returns the square of a
given number. \\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-si
g\": \"STARTSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the s
pecified string starts with the specified substring\",\"help-contents\": \"Retur
ns true if the string starts with the substring. \\n\\nExample: STARTSWITH(\\\"C
alculation\\\", \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \
"STDEV(expression)\",\"func-tooltip\": \"Returns the sample standard deviation f
or an expression\",\"help-contents\": \"Returns the sample standard deviation of
the expression.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig
\": \"STDEVP(expression)\",\"func-tooltip\": \"Returns the population standard d
eviation for an expression\",\"help-contents\": \"Returns the population standar
d deviation of the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\
",\"func-sig\": \"STR(expression)\",\"func-tooltip\": \"Returns an expression as

a string\",\"help-contents\": \"Returns a string given an expression. \\n\\nEx


ample: STR([Age]) returns all of the values of the Age measure as strings.\",\"f
unc-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},
{\"name\": \"SUM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns
the sum of values in an expression\",\"help-contents\": \"Returns the sum of al
l the values in the expression. SUM can be used with numeric fields only. Null v
alues are ignored.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\":
\"TAN(angle)\",\"func-tooltip\": \"Returns the tangent of an angle specified in
radians\",\"help-contents\": \"Returns the tangent of an angle. Specify the ang
le in radians.\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\"
: \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",
\"func-tooltip\": \"Performs a logical test and returns an appropriate value\",\
"help-contents\": \"Tests a series of expressions returning the <then> value for
the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF
[Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func
-arg-types\":[],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TO
DAY()\",\"func-tooltip\": \"Returns the current date\",\"help-contents\": \"Retu
rns the current date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"da
te\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func
-sig\": \"TOTAL(expression)\",\"func-tooltip\": \"Returns the total for an expre
ssion within the partition\",\"help-contents\": \"Returns the total for the give
n expression.\\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database
rows that contribute to the partition\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"
TRIM(string)\",\"func-tooltip\": \"Returns a string with leading and trailing sp
aces removed\",\"help-contents\": \"Returns the string with both leading and tra
iling spaces removed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",
\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\
"name\": \"UPPER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a
string in all uppercase characters\",\"help-contents\": \"Converts a text strin
g to all uppercase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\
\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fal
se},{\"name\": \"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \
"Returns the domain for the current user\",\"help-contents\": \"Returns the doma
in for the current user when the user is signed on to Tableau Server. Returns th
e Windows domain if the Tableau Desktop user is on a domain. Otherwise this func
tion returns a null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"fun
c-tooltip\": \"Returns the user name for the current user\",\"help-contents\": \
"Returns the username for the current user. This is the Tableau Server or Tablea
u Online username when the user is signed in; otherwise it is the local or netwo
rk username for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expre
ssion)\",\"func-tooltip\": \"Returns the sample variance for an expression\",\"h
elp-contents\": \"Returns the sample variance of the expression.\\n\\nExample: V
AR([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tool
tip\": \"Returns the population variance for an expression\",\"help-contents\":
\"Returns the population variance of the expression.\\n\\nExample: VARP([Profit]
)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1>
... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns t
he appropriate value\",\"help-contents\": \"Finds the first <value> that matches
<expr> and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumera
l] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps
\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDO
W_AVG\",\"func-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\":
\"Returns the average of the values within the window\",\"help-contents\": \"Re

turns the average of the expression within the window. The window is defined as
offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the f
irst or last row in the partition. If start and end are omitted, the entire par
tition is used.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(
Profit) from the two previous rows to the current row\",\"func-grps\":[\"table\"
],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false}
,{\"name\": \"WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, en
d])\",\"func-tooltip\": \"Returns the number of items within the window\",\"help
-contents\": \"Returns the count of the expression within the window. The windo
w is defined as offsets from the current row. Use FIRST()+n and LAST()-n for off
sets from the first or last row in the partition. If start and end are omitted,
the entire partition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0)
= count of SUM(Profit) from the two previous rows to the current row\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var
-args\": false},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression,
[start, end])\",\"func-tooltip\": \"Returns the maximum within the window\",\"h
elp-contents\": \"Returns the maximum of the expression within the window. The
window is defined as offsets from the current row. Use FIRST()+n and LAST()-n fo
r offsets from the first or last row in the partition. If start and end are omi
tted, the entire partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2,
0) = maximum of Profit from the two previous rows to the current row\\n\\nExampl
e: WINDOW_MAX(SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two previo
us rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"int
eger\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MED
IAN\",\"func-sig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\"
: \"Returns the median within the window\",\"help-contents\": \"Returns the medi
an of the expression within the window. The window is defined as offsets from t
he current row. Use FIRST()+n and LAST()-n for offsets from the first or last ro
w in the partition. If start and end are omitted, the entire partition is used.
\\n\\nExample: WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from
the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-argtypes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \
"WINDOW_MIN\",\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tool
tip\": \"Returns the minimum within the window\",\"help-contents\": \"Returns th
e minimum of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition i
s used.\\n\\nExample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from
the two previous rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]),
-2, 0) = minimum of SUM(Profit) from the two previous rows to the current row\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer
\"],\"has-var-args\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WI
NDOW_PERCENTILE(expression, number, [start, end])\",\"func-tooltip\": \"Returns
the percentile value at the specified number\",\"help-contents\": \"Returns the
value corresponding to the specified percentile within the window. The window i
s defined as offsets from the current row. Use FIRST()+n and LAST()-n for offset
s from the first or last row in the partition. If start and end are omitted, th
e entire partition is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75,
-2., 0)) = 75th percentile of SUM(Profit) from the two previous rows to the cu
rrent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"f
unc-sig\": \"WINDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Return
s the sample standard deviation within the window\",\"help-contents\": \"Returns
the sample standard deviation of the expression within the window. The window
is defined as offsets from the current row. Use FIRST()+n and LAST()-n for offse
ts from the first or last row in the partition. If start and end are omitted, t
he entire partition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) =
std. dev. of SUM(Profit) from the two previous rows to the current row\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-v
ar-args\": false},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(exp

ression, [start, end])\",\"func-tooltip\": \"Returns the population standard dev


iation within the window\",\"help-contents\": \"Returns the population standard
deviation of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition i
s used.\\n\\nExample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Pro
fit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\
"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"WINDOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\
"func-tooltip\": \"Returns the sum of values within the window\",\"help-contents
\": \"Returns the sum of the expression within the window. The window is define
d as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from t
he first or last row in the partition. If start and end are omitted, the entire
partition is used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(
Profit) from the two previous rows to the current row\",\"func-grps\":[\"table\"
],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end
])\",\"func-tooltip\": \"Returns the sample variance within the window\",\"helpcontents\": \"Returns the sample variance of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST()n for offsets from the first or last row in the partition. If start and end are
omitted, the entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]),
-2, 0) = variance of SUM(Profit) from the two previous rows to the current row\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"]
,\"has-var-args\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP
(expression, [start, end])\",\"func-tooltip\": \"Returns the population variance
within the window\",\"help-contents\": \"Returns the population variance of the
expression within the window. The window is defined as offsets from the curren
t row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the
partition. If start and end are omitted, the entire partition is used.\\n\\nExa
mple: WINDOW_VARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two p
revious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\
"func-sig\": \"YEAR(date)\",\"func-tooltip\": \"Returns the year of the specifie
d date as an integer\",\"help-contents\": \"Returns the year of a given date as
an integer. \\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"]
,\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"
func-sig\": \"ZN(expression)\",\"func-tooltip\": \"Returns the expression if it
is not null\",\"help-contents\": \"Returns <expression> if it is not null, other
wise returns zero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic
\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false}]},\"calculation-co
ntext\": \"calculation-dialog\",\"use-parameters\": true} position=\"1\"","name"
:"tabdoc:calculation-auto-complete"}}
{"ts":"2016-09-29T17:01:58.879","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{\" calcu
lation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"calculat
ion-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculation_54898880094
60379650\",\"scope-isolation\": true,\"calculation-formula\": \"{f\",\"fn\": \"\
",\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"folder-name\": \"\",\
"add-to-folder\": false,\"folder-role\": \"dimensions\",\"has-table-calc-data\":
false,\"table-calc-types-used\": 0,\"style-token-list\":[],\"error-string\": \"
Error in calculation:\\n\\nExpected '}' following the expression.\\n\\nWould you
like to correct the calculation?\",\"error-info-list\":[{\"start-position-for-e
rror\": 1,\"length-of-calc-of-error\": 1,\"error-message\": \"Expected '}' follo
wing the expression.\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"na
me\": \"ABS\",\"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the abso
lute value of a number\",\"help-contents\": \"Returns the absolute value of the
given number. \\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-ty
pes\":[\"real\"],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"AC

OS(number)\",\"func-tooltip\": \"Returns the arc cosine of a number\",\"help-con


tents\": \"Returns the arc cosine of a number. The result is in radians. \\n\\n
Example: ACOS(-1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <exp
r1> AND <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical conjunc
tion on two expressions\",\"help-contents\": \"Performs a logical conjunction on
two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-arg
s\": false},{\"name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\
": \"Returns the ASCII code for the first character in a string\",\"help-content
s\": \"Returns the ASCII code value of the first character in a string. \\n\\nEx
ample: ASCII(\\\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":
[\"str\"],\"has-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(numb
er)\",\"func-tooltip\": \"Returns the arc sine of a number\",\"help-contents\":
\"Returns the arc sine of a number. The result is in radians. \\n\\nExample: AS
IN(1) = 1.5707963267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"fu
nc-tooltip\": \"Returns the arc tangent of a number\",\"help-contents\": \"Retur
ns the arc tangent of a number. The result is in radians. \\n\\nExample: ATAN(
180) = 1.5652408283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x n
umber)\",\"func-tooltip\": \"Returns the arc tangent of two numbers\",\"help-con
tents\": \"Returns the arc tangent of two given numbers (x and y). The result is
in radians. \\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"n
um\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\":
\"ATTR\",\"func-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the val
ue of the expression if it has one value for all rows\",\"help-contents\": \"Ret
urns the value of the given expression if it only has a single value for all row
s in the group, otherwise it displays an asterisk (*). Null values are ignored.\
\n\\nExample: ATTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"int
eger\"],\"has-var-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expressi
on)\",\"func-tooltip\": \"Returns the average of the values in the expression\",
\"help-contents\": \"Returns the average of all the values in the expression. AV
G can be used with numeric fields only. Null values are ignored.\\n\\nExample: A
VG([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN
<return1> ... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests an
d returns the appropriate value\",\"help-contents\": \"Finds the first <value> t
hat matches <expr> and returns the corresponding <return>. \\n\\nExample: CASE [
RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"CEILING\",\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a n
umber to the nearest integer of equal or greater value\",\"help-contents\": \"Ro
unds a number to the nearest integer of equal or greater value. \\n\\nExample: C
EILING(3.1415) = 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has
-var-args\": false},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-t
ooltip\": \"Converts an integer ASCII code into a character\",\"help-contents\":
\"Converts the given integer ASCII code into a character. \\n\\nExample: CHAR(6
5) = 'A'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",
\"func-tooltip\": \"Returns true if a string contains the specified substring\",
\"help-contents\": \"Returns true if the string contains the substring. \\n\\nEx
ample: CONTAINS(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"
COS\",\"func-sig\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an
angle specified in radians\",\"help-contents\": \"Returns the cosine of an angle
. Specify the angle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",
\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{
\"name\": \"COT\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the c
otangent of an angle specified in radians\",\"help-contents\": \"Returns the cot
angent of an angle. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\

",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false}
,{\"name\": \"COUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Re
turns the number of items in the expression\",\"help-contents\": \"Returns the n
umber of items in a group. NULL values are not counted.\\n\\nExample: COUNT([Cus
tomer ID])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-varargs\": false},{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func
-tooltip\": \"Returns the number of distinct items in the expression\",\"help-co
ntents\": \"Returns the number of distinct items in a group. NULL values are not
counted. Each unique value is counted only once.\\n\\nExample: COUNTD([Region]
)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": f
alse},{\"name\": \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \
"Returns a date from a number\",\"help-contents\": \"Returns a date given a numb
er, string, or date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") =
2006-06-15 \\nNote that the quotation marks are required.\",\"func-grps\":[\"ca
st\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD
\",\"func-sig\": \"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Retu
rns the specified date incremented by the specified amount\",\"help-contents\":
\"Adds an increment to the specified date and returns the new date. The incremen
t is defined by the interval and the date_part. \\n\\nExample: DATEADD('month',
3, #2004-04-15#) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-argtypes\":[\"locstr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\"
: \"DATEDIFF\",\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_
of_week])\",\"func-tooltip\": \"Returns the difference between two dates\",\"hel
p-contents\": \"Returns the difference between two dates where start_date is sub
tracted from end_date. The difference is expressed in units of date_part. If sta
rt_of_week is omitted, the week start day is determined by the start day configu
red for the data source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-0403#, 'sunday') = -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"
datetime\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENA
ME\",\"func-sig\": \"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip
\": \"Returns a part of the specified date as a string\",\"help-contents\": \"Re
turns a part of the given date as a string, where the part is defined by date_pa
rt. If start_of_week is omitted, the week start day is determined by the start d
ay configured for the data source.\\n\\nExample: DATENAME('month', #2004-04-15#)
= \\\"April\\\"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"dat
etime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig
\": \"DATEPARSE(format, string)\",\"func-tooltip\": \"Converts a string to a dat
e\",\"help-contents\": \"Converts a string to a date in the specified format. \\
n\\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-1
5 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"]
,\"has-var-args\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_
part, date, [start_of_week])\",\"func-tooltip\": \"Returns the specified part of
a date as an integer\",\"help-contents\": \"Returns a part of the given date as
an integer where the part is defined by date_part. If start_of_week is omitted,
the week start day is determined by the start day configured for the data sourc
e.\\n\\nExample: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],
\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false}
,{\"name\": \"DATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\"
: \"Returns a datetime from a number\",\"help-contents\": \"Returns a datetime g
iven a number, string, or date expression. \\n\\nExample: DATETIME(\\\"April 15
, 2004 07:59:00\\\") \\nNote that the quotation marks are required.\",\"func-gr
ps\":[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"DATETRUNC\",\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"f
unc-tooltip\": \"Truncates the specified date to the specified accuracy\",\"help
-contents\": \"Truncates the specified date to the accuracy specified by the dat
e_part and returns the new date. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DA
TETRUNC('quarter', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"dat
e\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": f
alse},{\"name\": \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns

the day part of the specified date as an integer\",\"help-contents\": \"Returns


the day of the given date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12
\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\":
false},{\"name\": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\"
: \"Converts a value in radians to degrees\",\"help-contents\": \"Converts a num
ber in radians to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DI
V\",\"func-sig\": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the inte
ger part of a division operation\",\"help-contents\": \"Returns the integer part
of a division.\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\"
,\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <
else>] END\",\"func-tooltip\": \"Performs a logical test and returns an appropri
ate value\",\"help-contents\": \"Tests a series of expressions returning the <th
en> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profit
able' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"lo
gic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"fu
nc-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>
] END\",\"func-tooltip\": \"Performs a logical test and returns an appropriate v
alue\",\"help-contents\": \"Tests a series of expressions returning the <then> v
alue for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable'
ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"
],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\"
: \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",
\"func-tooltip\": \"Performs a logical test and returns an appropriate value\",\
"help-contents\": \"Tests a series of expressions returning the <then> value for
the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF
[Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func
-arg-types\":[],\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \
"ENDSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the specified
string ends with the specified substring\",\"help-contents\": \"Returns true if
the string ends with the substring (trailing whitespace is ignored). \\n\\nExam
ple: ENDSWITH(\\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"
],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXC
LUDE\",\"func-sig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"
func-tooltip\": \"Computes an aggregate excluding the specified dimensions if pr
esent in the view.\",\"help-contents\": \"Computes an aggregate excluding the sp
ecified dimensions if present in the view.\",\"func-grps\":[\"agg\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(numbe
r)\",\"func-tooltip\": \"Returns e raised to the power of a number\",\"help-cont
ents\": \"Returns e raised to the power of the given number. \\n\\nExample: EXP
(5) = e^5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args
\": false},{\"name\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\
",\"func-tooltip\": \"Returns the position of a substring within a string\",\"he
lp-contents\": \"Returns the position of a substring within a string, or 0 if th
e substring isn't found. If the start argument is defined, any instances of subs
tring that appear before the start position are ignored. The first character in
the string is position 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\")
= 2\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"h
as-var-args\": false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, sub
string, occurrence)\",\"func-tooltip\": \"Returns the position of the nth occurr
ence a substring within a string\",\"help-contents\": \"Returns the position of
the nth occurrence of a substring within a string, or 0 if that occurrence of th
e substring isn't found. The first character in the string is position 1. \\n\\n
Example: FINDNTH(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"
],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name
\": \"FIRST\",\"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number o
f rows from to the first row in the partition\",\"help-contents\": \"Returns the
number of rows from the current row to the first row in the partition.\\n\\nExa
mple (current row index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],

\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\"


: \"{ FIXED [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Com
putes an aggregate using only the specified dimensions.\",\"help-contents\": \"C
omputes an aggregate using only the specified dimensions.\",\"func-grps\":[\"agg
\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-s
ig\": \"FLOAT(expression)\",\"func-tooltip\": \"Returns a float from an expressi
on\",\"help-contents\": \"Returns a float given an expression of any type. This
function requires unformatted numbers which means exclude commas and other symbo
ls. \\n\\nExample: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-ar
g-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig
\": \"FLOOR(number)\",\"func-tooltip\": \"Rounds a number to the nearest integer
of equal or lesser value\",\"help-contents\": \"Rounds a number to the nearest
integer of equal or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"FULLNAME\",\"func-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full na
me for the current user\",\"help-contents\": \"Returns the full name for the cur
rent user. This is the Tableau Server or Tableau Online full name when the user
is signed in; otherwise it is the local or network full name for the Tableau Des
ktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fa
lse},{\"name\": \"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-too
ltip\": \"Returns the x-coordinate of the nearest hexagonal bin.\",\"help-conten
ts\": \"Maps an (x,y) coordinate to the x-coordinate of the nearest hexagonal bi
n. The bins have side length 1, so the inputs may need to be scaled appropriatel
y.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-ar
gs\": false},{\"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"
func-tooltip\": \"Returns the y-coordinate of the nearest hexagonal bin.\",\"hel
p-contents\": \"Maps an (x,y) coordinate to the y-coordinate of the nearest hexa
gonal bin. The bins have side length 1, so the inputs may need to be scaled appr
opriately.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"ha
s-var-args\": false},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [EL
SEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs
a logical test and returns an appropriate value\",\"help-contents\": \"Tests a s
eries of expressions returning the <then> value for the first true <expr>. \\n\\
nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven'
ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-arg
s\": false},{\"name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"functooltip\": \"Returns expression1 if not null\",\"help-contents\": \"Returns <exp
r1> if it is not null, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit
], 0)\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\
"has-var-args\": false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else,
[unknown])\",\"func-tooltip\": \"Evaluates a Boolean expression and returns one
of two values\",\"help-contents\": \"Checks whether a condition is met, and ret
urns one value if TRUE, another value if FALSE, and an optional third value or N
ULL if unknown. \\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps
\":[\"logic\"],\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has
-var-args\": false},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim
2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate usin
g the specified dimensions and the view dimensions.\",\"help-contents\": \"Compu
tes an aggregate using the specified dimensions and the view dimensions.\",\"fun
c-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"I
NDEX\",\"func-sig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of the cu
rrent row in the partition\",\"help-contents\": \"Returns the index of the curre
nt row in the partition.\\n\\nExample (for the first row in the partition): INDE
X( ) = 1\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Eva
luates an expression and returns an integer\",\"help-contents\": \"Returns an in
teger given an expression. This function truncates results to the closest intege
r toward zero. \\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\"
:[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\":
\"ISDATE\",\"func-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if

the string is a valid date\",\"help-contents\": \"Returns true if a given strin


g is a valid date. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-gr
ps\":[\"str\",\"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\":
false},{\"name\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-to
oltip\": \"Returns true if the current user's full name matches the specified na
me\",\"help-contents\": \"Returns true if the current user's full name matches t
he specified full name, or false if it does not match. This function uses the Ta
bleau Server or Tableau Online full name when the user is signed in; otherwise i
t uses the local or network full name for the Tableau Desktop user.\",\"func-grp
s\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\
": \"ISMEMBEROF\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Retur
ns true if the current user is a member of the specified group\",\"help-contents
\": \"Returns true if the current user is a member of the given group, false oth
erwise. This uses the Tableau Server to resolve group membership if logged on,
otherwise it always returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\"
:[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISN
ULL(expression)\",\"func-tooltip\": \"Returns true if the specified expression i
s null\",\"help-contents\": \"Returns true if the expression does not contain va
lid data (Null).\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",
\"func-sig\": \"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if the cur
rent user's name matches the specified user name\",\"help-contents\": \"Returns
true if the current user's username matches the specified username, or false if
it does not match. This function uses the Tableau Server or Tableau Online usern
ame when the user is signed in; otherwise it uses the local or network username
for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"l
ocstr\"],\"has-var-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\
"func-tooltip\": \"Returns the number of rows to the last row in the partition\"
,\"help-contents\": \"Returns the number of rows from the current row to the las
t row in the partition.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) =
4\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\
"name\": \"LEFT\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"
Returns the specified number of characters from the start of a string\",\"help-c
ontents\": \"Returns the specified number of characters from the start of the gi
ven string. \\n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func
-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false}
,{\"name\": \"LEN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns th
e number of characters in a string\",\"help-contents\": \"Returns the number of
characters in the given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"
name\": \"LN\",\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natu
ral logarithm of a number\",\"help-contents\": \"Returns the natural logarithm o
f the given number. Returns Null if the number is less than or equal to 0.\\n\\n
Example: LN(EXP(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\
",\"func-tooltip\": \"Returns the logarithm of a number for the given base\",\"h
elp-contents\": \"Returns the logarithm of a number for the given base. If the b
ase value is omitted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample:
LOG(256, 2) = 8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"]
,\"has-var-args\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expressio
n, [offset])\",\"func-tooltip\": \"Returns the value of the expression in a row
offset from current row\",\"help-contents\": \"Returns the value of the given ex
pression in a target row, specified as a relative offset from the current row. U
se FIRST()+n and LAST()-n for a target relative to the first/last rows in the pa
rtition. If offset is omitted, the Compare To row may be set on the field menu.
Returns NULL if the target row cannot be determined.\\n\\nExample: LOOKUP(SUM([P
rofit]), FIRST( ) + 2) = SUM(Profit) in the third row of the partition\",\"func
-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\
": false},{\"name\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\":
\"Returns a string in all lowercase characters\",\"help-contents\": \"Converts

a text string to all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") =


\\\"product\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var
-args\": false},{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tool
tip\": \"Returns a string with leading spaces removed\",\"help-contents\": \"Ret
urns the string with any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales
\\\") = \\\"Sales\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"h
as-var-args\": false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, mon
th, day)\",\"func-tooltip\": \"Returns a date value constructed from a year, a m
onth and a day of the month.\",\"help-contents\": \"Returns a date value constru
cted from a year, a month and a day of the month. \\n\\nExample: MAKEDATE( 2014
, 3, 18 )\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\"
,\"integer\"],\"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\":
\"MAKEDATETIME(date, time)\",\"func-tooltip\": \"Returns a datetime by combinin
g a date and a time\",\"help-contents\": \"Returns a date and time value given a
date expression and a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12
#, #07:59:00#)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetim
e\"],\"has-var-args\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(h
our, minute, second)\",\"func-tooltip\": \"Returns a time value constructed from
hours, minutes and seconds.\",\"help-contents\": \"Returns a time value constru
cted from hours, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\
"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"]
,\"has-var-args\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or
MAX(expr1, expr2)\",\"func-tooltip\": \"Returns the maximum of an expression\",\
"help-contents\": \"Returns the maximum of a single expression across all record
s or the maximum of two expressions for each record. \\n\\nExample: MAX([Sales]
)\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\
":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\
": \"MEDIAN(expression)\",\"func-tooltip\": \"Returns the median of an expressio
n\",\"help-contents\": \"Returns the median of a single expression. MEDIAN can b
e used with numeric fields only. Null values are ignored.\\n\\nExample: MEDIAN([
Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func
-tooltip\": \"Returns the characters from the middle of a text string\",\"help-c
ontents\": \"Returns the characters from the middle of a text string given a sta
rting position and a length. The first character in the string is position 1. If
the length is not included, all characters to the end of the string are returne
d. If the length is included, up to that many characters are returned. \\n\\nExa
mple: MID(\\\"Tableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"
Tableau Software\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"
func-sig\": \"MIN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns
the minimum of an expression\",\"help-contents\": \"Returns the minimum of an e
xpression across all records or the minimum of two expressions for each record.
\\n\\nExample: MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\
",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"na
me\": \"MONTH\",\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the mo
nth part of the specified date as an integer\",\"help-contents\": \"Returns the
month of a given date as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\
"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": fals
e},{\"name\": \"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-too
ltip\": \"Performs logical negation on an expression\",\"help-contents\": \"Perf
orms logical negation on an expression\",\"func-grps\":[\"logic\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"f
unc-tooltip\": \"Returns the current date and time\",\"help-contents\": \"Return
s the current date and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"f
unc-grps\":[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"OR\",\"func-sig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\":
\"Performs a logical disjunction on two expressions\",\"help-contents\": \"Perf
orms a logical disjunction on two expressions\",\"func-grps\":[\"logic\"],\"func
-arg-types\":[],\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\":

\"PERCENTILE(expression, number)\",\"func-tooltip\": \"Returns the percentile v


alue at the specified number\",\"help-contents\": \"Aggregate calculation that r
eturns the percentile value from the given expression corresponding to the speci
fied number. Valid values for the number are 0 through 1. PERCENTILE([expression
], 0.50) will always return the median value in the expression.\\n\\nExample: PE
RCENTILE([Sales], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\
"locreal\"],\"has-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"
func-tooltip\": \"Returns the numeric constant pi\",\"help-contents\": \"Returns
the numeric constant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":
[\"num\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"
func-sig\": \"POWER(number,power)\",\"func-tooltip\": \"Raises the number to the
specified power\",\"help-contents\": \"Returns the result of a number raised to
the given power. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"]
,\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PR
EVIOUS_VALUE\",\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"
Returns the value of this calculation in the previous row\",\"help-contents\": \
"Returns the value of this calculation in the previous row. Returns the given ex
pression if the current row is the first row of the partition.\\n\\nExample: SUM
([Profit]) + PREVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit
]) * PREVIOUS_VALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"table
\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIA
NS\",\"func-sig\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a number in
degrees to radians\",\"help-contents\": \"Converts a number in degrees to radian
s.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"fun
c-tooltip\": \"Returns the competition rank for the current partition row\",\"he
lp-contents\": \"Returns the standard competition rank for the current row in th
e partition. Identical values are assigned an identical rank. Use the optional '
asc' | 'desc' argument to specify ascending or descending order. The default ord
er is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (1, 2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-va
r-args\": false},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression
, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the dense rank for the current p
artition row\",\"help-contents\": \"Returns the dense rank for the current row i
n the partition. Identical values are assigned an identical rank, but no gaps ar
e inserted into the number sequence. Use the optional 'asc' | 'desc' argument to
specify ascending or descending order. The default order is descending.\\n\\nWi
th this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) i
n ascending order.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"tab
le\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"na
me\": \"RANK_MODIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc']
)\",\"func-tooltip\": \"Returns the modified competition rank for the current pa
rtition row\",\"help-contents\": \"Returns the modified competition rank for the
current row in the partition. Identical values are assigned an identical rank.
Use the optional 'asc' | 'desc' argument to specify ascending or descending orde
r. The default order is descending.\\n\\nWith this function, the set of values (
6, 9, 9, 14) would be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK
_MODIFIED(AVG([Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"int
eger\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"fun
c-sig\": \"RANK_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Ret
urns the percentile rank for the current partition row\",\"help-contents\": \"Re
turns the percentile rank for the current row in the partition. Use the optional
'asc' | 'desc' argument to specify ascending or descending order. The default o
rder is ascending.\\n\\nWith this function, the set of values (6, 9, 9, 14) woul
d be ranked (25, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(
AVG([Test Score]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\
"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"R
ANK_UNIQUE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique
rank for the current partition row\",\"help-contents\": \"Returns the unique ran

k for the current row in the partition. Identical values are assigned different
ranks. Use the optional 'asc' | 'desc' argument to specify ascending or descendi
ng order. The default order is descending.\\n\\nWith this function, the set of v
alues (6, 9, 9, 14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExampl
e: RANK_UNIQUE() = 1 for the first row in the partition\",\"func-grps\":[\"table
\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name
\": \"REGEXP_EXTRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"functooltip\": \"Returns the portion of a string matching the capturing group in a r
egular expression\",\"help-contents\": \"Returns a substring of the given string
that matches the capturing group within the regular expression pattern. The re
gular expression pattern requires exactly one capturing group. \\n\\nExample: RE
GEXP_EXTRACT('abc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"
],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REG
EXP_EXTRACT_NTH\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\
"func-tooltip\": \"Returns a substring of a string using a regular expression pa
ttern\",\"help-contents\": \"Returns a substring of the given string using the r
egular expression pattern. The substring is matched to the nth capturing group,
where n is the given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z
]+)\\\\s+(\\\\d+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"s
tr\",\"str\",\"locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"
func-sig\": \"REGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true i
f a string matches a regular expression\",\"help-contents\": \"Returns true if a
substring of the provided string matches the regular expression pattern. \\n\\n
Example: REGEXP_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\
\w*\\\\s*\\\\])') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\
"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"R
EGEXP_REPLACE(string, pattern, replacement)\",\"func-tooltip\": \"Returns a stri
ng where substrings matching a regular expression are replaced\",\"help-contents
\": \"Returns a copy of the given string where the matching pattern is substitut
ed with the replacement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s
', '-') = 'abc--123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str
\",\"str\"],\"has-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPL
ACE(string, substring, replacement)\",\"func-tooltip\": \"Replaces all instances
of a substring within a string\",\"help-contents\": \"Returns a string in which
every occurrence of the substring is replaced with the replacement string. If t
he substring is not found, the string is unchanged. \\n\\nExample: REPLACE(\\\"C
alculation\\\", \\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\
"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\
"name\": \"RIGHT\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\":
\"Returns the specified number of characters from the end of a string\",\"help-c
ontents\": \"Returns the specified number of characters from the end of the give
n string. \\n\\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"funcgrps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},
{\"name\": \"ROUND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\
": \"Rounds a number to the specified number of places\",\"help-contents\": \"Ro
unds a number to the nearest integer or to a specified number of decimal places.
\\n\\nExample: ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-type
s\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig
\": \"RTRIM(string)\",\"func-tooltip\": \"Returns a string with trailing spaces
removed\",\"help-contents\": \"Returns the string with any trailing spaces remov
ed. \\n\\nExample: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING
_AVG\",\"func-sig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the
running average of an expression\",\"help-contents\": \"Returns the running ave
rage of the given expression, from the first row in the partition to the current
row.\\n\\nExample: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"fu
nc-tooltip\": \"Returns the running count of an expression\",\"help-contents\":
\"Returns the running count of the given expression, from the first row in the p

artition to the current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = runnin


g count of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX
(expression)\",\"func-tooltip\": \"Returns the running maximum of an expression\
",\"help-contents\": \"Returns the running maximum of the given expression, from
the first row in the partition to the current row.\\n\\nExample: RUNNING_MAX(MA
X([Profit])) = running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])
) = running maximum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\"
: \"RUNNING_MIN(expression)\",\"func-tooltip\": \"Returns the running minimum of
an expression\",\"help-contents\": \"Returns the running minimum of the given e
xpression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_MIN(MIN([Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MI
N(SUM([Profit])) = running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"
func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM
\",\"func-sig\": \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the run
ning sum of an expression\",\"help-contents\": \"Returns the running sum of the
given expression, from the first row in the partition to the current row.\\n\\nE
xample: RUNNING_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING
_SUM(COUNT([Profit])) = running count of Profit\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\"
,\"func-sig\": \"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Retu
rns a Boolean result from an R expression\",\"help-contents\": \"Returns a Boole
an result from a given R expression. The R expression is passed directly to a ru
nning Rserve instance. Use .arg# in the R expression to reference parameters. In
the following example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_B
OOL(\\\"is.finite(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"funcarg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-s
ig\": \"SCRIPT_INT(string, expression, ...)\",\"func-tooltip\": \"Returns an int
eger result from an R expression\",\"help-contents\": \"Returns an integer resul
t from a given R expression. The R expression is passed directly to a running Rs
erve instance. Use .arg# in the R expression to reference parameters. In the fol
lowing example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"a
s.integer(.arg1 * 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-argtypes\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\
": \"SCRIPT_REAL(string, expression, ...)\",\"func-tooltip\": \"Returns a numeri
c result from an R expression\",\"help-contents\": \"Returns a numeric result fr
om a given R expression. The R expression is passed directly to a running Rserve
instance. Use .arg# in the R expression to reference parameters. In the followi
ng example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg
1 * 0.5\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"st
r\"],\"has-var-args\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_ST
R(string, expression, ...)\",\"func-tooltip\": \"Returns a string result from an
R expression\",\"help-contents\": \"Returns a string result from a given R expr
ession. The R expression is passed directly to a running Rserve instance. Use .a
rg# in the R expression to reference parameters. In the following example, .arg1
is equal to ATTR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\
\", ATTR([Region]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"h
as-var-args\": true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-t
ooltip\": \"Returns 1 for a positive number\",\"help-contents\": \"Returns the s
ign of a number: 1 if the number is positive, zero if the number is zero, or -1
if the number is negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"
],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"fu
nc-sig\": \"SIN(angle)\",\"func-tooltip\": \"Returns the sine of a number\",\"he
lp-contents\": \"Returns the sine of an angle. Specify the angle in radians.\\n\
\nExample: SIN(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"
SIZE()\",\"func-tooltip\": \"Returns the number of rows in the partition\",\"hel
p-contents\": \"Returns the number of rows in the partition.\\n\\nExample (parti
tion has 5 rows):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[

],\"has-var-args\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",


\"func-tooltip\": \"Returns a string containing the specified number of spaces\"
,\"help-contents\": \"Returns a string composed of the specified number of repea
ted spaces. \\n\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"fun
c-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-si
g\": \"SPLIT(string, delimiter, token number)\",\"func-tooltip\": \"Extracts a s
ubstring from a string\",\"help-contents\": \"Returns a substring from a string,
as determined by a delimiter extracting the characters from the beginning or en
d of the string. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SP
LIT('a-b-c-d', '-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"st
r\",\"locstr\",\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-s
ig\": \"SQRT(number)\",\"func-tooltip\": \"Returns the square root of a number\"
,\"help-contents\": \"Returns the square root of a number. \\n\\nExample: SQRT(2
5) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\":
\"Returns the square of a number\",\"help-contents\": \"Returns the square of a
given number. \\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-s
ig\": \"STARTSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the
specified string starts with the specified substring\",\"help-contents\": \"Retu
rns true if the string starts with the substring. \\n\\nExample: STARTSWITH(\\\"
Calculation\\\", \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\":
\"STDEV(expression)\",\"func-tooltip\": \"Returns the sample standard deviation
for an expression\",\"help-contents\": \"Returns the sample standard deviation o
f the expression.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-si
g\": \"STDEVP(expression)\",\"func-tooltip\": \"Returns the population standard
deviation for an expression\",\"help-contents\": \"Returns the population standa
rd deviation of the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR
\",\"func-sig\": \"STR(expression)\",\"func-tooltip\": \"Returns an expression a
s a string\",\"help-contents\": \"Returns a string given an expression. \\n\\nE
xample: STR([Age]) returns all of the values of the Age measure as strings.\",\"
func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false}
,{\"name\": \"SUM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Return
s the sum of values in an expression\",\"help-contents\": \"Returns the sum of a
ll the values in the expression. SUM can be used with numeric fields only. Null
values are ignored.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\"
: \"TAN(angle)\",\"func-tooltip\": \"Returns the tangent of an angle specified i
n radians\",\"help-contents\": \"Returns the tangent of an angle. Specify the an
gle in radians.\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\
": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\"
,\"func-tooltip\": \"Performs a logical test and returns an appropriate value\",
\"help-contents\": \"Tests a series of expressions returning the <then> value fo
r the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF
[Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"T
ODAY()\",\"func-tooltip\": \"Returns the current date\",\"help-contents\": \"Ret
urns the current date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"d
ate\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"fun
c-sig\": \"TOTAL(expression)\",\"func-tooltip\": \"Returns the total for an expr
ession within the partition\",\"help-contents\": \"Returns the total for the giv
en expression.\\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database
rows that contribute to the partition\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \
"TRIM(string)\",\"func-tooltip\": \"Returns a string with leading and trailing s
paces removed\",\"help-contents\": \"Returns the string with both leading and tr

ailing spaces removed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\"


,\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{
\"name\": \"UPPER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns
a string in all uppercase characters\",\"help-contents\": \"Converts a text stri
ng to all uppercase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT
\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fa
lse},{\"name\": \"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\":
\"Returns the domain for the current user\",\"help-contents\": \"Returns the dom
ain for the current user when the user is signed on to Tableau Server. Returns t
he Windows domain if the Tableau Desktop user is on a domain. Otherwise this fun
ction returns a null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"
has-var-args\": false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"fu
nc-tooltip\": \"Returns the user name for the current user\",\"help-contents\":
\"Returns the username for the current user. This is the Tableau Server or Table
au Online username when the user is signed in; otherwise it is the local or netw
ork username for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expr
ession)\",\"func-tooltip\": \"Returns the sample variance for an expression\",\"
help-contents\": \"Returns the sample variance of the expression.\\n\\nExample:
VAR([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-varargs\": false},{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-too
ltip\": \"Returns the population variance for an expression\",\"help-contents\":
\"Returns the population variance of the expression.\\n\\nExample: VARP([Profit
])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1>
... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns
the appropriate value\",\"help-contents\": \"Finds the first <value> that matche
s <expr> and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumer
al] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grp
s\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WIND
OW_AVG\",\"func-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\"
: \"Returns the average of the values within the window\",\"help-contents\": \"R
eturns the average of the expression within the window. The window is defined a
s offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire pa
rtition is used.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM
(Profit) from the two previous rows to the current row\",\"func-grps\":[\"table\
"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false
},{\"name\": \"WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, e
nd])\",\"func-tooltip\": \"Returns the number of items within the window\",\"hel
p-contents\": \"Returns the count of the expression within the window. The wind
ow is defined as offsets from the current row. Use FIRST()+n and LAST()-n for of
fsets from the first or last row in the partition. If start and end are omitted
, the entire partition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0)
= count of SUM(Profit) from the two previous rows to the current row\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-va
r-args\": false},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression
, [start, end])\",\"func-tooltip\": \"Returns the maximum within the window\",\"
help-contents\": \"Returns the maximum of the expression within the window. The
window is defined as offsets from the current row. Use FIRST()+n and LAST()-n f
or offsets from the first or last row in the partition. If start and end are om
itted, the entire partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2,
0) = maximum of Profit from the two previous rows to the current row\\n\\nExamp
le: WINDOW_MAX(SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two previ
ous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"in
teger\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_ME
DIAN\",\"func-sig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\
": \"Returns the median within the window\",\"help-contents\": \"Returns the med
ian of the expression within the window. The window is defined as offsets from
the current row. Use FIRST()+n and LAST()-n for offsets from the first or last r

ow in the partition. If start and end are omitted, the entire partition is used
.\\n\\nExample: WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from
the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg
-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"WINDOW_MIN\",\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-too
ltip\": \"Returns the minimum within the window\",\"help-contents\": \"Returns t
he minimum of the expression within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from
the two previous rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit])
, -2, 0) = minimum of SUM(Profit) from the two previous rows to the current row\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"intege
r\"],\"has-var-args\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"W
INDOW_PERCENTILE(expression, number, [start, end])\",\"func-tooltip\": \"Returns
the percentile value at the specified number\",\"help-contents\": \"Returns the
value corresponding to the specified percentile within the window. The window
is defined as offsets from the current row. Use FIRST()+n and LAST()-n for offse
ts from the first or last row in the partition. If start and end are omitted, t
he entire partition is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75
, -2., 0)) = 75th percentile of SUM(Profit) from the two previous rows to the c
urrent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",
\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"
func-sig\": \"WINDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Retur
ns the sample standard deviation within the window\",\"help-contents\": \"Return
s the sample standard deviation of the expression within the window. The window
is defined as offsets from the current row. Use FIRST()+n and LAST()-n for offs
ets from the first or last row in the partition. If start and end are omitted,
the entire partition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) =
std. dev. of SUM(Profit) from the two previous rows to the current row\",\"func
-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"hasvar-args\": false},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(ex
pression, [start, end])\",\"func-tooltip\": \"Returns the population standard de
viation within the window\",\"help-contents\": \"Returns the population standard
deviation of the expression within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Pr
ofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{
\"name\": \"WINDOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",
\"func-tooltip\": \"Returns the sum of values within the window\",\"help-content
s\": \"Returns the sum of the expression within the window. The window is defin
ed as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the entir
e partition is used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM
(Profit) from the two previous rows to the current row\",\"func-grps\":[\"table\
"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": fa
lse},{\"name\": \"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, en
d])\",\"func-tooltip\": \"Returns the sample variance within the window\",\"help
-contents\": \"Returns the sample variance of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST()
-n for offsets from the first or last row in the partition. If start and end ar
e omitted, the entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]),
-2, 0) = variance of SUM(Profit) from the two previous rows to the current row\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"
],\"has-var-args\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VAR
P(expression, [start, end])\",\"func-tooltip\": \"Returns the population varianc
e within the window\",\"help-contents\": \"Returns the population variance of th
e expression within the window. The window is defined as offsets from the curre

nt row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the
partition. If start and end are omitted, the entire partition is used.\\n\\nEx
ample: WINDOW_VARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",
\"func-sig\": \"YEAR(date)\",\"func-tooltip\": \"Returns the year of the specifi
ed date as an integer\",\"help-contents\": \"Returns the year of a given date as
an integer. \\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"
],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\
"func-sig\": \"ZN(expression)\",\"func-tooltip\": \"Returns the expression if it
is not null\",\"help-contents\": \"Returns <expression> if it is not null, othe
rwise returns zero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logi
c\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false}]},\"calculation-c
ontext\": \"calculation-dialog\",\"use-parameters\": true} position=\"1\"","name
":"tabdoc:calculation-auto-complete"}}
{"ts":"2016-09-29T17:01:58.881","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED \"
calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"cal
culation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculation_548988
8009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{f\",\"fn\"
: \"\",\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"folder-name\": \
"\",\"add-to-folder\": false,\"folder-role\": \"dimensions\",\"has-table-calc-da
ta\": false,\"table-calc-types-used\": 0,\"style-token-list\":[],\"error-string\
": \"Error in calculation:\\n\\nExpected '}' following the expression.\\n\\nWoul
d you like to correct the calculation?\",\"error-info-list\":[{\"start-positionfor-error\": 1,\"length-of-calc-of-error\": 1,\"error-message\": \"Expected '}'
following the expression.\"}],\"expression-func-pm\":{\"expression-func-list\":[
{\"name\": \"ABS\",\"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the
absolute value of a number\",\"help-contents\": \"Returns the absolute value of
the given number. \\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\":
\"ACOS(number)\",\"func-tooltip\": \"Returns the arc cosine of a number\",\"hel
p-contents\": \"Returns the arc cosine of a number. The result is in radians. \
\n\\nExample: ACOS(-1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-t
ypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF
<expr1> AND <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical co
njunction on two expressions\",\"help-contents\": \"Performs a logical conjuncti
on on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-too
ltip\": \"Returns the ASCII code for the first character in a string\",\"help-co
ntents\": \"Returns the ASCII code value of the first character in a string. \\n
\\nExample: ASCII(\\\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN
(number)\",\"func-tooltip\": \"Returns the arc sine of a number\",\"help-content
s\": \"Returns the arc sine of a number. The result is in radians. \\n\\nExampl
e: ASIN(1) = 1.5707963267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\"
,\"func-tooltip\": \"Returns the arc tangent of a number\",\"help-contents\": \"
Returns the arc tangent of a number. The result is in radians. \\n\\nExample:
ATAN(180) = 1.5652408283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number
, x number)\",\"func-tooltip\": \"Returns the arc tangent of two numbers\",\"hel
p-contents\": \"Returns the arc tangent of two given numbers (x and y). The resu
lt is in radians. \\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\"
:[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"na
me\": \"ATTR\",\"func-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns th
e value of the expression if it has one value for all rows\",\"help-contents\":
\"Returns the value of the given expression if it only has a single value for al
l rows in the group, otherwise it displays an asterisk (*). Null values are igno

red.\\n\\nExample: ATTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[
\"integer\"],\"has-var-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(exp
ression)\",\"func-tooltip\": \"Returns the average of the values in the expressi
on\",\"help-contents\": \"Returns the average of all the values in the expressio
n. AVG can be used with numeric fields only. Null values are ignored.\\n\\nExamp
le: AVG([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"hasvar-args\": false},{\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1>
THEN <return1> ... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tes
ts and returns the appropriate value\",\"help-contents\": \"Finds the first <val
ue> that matches <expr> and returns the corresponding <return>. \\n\\nExample: C
ASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 E
ND\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\
"name\": \"CEILING\",\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Round
s a number to the nearest integer of equal or greater value\",\"help-contents\":
\"Rounds a number to the nearest integer of equal or greater value. \\n\\nExamp
le: CEILING(3.1415) = 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"f
unc-tooltip\": \"Converts an integer ASCII code into a character\",\"help-conten
ts\": \"Converts the given integer ASCII code into a character. \\n\\nExample: C
HAR(65) = 'A'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-varargs\": false},{\"name\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substrin
g)\",\"func-tooltip\": \"Returns true if a string contains the specified substri
ng\",\"help-contents\": \"Returns true if the string contains the substring. \\n
\\nExample: CONTAINS(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":
[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\
": \"COS\",\"func-sig\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine o
f an angle specified in radians\",\"help-contents\": \"Returns the cosine of an
angle. Specify the angle in radians.\\n\\nExample: COS(PI()/4) = 0.7071067811865
48\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"COT\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns
the cotangent of an angle specified in radians\",\"help-contents\": \"Returns th
e cotangent of an angle. Specify the angle in radians.\\n\\nExample: COT(PI()/4)
= 1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"COUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\":
\"Returns the number of items in the expression\",\"help-contents\": \"Returns
the number of items in a group. NULL values are not counted.\\n\\nExample: COUNT
([Customer ID])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has
-var-args\": false},{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\
"func-tooltip\": \"Returns the number of distinct items in the expression\",\"he
lp-contents\": \"Returns the number of distinct items in a group. NULL values ar
e not counted. Each unique value is counted only once.\\n\\nExample: COUNTD([Re
gion])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args
\": false},{\"name\": \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip
\": \"Returns a date from a number\",\"help-contents\": \"Returns a date given a
number, string, or date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\
\") = 2006-06-15 \\nNote that the quotation marks are required.\",\"func-grps\":
[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DA
TEADD\",\"func-sig\": \"DATEADD(date_part, interval, date)\",\"func-tooltip\": \
"Returns the specified date incremented by the specified amount\",\"help-content
s\": \"Adds an increment to the specified date and returns the new date. The inc
rement is defined by the interval and the date_part. \\n\\nExample: DATEADD('mon
th', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func
-arg-types\":[\"locstr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"n
ame\": \"DATEDIFF\",\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [s
tart_of_week])\",\"func-tooltip\": \"Returns the difference between two dates\",
\"help-contents\": \"Returns the difference between two dates where start_date i
s subtracted from end_date. The difference is expressed in units of date_part. I
f start_of_week is omitted, the week start day is determined by the start day co
nfigured for the data source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #200
4-04-03#, 'sunday') = -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr

\",\"datetime\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"D


ATENAME\",\"func-sig\": \"DATENAME(date_part, date, [start_of_week])\",\"func-to
oltip\": \"Returns a part of the specified date as a string\",\"help-contents\":
\"Returns a part of the given date as a string, where the part is defined by da
te_part. If start_of_week is omitted, the week start day is determined by the st
art day configured for the data source.\\n\\nExample: DATENAME('month', #2004-04
-15#) = \\\"April\\\"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",
\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"fun
c-sig\": \"DATEPARSE(format, string)\",\"func-tooltip\": \"Converts a string to
a date\",\"help-contents\": \"Converts a string to a date in the specified forma
t. \\n\\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004
-04-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"s
tr\"],\"has-var-args\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(
date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns the specified pa
rt of a date as an integer\",\"help-contents\": \"Returns a part of the given da
te as an integer where the part is defined by date_part. If start_of_week is omi
tted, the week start day is determined by the start day configured for the data
source.\\n\\nExample: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"dat
e\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": f
alse},{\"name\": \"DATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tool
tip\": \"Returns a datetime from a number\",\"help-contents\": \"Returns a datet
ime given a number, string, or date expression. \\n\\nExample: DATETIME(\\\"Apr
il 15, 2004 07:59:00\\\") \\nNote that the quotation marks are required.\",\"fu
nc-grps\":[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"na
me\": \"DATETRUNC\",\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\
",\"func-tooltip\": \"Truncates the specified date to the specified accuracy\",\
"help-contents\": \"Truncates the specified date to the accuracy specified by th
e date_part and returns the new date. If start_of_week is omitted, the week star
t day is determined by the start day configured for the data source.\\n\\nExampl
e: DATETRUNC('quarter', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[
\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args
\": false},{\"name\": \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Re
turns the day part of the specified date as an integer\",\"help-contents\": \"Re
turns the day of the given date as an integer. \\n\\nExample: DAY(#2004-04-12#)
= 12\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-arg
s\": false},{\"name\": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tool
tip\": \"Converts a value in radians to degrees\",\"help-contents\": \"Converts
a number in radians to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-gr
ps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"DIV\",\"func-sig\": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the
integer part of a division operation\",\"help-contents\": \"Returns the integer
part of a division.\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"fu
nc-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"E
LSE\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [E
LSE <else>] END\",\"func-tooltip\": \"Performs a logical test and returns an app
ropriate value\",\"help-contents\": \"Tests a series of expressions returning th
e <then> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'P
rofitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":
[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\"
,\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <
else>] END\",\"func-tooltip\": \"Performs a logical test and returns an appropri
ate value\",\"help-contents\": \"Tests a series of expressions returning the <th
en> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profit
able' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"lo
gic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"END\",\"funcsig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] E
ND\",\"func-tooltip\": \"Performs a logical test and returns an appropriate valu
e\",\"help-contents\": \"Tests a series of expressions returning the <then> valu
e for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' EL
SEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\

"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig


\": \"ENDSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the spec
ified string ends with the specified substring\",\"help-contents\": \"Returns tr
ue if the string ends with the substring (trailing whitespace is ignored). \\n\\
nExample: ENDSWITH(\\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\":
\"EXCLUDE\",\"func-sig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }
\",\"func-tooltip\": \"Computes an aggregate excluding the specified dimensions
if present in the view.\",\"help-contents\": \"Computes an aggregate excluding t
he specified dimensions if present in the view.\",\"func-grps\":[\"agg\"],\"func
-arg-types\":[],\"has-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(
number)\",\"func-tooltip\": \"Returns e raised to the power of a number\",\"help
-contents\": \"Returns e raised to the power of the given number. \\n\\nExample
: EXP(5) = e^5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"FIND\",\"func-sig\": \"FIND(string, substring, [sta
rt])\",\"func-tooltip\": \"Returns the position of a substring within a string\"
,\"help-contents\": \"Returns the position of a substring within a string, or 0
if the substring isn't found. If the start argument is defined, any instances of
substring that appear before the start position are ignored. The first characte
r in the string is position 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu
\\\") = 2\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"
],\"has-var-args\": false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string
, substring, occurrence)\",\"func-tooltip\": \"Returns the position of the nth o
ccurrence a substring within a string\",\"help-contents\": \"Returns the positio
n of the nth occurrence of a substring within a string, or 0 if that occurrence
of the substring isn't found. The first character in the string is position 1. \
\n\\nExample: FINDNTH(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\
"name\": \"FIRST\",\"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the num
ber of rows from to the first row in the partition\",\"help-contents\": \"Return
s the number of rows from the current row to the first row in the partition.\\n\
\nExample (current row index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"funcsig\": \"{ FIXED [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\":
\"Computes an aggregate using only the specified dimensions.\",\"help-contents\"
: \"Computes an aggregate using only the specified dimensions.\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"f
unc-sig\": \"FLOAT(expression)\",\"func-tooltip\": \"Returns a float from an exp
ression\",\"help-contents\": \"Returns a float given an expression of any type.
This function requires unformatted numbers which means exclude commas and other
symbols. \\n\\nExample: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"fu
nc-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"fun
c-sig\": \"FLOOR(number)\",\"func-tooltip\": \"Rounds a number to the nearest in
teger of equal or lesser value\",\"help-contents\": \"Rounds a number to the nea
rest integer of equal or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"FULLNAME\",\"func-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the fu
ll name for the current user\",\"help-contents\": \"Returns the full name for th
e current user. This is the Tableau Server or Tableau Online full name when the
user is signed in; otherwise it is the local or network full name for the Tablea
u Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"fun
c-tooltip\": \"Returns the x-coordinate of the nearest hexagonal bin.\",\"help-c
ontents\": \"Maps an (x,y) coordinate to the x-coordinate of the nearest hexagon
al bin. The bins have side length 1, so the inputs may need to be scaled appropr
iately.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-v
ar-args\": false},{\"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)
\",\"func-tooltip\": \"Returns the y-coordinate of the nearest hexagonal bin.\",
\"help-contents\": \"Maps an (x,y) coordinate to the y-coordinate of the nearest
hexagonal bin. The bins have side length 1, so the inputs may need to be scaled

appropriately.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"]
,\"has-var-args\": false},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then
> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Perf
orms a logical test and returns an appropriate value\",\"help-contents\": \"Test
s a series of expressions returning the <then> value for the first true <expr>.
\\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Break
even' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"
func-tooltip\": \"Returns expression1 if not null\",\"help-contents\": \"Returns
<expr1> if it is not null, otherwise returns <expr2>. \\n\\nExample: IFNULL([P
rofit], 0)\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer
\"],\"has-var-args\": false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then,
else, [unknown])\",\"func-tooltip\": \"Evaluates a Boolean expression and return
s one of two values\",\"help-contents\": \"Checks whether a condition is met, an
d returns one value if TRUE, another value if FALSE, and an optional third value
or NULL if unknown. \\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func
-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],
\"has-var-args\": false},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[
, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate
using the specified dimensions and the view dimensions.\",\"help-contents\": \"
Computes an aggregate using the specified dimensions and the view dimensions.\",
\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\"
: \"INDEX\",\"func-sig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of t
he current row in the partition\",\"help-contents\": \"Returns the index of the
current row in the partition.\\n\\nExample (for the first row in the partition):
INDEX( ) = 1\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\"
: false},{\"name\": \"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\":
\"Evaluates an expression and returns an integer\",\"help-contents\": \"Returns
an integer given an expression. This function truncates results to the closest i
nteger toward zero. \\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-g
rps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"na
me\": \"ISDATE\",\"func-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns tr
ue if the string is a valid date\",\"help-contents\": \"Returns true if a given
string is a valid date. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"fu
nc-grps\":[\"str\",\"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-ar
gs\": false},{\"name\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"fu
nc-tooltip\": \"Returns true if the current user's full name matches the specifi
ed name\",\"help-contents\": \"Returns true if the current user's full name matc
hes the specified full name, or false if it does not match. This function uses t
he Tableau Server or Tableau Online full name when the user is signed in; otherw
ise it uses the local or network full name for the Tableau Desktop user.\",\"fun
c-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"
name\": \"ISMEMBEROF\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"
Returns true if the current user is a member of the specified group\",\"help-con
tents\": \"Returns true if the current user is a member of the given group, fals
e otherwise. This uses the Tableau Server to resolve group membership if logged
on, otherwise it always returns false.\",\"func-grps\":[\"user\"],\"func-arg-ty
pes\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\":
\"ISNULL(expression)\",\"func-tooltip\": \"Returns true if the specified express
ion is null\",\"help-contents\": \"Returns true if the expression does not conta
in valid data (Null).\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"]
,\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNA
ME\",\"func-sig\": \"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if th
e current user's name matches the specified user name\",\"help-contents\": \"Ret
urns true if the current user's username matches the specified username, or fals
e if it does not match. This function uses the Tableau Server or Tableau Online
username when the user is signed in; otherwise it uses the local or network user
name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\"
:[\"locstr\"],\"has-var-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST(
)\",\"func-tooltip\": \"Returns the number of rows to the last row in the partit

ion\",\"help-contents\": \"Returns the number of rows from the current row to th


e last row in the partition.\\n\\nExample (current row is index 3 of 7):\\nLAST
( ) = 4\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"LEFT\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\
": \"Returns the specified number of characters from the start of a string\",\"h
elp-contents\": \"Returns the specified number of characters from the start of t
he given string. \\n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"LEN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Retur
ns the number of characters in a string\",\"help-contents\": \"Returns the numbe
r of characters in the given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 1
1\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false
},{\"name\": \"LN\",\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the
natural logarithm of a number\",\"help-contents\": \"Returns the natural logari
thm of the given number. Returns Null if the number is less than or equal to 0.\
\n\\nExample: LN(EXP(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [ba
se])\",\"func-tooltip\": \"Returns the logarithm of a number for the given base\
",\"help-contents\": \"Returns the logarithm of a number for the given base. If
the base value is omitted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExam
ple: LOG(256, 2) = 8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"re
al\"],\"has-var-args\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expr
ession, [offset])\",\"func-tooltip\": \"Returns the value of the expression in a
row offset from current row\",\"help-contents\": \"Returns the value of the giv
en expression in a target row, specified as a relative offset from the current r
ow. Use FIRST()+n and LAST()-n for a target relative to the first/last rows in t
he partition. If offset is omitted, the Compare To row may be set on the field m
enu. Returns NULL if the target row cannot be determined.\\n\\nExample: LOOKUP(S
UM([Profit]), FIRST( ) + 2) = SUM(Profit) in the third row of the partition\",\
"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-varargs\": false},{\"name\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-toolt
ip\": \"Returns a string in all lowercase characters\",\"help-contents\": \"Conv
erts a text string to all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\
") = \\\"product\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"ha
s-var-args\": false},{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func
-tooltip\": \"Returns a string with leading spaces removed\",\"help-contents\":
\"Returns the string with any leading spaces removed. \\n\\nExample: LTRIM(\\\"
Sales\\\") = \\\"Sales\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year
, month, day)\",\"func-tooltip\": \"Returns a date value constructed from a year
, a month and a day of the month.\",\"help-contents\": \"Returns a date value co
nstructed from a year, a month and a day of the month. \\n\\nExample: MAKEDATE(
2014, 3, 18 )\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"inte
ger\",\"integer\"],\"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-s
ig\": \"MAKEDATETIME(date, time)\",\"func-tooltip\": \"Returns a datetime by com
bining a date and a time\",\"help-contents\": \"Returns a date and time value gi
ven a date expression and a time expression. \\n\\nExample: MAKEDATETIME(#201211-12#, #07:59:00#)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"da
tetime\"],\"has-var-args\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKET
IME(hour, minute, second)\",\"func-tooltip\": \"Returns a time value constructed
from hours, minutes and seconds.\",\"help-contents\": \"Returns a time value co
nstructed from hours, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40
)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integ
er\"],\"has-var-args\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression
) or MAX(expr1, expr2)\",\"func-tooltip\": \"Returns the maximum of an expressio
n\",\"help-contents\": \"Returns the maximum of a single expression across all r
ecords or the maximum of two expressions for each record. \\n\\nExample: MAX([S
ales])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-t
ypes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func
-sig\": \"MEDIAN(expression)\",\"func-tooltip\": \"Returns the median of an expr

ession\",\"help-contents\": \"Returns the median of a single expression. MEDIAN


can be used with numeric fields only. Null values are ignored.\\n\\nExample: MED
IAN([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-varargs\": false},{\"name\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\
"func-tooltip\": \"Returns the characters from the middle of a text string\",\"h
elp-contents\": \"Returns the characters from the middle of a text string given
a starting position and a length. The first character in the string is position
1. If the length is not included, all characters to the end of the string are re
turned. If the length is included, up to that many characters are returned. \\n\
\nExample: MID(\\\"Tableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID
(\\\"Tableau Software\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-a
rg-types\":[\"str\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN
\",\"func-sig\": \"MIN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Re
turns the minimum of an expression\",\"help-contents\": \"Returns the minimum of
an expression across all records or the minimum of two expressions for each rec
ord. \\n\\nExample: MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"l
ogic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},
{\"name\": \"MONTH\",\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns t
he month part of the specified date as an integer\",\"help-contents\": \"Returns
the month of a given date as an integer. \\n\\nExample: MONTH(#2004-04-12#) =
4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\":
false},{\"name\": \"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"fun
c-tooltip\": \"Performs logical negation on an expression\",\"help-contents\": \
"Performs logical negation on an expression\",\"func-grps\":[\"logic\"],\"func-a
rg-types\":[],\"has-var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\
",\"func-tooltip\": \"Returns the current date and time\",\"help-contents\": \"R
eturns the current date and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\
",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"nam
e\": \"OR\",\"func-sig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-toolt
ip\": \"Performs a logical disjunction on two expressions\",\"help-contents\": \
"Performs a logical disjunction on two expressions\",\"func-grps\":[\"logic\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-s
ig\": \"PERCENTILE(expression, number)\",\"func-tooltip\": \"Returns the percent
ile value at the specified number\",\"help-contents\": \"Aggregate calculation t
hat returns the percentile value from the given expression corresponding to the
specified number. Valid values for the number are 0 through 1. PERCENTILE([expre
ssion], 0.50) will always return the median value in the expression.\\n\\nExampl
e: PERCENTILE([Sales], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"rea
l\",\"locreal\"],\"has-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()
\",\"func-tooltip\": \"Returns the numeric constant pi\",\"help-contents\": \"Re
turns the numeric constant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-gr
ps\":[\"num\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER
\",\"func-sig\": \"POWER(number,power)\",\"func-tooltip\": \"Raises the number t
o the specified power\",\"help-contents\": \"Returns the result of a number rais
ed to the given power. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"n
um\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\":
\"PREVIOUS_VALUE\",\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\
": \"Returns the value of this calculation in the previous row\",\"help-contents
\": \"Returns the value of this calculation in the previous row. Returns the giv
en expression if the current row is the first row of the partition.\\n\\nExample
: SUM([Profit]) + PREVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([P
rofit]) * PREVIOUS_VALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"
RADIANS\",\"func-sig\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a numbe
r in degrees to radians\",\"help-contents\": \"Converts a number in degrees to r
adians.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",
\"func-tooltip\": \"Returns the competition rank for the current partition row\"
,\"help-contents\": \"Returns the standard competition rank for the current row
in the partition. Identical values are assigned an identical rank. Use the optio

nal 'asc' | 'desc' argument to specify ascending or descending order. The defaul
t order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Tim
e]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"h
as-var-args\": false},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expre
ssion, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the dense rank for the curr
ent partition row\",\"help-contents\": \"Returns the dense rank for the current
row in the partition. Identical values are assigned an identical rank, but no ga
ps are inserted into the number sequence. Use the optional 'asc' | 'desc' argume
nt to specify ascending or descending order. The default order is descending.\\n
\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2,
3) in ascending order.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[
\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},
{\"name\": \"RANK_MODIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'d
esc'])\",\"func-tooltip\": \"Returns the modified competition rank for the curre
nt partition row\",\"help-contents\": \"Returns the modified competition rank fo
r the current row in the partition. Identical values are assigned an identical r
ank. Use the optional 'asc' | 'desc' argument to specify ascending or descending
order. The default order is descending.\\n\\nWith this function, the set of val
ues (6, 9, 9, 14) would be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample:
RANK_MODIFIED(AVG([Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",
\"func-sig\": \"RANK_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\":
\"Returns the percentile rank for the current partition row\",\"help-contents\":
\"Returns the percentile rank for the current row in the partition. Use the opt
ional 'asc' | 'desc' argument to specify ascending or descending order. The defa
ult order is ascending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (25, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCEN
TILE(AVG([Test Score]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"intege
r\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\"
: \"RANK_UNIQUE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the un
ique rank for the current partition row\",\"help-contents\": \"Returns the uniqu
e rank for the current row in the partition. Identical values are assigned diffe
rent ranks. Use the optional 'asc' | 'desc' argument to specify ascending or des
cending order. The default order is descending.\\n\\nWith this function, the set
of values (6, 9, 9, 14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nE
xample: RANK_UNIQUE() = 1 for the first row in the partition\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\
"name\": \"REGEXP_EXTRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"
func-tooltip\": \"Returns the portion of a string matching the capturing group i
n a regular expression\",\"help-contents\": \"Returns a substring of the given s
tring that matches the capturing group within the regular expression pattern. T
he regular expression pattern requires exactly one capturing group. \\n\\nExampl
e: REGEXP_EXTRACT('abc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\":
\"REGEXP_EXTRACT_NTH\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index
)\",\"func-tooltip\": \"Returns a substring of a string using a regular expressi
on pattern\",\"help-contents\": \"Returns a substring of the given string using
the regular expression pattern. The substring is matched to the nth capturing g
roup, where n is the given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '
([a-z]+)\\\\s+(\\\\d+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\",\"locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH
\",\"func-sig\": \"REGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns t
rue if a string matches a regular expression\",\"help-contents\": \"Returns true
if a substring of the provided string matches the regular expression pattern. \
\n\\nExample: REGEXP_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.
)(\\\\w*\\\\s*\\\\])') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"st
r\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\"
: \"REGEXP_REPLACE(string, pattern, replacement)\",\"func-tooltip\": \"Returns a
string where substrings matching a regular expression are replaced\",\"help-con

tents\": \"Returns a copy of the given string where the matching pattern is subs
tituted with the replacement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '
\\\\s', '-') = 'abc--123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",
\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \
"REPLACE(string, substring, replacement)\",\"func-tooltip\": \"Replaces all inst
ances of a substring within a string\",\"help-contents\": \"Returns a string in
which every occurrence of the substring is replaced with the replacement string.
If the substring is not found, the string is unchanged. \\n\\nExample: REPLACE(
\\\"Calculation\\\", \\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps
\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": fals
e},{\"name\": \"RIGHT\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-toolti
p\": \"Returns the specified number of characters from the end of a string\",\"h
elp-contents\": \"Returns the specified number of characters from the end of the
given string. \\n\\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"
func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ROUND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-too
ltip\": \"Rounds a number to the specified number of places\",\"help-contents\":
\"Rounds a number to the nearest integer or to a specified number of decimal pl
aces. \\n\\nExample: ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"fun
c-sig\": \"RTRIM(string)\",\"func-tooltip\": \"Returns a string with trailing sp
aces removed\",\"help-contents\": \"Returns the string with any trailing spaces
removed. \\n\\nExample: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RU
NNING_AVG\",\"func-sig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Return
s the running average of an expression\",\"help-contents\": \"Returns the runnin
g average of the given expression, from the first row in the partition to the cu
rrent row.\\n\\nExample: RUNNING_AVG(SUM([Profit])) = running average of SUM(Pro
fit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\"
,\"func-tooltip\": \"Returns the running count of an expression\",\"help-content
s\": \"Returns the running count of the given expression, from the first row in
the partition to the current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = r
unning count of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNIN
G_MAX(expression)\",\"func-tooltip\": \"Returns the running maximum of an expres
sion\",\"help-contents\": \"Returns the running maximum of the given expression,
from the first row in the partition to the current row.\\n\\nExample: RUNNING_M
AX(MAX([Profit])) = running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Pro
fit])) = running maximum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"funcsig\": \"RUNNING_MIN(expression)\",\"func-tooltip\": \"Returns the running minim
um of an expression\",\"help-contents\": \"Returns the running minimum of the gi
ven expression, from the first row in the partition to the current row.\\n\\nExa
mple: RUNNING_MIN(MIN([Profit])) = running minimum of Profit\\n\\nExample: RUNNI
NG_MIN(SUM([Profit])) = running minimum of SUM(Profit)\",\"func-grps\":[\"table\
"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNIN
G_SUM\",\"func-sig\": \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns th
e running sum of an expression\",\"help-contents\": \"Returns the running sum of
the given expression, from the first row in the partition to the current row.\\
n\\nExample: RUNNING_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RU
NNING_SUM(COUNT([Profit])) = running count of Profit\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_B
OOL\",\"func-sig\": \"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \
"Returns a Boolean result from an R expression\",\"help-contents\": \"Returns a
Boolean result from a given R expression. The R expression is passed directly to
a running Rserve instance. Use .arg# in the R expression to reference parameter
s. In the following example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCR
IPT_BOOL(\\\"is.finite(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"
func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"f

unc-sig\": \"SCRIPT_INT(string, expression, ...)\",\"func-tooltip\": \"Returns a


n integer result from an R expression\",\"help-contents\": \"Returns an integer
result from a given R expression. The R expression is passed directly to a runni
ng Rserve instance. Use .arg# in the R expression to reference parameters. In th
e following example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(
\\\"as.integer(.arg1 * 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func
-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func
-sig\": \"SCRIPT_REAL(string, expression, ...)\",\"func-tooltip\": \"Returns a n
umeric result from an R expression\",\"help-contents\": \"Returns a numeric resu
lt from a given R expression. The R expression is passed directly to a running R
serve instance. Use .arg# in the R expression to reference parameters. In the fo
llowing example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\
".arg1 * 0.5\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRI
PT_STR(string, expression, ...)\",\"func-tooltip\": \"Returns a string result fr
om an R expression\",\"help-contents\": \"Returns a string result from a given R
expression. The R expression is passed directly to a running Rserve instance. U
se .arg# in the R expression to reference parameters. In the following example,
.arg1 is equal to ATTR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1,
2)\\\", ATTR([Region]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"f
unc-tooltip\": \"Returns 1 for a positive number\",\"help-contents\": \"Returns
the sign of a number: 1 if the number is positive, zero if the number is zero, o
r -1 if the number is negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"
num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\"
,\"func-sig\": \"SIN(angle)\",\"func-tooltip\": \"Returns the sine of a number\"
,\"help-contents\": \"Returns the sine of an angle. Specify the angle in radians
.\\n\\nExample: SIN(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\
": \"SIZE()\",\"func-tooltip\": \"Returns the number of rows in the partition\",
\"help-contents\": \"Returns the number of rows in the partition.\\n\\nExample (
partition has 5 rows):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[],\"has-var-args\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(numbe
r)\",\"func-tooltip\": \"Returns a string containing the specified number of spa
ces\",\"help-contents\": \"Returns a string composed of the specified number of
repeated spaces. \\n\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],
\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"fu
nc-sig\": \"SPLIT(string, delimiter, token number)\",\"func-tooltip\": \"Extract
s a substring from a string\",\"help-contents\": \"Returns a substring from a st
ring, as determined by a delimiter extracting the characters from the beginning
or end of the string. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExampl
e: SPLIT('a-b-c-d', '-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":
[\"str\",\"locstr\",\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"f
unc-sig\": \"SQRT(number)\",\"func-tooltip\": \"Returns the square root of a num
ber\",\"help-contents\": \"Returns the square root of a number. \\n\\nExample: S
QRT(25) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-toolt
ip\": \"Returns the square of a number\",\"help-contents\": \"Returns the square
of a given number. \\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"fu
nc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"f
unc-sig\": \"STARTSWITH(string, substring)\",\"func-tooltip\": \"Returns true if
the specified string starts with the specified substring\",\"help-contents\": \
"Returns true if the string starts with the substring. \\n\\nExample: STARTSWITH
(\\\"Calculation\\\", \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-t
ypes\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-si
g\": \"STDEV(expression)\",\"func-tooltip\": \"Returns the sample standard devia
tion for an expression\",\"help-contents\": \"Returns the sample standard deviat
ion of the expression.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\
"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"fu
nc-sig\": \"STDEVP(expression)\",\"func-tooltip\": \"Returns the population stan

dard deviation for an expression\",\"help-contents\": \"Returns the population s


tandard deviation of the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grp
s\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"STR\",\"func-sig\": \"STR(expression)\",\"func-tooltip\": \"Returns an express
ion as a string\",\"help-contents\": \"Returns a string given an expression. \\
n\\nExample: STR([Age]) returns all of the values of the Age measure as strings.
\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": f
alse},{\"name\": \"SUM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"R
eturns the sum of values in an expression\",\"help-contents\": \"Returns the sum
of all the values in the expression. SUM can be used with numeric fields only.
Null values are ignored.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\
"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"funcsig\": \"TAN(angle)\",\"func-tooltip\": \"Returns the tangent of an angle specif
ied in radians\",\"help-contents\": \"Returns the tangent of an angle. Specify t
he angle in radians.\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\
"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func
-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>]
END\",\"func-tooltip\": \"Performs a logical test and returns an appropriate val
ue\",\"help-contents\": \"Tests a series of expressions returning the <then> val
ue for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' E
LSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\"
: \"TODAY()\",\"func-tooltip\": \"Returns the current date\",\"help-contents\":
\"Returns the current date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\"
:[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",
\"func-sig\": \"TOTAL(expression)\",\"func-tooltip\": \"Returns the total for an
expression within the partition\",\"help-contents\": \"Returns the total for th
e given expression.\\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all dat
abase rows that contribute to the partition\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig
\": \"TRIM(string)\",\"func-tooltip\": \"Returns a string with leading and trail
ing spaces removed\",\"help-contents\": \"Returns the string with both leading a
nd trailing spaces removed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\
\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fal
se},{\"name\": \"UPPER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Ret
urns a string in all uppercase characters\",\"help-contents\": \"Converts a text
string to all uppercase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PR
ODUCT\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": false},{\"name\": \"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-toolti
p\": \"Returns the domain for the current user\",\"help-contents\": \"Returns th
e domain for the current user when the user is signed on to Tableau Server. Retu
rns the Windows domain if the Tableau Desktop user is on a domain. Otherwise thi
s function returns a null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":
[],\"has-var-args\": false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\"
,\"func-tooltip\": \"Returns the user name for the current user\",\"help-content
s\": \"Returns the username for the current user. This is the Tableau Server or
Tableau Online username when the user is signed in; otherwise it is the local or
network username for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR
(expression)\",\"func-tooltip\": \"Returns the sample variance for an expression
\",\"help-contents\": \"Returns the sample variance of the expression.\\n\\nExam
ple: VAR([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has
-var-args\": false},{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"fun
c-tooltip\": \"Returns the population variance for an expression\",\"help-conten
ts\": \"Returns the population variance of the expression.\\n\\nExample: VARP([P
rofit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <ret
urn1> ... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and ret
urns the appropriate value\",\"help-contents\": \"Finds the first <value> that m
atches <expr> and returns the corresponding <return>. \\n\\nExample: CASE [Roman

Numeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"fun


c-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \
"WINDOW_AVG\",\"func-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tool
tip\": \"Returns the average of the values within the window\",\"help-contents\"
: \"Returns the average of the expression within the window. The window is defi
ned as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the enti
re partition is used.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [sta
rt, end])\",\"func-tooltip\": \"Returns the number of items within the window\",
\"help-contents\": \"Returns the count of the expression within the window. The
window is defined as offsets from the current row. Use FIRST()+n and LAST()-n f
or offsets from the first or last row in the partition. If start and end are om
itted, the entire partition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), 2, 0) = count of SUM(Profit) from the two previous rows to the current row\",\"f
unc-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"h
as-var-args\": false},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expre
ssion, [start, end])\",\"func-tooltip\": \"Returns the maximum within the window
\",\"help-contents\": \"Returns the maximum of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST(
)-n for offsets from the first or last row in the partition. If start and end a
re omitted, the entire partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit])
, -2, 0) = maximum of Profit from the two previous rows to the current row\\n\\n
Example: WINDOW_MAX(SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIND
OW_MEDIAN\",\"func-sig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-too
ltip\": \"Returns the median within the window\",\"help-contents\": \"Returns th
e median of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or l
ast row in the partition. If start and end are omitted, the entire partition is
used.\\n\\nExample: WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit)
from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"nam
e\": \"WINDOW_MIN\",\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"fun
c-tooltip\": \"Returns the minimum within the window\",\"help-contents\": \"Retu
rns the minimum of the expression within the window. The window is defined as o
ffsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fir
st or last row in the partition. If start and end are omitted, the entire parti
tion is used.\\n\\nExample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit
from the two previous rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Pro
fit]), -2, 0) = minimum of SUM(Profit) from the two previous rows to the current
row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"i
nteger\"],\"has-var-args\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\"
: \"WINDOW_PERCENTILE(expression, number, [start, end])\",\"func-tooltip\": \"Re
turns the percentile value at the specified number\",\"help-contents\": \"Return
s the value corresponding to the specified percentile within the window. The wi
ndow is defined as offsets from the current row. Use FIRST()+n and LAST()-n for
offsets from the first or last row in the partition. If start and end are omitt
ed, the entire partition is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit])
,0.75, -2., 0)) = 75th percentile of SUM(Profit) from the two previous rows to
the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locre
al\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV
\",\"func-sig\": \"WINDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"
Returns the sample standard deviation within the window\",\"help-contents\": \"R
eturns the sample standard deviation of the expression within the window. The w
indow is defined as offsets from the current row. Use FIRST()+n and LAST()-n for
offsets from the first or last row in the partition. If start and end are omit

ted, the entire partition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2,


0) = std. dev. of SUM(Profit) from the two previous rows to the current row\",\
"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\
"has-var-args\": false},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDE
VP(expression, [start, end])\",\"func-tooltip\": \"Returns the population standa
rd deviation within the window\",\"help-contents\": \"Returns the population sta
ndard deviation of the expression within the window. The window is defined as o
ffsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fir
st or last row in the partition. If start and end are omitted, the entire parti
tion is used.\\n\\nExample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of S
UM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"WINDOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end
])\",\"func-tooltip\": \"Returns the sum of values within the window\",\"help-co
ntents\": \"Returns the sum of the expression within the window. The window is
defined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets
from the first or last row in the partition. If start and end are omitted, the
entire partition is used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\
": false},{\"name\": \"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [star
t, end])\",\"func-tooltip\": \"Returns the sample variance within the window\",\
"help-contents\": \"Returns the sample variance of the expression within the win
dow. The window is defined as offsets from the current row. Use FIRST()+n and L
AST()-n for offsets from the first or last row in the partition. If start and e
nd are omitted, the entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Prof
it]), -2, 0) = variance of SUM(Profit) from the two previous rows to the current
row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"inte
ger\"],\"has-var-args\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDO
W_VARP(expression, [start, end])\",\"func-tooltip\": \"Returns the population va
riance within the window\",\"help-contents\": \"Returns the population variance
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i
n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_VARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"YE
AR\",\"func-sig\": \"YEAR(date)\",\"func-tooltip\": \"Returns the year of the sp
ecified date as an integer\",\"help-contents\": \"Returns the year of a given da
te as an integer. \\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"d
ate\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"Z
N\",\"func-sig\": \"ZN(expression)\",\"func-tooltip\": \"Returns the expression
if it is not null\",\"help-contents\": \"Returns <expression> if it is not null,
otherwise returns zero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\
"logic\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false}]},\"calculat
ion-context\": \"calculation-dialog\",\"use-parameters\": true} position=\"7\"",
"name":"tabdoc:calculation-auto-complete"}}
{"ts":"2016-09-29T17:01:58.881","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED \"
calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"ca
lculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculation_54898
88009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{f\",\"fn\
": \"\",\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"folder-name\":
\"\",\"add-to-folder\": false,\"folder-role\": \"dimensions\",\"has-table-calc-d
ata\": false,\"table-calc-types-used\": 0,\"style-token-list\":[],\"error-string
\": \"Error in calculation:\\n\\nExpected '}' following the expression.\\n\\nWou
ld you like to correct the calculation?\",\"error-info-list\":[{\"start-position
-for-error\": 1,\"length-of-calc-of-error\": 1,\"error-message\": \"Expected '}'
following the expression.\"}],\"expression-func-pm\":{\"expression-func-list\":

[{\"name\": \"ABS\",\"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns th


e absolute value of a number\",\"help-contents\": \"Returns the absolute value o
f the given number. \\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\"
: \"ACOS(number)\",\"func-tooltip\": \"Returns the arc cosine of a number\",\"he
lp-contents\": \"Returns the arc cosine of a number. The result is in radians.
\\n\\nExample: ACOS(-1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"I
F <expr1> AND <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical c
onjunction on two expressions\",\"help-contents\": \"Performs a logical conjunct
ion on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-to
oltip\": \"Returns the ASCII code for the first character in a string\",\"help-c
ontents\": \"Returns the ASCII code value of the first character in a string. \\
n\\nExample: ASCII(\\\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASI
N(number)\",\"func-tooltip\": \"Returns the arc sine of a number\",\"help-conten
ts\": \"Returns the arc sine of a number. The result is in radians. \\n\\nExamp
le: ASIN(1) = 1.5707963267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\
",\"func-tooltip\": \"Returns the arc tangent of a number\",\"help-contents\": \
"Returns the arc tangent of a number. The result is in radians. \\n\\nExample:
ATAN(180) = 1.5652408283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y numbe
r, x number)\",\"func-tooltip\": \"Returns the arc tangent of two numbers\",\"he
lp-contents\": \"Returns the arc tangent of two given numbers (x and y). The res
ult is in radians. \\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\
":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"n
ame\": \"ATTR\",\"func-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns t
he value of the expression if it has one value for all rows\",\"help-contents\":
\"Returns the value of the given expression if it only has a single value for a
ll rows in the group, otherwise it displays an asterisk (*). Null values are ign
ored.\\n\\nExample: ATTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":
[\"integer\"],\"has-var-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(ex
pression)\",\"func-tooltip\": \"Returns the average of the values in the express
ion\",\"help-contents\": \"Returns the average of all the values in the expressi
on. AVG can be used with numeric fields only. Null values are ignored.\\n\\nExam
ple: AVG([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has
-var-args\": false},{\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1
> THEN <return1> ... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical te
sts and returns the appropriate value\",\"help-contents\": \"Finds the first <va
lue> that matches <expr> and returns the corresponding <return>. \\n\\nExample:
CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3
END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{
\"name\": \"CEILING\",\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Roun
ds a number to the nearest integer of equal or greater value\",\"help-contents\"
: \"Rounds a number to the nearest integer of equal or greater value. \\n\\nExam
ple: CEILING(3.1415) = 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"
func-tooltip\": \"Converts an integer ASCII code into a character\",\"help-conte
nts\": \"Converts the given integer ASCII code into a character. \\n\\nExample:
CHAR(65) = 'A'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substri
ng)\",\"func-tooltip\": \"Returns true if a string contains the specified substr
ing\",\"help-contents\": \"Returns true if the string contains the substring. \\
n\\nExample: CONTAINS(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name
\": \"COS\",\"func-sig\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine
of an angle specified in radians\",\"help-contents\": \"Returns the cosine of an
angle. Specify the angle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186

548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"COT\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns
the cotangent of an angle specified in radians\",\"help-contents\": \"Returns t
he cotangent of an angle. Specify the angle in radians.\\n\\nExample: COT(PI()/4
) = 1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"COUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\"
: \"Returns the number of items in the expression\",\"help-contents\": \"Returns
the number of items in a group. NULL values are not counted.\\n\\nExample: COUN
T([Customer ID])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"ha
s-var-args\": false},{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",
\"func-tooltip\": \"Returns the number of distinct items in the expression\",\"h
elp-contents\": \"Returns the number of distinct items in a group. NULL values a
re not counted. Each unique value is counted only once.\\n\\nExample: COUNTD([R
egion])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-arg
s\": false},{\"name\": \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-toolti
p\": \"Returns a date from a number\",\"help-contents\": \"Returns a date given
a number, string, or date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\
\\") = 2006-06-15 \\nNote that the quotation marks are required.\",\"func-grps\"
:[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"D
ATEADD\",\"func-sig\": \"DATEADD(date_part, interval, date)\",\"func-tooltip\":
\"Returns the specified date incremented by the specified amount\",\"help-conten
ts\": \"Adds an increment to the specified date and returns the new date. The in
crement is defined by the interval and the date_part. \\n\\nExample: DATEADD('mo
nth', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"fun
c-arg-types\":[\"locstr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"
name\": \"DATEDIFF\",\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [
start_of_week])\",\"func-tooltip\": \"Returns the difference between two dates\"
,\"help-contents\": \"Returns the difference between two dates where start_date
is subtracted from end_date. The difference is expressed in units of date_part.
If start_of_week is omitted, the week start day is determined by the start day c
onfigured for the data source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #20
04-04-03#, 'sunday') = -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locst
r\",\"datetime\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"
DATENAME\",\"func-sig\": \"DATENAME(date_part, date, [start_of_week])\",\"func-t
ooltip\": \"Returns a part of the specified date as a string\",\"help-contents\"
: \"Returns a part of the given date as a string, where the part is defined by d
ate_part. If start_of_week is omitted, the week start day is determined by the s
tart day configured for the data source.\\n\\nExample: DATENAME('month', #2004-0
4-15#) = \\\"April\\\"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\"
,\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"fu
nc-sig\": \"DATEPARSE(format, string)\",\"func-tooltip\": \"Converts a string to
a date\",\"help-contents\": \"Converts a string to a date in the specified form
at. \\n\\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 200
4-04-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"
str\"],\"has-var-args\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART
(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns the specified p
art of a date as an integer\",\"help-contents\": \"Returns a part of the given d
ate as an integer where the part is defined by date_part. If start_of_week is om
itted, the week start day is determined by the start day configured for the data
source.\\n\\nExample: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"da
te\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\":
false},{\"name\": \"DATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-too
ltip\": \"Returns a datetime from a number\",\"help-contents\": \"Returns a date
time given a number, string, or date expression. \\n\\nExample: DATETIME(\\\"Ap
ril 15, 2004 07:59:00\\\") \\nNote that the quotation marks are required.\",\"f
unc-grps\":[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"n
ame\": \"DATETRUNC\",\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])
\",\"func-tooltip\": \"Truncates the specified date to the specified accuracy\",
\"help-contents\": \"Truncates the specified date to the accuracy specified by t
he date_part and returns the new date. If start_of_week is omitted, the week sta

rt day is determined by the start day configured for the data source.\\n\\nExamp
le: DATETRUNC('quarter', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":
[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-arg
s\": false},{\"name\": \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"R
eturns the day part of the specified date as an integer\",\"help-contents\": \"R
eturns the day of the given date as an integer. \\n\\nExample: DAY(#2004-04-12#
) = 12\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-ar
gs\": false},{\"name\": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-too
ltip\": \"Converts a value in radians to degrees\",\"help-contents\": \"Converts
a number in radians to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"DIV\",\"func-sig\": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns th
e integer part of a division operation\",\"help-contents\": \"Returns the intege
r part of a division.\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"f
unc-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"
ELSE\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [
ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and returns an ap
propriate value\",\"help-contents\": \"Tests a series of expressions returning t
he <then> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN '
Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\"
:[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\
",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE
<else>] END\",\"func-tooltip\": \"Performs a logical test and returns an appropr
iate value\",\"help-contents\": \"Tests a series of expressions returning the <t
hen> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profi
table' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"l
ogic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"END\",\"func
-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>]
END\",\"func-tooltip\": \"Performs a logical test and returns an appropriate val
ue\",\"help-contents\": \"Tests a series of expressions returning the <then> val
ue for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' E
LSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-si
g\": \"ENDSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the spe
cified string ends with the specified substring\",\"help-contents\": \"Returns t
rue if the string ends with the substring (trailing whitespace is ignored). \\n\
\nExample: ENDSWITH(\\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\
"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\":
\"EXCLUDE\",\"func-sig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression
}\",\"func-tooltip\": \"Computes an aggregate excluding the specified dimensions
if present in the view.\",\"help-contents\": \"Computes an aggregate excluding
the specified dimensions if present in the view.\",\"func-grps\":[\"agg\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP
(number)\",\"func-tooltip\": \"Returns e raised to the power of a number\",\"hel
p-contents\": \"Returns e raised to the power of the given number. \\n\\nExampl
e: EXP(5) = e^5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"FIND\",\"func-sig\": \"FIND(string, substring, [st
art])\",\"func-tooltip\": \"Returns the position of a substring within a string\
",\"help-contents\": \"Returns the position of a substring within a string, or 0
if the substring isn't found. If the start argument is defined, any instances o
f substring that appear before the start position are ignored. The first charact
er in the string is position 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alc
u\\\") = 2\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\
"],\"has-var-args\": false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(strin
g, substring, occurrence)\",\"func-tooltip\": \"Returns the position of the nth
occurrence a substring within a string\",\"help-contents\": \"Returns the positi
on of the nth occurrence of a substring within a string, or 0 if that occurrence
of the substring isn't found. The first character in the string is position 1.
\\n\\nExample: FINDNTH(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\
"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{

\"name\": \"FIRST\",\"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the nu


mber of rows from to the first row in the partition\",\"help-contents\": \"Retur
ns the number of rows from the current row to the first row in the partition.\\n
\\nExample (current row index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"tab
le\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func
-sig\": \"{ FIXED [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\":
\"Computes an aggregate using only the specified dimensions.\",\"help-contents\
": \"Computes an aggregate using only the specified dimensions.\",\"func-grps\":
[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"
func-sig\": \"FLOAT(expression)\",\"func-tooltip\": \"Returns a float from an ex
pression\",\"help-contents\": \"Returns a float given an expression of any type.
This function requires unformatted numbers which means exclude commas and other
symbols. \\n\\nExample: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"f
unc-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"fu
nc-sig\": \"FLOOR(number)\",\"func-tooltip\": \"Rounds a number to the nearest i
nteger of equal or lesser value\",\"help-contents\": \"Rounds a number to the ne
arest integer of equal or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"fun
c-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"FULLNAME\",\"func-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the f
ull name for the current user\",\"help-contents\": \"Returns the full name for t
he current user. This is the Tableau Server or Tableau Online full name when the
user is signed in; otherwise it is the local or network full name for the Table
au Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args
\": false},{\"name\": \"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"fu
nc-tooltip\": \"Returns the x-coordinate of the nearest hexagonal bin.\",\"helpcontents\": \"Maps an (x,y) coordinate to the x-coordinate of the nearest hexago
nal bin. The bins have side length 1, so the inputs may need to be scaled approp
riately.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"hasvar-args\": false},{\"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number
)\",\"func-tooltip\": \"Returns the y-coordinate of the nearest hexagonal bin.\"
,\"help-contents\": \"Maps an (x,y) coordinate to the y-coordinate of the neares
t hexagonal bin. The bins have side length 1, so the inputs may need to be scale
d appropriately.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"
],\"has-var-args\": false},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <the
n> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Per
forms a logical test and returns an appropriate value\",\"help-contents\": \"Tes
ts a series of expressions returning the <then> value for the first true <expr>.
\\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Brea
keven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\
"func-tooltip\": \"Returns expression1 if not null\",\"help-contents\": \"Return
s <expr1> if it is not null, otherwise returns <expr2>. \\n\\nExample: IFNULL([
Profit], 0)\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"intege
r\"],\"has-var-args\": false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then,
else, [unknown])\",\"func-tooltip\": \"Evaluates a Boolean expression and retur
ns one of two values\",\"help-contents\": \"Checks whether a condition is met, a
nd returns one value if TRUE, another value if FALSE, and an optional third valu
e or NULL if unknown. \\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"fun
c-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"]
,\"has-var-args\": false},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1
[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregat
e using the specified dimensions and the view dimensions.\",\"help-contents\": \
"Computes an aggregate using the specified dimensions and the view dimensions.\"
,\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"INDEX\",\"func-sig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of
the current row in the partition\",\"help-contents\": \"Returns the index of the
current row in the partition.\\n\\nExample (for the first row in the partition)
: INDEX( ) = 1\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\":
\"Evaluates an expression and returns an integer\",\"help-contents\": \"Returns

an integer given an expression. This function truncates results to the closest


integer toward zero. \\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"funcgrps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"n
ame\": \"ISDATE\",\"func-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns t
rue if the string is a valid date\",\"help-contents\": \"Returns true if a given
string is a valid date. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"f
unc-grps\":[\"str\",\"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-a
rgs\": false},{\"name\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"f
unc-tooltip\": \"Returns true if the current user's full name matches the specif
ied name\",\"help-contents\": \"Returns true if the current user's full name mat
ches the specified full name, or false if it does not match. This function uses
the Tableau Server or Tableau Online full name when the user is signed in; other
wise it uses the local or network full name for the Tableau Desktop user.\",\"fu
nc-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\
"name\": \"ISMEMBEROF\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \
"Returns true if the current user is a member of the specified group\",\"help-co
ntents\": \"Returns true if the current user is a member of the given group, fal
se otherwise. This uses the Tableau Server to resolve group membership if logge
d on, otherwise it always returns false.\",\"func-grps\":[\"user\"],\"func-arg-t
ypes\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\":
\"ISNULL(expression)\",\"func-tooltip\": \"Returns true if the specified expres
sion is null\",\"help-contents\": \"Returns true if the expression does not cont
ain valid data (Null).\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"
],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERN
AME\",\"func-sig\": \"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if t
he current user's name matches the specified user name\",\"help-contents\": \"Re
turns true if the current user's username matches the specified username, or fal
se if it does not match. This function uses the Tableau Server or Tableau Online
username when the user is signed in; otherwise it uses the local or network use
rname for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\
":[\"locstr\"],\"has-var-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST
()\",\"func-tooltip\": \"Returns the number of rows to the last row in the parti
tion\",\"help-contents\": \"Returns the number of rows from the current row to t
he last row in the partition.\\n\\nExample (current row is index 3 of 7):\\nLAST
( ) = 4\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"LEFT\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip
\": \"Returns the specified number of characters from the start of a string\",\"
help-contents\": \"Returns the specified number of characters from the start of
the given string. \\n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",
\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\":
false},{\"name\": \"LEN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Retu
rns the number of characters in a string\",\"help-contents\": \"Returns the numb
er of characters in the given string. \\n\\nExample: LEN(\\\"Calculation\\\") =
11\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fals
e},{\"name\": \"LN\",\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns th
e natural logarithm of a number\",\"help-contents\": \"Returns the natural logar
ithm of the given number. Returns Null if the number is less than or equal to 0.
\\n\\nExample: LN(EXP(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [b
ase])\",\"func-tooltip\": \"Returns the logarithm of a number for the given base
\",\"help-contents\": \"Returns the logarithm of a number for the given base. If
the base value is omitted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExa
mple: LOG(256, 2) = 8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"r
eal\"],\"has-var-args\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(exp
ression, [offset])\",\"func-tooltip\": \"Returns the value of the expression in
a row offset from current row\",\"help-contents\": \"Returns the value of the gi
ven expression in a target row, specified as a relative offset from the current
row. Use FIRST()+n and LAST()-n for a target relative to the first/last rows in
the partition. If offset is omitted, the Compare To row may be set on the field
menu. Returns NULL if the target row cannot be determined.\\n\\nExample: LOOKUP(

SUM([Profit]), FIRST( ) + 2) = SUM(Profit) in the third row of the partition\",


\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var
-args\": false},{\"name\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tool
tip\": \"Returns a string in all lowercase characters\",\"help-contents\": \"Con
verts a text string to all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\
\") = \\\"product\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"h
as-var-args\": false},{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"fun
c-tooltip\": \"Returns a string with leading spaces removed\",\"help-contents\":
\"Returns the string with any leading spaces removed. \\n\\nExample: LTRIM(\\\"
Sales\\\") = \\\"Sales\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(yea
r, month, day)\",\"func-tooltip\": \"Returns a date value constructed from a yea
r, a month and a day of the month.\",\"help-contents\": \"Returns a date value c
onstructed from a year, a month and a day of the month. \\n\\nExample: MAKEDATE
( 2014, 3, 18 )\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"int
eger\",\"integer\"],\"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"funcsig\": \"MAKEDATETIME(date, time)\",\"func-tooltip\": \"Returns a datetime by co
mbining a date and a time\",\"help-contents\": \"Returns a date and time value g
iven a date expression and a time expression. \\n\\nExample: MAKEDATETIME(#2012
-11-12#, #07:59:00#)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"d
atetime\"],\"has-var-args\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKE
TIME(hour, minute, second)\",\"func-tooltip\": \"Returns a time value constructe
d from hours, minutes and seconds.\",\"help-contents\": \"Returns a time value c
onstructed from hours, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40
)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"inte
ger\"],\"has-var-args\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expressio
n) or MAX(expr1, expr2)\",\"func-tooltip\": \"Returns the maximum of an expressi
on\",\"help-contents\": \"Returns the maximum of a single expression across all
records or the maximum of two expressions for each record. \\n\\nExample: MAX([
Sales])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-argtypes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"fun
c-sig\": \"MEDIAN(expression)\",\"func-tooltip\": \"Returns the median of an exp
ression\",\"help-contents\": \"Returns the median of a single expression. MEDIAN
can be used with numeric fields only. Null values are ignored.\\n\\nExample: ME
DIAN([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",
\"func-tooltip\": \"Returns the characters from the middle of a text string\",\"
help-contents\": \"Returns the characters from the middle of a text string given
a starting position and a length. The first character in the string is position
1. If the length is not included, all characters to the end of the string are r
eturned. If the length is included, up to that many characters are returned. \\n
\\nExample: MID(\\\"Tableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MI
D(\\\"Tableau Software\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"funcarg-types\":[\"str\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MI
N\",\"func-sig\": \"MIN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"R
eturns the minimum of an expression\",\"help-contents\": \"Returns the minimum o
f an expression across all records or the minimum of two expressions for each re
cord. \\n\\nExample: MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"
logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"MONTH\",\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns
the month part of the specified date as an integer\",\"help-contents\": \"Return
s the month of a given date as an integer. \\n\\nExample: MONTH(#2004-04-12#) =
4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\"
: false},{\"name\": \"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"fu
nc-tooltip\": \"Performs logical negation on an expression\",\"help-contents\":
\"Performs logical negation on an expression\",\"func-grps\":[\"logic\"],\"funcarg-types\":[],\"has-var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()
\",\"func-tooltip\": \"Returns the current date and time\",\"help-contents\": \"
Returns the current date and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM
\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"na

me\": \"OR\",\"func-sig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tool


tip\": \"Performs a logical disjunction on two expressions\",\"help-contents\":
\"Performs a logical disjunction on two expressions\",\"func-grps\":[\"logic\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"funcsig\": \"PERCENTILE(expression, number)\",\"func-tooltip\": \"Returns the percen
tile value at the specified number\",\"help-contents\": \"Aggregate calculation
that returns the percentile value from the given expression corresponding to the
specified number. Valid values for the number are 0 through 1. PERCENTILE([expr
ession], 0.50) will always return the median value in the expression.\\n\\nExamp
le: PERCENTILE([Sales], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"re
al\",\"locreal\"],\"has-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI(
)\",\"func-tooltip\": \"Returns the numeric constant pi\",\"help-contents\": \"R
eturns the numeric constant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWE
R\",\"func-sig\": \"POWER(number,power)\",\"func-tooltip\": \"Raises the number
to the specified power\",\"help-contents\": \"Returns the result of a number rai
sed to the given power. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"
num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\"
: \"PREVIOUS_VALUE\",\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip
\": \"Returns the value of this calculation in the previous row\",\"help-content
s\": \"Returns the value of this calculation in the previous row. Returns the gi
ven expression if the current row is the first row of the partition.\\n\\nExampl
e: SUM([Profit]) + PREVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([
Profit]) * PREVIOUS_VALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\
"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \
"RADIANS\",\"func-sig\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a numb
er in degrees to radians\",\"help-contents\": \"Converts a number in degrees to
radians.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\"
,\"func-tooltip\": \"Returns the competition rank for the current partition row\
",\"help-contents\": \"Returns the standard competition rank for the current row
in the partition. Identical values are assigned an identical rank. Use the opti
onal 'asc' | 'desc' argument to specify ascending or descending order. The defau
lt order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Ti
me]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"
has-var-args\": false},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expr
ession, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the dense rank for the cur
rent partition row\",\"help-contents\": \"Returns the dense rank for the current
row in the partition. Identical values are assigned an identical rank, but no g
aps are inserted into the number sequence. Use the optional 'asc' | 'desc' argum
ent to specify ascending or descending order. The default order is descending.\\
n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2
, 3) in ascending order.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":
[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false}
,{\"name\": \"RANK_MODIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'
desc'])\",\"func-tooltip\": \"Returns the modified competition rank for the curr
ent partition row\",\"help-contents\": \"Returns the modified competition rank f
or the current row in the partition. Identical values are assigned an identical
rank. Use the optional 'asc' | 'desc' argument to specify ascending or descendin
g order. The default order is descending.\\n\\nWith this function, the set of va
lues (6, 9, 9, 14) would be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample
: RANK_MODIFIED(AVG([Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\"
,\"func-sig\": \"RANK_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\":
\"Returns the percentile rank for the current partition row\",\"help-contents\"
: \"Returns the percentile rank for the current row in the partition. Use the op
tional 'asc' | 'desc' argument to specify ascending or descending order. The def
ault order is ascending.\\n\\nWith this function, the set of values (6, 9, 9, 14
) would be ranked (25, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCE

NTILE(AVG([Test Score]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integ
er\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\
": \"RANK_UNIQUE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the u
nique rank for the current partition row\",\"help-contents\": \"Returns the uniq
ue rank for the current row in the partition. Identical values are assigned diff
erent ranks. Use the optional 'asc' | 'desc' argument to specify ascending or de
scending order. The default order is descending.\\n\\nWith this function, the se
t of values (6, 9, 9, 14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\n
Example: RANK_UNIQUE() = 1 for the first row in the partition\",\"func-grps\":[\
"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{
\"name\": \"REGEXP_EXTRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\
"func-tooltip\": \"Returns the portion of a string matching the capturing group
in a regular expression\",\"help-contents\": \"Returns a substring of the given
string that matches the capturing group within the regular expression pattern.
The regular expression pattern requires exactly one capturing group. \\n\\nExamp
le: REGEXP_EXTRACT('abc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\
"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\":
\"REGEXP_EXTRACT_NTH\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, inde
x)\",\"func-tooltip\": \"Returns a substring of a string using a regular express
ion pattern\",\"help-contents\": \"Returns a substring of the given string using
the regular expression pattern. The substring is matched to the nth capturing
group, where n is the given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123',
'([a-z]+)\\\\s+(\\\\d+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\",\"locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATC
H\",\"func-sig\": \"REGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns
true if a string matches a regular expression\",\"help-contents\": \"Returns tru
e if a substring of the provided string matches the regular expression pattern.
\\n\\nExample: REGEXP_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\
.)(\\\\w*\\\\s*\\\\])') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"s
tr\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\
": \"REGEXP_REPLACE(string, pattern, replacement)\",\"func-tooltip\": \"Returns
a string where substrings matching a regular expression are replaced\",\"help-co
ntents\": \"Returns a copy of the given string where the matching pattern is sub
stituted with the replacement string. \\n\\nExample: REGEXP_REPLACE('abc 123',
'\\\\s', '-') = 'abc--123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"
,\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\":
\"REPLACE(string, substring, replacement)\",\"func-tooltip\": \"Replaces all ins
tances of a substring within a string\",\"help-contents\": \"Returns a string in
which every occurrence of the substring is replaced with the replacement string
. If the substring is not found, the string is unchanged. \\n\\nExample: REPLACE
(\\\"Calculation\\\", \\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grp
s\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": fal
se},{\"name\": \"RIGHT\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-toolt
ip\": \"Returns the specified number of characters from the end of a string\",\"
help-contents\": \"Returns the specified number of characters from the end of th
e given string. \\n\\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"ROUND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-to
oltip\": \"Rounds a number to the specified number of places\",\"help-contents\"
: \"Rounds a number to the nearest integer or to a specified number of decimal p
laces. \\n\\nExample: ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"fu
nc-sig\": \"RTRIM(string)\",\"func-tooltip\": \"Returns a string with trailing s
paces removed\",\"help-contents\": \"Returns the string with any trailing spaces
removed. \\n\\nExample: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"R
UNNING_AVG\",\"func-sig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Retur
ns the running average of an expression\",\"help-contents\": \"Returns the runni
ng average of the given expression, from the first row in the partition to the c
urrent row.\\n\\nExample: RUNNING_AVG(SUM([Profit])) = running average of SUM(Pr

ofit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\
",\"func-tooltip\": \"Returns the running count of an expression\",\"help-conten
ts\": \"Returns the running count of the given expression, from the first row in
the partition to the current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) =
running count of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNI
NG_MAX(expression)\",\"func-tooltip\": \"Returns the running maximum of an expre
ssion\",\"help-contents\": \"Returns the running maximum of the given expression
, from the first row in the partition to the current row.\\n\\nExample: RUNNING_
MAX(MAX([Profit])) = running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Pr
ofit])) = running maximum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-argtypes\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func
-sig\": \"RUNNING_MIN(expression)\",\"func-tooltip\": \"Returns the running mini
mum of an expression\",\"help-contents\": \"Returns the running minimum of the g
iven expression, from the first row in the partition to the current row.\\n\\nEx
ample: RUNNING_MIN(MIN([Profit])) = running minimum of Profit\\n\\nExample: RUNN
ING_MIN(SUM([Profit])) = running minimum of SUM(Profit)\",\"func-grps\":[\"table
\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNI
NG_SUM\",\"func-sig\": \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns t
he running sum of an expression\",\"help-contents\": \"Returns the running sum o
f the given expression, from the first row in the partition to the current row.\
\n\\nExample: RUNNING_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: R
UNNING_SUM(COUNT([Profit])) = running count of Profit\",\"func-grps\":[\"table\"
],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_
BOOL\",\"func-sig\": \"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\":
\"Returns a Boolean result from an R expression\",\"help-contents\": \"Returns a
Boolean result from a given R expression. The R expression is passed directly t
o a running Rserve instance. Use .arg# in the R expression to reference paramete
rs. In the following example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SC
RIPT_BOOL(\\\"is.finite(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\
"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"
func-sig\": \"SCRIPT_INT(string, expression, ...)\",\"func-tooltip\": \"Returns
an integer result from an R expression\",\"help-contents\": \"Returns an integer
result from a given R expression. The R expression is passed directly to a runn
ing Rserve instance. Use .arg# in the R expression to reference parameters. In t
he following example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT
(\\\"as.integer(.arg1 * 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"fun
c-sig\": \"SCRIPT_REAL(string, expression, ...)\",\"func-tooltip\": \"Returns a
numeric result from an R expression\",\"help-contents\": \"Returns a numeric res
ult from a given R expression. The R expression is passed directly to a running
Rserve instance. Use .arg# in the R expression to reference parameters. In the f
ollowing example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\
\".arg1 * 0.5\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCR
IPT_STR(string, expression, ...)\",\"func-tooltip\": \"Returns a string result f
rom an R expression\",\"help-contents\": \"Returns a string result from a given
R expression. The R expression is passed directly to a running Rserve instance.
Use .arg# in the R expression to reference parameters. In the following example,
.arg1 is equal to ATTR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1
, 2)\\\", ATTR([Region]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"
func-tooltip\": \"Returns 1 for a positive number\",\"help-contents\": \"Returns
the sign of a number: 1 if the number is positive, zero if the number is zero,
or -1 if the number is negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\
"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\
",\"func-sig\": \"SIN(angle)\",\"func-tooltip\": \"Returns the sine of a number\
",\"help-contents\": \"Returns the sine of an angle. Specify the angle in radian
s.\\n\\nExample: SIN(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"fun

c-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig


\": \"SIZE()\",\"func-tooltip\": \"Returns the number of rows in the partition\"
,\"help-contents\": \"Returns the number of rows in the partition.\\n\\nExample
(partition has 5 rows):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[],\"has-var-args\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(numb
er)\",\"func-tooltip\": \"Returns a string containing the specified number of sp
aces\",\"help-contents\": \"Returns a string composed of the specified number of
repeated spaces. \\n\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"f
unc-sig\": \"SPLIT(string, delimiter, token number)\",\"func-tooltip\": \"Extrac
ts a substring from a string\",\"help-contents\": \"Returns a substring from a s
tring, as determined by a delimiter extracting the characters from the beginning
or end of the string. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExamp
le: SPLIT('a-b-c-d', '-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"locstr\",\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"
func-sig\": \"SQRT(number)\",\"func-tooltip\": \"Returns the square root of a nu
mber\",\"help-contents\": \"Returns the square root of a number. \\n\\nExample:
SQRT(25) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tool
tip\": \"Returns the square of a number\",\"help-contents\": \"Returns the squar
e of a given number. \\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"f
unc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"
func-sig\": \"STARTSWITH(string, substring)\",\"func-tooltip\": \"Returns true i
f the specified string starts with the specified substring\",\"help-contents\":
\"Returns true if the string starts with the substring. \\n\\nExample: STARTSWIT
H(\\\"Calculation\\\", \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-s
ig\": \"STDEV(expression)\",\"func-tooltip\": \"Returns the sample standard devi
ation for an expression\",\"help-contents\": \"Returns the sample standard devia
tion of the expression.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],
\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"f
unc-sig\": \"STDEVP(expression)\",\"func-tooltip\": \"Returns the population sta
ndard deviation for an expression\",\"help-contents\": \"Returns the population
standard deviation of the expression.\\n\\nExample: STDEVP([Profit])\",\"func-gr
ps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"STR\",\"func-sig\": \"STR(expression)\",\"func-tooltip\": \"Returns an expres
sion as a string\",\"help-contents\": \"Returns a string given an expression. \
\n\\nExample: STR([Age]) returns all of the values of the Age measure as strings
.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\":
false},{\"name\": \"SUM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"
Returns the sum of values in an expression\",\"help-contents\": \"Returns the su
m of all the values in the expression. SUM can be used with numeric fields only.
Null values are ignored.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],
\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func
-sig\": \"TAN(angle)\",\"func-tooltip\": \"Returns the tangent of an angle speci
fied in radians\",\"help-contents\": \"Returns the tangent of an angle. Specify
the angle in radians.\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],
\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"fun
c-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>]
END\",\"func-tooltip\": \"Performs a logical test and returns an appropriate va
lue\",\"help-contents\": \"Tests a series of expressions returning the <then> va
lue for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable'
ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"]
,\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\
": \"TODAY()\",\"func-tooltip\": \"Returns the current date\",\"help-contents\":
\"Returns the current date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\
":[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\"
,\"func-sig\": \"TOTAL(expression)\",\"func-tooltip\": \"Returns the total for a
n expression within the partition\",\"help-contents\": \"Returns the total for t
he given expression.\\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all da

tabase rows that contribute to the partition\",\"func-grps\":[\"table\"],\"funcarg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-si


g\": \"TRIM(string)\",\"func-tooltip\": \"Returns a string with leading and trai
ling spaces removed\",\"help-contents\": \"Returns the string with both leading
and trailing spaces removed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget
\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fa
lse},{\"name\": \"UPPER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Re
turns a string in all uppercase characters\",\"help-contents\": \"Converts a tex
t string to all uppercase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"P
RODUCT\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args
\": false},{\"name\": \"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-toolt
ip\": \"Returns the domain for the current user\",\"help-contents\": \"Returns t
he domain for the current user when the user is signed on to Tableau Server. Ret
urns the Windows domain if the Tableau Desktop user is on a domain. Otherwise th
is function returns a null string.\",\"func-grps\":[\"user\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\
",\"func-tooltip\": \"Returns the user name for the current user\",\"help-conten
ts\": \"Returns the username for the current user. This is the Tableau Server or
Tableau Online username when the user is signed in; otherwise it is the local o
r network username for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VA
R(expression)\",\"func-tooltip\": \"Returns the sample variance for an expressio
n\",\"help-contents\": \"Returns the sample variance of the expression.\\n\\nExa
mple: VAR([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"ha
s-var-args\": false},{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"fu
nc-tooltip\": \"Returns the population variance for an expression\",\"help-conte
nts\": \"Returns the population variance of the expression.\\n\\nExample: VARP([
Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <re
turn1> ... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and re
turns the appropriate value\",\"help-contents\": \"Finds the first <value> that
matches <expr> and returns the corresponding <return>. \\n\\nExample: CASE [Roma
nNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"fu
nc-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"WINDOW_AVG\",\"func-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-too
ltip\": \"Returns the average of the values within the window\",\"help-contents\
": \"Returns the average of the expression within the window. The window is def
ined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets fro
m the first or last row in the partition. If start and end are omitted, the ent
ire partition is used.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [st
art, end])\",\"func-tooltip\": \"Returns the number of items within the window\"
,\"help-contents\": \"Returns the count of the expression within the window. Th
e window is defined as offsets from the current row. Use FIRST()+n and LAST()-n
for offsets from the first or last row in the partition. If start and end are o
mitted, the entire partition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]),
-2, 0) = count of SUM(Profit) from the two previous rows to the current row\",\"
func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"
has-var-args\": false},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expr
ession, [start, end])\",\"func-tooltip\": \"Returns the maximum within the windo
w\",\"help-contents\": \"Returns the maximum of the expression within the window
. The window is defined as offsets from the current row. Use FIRST()+n and LAST
()-n for offsets from the first or last row in the partition. If start and end
are omitted, the entire partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]
), -2, 0) = maximum of Profit from the two previous rows to the current row\\n\\
nExample: WINDOW_MAX(SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIN

DOW_MEDIAN\",\"func-sig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-to


oltip\": \"Returns the median within the window\",\"help-contents\": \"Returns t
he median of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition i
s used.\\n\\nExample: WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit
) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"na
me\": \"WINDOW_MIN\",\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"fu
nc-tooltip\": \"Returns the minimum within the window\",\"help-contents\": \"Ret
urns the minimum of the expression within the window. The window is defined as
offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fi
rst or last row in the partition. If start and end are omitted, the entire part
ition is used.\\n\\nExample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profi
t from the two previous rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Pr
ofit]), -2, 0) = minimum of SUM(Profit) from the two previous rows to the curren
t row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"
integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\
": \"WINDOW_PERCENTILE(expression, number, [start, end])\",\"func-tooltip\": \"R
eturns the percentile value at the specified number\",\"help-contents\": \"Retur
ns the value corresponding to the specified percentile within the window. The w
indow is defined as offsets from the current row. Use FIRST()+n and LAST()-n for
offsets from the first or last row in the partition. If start and end are omit
ted, the entire partition is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]
),0.75, -2., 0)) = 75th percentile of SUM(Profit) from the two previous rows to
the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locr
eal\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDE
V\",\"func-sig\": \"WINDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \
"Returns the sample standard deviation within the window\",\"help-contents\": \"
Returns the sample standard deviation of the expression within the window. The
window is defined as offsets from the current row. Use FIRST()+n and LAST()-n fo
r offsets from the first or last row in the partition. If start and end are omi
tted, the entire partition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2
, 0) = std. dev. of SUM(Profit) from the two previous rows to the current row\",
\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],
\"has-var-args\": false},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STD
EVP(expression, [start, end])\",\"func-tooltip\": \"Returns the population stand
ard deviation within the window\",\"help-contents\": \"Returns the population st
andard deviation of the expression within the window. The window is defined as
offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fi
rst or last row in the partition. If start and end are omitted, the entire part
ition is used.\\n\\nExample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"tab
le\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": fa
lse},{\"name\": \"WINDOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, en
d])\",\"func-tooltip\": \"Returns the sum of values within the window\",\"help-c
ontents\": \"Returns the sum of the expression within the window. The window is
defined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets
from the first or last row in the partition. If start and end are omitted, the
entire partition is used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args
\": false},{\"name\": \"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [sta
rt, end])\",\"func-tooltip\": \"Returns the sample variance within the window\",
\"help-contents\": \"Returns the sample variance of the expression within the wi
ndow. The window is defined as offsets from the current row. Use FIRST()+n and
LAST()-n for offsets from the first or last row in the partition. If start and
end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Pro
fit]), -2, 0) = variance of SUM(Profit) from the two previous rows to the curren
t row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"int

eger\"],\"has-var-args\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WIND


OW_VARP(expression, [start, end])\",\"func-tooltip\": \"Returns the population v
ariance within the window\",\"help-contents\": \"Returns the population variance
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\\
n\\nExample: WINDOW_VARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from th
e two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"Y
EAR\",\"func-sig\": \"YEAR(date)\",\"func-tooltip\": \"Returns the year of the s
pecified date as an integer\",\"help-contents\": \"Returns the year of a given d
ate as an integer. \\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"
date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"
ZN\",\"func-sig\": \"ZN(expression)\",\"func-tooltip\": \"Returns the expression
if it is not null\",\"help-contents\": \"Returns <expression> if it is not null
, otherwise returns zero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",
\"logic\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false}]},\"calcula
tion-context\": \"calculation-dialog\",\"use-parameters\": true} position=\"7\""
,"name":"tabdoc:calculation-auto-complete"}}
{"ts":"2016-09-29T17:01:58.883","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED \"
calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"cal
culation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculation_548988
8009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{f\",\"fn\"
: \"\",\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"folder-name\": \
"\",\"add-to-folder\": false,\"folder-role\": \"dimensions\",\"has-table-calc-da
ta\": false,\"table-calc-types-used\": 0,\"style-token-list\":[],\"error-string\
": \"Error in calculation:\\n\\nExpected '}' following the expression.\\n\\nWoul
d you like to correct the calculation?\",\"error-info-list\":[{\"start-positionfor-error\": 1,\"length-of-calc-of-error\": 1,\"error-message\": \"Expected '}'
following the expression.\"}],\"expression-func-pm\":{\"expression-func-list\":[
{\"name\": \"ABS\",\"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the
absolute value of a number\",\"help-contents\": \"Returns the absolute value of
the given number. \\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\":
\"ACOS(number)\",\"func-tooltip\": \"Returns the arc cosine of a number\",\"hel
p-contents\": \"Returns the arc cosine of a number. The result is in radians. \
\n\\nExample: ACOS(-1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-t
ypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF
<expr1> AND <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical co
njunction on two expressions\",\"help-contents\": \"Performs a logical conjuncti
on on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-too
ltip\": \"Returns the ASCII code for the first character in a string\",\"help-co
ntents\": \"Returns the ASCII code value of the first character in a string. \\n
\\nExample: ASCII(\\\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN
(number)\",\"func-tooltip\": \"Returns the arc sine of a number\",\"help-content
s\": \"Returns the arc sine of a number. The result is in radians. \\n\\nExampl
e: ASIN(1) = 1.5707963267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\"
,\"func-tooltip\": \"Returns the arc tangent of a number\",\"help-contents\": \"
Returns the arc tangent of a number. The result is in radians. \\n\\nExample:
ATAN(180) = 1.5652408283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number
, x number)\",\"func-tooltip\": \"Returns the arc tangent of two numbers\",\"hel
p-contents\": \"Returns the arc tangent of two given numbers (x and y). The resu
lt is in radians. \\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\"
:[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"na

me\": \"ATTR\",\"func-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns th


e value of the expression if it has one value for all rows\",\"help-contents\":
\"Returns the value of the given expression if it only has a single value for al
l rows in the group, otherwise it displays an asterisk (*). Null values are igno
red.\\n\\nExample: ATTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[
\"integer\"],\"has-var-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(exp
ression)\",\"func-tooltip\": \"Returns the average of the values in the expressi
on\",\"help-contents\": \"Returns the average of all the values in the expressio
n. AVG can be used with numeric fields only. Null values are ignored.\\n\\nExamp
le: AVG([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"hasvar-args\": false},{\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1>
THEN <return1> ... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tes
ts and returns the appropriate value\",\"help-contents\": \"Finds the first <val
ue> that matches <expr> and returns the corresponding <return>. \\n\\nExample: C
ASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 E
ND\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\
"name\": \"CEILING\",\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Round
s a number to the nearest integer of equal or greater value\",\"help-contents\":
\"Rounds a number to the nearest integer of equal or greater value. \\n\\nExamp
le: CEILING(3.1415) = 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"f
unc-tooltip\": \"Converts an integer ASCII code into a character\",\"help-conten
ts\": \"Converts the given integer ASCII code into a character. \\n\\nExample: C
HAR(65) = 'A'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-varargs\": false},{\"name\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substrin
g)\",\"func-tooltip\": \"Returns true if a string contains the specified substri
ng\",\"help-contents\": \"Returns true if the string contains the substring. \\n
\\nExample: CONTAINS(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":
[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\
": \"COS\",\"func-sig\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine o
f an angle specified in radians\",\"help-contents\": \"Returns the cosine of an
angle. Specify the angle in radians.\\n\\nExample: COS(PI()/4) = 0.7071067811865
48\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"COT\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns
the cotangent of an angle specified in radians\",\"help-contents\": \"Returns th
e cotangent of an angle. Specify the angle in radians.\\n\\nExample: COT(PI()/4)
= 1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"COUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\":
\"Returns the number of items in the expression\",\"help-contents\": \"Returns
the number of items in a group. NULL values are not counted.\\n\\nExample: COUNT
([Customer ID])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has
-var-args\": false},{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\
"func-tooltip\": \"Returns the number of distinct items in the expression\",\"he
lp-contents\": \"Returns the number of distinct items in a group. NULL values ar
e not counted. Each unique value is counted only once.\\n\\nExample: COUNTD([Re
gion])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args
\": false},{\"name\": \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip
\": \"Returns a date from a number\",\"help-contents\": \"Returns a date given a
number, string, or date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\
\") = 2006-06-15 \\nNote that the quotation marks are required.\",\"func-grps\":
[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DA
TEADD\",\"func-sig\": \"DATEADD(date_part, interval, date)\",\"func-tooltip\": \
"Returns the specified date incremented by the specified amount\",\"help-content
s\": \"Adds an increment to the specified date and returns the new date. The inc
rement is defined by the interval and the date_part. \\n\\nExample: DATEADD('mon
th', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func
-arg-types\":[\"locstr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"n
ame\": \"DATEDIFF\",\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [s
tart_of_week])\",\"func-tooltip\": \"Returns the difference between two dates\",
\"help-contents\": \"Returns the difference between two dates where start_date i

s subtracted from end_date. The difference is expressed in units of date_part. I


f start_of_week is omitted, the week start day is determined by the start day co
nfigured for the data source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #200
4-04-03#, 'sunday') = -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr
\",\"datetime\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"D
ATENAME\",\"func-sig\": \"DATENAME(date_part, date, [start_of_week])\",\"func-to
oltip\": \"Returns a part of the specified date as a string\",\"help-contents\":
\"Returns a part of the given date as a string, where the part is defined by da
te_part. If start_of_week is omitted, the week start day is determined by the st
art day configured for the data source.\\n\\nExample: DATENAME('month', #2004-04
-15#) = \\\"April\\\"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",
\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"fun
c-sig\": \"DATEPARSE(format, string)\",\"func-tooltip\": \"Converts a string to
a date\",\"help-contents\": \"Converts a string to a date in the specified forma
t. \\n\\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004
-04-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"s
tr\"],\"has-var-args\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(
date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns the specified pa
rt of a date as an integer\",\"help-contents\": \"Returns a part of the given da
te as an integer where the part is defined by date_part. If start_of_week is omi
tted, the week start day is determined by the start day configured for the data
source.\\n\\nExample: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"dat
e\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": f
alse},{\"name\": \"DATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tool
tip\": \"Returns a datetime from a number\",\"help-contents\": \"Returns a datet
ime given a number, string, or date expression. \\n\\nExample: DATETIME(\\\"Apr
il 15, 2004 07:59:00\\\") \\nNote that the quotation marks are required.\",\"fu
nc-grps\":[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"na
me\": \"DATETRUNC\",\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\
",\"func-tooltip\": \"Truncates the specified date to the specified accuracy\",\
"help-contents\": \"Truncates the specified date to the accuracy specified by th
e date_part and returns the new date. If start_of_week is omitted, the week star
t day is determined by the start day configured for the data source.\\n\\nExampl
e: DATETRUNC('quarter', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[
\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args
\": false},{\"name\": \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Re
turns the day part of the specified date as an integer\",\"help-contents\": \"Re
turns the day of the given date as an integer. \\n\\nExample: DAY(#2004-04-12#)
= 12\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-arg
s\": false},{\"name\": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tool
tip\": \"Converts a value in radians to degrees\",\"help-contents\": \"Converts
a number in radians to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-gr
ps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"DIV\",\"func-sig\": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the
integer part of a division operation\",\"help-contents\": \"Returns the integer
part of a division.\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"fu
nc-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"E
LSE\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [E
LSE <else>] END\",\"func-tooltip\": \"Performs a logical test and returns an app
ropriate value\",\"help-contents\": \"Tests a series of expressions returning th
e <then> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'P
rofitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":
[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\"
,\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <
else>] END\",\"func-tooltip\": \"Performs a logical test and returns an appropri
ate value\",\"help-contents\": \"Tests a series of expressions returning the <th
en> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profit
able' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"lo
gic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"END\",\"funcsig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] E

ND\",\"func-tooltip\": \"Performs a logical test and returns an appropriate valu


e\",\"help-contents\": \"Tests a series of expressions returning the <then> valu
e for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' EL
SEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig
\": \"ENDSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the spec
ified string ends with the specified substring\",\"help-contents\": \"Returns tr
ue if the string ends with the substring (trailing whitespace is ignored). \\n\\
nExample: ENDSWITH(\\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\":
\"EXCLUDE\",\"func-sig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }
\",\"func-tooltip\": \"Computes an aggregate excluding the specified dimensions
if present in the view.\",\"help-contents\": \"Computes an aggregate excluding t
he specified dimensions if present in the view.\",\"func-grps\":[\"agg\"],\"func
-arg-types\":[],\"has-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(
number)\",\"func-tooltip\": \"Returns e raised to the power of a number\",\"help
-contents\": \"Returns e raised to the power of the given number. \\n\\nExample
: EXP(5) = e^5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"FIND\",\"func-sig\": \"FIND(string, substring, [sta
rt])\",\"func-tooltip\": \"Returns the position of a substring within a string\"
,\"help-contents\": \"Returns the position of a substring within a string, or 0
if the substring isn't found. If the start argument is defined, any instances of
substring that appear before the start position are ignored. The first characte
r in the string is position 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu
\\\") = 2\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"
],\"has-var-args\": false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string
, substring, occurrence)\",\"func-tooltip\": \"Returns the position of the nth o
ccurrence a substring within a string\",\"help-contents\": \"Returns the positio
n of the nth occurrence of a substring within a string, or 0 if that occurrence
of the substring isn't found. The first character in the string is position 1. \
\n\\nExample: FINDNTH(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\
"name\": \"FIRST\",\"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the num
ber of rows from to the first row in the partition\",\"help-contents\": \"Return
s the number of rows from the current row to the first row in the partition.\\n\
\nExample (current row index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"funcsig\": \"{ FIXED [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\":
\"Computes an aggregate using only the specified dimensions.\",\"help-contents\"
: \"Computes an aggregate using only the specified dimensions.\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"f
unc-sig\": \"FLOAT(expression)\",\"func-tooltip\": \"Returns a float from an exp
ression\",\"help-contents\": \"Returns a float given an expression of any type.
This function requires unformatted numbers which means exclude commas and other
symbols. \\n\\nExample: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"fu
nc-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"fun
c-sig\": \"FLOOR(number)\",\"func-tooltip\": \"Rounds a number to the nearest in
teger of equal or lesser value\",\"help-contents\": \"Rounds a number to the nea
rest integer of equal or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"FULLNAME\",\"func-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the fu
ll name for the current user\",\"help-contents\": \"Returns the full name for th
e current user. This is the Tableau Server or Tableau Online full name when the
user is signed in; otherwise it is the local or network full name for the Tablea
u Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"fun
c-tooltip\": \"Returns the x-coordinate of the nearest hexagonal bin.\",\"help-c
ontents\": \"Maps an (x,y) coordinate to the x-coordinate of the nearest hexagon
al bin. The bins have side length 1, so the inputs may need to be scaled appropr
iately.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-v

ar-args\": false},{\"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)


\",\"func-tooltip\": \"Returns the y-coordinate of the nearest hexagonal bin.\",
\"help-contents\": \"Maps an (x,y) coordinate to the y-coordinate of the nearest
hexagonal bin. The bins have side length 1, so the inputs may need to be scaled
appropriately.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"]
,\"has-var-args\": false},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then
> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Perf
orms a logical test and returns an appropriate value\",\"help-contents\": \"Test
s a series of expressions returning the <then> value for the first true <expr>.
\\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Break
even' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"
func-tooltip\": \"Returns expression1 if not null\",\"help-contents\": \"Returns
<expr1> if it is not null, otherwise returns <expr2>. \\n\\nExample: IFNULL([P
rofit], 0)\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer
\"],\"has-var-args\": false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then,
else, [unknown])\",\"func-tooltip\": \"Evaluates a Boolean expression and return
s one of two values\",\"help-contents\": \"Checks whether a condition is met, an
d returns one value if TRUE, another value if FALSE, and an optional third value
or NULL if unknown. \\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func
-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],
\"has-var-args\": false},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[
, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate
using the specified dimensions and the view dimensions.\",\"help-contents\": \"
Computes an aggregate using the specified dimensions and the view dimensions.\",
\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\"
: \"INDEX\",\"func-sig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of t
he current row in the partition\",\"help-contents\": \"Returns the index of the
current row in the partition.\\n\\nExample (for the first row in the partition):
INDEX( ) = 1\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\"
: false},{\"name\": \"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\":
\"Evaluates an expression and returns an integer\",\"help-contents\": \"Returns
an integer given an expression. This function truncates results to the closest i
nteger toward zero. \\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-g
rps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"na
me\": \"ISDATE\",\"func-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns tr
ue if the string is a valid date\",\"help-contents\": \"Returns true if a given
string is a valid date. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"fu
nc-grps\":[\"str\",\"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-ar
gs\": false},{\"name\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"fu
nc-tooltip\": \"Returns true if the current user's full name matches the specifi
ed name\",\"help-contents\": \"Returns true if the current user's full name matc
hes the specified full name, or false if it does not match. This function uses t
he Tableau Server or Tableau Online full name when the user is signed in; otherw
ise it uses the local or network full name for the Tableau Desktop user.\",\"fun
c-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"
name\": \"ISMEMBEROF\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"
Returns true if the current user is a member of the specified group\",\"help-con
tents\": \"Returns true if the current user is a member of the given group, fals
e otherwise. This uses the Tableau Server to resolve group membership if logged
on, otherwise it always returns false.\",\"func-grps\":[\"user\"],\"func-arg-ty
pes\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\":
\"ISNULL(expression)\",\"func-tooltip\": \"Returns true if the specified express
ion is null\",\"help-contents\": \"Returns true if the expression does not conta
in valid data (Null).\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"]
,\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNA
ME\",\"func-sig\": \"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if th
e current user's name matches the specified user name\",\"help-contents\": \"Ret
urns true if the current user's username matches the specified username, or fals
e if it does not match. This function uses the Tableau Server or Tableau Online

username when the user is signed in; otherwise it uses the local or network user
name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\"
:[\"locstr\"],\"has-var-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST(
)\",\"func-tooltip\": \"Returns the number of rows to the last row in the partit
ion\",\"help-contents\": \"Returns the number of rows from the current row to th
e last row in the partition.\\n\\nExample (current row is index 3 of 7):\\nLAST
( ) = 4\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"LEFT\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\
": \"Returns the specified number of characters from the start of a string\",\"h
elp-contents\": \"Returns the specified number of characters from the start of t
he given string. \\n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"LEN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Retur
ns the number of characters in a string\",\"help-contents\": \"Returns the numbe
r of characters in the given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 1
1\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false
},{\"name\": \"LN\",\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the
natural logarithm of a number\",\"help-contents\": \"Returns the natural logari
thm of the given number. Returns Null if the number is less than or equal to 0.\
\n\\nExample: LN(EXP(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [ba
se])\",\"func-tooltip\": \"Returns the logarithm of a number for the given base\
",\"help-contents\": \"Returns the logarithm of a number for the given base. If
the base value is omitted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExam
ple: LOG(256, 2) = 8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"re
al\"],\"has-var-args\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expr
ession, [offset])\",\"func-tooltip\": \"Returns the value of the expression in a
row offset from current row\",\"help-contents\": \"Returns the value of the giv
en expression in a target row, specified as a relative offset from the current r
ow. Use FIRST()+n and LAST()-n for a target relative to the first/last rows in t
he partition. If offset is omitted, the Compare To row may be set on the field m
enu. Returns NULL if the target row cannot be determined.\\n\\nExample: LOOKUP(S
UM([Profit]), FIRST( ) + 2) = SUM(Profit) in the third row of the partition\",\
"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-varargs\": false},{\"name\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-toolt
ip\": \"Returns a string in all lowercase characters\",\"help-contents\": \"Conv
erts a text string to all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\
") = \\\"product\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"ha
s-var-args\": false},{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func
-tooltip\": \"Returns a string with leading spaces removed\",\"help-contents\":
\"Returns the string with any leading spaces removed. \\n\\nExample: LTRIM(\\\"
Sales\\\") = \\\"Sales\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year
, month, day)\",\"func-tooltip\": \"Returns a date value constructed from a year
, a month and a day of the month.\",\"help-contents\": \"Returns a date value co
nstructed from a year, a month and a day of the month. \\n\\nExample: MAKEDATE(
2014, 3, 18 )\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"inte
ger\",\"integer\"],\"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-s
ig\": \"MAKEDATETIME(date, time)\",\"func-tooltip\": \"Returns a datetime by com
bining a date and a time\",\"help-contents\": \"Returns a date and time value gi
ven a date expression and a time expression. \\n\\nExample: MAKEDATETIME(#201211-12#, #07:59:00#)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"da
tetime\"],\"has-var-args\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKET
IME(hour, minute, second)\",\"func-tooltip\": \"Returns a time value constructed
from hours, minutes and seconds.\",\"help-contents\": \"Returns a time value co
nstructed from hours, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40
)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integ
er\"],\"has-var-args\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression
) or MAX(expr1, expr2)\",\"func-tooltip\": \"Returns the maximum of an expressio
n\",\"help-contents\": \"Returns the maximum of a single expression across all r

ecords or the maximum of two expressions for each record. \\n\\nExample: MAX([S
ales])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-t
ypes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func
-sig\": \"MEDIAN(expression)\",\"func-tooltip\": \"Returns the median of an expr
ession\",\"help-contents\": \"Returns the median of a single expression. MEDIAN
can be used with numeric fields only. Null values are ignored.\\n\\nExample: MED
IAN([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-varargs\": false},{\"name\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\
"func-tooltip\": \"Returns the characters from the middle of a text string\",\"h
elp-contents\": \"Returns the characters from the middle of a text string given
a starting position and a length. The first character in the string is position
1. If the length is not included, all characters to the end of the string are re
turned. If the length is included, up to that many characters are returned. \\n\
\nExample: MID(\\\"Tableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID
(\\\"Tableau Software\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-a
rg-types\":[\"str\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN
\",\"func-sig\": \"MIN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Re
turns the minimum of an expression\",\"help-contents\": \"Returns the minimum of
an expression across all records or the minimum of two expressions for each rec
ord. \\n\\nExample: MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"l
ogic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},
{\"name\": \"MONTH\",\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns t
he month part of the specified date as an integer\",\"help-contents\": \"Returns
the month of a given date as an integer. \\n\\nExample: MONTH(#2004-04-12#) =
4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\":
false},{\"name\": \"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"fun
c-tooltip\": \"Performs logical negation on an expression\",\"help-contents\": \
"Performs logical negation on an expression\",\"func-grps\":[\"logic\"],\"func-a
rg-types\":[],\"has-var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\
",\"func-tooltip\": \"Returns the current date and time\",\"help-contents\": \"R
eturns the current date and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\
",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"nam
e\": \"OR\",\"func-sig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-toolt
ip\": \"Performs a logical disjunction on two expressions\",\"help-contents\": \
"Performs a logical disjunction on two expressions\",\"func-grps\":[\"logic\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-s
ig\": \"PERCENTILE(expression, number)\",\"func-tooltip\": \"Returns the percent
ile value at the specified number\",\"help-contents\": \"Aggregate calculation t
hat returns the percentile value from the given expression corresponding to the
specified number. Valid values for the number are 0 through 1. PERCENTILE([expre
ssion], 0.50) will always return the median value in the expression.\\n\\nExampl
e: PERCENTILE([Sales], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"rea
l\",\"locreal\"],\"has-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()
\",\"func-tooltip\": \"Returns the numeric constant pi\",\"help-contents\": \"Re
turns the numeric constant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-gr
ps\":[\"num\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER
\",\"func-sig\": \"POWER(number,power)\",\"func-tooltip\": \"Raises the number t
o the specified power\",\"help-contents\": \"Returns the result of a number rais
ed to the given power. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"n
um\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\":
\"PREVIOUS_VALUE\",\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\
": \"Returns the value of this calculation in the previous row\",\"help-contents
\": \"Returns the value of this calculation in the previous row. Returns the giv
en expression if the current row is the first row of the partition.\\n\\nExample
: SUM([Profit]) + PREVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([P
rofit]) * PREVIOUS_VALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"
RADIANS\",\"func-sig\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a numbe
r in degrees to radians\",\"help-contents\": \"Converts a number in degrees to r
adians.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\"

: false},{\"name\": \"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",


\"func-tooltip\": \"Returns the competition rank for the current partition row\"
,\"help-contents\": \"Returns the standard competition rank for the current row
in the partition. Identical values are assigned an identical rank. Use the optio
nal 'asc' | 'desc' argument to specify ascending or descending order. The defaul
t order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Tim
e]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"h
as-var-args\": false},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expre
ssion, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the dense rank for the curr
ent partition row\",\"help-contents\": \"Returns the dense rank for the current
row in the partition. Identical values are assigned an identical rank, but no ga
ps are inserted into the number sequence. Use the optional 'asc' | 'desc' argume
nt to specify ascending or descending order. The default order is descending.\\n
\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2,
3) in ascending order.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[
\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},
{\"name\": \"RANK_MODIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'d
esc'])\",\"func-tooltip\": \"Returns the modified competition rank for the curre
nt partition row\",\"help-contents\": \"Returns the modified competition rank fo
r the current row in the partition. Identical values are assigned an identical r
ank. Use the optional 'asc' | 'desc' argument to specify ascending or descending
order. The default order is descending.\\n\\nWith this function, the set of val
ues (6, 9, 9, 14) would be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample:
RANK_MODIFIED(AVG([Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",
\"func-sig\": \"RANK_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\":
\"Returns the percentile rank for the current partition row\",\"help-contents\":
\"Returns the percentile rank for the current row in the partition. Use the opt
ional 'asc' | 'desc' argument to specify ascending or descending order. The defa
ult order is ascending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (25, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCEN
TILE(AVG([Test Score]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"intege
r\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\"
: \"RANK_UNIQUE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the un
ique rank for the current partition row\",\"help-contents\": \"Returns the uniqu
e rank for the current row in the partition. Identical values are assigned diffe
rent ranks. Use the optional 'asc' | 'desc' argument to specify ascending or des
cending order. The default order is descending.\\n\\nWith this function, the set
of values (6, 9, 9, 14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nE
xample: RANK_UNIQUE() = 1 for the first row in the partition\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\
"name\": \"REGEXP_EXTRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"
func-tooltip\": \"Returns the portion of a string matching the capturing group i
n a regular expression\",\"help-contents\": \"Returns a substring of the given s
tring that matches the capturing group within the regular expression pattern. T
he regular expression pattern requires exactly one capturing group. \\n\\nExampl
e: REGEXP_EXTRACT('abc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\":
\"REGEXP_EXTRACT_NTH\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index
)\",\"func-tooltip\": \"Returns a substring of a string using a regular expressi
on pattern\",\"help-contents\": \"Returns a substring of the given string using
the regular expression pattern. The substring is matched to the nth capturing g
roup, where n is the given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '
([a-z]+)\\\\s+(\\\\d+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\",\"locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH
\",\"func-sig\": \"REGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns t
rue if a string matches a regular expression\",\"help-contents\": \"Returns true
if a substring of the provided string matches the regular expression pattern. \
\n\\nExample: REGEXP_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.

)(\\\\w*\\\\s*\\\\])') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"st
r\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\"
: \"REGEXP_REPLACE(string, pattern, replacement)\",\"func-tooltip\": \"Returns a
string where substrings matching a regular expression are replaced\",\"help-con
tents\": \"Returns a copy of the given string where the matching pattern is subs
tituted with the replacement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '
\\\\s', '-') = 'abc--123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",
\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \
"REPLACE(string, substring, replacement)\",\"func-tooltip\": \"Replaces all inst
ances of a substring within a string\",\"help-contents\": \"Returns a string in
which every occurrence of the substring is replaced with the replacement string.
If the substring is not found, the string is unchanged. \\n\\nExample: REPLACE(
\\\"Calculation\\\", \\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps
\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": fals
e},{\"name\": \"RIGHT\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-toolti
p\": \"Returns the specified number of characters from the end of a string\",\"h
elp-contents\": \"Returns the specified number of characters from the end of the
given string. \\n\\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"
func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ROUND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-too
ltip\": \"Rounds a number to the specified number of places\",\"help-contents\":
\"Rounds a number to the nearest integer or to a specified number of decimal pl
aces. \\n\\nExample: ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"fun
c-sig\": \"RTRIM(string)\",\"func-tooltip\": \"Returns a string with trailing sp
aces removed\",\"help-contents\": \"Returns the string with any trailing spaces
removed. \\n\\nExample: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RU
NNING_AVG\",\"func-sig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Return
s the running average of an expression\",\"help-contents\": \"Returns the runnin
g average of the given expression, from the first row in the partition to the cu
rrent row.\\n\\nExample: RUNNING_AVG(SUM([Profit])) = running average of SUM(Pro
fit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\"
,\"func-tooltip\": \"Returns the running count of an expression\",\"help-content
s\": \"Returns the running count of the given expression, from the first row in
the partition to the current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = r
unning count of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNIN
G_MAX(expression)\",\"func-tooltip\": \"Returns the running maximum of an expres
sion\",\"help-contents\": \"Returns the running maximum of the given expression,
from the first row in the partition to the current row.\\n\\nExample: RUNNING_M
AX(MAX([Profit])) = running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Pro
fit])) = running maximum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"funcsig\": \"RUNNING_MIN(expression)\",\"func-tooltip\": \"Returns the running minim
um of an expression\",\"help-contents\": \"Returns the running minimum of the gi
ven expression, from the first row in the partition to the current row.\\n\\nExa
mple: RUNNING_MIN(MIN([Profit])) = running minimum of Profit\\n\\nExample: RUNNI
NG_MIN(SUM([Profit])) = running minimum of SUM(Profit)\",\"func-grps\":[\"table\
"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNIN
G_SUM\",\"func-sig\": \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns th
e running sum of an expression\",\"help-contents\": \"Returns the running sum of
the given expression, from the first row in the partition to the current row.\\
n\\nExample: RUNNING_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RU
NNING_SUM(COUNT([Profit])) = running count of Profit\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_B
OOL\",\"func-sig\": \"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \
"Returns a Boolean result from an R expression\",\"help-contents\": \"Returns a
Boolean result from a given R expression. The R expression is passed directly to

a running Rserve instance. Use .arg# in the R expression to reference parameter


s. In the following example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCR
IPT_BOOL(\\\"is.finite(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"
func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"f
unc-sig\": \"SCRIPT_INT(string, expression, ...)\",\"func-tooltip\": \"Returns a
n integer result from an R expression\",\"help-contents\": \"Returns an integer
result from a given R expression. The R expression is passed directly to a runni
ng Rserve instance. Use .arg# in the R expression to reference parameters. In th
e following example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(
\\\"as.integer(.arg1 * 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func
-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func
-sig\": \"SCRIPT_REAL(string, expression, ...)\",\"func-tooltip\": \"Returns a n
umeric result from an R expression\",\"help-contents\": \"Returns a numeric resu
lt from a given R expression. The R expression is passed directly to a running R
serve instance. Use .arg# in the R expression to reference parameters. In the fo
llowing example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\
".arg1 * 0.5\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRI
PT_STR(string, expression, ...)\",\"func-tooltip\": \"Returns a string result fr
om an R expression\",\"help-contents\": \"Returns a string result from a given R
expression. The R expression is passed directly to a running Rserve instance. U
se .arg# in the R expression to reference parameters. In the following example,
.arg1 is equal to ATTR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1,
2)\\\", ATTR([Region]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"f
unc-tooltip\": \"Returns 1 for a positive number\",\"help-contents\": \"Returns
the sign of a number: 1 if the number is positive, zero if the number is zero, o
r -1 if the number is negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"
num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\"
,\"func-sig\": \"SIN(angle)\",\"func-tooltip\": \"Returns the sine of a number\"
,\"help-contents\": \"Returns the sine of an angle. Specify the angle in radians
.\\n\\nExample: SIN(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\
": \"SIZE()\",\"func-tooltip\": \"Returns the number of rows in the partition\",
\"help-contents\": \"Returns the number of rows in the partition.\\n\\nExample (
partition has 5 rows):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[],\"has-var-args\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(numbe
r)\",\"func-tooltip\": \"Returns a string containing the specified number of spa
ces\",\"help-contents\": \"Returns a string composed of the specified number of
repeated spaces. \\n\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],
\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"fu
nc-sig\": \"SPLIT(string, delimiter, token number)\",\"func-tooltip\": \"Extract
s a substring from a string\",\"help-contents\": \"Returns a substring from a st
ring, as determined by a delimiter extracting the characters from the beginning
or end of the string. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExampl
e: SPLIT('a-b-c-d', '-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":
[\"str\",\"locstr\",\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"f
unc-sig\": \"SQRT(number)\",\"func-tooltip\": \"Returns the square root of a num
ber\",\"help-contents\": \"Returns the square root of a number. \\n\\nExample: S
QRT(25) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-toolt
ip\": \"Returns the square of a number\",\"help-contents\": \"Returns the square
of a given number. \\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"fu
nc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"f
unc-sig\": \"STARTSWITH(string, substring)\",\"func-tooltip\": \"Returns true if
the specified string starts with the specified substring\",\"help-contents\": \
"Returns true if the string starts with the substring. \\n\\nExample: STARTSWITH
(\\\"Calculation\\\", \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-t
ypes\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-si
g\": \"STDEV(expression)\",\"func-tooltip\": \"Returns the sample standard devia

tion for an expression\",\"help-contents\": \"Returns the sample standard deviat


ion of the expression.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\
"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"fu
nc-sig\": \"STDEVP(expression)\",\"func-tooltip\": \"Returns the population stan
dard deviation for an expression\",\"help-contents\": \"Returns the population s
tandard deviation of the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grp
s\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"STR\",\"func-sig\": \"STR(expression)\",\"func-tooltip\": \"Returns an express
ion as a string\",\"help-contents\": \"Returns a string given an expression. \\
n\\nExample: STR([Age]) returns all of the values of the Age measure as strings.
\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": f
alse},{\"name\": \"SUM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"R
eturns the sum of values in an expression\",\"help-contents\": \"Returns the sum
of all the values in the expression. SUM can be used with numeric fields only.
Null values are ignored.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\
"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"funcsig\": \"TAN(angle)\",\"func-tooltip\": \"Returns the tangent of an angle specif
ied in radians\",\"help-contents\": \"Returns the tangent of an angle. Specify t
he angle in radians.\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\
"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func
-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>]
END\",\"func-tooltip\": \"Performs a logical test and returns an appropriate val
ue\",\"help-contents\": \"Tests a series of expressions returning the <then> val
ue for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' E
LSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\"
: \"TODAY()\",\"func-tooltip\": \"Returns the current date\",\"help-contents\":
\"Returns the current date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\"
:[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",
\"func-sig\": \"TOTAL(expression)\",\"func-tooltip\": \"Returns the total for an
expression within the partition\",\"help-contents\": \"Returns the total for th
e given expression.\\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all dat
abase rows that contribute to the partition\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig
\": \"TRIM(string)\",\"func-tooltip\": \"Returns a string with leading and trail
ing spaces removed\",\"help-contents\": \"Returns the string with both leading a
nd trailing spaces removed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\
\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fal
se},{\"name\": \"UPPER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Ret
urns a string in all uppercase characters\",\"help-contents\": \"Converts a text
string to all uppercase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PR
ODUCT\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": false},{\"name\": \"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-toolti
p\": \"Returns the domain for the current user\",\"help-contents\": \"Returns th
e domain for the current user when the user is signed on to Tableau Server. Retu
rns the Windows domain if the Tableau Desktop user is on a domain. Otherwise thi
s function returns a null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":
[],\"has-var-args\": false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\"
,\"func-tooltip\": \"Returns the user name for the current user\",\"help-content
s\": \"Returns the username for the current user. This is the Tableau Server or
Tableau Online username when the user is signed in; otherwise it is the local or
network username for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR
(expression)\",\"func-tooltip\": \"Returns the sample variance for an expression
\",\"help-contents\": \"Returns the sample variance of the expression.\\n\\nExam
ple: VAR([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has
-var-args\": false},{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"fun
c-tooltip\": \"Returns the population variance for an expression\",\"help-conten
ts\": \"Returns the population variance of the expression.\\n\\nExample: VARP([P
rofit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\"

: false},{\"name\": \"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <ret


urn1> ... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and ret
urns the appropriate value\",\"help-contents\": \"Finds the first <value> that m
atches <expr> and returns the corresponding <return>. \\n\\nExample: CASE [Roman
Numeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"fun
c-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \
"WINDOW_AVG\",\"func-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tool
tip\": \"Returns the average of the values within the window\",\"help-contents\"
: \"Returns the average of the expression within the window. The window is defi
ned as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the enti
re partition is used.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [sta
rt, end])\",\"func-tooltip\": \"Returns the number of items within the window\",
\"help-contents\": \"Returns the count of the expression within the window. The
window is defined as offsets from the current row. Use FIRST()+n and LAST()-n f
or offsets from the first or last row in the partition. If start and end are om
itted, the entire partition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), 2, 0) = count of SUM(Profit) from the two previous rows to the current row\",\"f
unc-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"h
as-var-args\": false},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expre
ssion, [start, end])\",\"func-tooltip\": \"Returns the maximum within the window
\",\"help-contents\": \"Returns the maximum of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST(
)-n for offsets from the first or last row in the partition. If start and end a
re omitted, the entire partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit])
, -2, 0) = maximum of Profit from the two previous rows to the current row\\n\\n
Example: WINDOW_MAX(SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIND
OW_MEDIAN\",\"func-sig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-too
ltip\": \"Returns the median within the window\",\"help-contents\": \"Returns th
e median of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or l
ast row in the partition. If start and end are omitted, the entire partition is
used.\\n\\nExample: WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit)
from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"nam
e\": \"WINDOW_MIN\",\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"fun
c-tooltip\": \"Returns the minimum within the window\",\"help-contents\": \"Retu
rns the minimum of the expression within the window. The window is defined as o
ffsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fir
st or last row in the partition. If start and end are omitted, the entire parti
tion is used.\\n\\nExample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit
from the two previous rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Pro
fit]), -2, 0) = minimum of SUM(Profit) from the two previous rows to the current
row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"i
nteger\"],\"has-var-args\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\"
: \"WINDOW_PERCENTILE(expression, number, [start, end])\",\"func-tooltip\": \"Re
turns the percentile value at the specified number\",\"help-contents\": \"Return
s the value corresponding to the specified percentile within the window. The wi
ndow is defined as offsets from the current row. Use FIRST()+n and LAST()-n for
offsets from the first or last row in the partition. If start and end are omitt
ed, the entire partition is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit])
,0.75, -2., 0)) = 75th percentile of SUM(Profit) from the two previous rows to
the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locre
al\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV
\",\"func-sig\": \"WINDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"

Returns the sample standard deviation within the window\",\"help-contents\": \"R


eturns the sample standard deviation of the expression within the window. The w
indow is defined as offsets from the current row. Use FIRST()+n and LAST()-n for
offsets from the first or last row in the partition. If start and end are omit
ted, the entire partition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2,
0) = std. dev. of SUM(Profit) from the two previous rows to the current row\",\
"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\
"has-var-args\": false},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDE
VP(expression, [start, end])\",\"func-tooltip\": \"Returns the population standa
rd deviation within the window\",\"help-contents\": \"Returns the population sta
ndard deviation of the expression within the window. The window is defined as o
ffsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fir
st or last row in the partition. If start and end are omitted, the entire parti
tion is used.\\n\\nExample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of S
UM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"WINDOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end
])\",\"func-tooltip\": \"Returns the sum of values within the window\",\"help-co
ntents\": \"Returns the sum of the expression within the window. The window is
defined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets
from the first or last row in the partition. If start and end are omitted, the
entire partition is used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\
": false},{\"name\": \"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [star
t, end])\",\"func-tooltip\": \"Returns the sample variance within the window\",\
"help-contents\": \"Returns the sample variance of the expression within the win
dow. The window is defined as offsets from the current row. Use FIRST()+n and L
AST()-n for offsets from the first or last row in the partition. If start and e
nd are omitted, the entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Prof
it]), -2, 0) = variance of SUM(Profit) from the two previous rows to the current
row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"inte
ger\"],\"has-var-args\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDO
W_VARP(expression, [start, end])\",\"func-tooltip\": \"Returns the population va
riance within the window\",\"help-contents\": \"Returns the population variance
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i
n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_VARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"YE
AR\",\"func-sig\": \"YEAR(date)\",\"func-tooltip\": \"Returns the year of the sp
ecified date as an integer\",\"help-contents\": \"Returns the year of a given da
te as an integer. \\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"d
ate\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"Z
N\",\"func-sig\": \"ZN(expression)\",\"func-tooltip\": \"Returns the expression
if it is not null\",\"help-contents\": \"Returns <expression> if it is not null,
otherwise returns zero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\
"logic\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false}]},\"calculat
ion-context\": \"calculation-dialog\",\"use-parameters\": true} position=\"7\"",
"name":"tabdoc:calculation-auto-complete"}}
{"ts":"2016-09-29T17:01:58.883","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED \"
calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"ca
lculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculation_54898
88009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{f\",\"fn\
": \"\",\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"folder-name\":
\"\",\"add-to-folder\": false,\"folder-role\": \"dimensions\",\"has-table-calc-d
ata\": false,\"table-calc-types-used\": 0,\"style-token-list\":[],\"error-string

\": \"Error in calculation:\\n\\nExpected '}' following the expression.\\n\\nWou


ld you like to correct the calculation?\",\"error-info-list\":[{\"start-position
-for-error\": 1,\"length-of-calc-of-error\": 1,\"error-message\": \"Expected '}'
following the expression.\"}],\"expression-func-pm\":{\"expression-func-list\":
[{\"name\": \"ABS\",\"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns th
e absolute value of a number\",\"help-contents\": \"Returns the absolute value o
f the given number. \\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\"
: \"ACOS(number)\",\"func-tooltip\": \"Returns the arc cosine of a number\",\"he
lp-contents\": \"Returns the arc cosine of a number. The result is in radians.
\\n\\nExample: ACOS(-1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"I
F <expr1> AND <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical c
onjunction on two expressions\",\"help-contents\": \"Performs a logical conjunct
ion on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-to
oltip\": \"Returns the ASCII code for the first character in a string\",\"help-c
ontents\": \"Returns the ASCII code value of the first character in a string. \\
n\\nExample: ASCII(\\\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASI
N(number)\",\"func-tooltip\": \"Returns the arc sine of a number\",\"help-conten
ts\": \"Returns the arc sine of a number. The result is in radians. \\n\\nExamp
le: ASIN(1) = 1.5707963267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\
",\"func-tooltip\": \"Returns the arc tangent of a number\",\"help-contents\": \
"Returns the arc tangent of a number. The result is in radians. \\n\\nExample:
ATAN(180) = 1.5652408283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y numbe
r, x number)\",\"func-tooltip\": \"Returns the arc tangent of two numbers\",\"he
lp-contents\": \"Returns the arc tangent of two given numbers (x and y). The res
ult is in radians. \\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\
":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"n
ame\": \"ATTR\",\"func-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns t
he value of the expression if it has one value for all rows\",\"help-contents\":
\"Returns the value of the given expression if it only has a single value for a
ll rows in the group, otherwise it displays an asterisk (*). Null values are ign
ored.\\n\\nExample: ATTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":
[\"integer\"],\"has-var-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(ex
pression)\",\"func-tooltip\": \"Returns the average of the values in the express
ion\",\"help-contents\": \"Returns the average of all the values in the expressi
on. AVG can be used with numeric fields only. Null values are ignored.\\n\\nExam
ple: AVG([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has
-var-args\": false},{\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1
> THEN <return1> ... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical te
sts and returns the appropriate value\",\"help-contents\": \"Finds the first <va
lue> that matches <expr> and returns the corresponding <return>. \\n\\nExample:
CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3
END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{
\"name\": \"CEILING\",\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Roun
ds a number to the nearest integer of equal or greater value\",\"help-contents\"
: \"Rounds a number to the nearest integer of equal or greater value. \\n\\nExam
ple: CEILING(3.1415) = 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"
func-tooltip\": \"Converts an integer ASCII code into a character\",\"help-conte
nts\": \"Converts the given integer ASCII code into a character. \\n\\nExample:
CHAR(65) = 'A'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substri
ng)\",\"func-tooltip\": \"Returns true if a string contains the specified substr
ing\",\"help-contents\": \"Returns true if the string contains the substring. \\
n\\nExample: CONTAINS(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\"

:[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name
\": \"COS\",\"func-sig\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine
of an angle specified in radians\",\"help-contents\": \"Returns the cosine of an
angle. Specify the angle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186
548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"COT\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns
the cotangent of an angle specified in radians\",\"help-contents\": \"Returns t
he cotangent of an angle. Specify the angle in radians.\\n\\nExample: COT(PI()/4
) = 1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"COUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\"
: \"Returns the number of items in the expression\",\"help-contents\": \"Returns
the number of items in a group. NULL values are not counted.\\n\\nExample: COUN
T([Customer ID])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"ha
s-var-args\": false},{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",
\"func-tooltip\": \"Returns the number of distinct items in the expression\",\"h
elp-contents\": \"Returns the number of distinct items in a group. NULL values a
re not counted. Each unique value is counted only once.\\n\\nExample: COUNTD([R
egion])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-arg
s\": false},{\"name\": \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-toolti
p\": \"Returns a date from a number\",\"help-contents\": \"Returns a date given
a number, string, or date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\
\\") = 2006-06-15 \\nNote that the quotation marks are required.\",\"func-grps\"
:[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"D
ATEADD\",\"func-sig\": \"DATEADD(date_part, interval, date)\",\"func-tooltip\":
\"Returns the specified date incremented by the specified amount\",\"help-conten
ts\": \"Adds an increment to the specified date and returns the new date. The in
crement is defined by the interval and the date_part. \\n\\nExample: DATEADD('mo
nth', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"fun
c-arg-types\":[\"locstr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"
name\": \"DATEDIFF\",\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [
start_of_week])\",\"func-tooltip\": \"Returns the difference between two dates\"
,\"help-contents\": \"Returns the difference between two dates where start_date
is subtracted from end_date. The difference is expressed in units of date_part.
If start_of_week is omitted, the week start day is determined by the start day c
onfigured for the data source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #20
04-04-03#, 'sunday') = -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locst
r\",\"datetime\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"
DATENAME\",\"func-sig\": \"DATENAME(date_part, date, [start_of_week])\",\"func-t
ooltip\": \"Returns a part of the specified date as a string\",\"help-contents\"
: \"Returns a part of the given date as a string, where the part is defined by d
ate_part. If start_of_week is omitted, the week start day is determined by the s
tart day configured for the data source.\\n\\nExample: DATENAME('month', #2004-0
4-15#) = \\\"April\\\"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\"
,\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"fu
nc-sig\": \"DATEPARSE(format, string)\",\"func-tooltip\": \"Converts a string to
a date\",\"help-contents\": \"Converts a string to a date in the specified form
at. \\n\\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 200
4-04-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"
str\"],\"has-var-args\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART
(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns the specified p
art of a date as an integer\",\"help-contents\": \"Returns a part of the given d
ate as an integer where the part is defined by date_part. If start_of_week is om
itted, the week start day is determined by the start day configured for the data
source.\\n\\nExample: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"da
te\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\":
false},{\"name\": \"DATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-too
ltip\": \"Returns a datetime from a number\",\"help-contents\": \"Returns a date
time given a number, string, or date expression. \\n\\nExample: DATETIME(\\\"Ap
ril 15, 2004 07:59:00\\\") \\nNote that the quotation marks are required.\",\"f
unc-grps\":[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"n

ame\": \"DATETRUNC\",\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])


\",\"func-tooltip\": \"Truncates the specified date to the specified accuracy\",
\"help-contents\": \"Truncates the specified date to the accuracy specified by t
he date_part and returns the new date. If start_of_week is omitted, the week sta
rt day is determined by the start day configured for the data source.\\n\\nExamp
le: DATETRUNC('quarter', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":
[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-arg
s\": false},{\"name\": \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"R
eturns the day part of the specified date as an integer\",\"help-contents\": \"R
eturns the day of the given date as an integer. \\n\\nExample: DAY(#2004-04-12#
) = 12\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-ar
gs\": false},{\"name\": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-too
ltip\": \"Converts a value in radians to degrees\",\"help-contents\": \"Converts
a number in radians to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"DIV\",\"func-sig\": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns th
e integer part of a division operation\",\"help-contents\": \"Returns the intege
r part of a division.\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"f
unc-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"
ELSE\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [
ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and returns an ap
propriate value\",\"help-contents\": \"Tests a series of expressions returning t
he <then> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN '
Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\"
:[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\
",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE
<else>] END\",\"func-tooltip\": \"Performs a logical test and returns an appropr
iate value\",\"help-contents\": \"Tests a series of expressions returning the <t
hen> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profi
table' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"l
ogic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"END\",\"func
-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>]
END\",\"func-tooltip\": \"Performs a logical test and returns an appropriate val
ue\",\"help-contents\": \"Tests a series of expressions returning the <then> val
ue for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' E
LSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-si
g\": \"ENDSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the spe
cified string ends with the specified substring\",\"help-contents\": \"Returns t
rue if the string ends with the substring (trailing whitespace is ignored). \\n\
\nExample: ENDSWITH(\\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\
"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\":
\"EXCLUDE\",\"func-sig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression
}\",\"func-tooltip\": \"Computes an aggregate excluding the specified dimensions
if present in the view.\",\"help-contents\": \"Computes an aggregate excluding
the specified dimensions if present in the view.\",\"func-grps\":[\"agg\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP
(number)\",\"func-tooltip\": \"Returns e raised to the power of a number\",\"hel
p-contents\": \"Returns e raised to the power of the given number. \\n\\nExampl
e: EXP(5) = e^5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"FIND\",\"func-sig\": \"FIND(string, substring, [st
art])\",\"func-tooltip\": \"Returns the position of a substring within a string\
",\"help-contents\": \"Returns the position of a substring within a string, or 0
if the substring isn't found. If the start argument is defined, any instances o
f substring that appear before the start position are ignored. The first charact
er in the string is position 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alc
u\\\") = 2\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\
"],\"has-var-args\": false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(strin
g, substring, occurrence)\",\"func-tooltip\": \"Returns the position of the nth
occurrence a substring within a string\",\"help-contents\": \"Returns the positi

on of the nth occurrence of a substring within a string, or 0 if that occurrence


of the substring isn't found. The first character in the string is position 1.
\\n\\nExample: FINDNTH(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\
"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{
\"name\": \"FIRST\",\"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the nu
mber of rows from to the first row in the partition\",\"help-contents\": \"Retur
ns the number of rows from the current row to the first row in the partition.\\n
\\nExample (current row index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"tab
le\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func
-sig\": \"{ FIXED [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\":
\"Computes an aggregate using only the specified dimensions.\",\"help-contents\
": \"Computes an aggregate using only the specified dimensions.\",\"func-grps\":
[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"
func-sig\": \"FLOAT(expression)\",\"func-tooltip\": \"Returns a float from an ex
pression\",\"help-contents\": \"Returns a float given an expression of any type.
This function requires unformatted numbers which means exclude commas and other
symbols. \\n\\nExample: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"f
unc-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"fu
nc-sig\": \"FLOOR(number)\",\"func-tooltip\": \"Rounds a number to the nearest i
nteger of equal or lesser value\",\"help-contents\": \"Rounds a number to the ne
arest integer of equal or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"fun
c-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"FULLNAME\",\"func-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the f
ull name for the current user\",\"help-contents\": \"Returns the full name for t
he current user. This is the Tableau Server or Tableau Online full name when the
user is signed in; otherwise it is the local or network full name for the Table
au Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args
\": false},{\"name\": \"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"fu
nc-tooltip\": \"Returns the x-coordinate of the nearest hexagonal bin.\",\"helpcontents\": \"Maps an (x,y) coordinate to the x-coordinate of the nearest hexago
nal bin. The bins have side length 1, so the inputs may need to be scaled approp
riately.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"hasvar-args\": false},{\"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number
)\",\"func-tooltip\": \"Returns the y-coordinate of the nearest hexagonal bin.\"
,\"help-contents\": \"Maps an (x,y) coordinate to the y-coordinate of the neares
t hexagonal bin. The bins have side length 1, so the inputs may need to be scale
d appropriately.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"
],\"has-var-args\": false},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <the
n> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Per
forms a logical test and returns an appropriate value\",\"help-contents\": \"Tes
ts a series of expressions returning the <then> value for the first true <expr>.
\\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Brea
keven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\
"func-tooltip\": \"Returns expression1 if not null\",\"help-contents\": \"Return
s <expr1> if it is not null, otherwise returns <expr2>. \\n\\nExample: IFNULL([
Profit], 0)\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"intege
r\"],\"has-var-args\": false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then,
else, [unknown])\",\"func-tooltip\": \"Evaluates a Boolean expression and retur
ns one of two values\",\"help-contents\": \"Checks whether a condition is met, a
nd returns one value if TRUE, another value if FALSE, and an optional third valu
e or NULL if unknown. \\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"fun
c-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"]
,\"has-var-args\": false},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1
[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregat
e using the specified dimensions and the view dimensions.\",\"help-contents\": \
"Computes an aggregate using the specified dimensions and the view dimensions.\"
,\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"INDEX\",\"func-sig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of
the current row in the partition\",\"help-contents\": \"Returns the index of the

current row in the partition.\\n\\nExample (for the first row in the partition)
: INDEX( ) = 1\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\":
\"Evaluates an expression and returns an integer\",\"help-contents\": \"Returns
an integer given an expression. This function truncates results to the closest
integer toward zero. \\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"funcgrps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"n
ame\": \"ISDATE\",\"func-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns t
rue if the string is a valid date\",\"help-contents\": \"Returns true if a given
string is a valid date. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"f
unc-grps\":[\"str\",\"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-a
rgs\": false},{\"name\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"f
unc-tooltip\": \"Returns true if the current user's full name matches the specif
ied name\",\"help-contents\": \"Returns true if the current user's full name mat
ches the specified full name, or false if it does not match. This function uses
the Tableau Server or Tableau Online full name when the user is signed in; other
wise it uses the local or network full name for the Tableau Desktop user.\",\"fu
nc-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\
"name\": \"ISMEMBEROF\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \
"Returns true if the current user is a member of the specified group\",\"help-co
ntents\": \"Returns true if the current user is a member of the given group, fal
se otherwise. This uses the Tableau Server to resolve group membership if logge
d on, otherwise it always returns false.\",\"func-grps\":[\"user\"],\"func-arg-t
ypes\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\":
\"ISNULL(expression)\",\"func-tooltip\": \"Returns true if the specified expres
sion is null\",\"help-contents\": \"Returns true if the expression does not cont
ain valid data (Null).\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"
],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERN
AME\",\"func-sig\": \"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if t
he current user's name matches the specified user name\",\"help-contents\": \"Re
turns true if the current user's username matches the specified username, or fal
se if it does not match. This function uses the Tableau Server or Tableau Online
username when the user is signed in; otherwise it uses the local or network use
rname for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\
":[\"locstr\"],\"has-var-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST
()\",\"func-tooltip\": \"Returns the number of rows to the last row in the parti
tion\",\"help-contents\": \"Returns the number of rows from the current row to t
he last row in the partition.\\n\\nExample (current row is index 3 of 7):\\nLAST
( ) = 4\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"LEFT\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip
\": \"Returns the specified number of characters from the start of a string\",\"
help-contents\": \"Returns the specified number of characters from the start of
the given string. \\n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",
\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\":
false},{\"name\": \"LEN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Retu
rns the number of characters in a string\",\"help-contents\": \"Returns the numb
er of characters in the given string. \\n\\nExample: LEN(\\\"Calculation\\\") =
11\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fals
e},{\"name\": \"LN\",\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns th
e natural logarithm of a number\",\"help-contents\": \"Returns the natural logar
ithm of the given number. Returns Null if the number is less than or equal to 0.
\\n\\nExample: LN(EXP(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [b
ase])\",\"func-tooltip\": \"Returns the logarithm of a number for the given base
\",\"help-contents\": \"Returns the logarithm of a number for the given base. If
the base value is omitted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExa
mple: LOG(256, 2) = 8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"r
eal\"],\"has-var-args\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(exp
ression, [offset])\",\"func-tooltip\": \"Returns the value of the expression in
a row offset from current row\",\"help-contents\": \"Returns the value of the gi

ven expression in a target row, specified as a relative offset from the current
row. Use FIRST()+n and LAST()-n for a target relative to the first/last rows in
the partition. If offset is omitted, the Compare To row may be set on the field
menu. Returns NULL if the target row cannot be determined.\\n\\nExample: LOOKUP(
SUM([Profit]), FIRST( ) + 2) = SUM(Profit) in the third row of the partition\",
\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var
-args\": false},{\"name\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tool
tip\": \"Returns a string in all lowercase characters\",\"help-contents\": \"Con
verts a text string to all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\
\") = \\\"product\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"h
as-var-args\": false},{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"fun
c-tooltip\": \"Returns a string with leading spaces removed\",\"help-contents\":
\"Returns the string with any leading spaces removed. \\n\\nExample: LTRIM(\\\"
Sales\\\") = \\\"Sales\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(yea
r, month, day)\",\"func-tooltip\": \"Returns a date value constructed from a yea
r, a month and a day of the month.\",\"help-contents\": \"Returns a date value c
onstructed from a year, a month and a day of the month. \\n\\nExample: MAKEDATE
( 2014, 3, 18 )\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"int
eger\",\"integer\"],\"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"funcsig\": \"MAKEDATETIME(date, time)\",\"func-tooltip\": \"Returns a datetime by co
mbining a date and a time\",\"help-contents\": \"Returns a date and time value g
iven a date expression and a time expression. \\n\\nExample: MAKEDATETIME(#2012
-11-12#, #07:59:00#)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"d
atetime\"],\"has-var-args\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKE
TIME(hour, minute, second)\",\"func-tooltip\": \"Returns a time value constructe
d from hours, minutes and seconds.\",\"help-contents\": \"Returns a time value c
onstructed from hours, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40
)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"inte
ger\"],\"has-var-args\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expressio
n) or MAX(expr1, expr2)\",\"func-tooltip\": \"Returns the maximum of an expressi
on\",\"help-contents\": \"Returns the maximum of a single expression across all
records or the maximum of two expressions for each record. \\n\\nExample: MAX([
Sales])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-argtypes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"fun
c-sig\": \"MEDIAN(expression)\",\"func-tooltip\": \"Returns the median of an exp
ression\",\"help-contents\": \"Returns the median of a single expression. MEDIAN
can be used with numeric fields only. Null values are ignored.\\n\\nExample: ME
DIAN([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",
\"func-tooltip\": \"Returns the characters from the middle of a text string\",\"
help-contents\": \"Returns the characters from the middle of a text string given
a starting position and a length. The first character in the string is position
1. If the length is not included, all characters to the end of the string are r
eturned. If the length is included, up to that many characters are returned. \\n
\\nExample: MID(\\\"Tableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MI
D(\\\"Tableau Software\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"funcarg-types\":[\"str\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MI
N\",\"func-sig\": \"MIN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"R
eturns the minimum of an expression\",\"help-contents\": \"Returns the minimum o
f an expression across all records or the minimum of two expressions for each re
cord. \\n\\nExample: MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"
logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"MONTH\",\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns
the month part of the specified date as an integer\",\"help-contents\": \"Return
s the month of a given date as an integer. \\n\\nExample: MONTH(#2004-04-12#) =
4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\"
: false},{\"name\": \"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"fu
nc-tooltip\": \"Performs logical negation on an expression\",\"help-contents\":
\"Performs logical negation on an expression\",\"func-grps\":[\"logic\"],\"func-

arg-types\":[],\"has-var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()


\",\"func-tooltip\": \"Returns the current date and time\",\"help-contents\": \"
Returns the current date and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM
\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"na
me\": \"OR\",\"func-sig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tool
tip\": \"Performs a logical disjunction on two expressions\",\"help-contents\":
\"Performs a logical disjunction on two expressions\",\"func-grps\":[\"logic\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"funcsig\": \"PERCENTILE(expression, number)\",\"func-tooltip\": \"Returns the percen
tile value at the specified number\",\"help-contents\": \"Aggregate calculation
that returns the percentile value from the given expression corresponding to the
specified number. Valid values for the number are 0 through 1. PERCENTILE([expr
ession], 0.50) will always return the median value in the expression.\\n\\nExamp
le: PERCENTILE([Sales], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"re
al\",\"locreal\"],\"has-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI(
)\",\"func-tooltip\": \"Returns the numeric constant pi\",\"help-contents\": \"R
eturns the numeric constant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWE
R\",\"func-sig\": \"POWER(number,power)\",\"func-tooltip\": \"Raises the number
to the specified power\",\"help-contents\": \"Returns the result of a number rai
sed to the given power. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"
num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\"
: \"PREVIOUS_VALUE\",\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip
\": \"Returns the value of this calculation in the previous row\",\"help-content
s\": \"Returns the value of this calculation in the previous row. Returns the gi
ven expression if the current row is the first row of the partition.\\n\\nExampl
e: SUM([Profit]) + PREVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([
Profit]) * PREVIOUS_VALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\
"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \
"RADIANS\",\"func-sig\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a numb
er in degrees to radians\",\"help-contents\": \"Converts a number in degrees to
radians.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\"
,\"func-tooltip\": \"Returns the competition rank for the current partition row\
",\"help-contents\": \"Returns the standard competition rank for the current row
in the partition. Identical values are assigned an identical rank. Use the opti
onal 'asc' | 'desc' argument to specify ascending or descending order. The defau
lt order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Ti
me]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"
has-var-args\": false},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expr
ession, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the dense rank for the cur
rent partition row\",\"help-contents\": \"Returns the dense rank for the current
row in the partition. Identical values are assigned an identical rank, but no g
aps are inserted into the number sequence. Use the optional 'asc' | 'desc' argum
ent to specify ascending or descending order. The default order is descending.\\
n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2
, 3) in ascending order.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":
[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false}
,{\"name\": \"RANK_MODIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'
desc'])\",\"func-tooltip\": \"Returns the modified competition rank for the curr
ent partition row\",\"help-contents\": \"Returns the modified competition rank f
or the current row in the partition. Identical values are assigned an identical
rank. Use the optional 'asc' | 'desc' argument to specify ascending or descendin
g order. The default order is descending.\\n\\nWith this function, the set of va
lues (6, 9, 9, 14) would be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample
: RANK_MODIFIED(AVG([Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\"
,\"func-sig\": \"RANK_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\":
\"Returns the percentile rank for the current partition row\",\"help-contents\"

: \"Returns the percentile rank for the current row in the partition. Use the op
tional 'asc' | 'desc' argument to specify ascending or descending order. The def
ault order is ascending.\\n\\nWith this function, the set of values (6, 9, 9, 14
) would be ranked (25, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCE
NTILE(AVG([Test Score]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integ
er\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\
": \"RANK_UNIQUE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the u
nique rank for the current partition row\",\"help-contents\": \"Returns the uniq
ue rank for the current row in the partition. Identical values are assigned diff
erent ranks. Use the optional 'asc' | 'desc' argument to specify ascending or de
scending order. The default order is descending.\\n\\nWith this function, the se
t of values (6, 9, 9, 14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\n
Example: RANK_UNIQUE() = 1 for the first row in the partition\",\"func-grps\":[\
"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{
\"name\": \"REGEXP_EXTRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\
"func-tooltip\": \"Returns the portion of a string matching the capturing group
in a regular expression\",\"help-contents\": \"Returns a substring of the given
string that matches the capturing group within the regular expression pattern.
The regular expression pattern requires exactly one capturing group. \\n\\nExamp
le: REGEXP_EXTRACT('abc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\
"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\":
\"REGEXP_EXTRACT_NTH\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, inde
x)\",\"func-tooltip\": \"Returns a substring of a string using a regular express
ion pattern\",\"help-contents\": \"Returns a substring of the given string using
the regular expression pattern. The substring is matched to the nth capturing
group, where n is the given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123',
'([a-z]+)\\\\s+(\\\\d+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\",\"locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATC
H\",\"func-sig\": \"REGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns
true if a string matches a regular expression\",\"help-contents\": \"Returns tru
e if a substring of the provided string matches the regular expression pattern.
\\n\\nExample: REGEXP_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\
.)(\\\\w*\\\\s*\\\\])') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"s
tr\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\
": \"REGEXP_REPLACE(string, pattern, replacement)\",\"func-tooltip\": \"Returns
a string where substrings matching a regular expression are replaced\",\"help-co
ntents\": \"Returns a copy of the given string where the matching pattern is sub
stituted with the replacement string. \\n\\nExample: REGEXP_REPLACE('abc 123',
'\\\\s', '-') = 'abc--123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"
,\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\":
\"REPLACE(string, substring, replacement)\",\"func-tooltip\": \"Replaces all ins
tances of a substring within a string\",\"help-contents\": \"Returns a string in
which every occurrence of the substring is replaced with the replacement string
. If the substring is not found, the string is unchanged. \\n\\nExample: REPLACE
(\\\"Calculation\\\", \\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grp
s\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": fal
se},{\"name\": \"RIGHT\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-toolt
ip\": \"Returns the specified number of characters from the end of a string\",\"
help-contents\": \"Returns the specified number of characters from the end of th
e given string. \\n\\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"ROUND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-to
oltip\": \"Rounds a number to the specified number of places\",\"help-contents\"
: \"Rounds a number to the nearest integer or to a specified number of decimal p
laces. \\n\\nExample: ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"fu
nc-sig\": \"RTRIM(string)\",\"func-tooltip\": \"Returns a string with trailing s
paces removed\",\"help-contents\": \"Returns the string with any trailing spaces
removed. \\n\\nExample: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"R

UNNING_AVG\",\"func-sig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Retur


ns the running average of an expression\",\"help-contents\": \"Returns the runni
ng average of the given expression, from the first row in the partition to the c
urrent row.\\n\\nExample: RUNNING_AVG(SUM([Profit])) = running average of SUM(Pr
ofit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\
",\"func-tooltip\": \"Returns the running count of an expression\",\"help-conten
ts\": \"Returns the running count of the given expression, from the first row in
the partition to the current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) =
running count of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNI
NG_MAX(expression)\",\"func-tooltip\": \"Returns the running maximum of an expre
ssion\",\"help-contents\": \"Returns the running maximum of the given expression
, from the first row in the partition to the current row.\\n\\nExample: RUNNING_
MAX(MAX([Profit])) = running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Pr
ofit])) = running maximum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-argtypes\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func
-sig\": \"RUNNING_MIN(expression)\",\"func-tooltip\": \"Returns the running mini
mum of an expression\",\"help-contents\": \"Returns the running minimum of the g
iven expression, from the first row in the partition to the current row.\\n\\nEx
ample: RUNNING_MIN(MIN([Profit])) = running minimum of Profit\\n\\nExample: RUNN
ING_MIN(SUM([Profit])) = running minimum of SUM(Profit)\",\"func-grps\":[\"table
\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNI
NG_SUM\",\"func-sig\": \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns t
he running sum of an expression\",\"help-contents\": \"Returns the running sum o
f the given expression, from the first row in the partition to the current row.\
\n\\nExample: RUNNING_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: R
UNNING_SUM(COUNT([Profit])) = running count of Profit\",\"func-grps\":[\"table\"
],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_
BOOL\",\"func-sig\": \"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\":
\"Returns a Boolean result from an R expression\",\"help-contents\": \"Returns a
Boolean result from a given R expression. The R expression is passed directly t
o a running Rserve instance. Use .arg# in the R expression to reference paramete
rs. In the following example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SC
RIPT_BOOL(\\\"is.finite(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\
"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"
func-sig\": \"SCRIPT_INT(string, expression, ...)\",\"func-tooltip\": \"Returns
an integer result from an R expression\",\"help-contents\": \"Returns an integer
result from a given R expression. The R expression is passed directly to a runn
ing Rserve instance. Use .arg# in the R expression to reference parameters. In t
he following example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT
(\\\"as.integer(.arg1 * 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"fun
c-sig\": \"SCRIPT_REAL(string, expression, ...)\",\"func-tooltip\": \"Returns a
numeric result from an R expression\",\"help-contents\": \"Returns a numeric res
ult from a given R expression. The R expression is passed directly to a running
Rserve instance. Use .arg# in the R expression to reference parameters. In the f
ollowing example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\
\".arg1 * 0.5\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCR
IPT_STR(string, expression, ...)\",\"func-tooltip\": \"Returns a string result f
rom an R expression\",\"help-contents\": \"Returns a string result from a given
R expression. The R expression is passed directly to a running Rserve instance.
Use .arg# in the R expression to reference parameters. In the following example,
.arg1 is equal to ATTR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1
, 2)\\\", ATTR([Region]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"
func-tooltip\": \"Returns 1 for a positive number\",\"help-contents\": \"Returns
the sign of a number: 1 if the number is positive, zero if the number is zero,
or -1 if the number is negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\

"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\


",\"func-sig\": \"SIN(angle)\",\"func-tooltip\": \"Returns the sine of a number\
",\"help-contents\": \"Returns the sine of an angle. Specify the angle in radian
s.\\n\\nExample: SIN(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"fun
c-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig
\": \"SIZE()\",\"func-tooltip\": \"Returns the number of rows in the partition\"
,\"help-contents\": \"Returns the number of rows in the partition.\\n\\nExample
(partition has 5 rows):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[],\"has-var-args\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(numb
er)\",\"func-tooltip\": \"Returns a string containing the specified number of sp
aces\",\"help-contents\": \"Returns a string composed of the specified number of
repeated spaces. \\n\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"f
unc-sig\": \"SPLIT(string, delimiter, token number)\",\"func-tooltip\": \"Extrac
ts a substring from a string\",\"help-contents\": \"Returns a substring from a s
tring, as determined by a delimiter extracting the characters from the beginning
or end of the string. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExamp
le: SPLIT('a-b-c-d', '-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"locstr\",\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"
func-sig\": \"SQRT(number)\",\"func-tooltip\": \"Returns the square root of a nu
mber\",\"help-contents\": \"Returns the square root of a number. \\n\\nExample:
SQRT(25) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tool
tip\": \"Returns the square of a number\",\"help-contents\": \"Returns the squar
e of a given number. \\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"f
unc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"
func-sig\": \"STARTSWITH(string, substring)\",\"func-tooltip\": \"Returns true i
f the specified string starts with the specified substring\",\"help-contents\":
\"Returns true if the string starts with the substring. \\n\\nExample: STARTSWIT
H(\\\"Calculation\\\", \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-s
ig\": \"STDEV(expression)\",\"func-tooltip\": \"Returns the sample standard devi
ation for an expression\",\"help-contents\": \"Returns the sample standard devia
tion of the expression.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],
\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"f
unc-sig\": \"STDEVP(expression)\",\"func-tooltip\": \"Returns the population sta
ndard deviation for an expression\",\"help-contents\": \"Returns the population
standard deviation of the expression.\\n\\nExample: STDEVP([Profit])\",\"func-gr
ps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"STR\",\"func-sig\": \"STR(expression)\",\"func-tooltip\": \"Returns an expres
sion as a string\",\"help-contents\": \"Returns a string given an expression. \
\n\\nExample: STR([Age]) returns all of the values of the Age measure as strings
.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\":
false},{\"name\": \"SUM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"
Returns the sum of values in an expression\",\"help-contents\": \"Returns the su
m of all the values in the expression. SUM can be used with numeric fields only.
Null values are ignored.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],
\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func
-sig\": \"TAN(angle)\",\"func-tooltip\": \"Returns the tangent of an angle speci
fied in radians\",\"help-contents\": \"Returns the tangent of an angle. Specify
the angle in radians.\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],
\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"fun
c-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>]
END\",\"func-tooltip\": \"Performs a logical test and returns an appropriate va
lue\",\"help-contents\": \"Tests a series of expressions returning the <then> va
lue for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable'
ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"]
,\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\
": \"TODAY()\",\"func-tooltip\": \"Returns the current date\",\"help-contents\":
\"Returns the current date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\

":[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\"


,\"func-sig\": \"TOTAL(expression)\",\"func-tooltip\": \"Returns the total for a
n expression within the partition\",\"help-contents\": \"Returns the total for t
he given expression.\\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all da
tabase rows that contribute to the partition\",\"func-grps\":[\"table\"],\"funcarg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-si
g\": \"TRIM(string)\",\"func-tooltip\": \"Returns a string with leading and trai
ling spaces removed\",\"help-contents\": \"Returns the string with both leading
and trailing spaces removed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget
\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fa
lse},{\"name\": \"UPPER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Re
turns a string in all uppercase characters\",\"help-contents\": \"Converts a tex
t string to all uppercase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"P
RODUCT\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args
\": false},{\"name\": \"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-toolt
ip\": \"Returns the domain for the current user\",\"help-contents\": \"Returns t
he domain for the current user when the user is signed on to Tableau Server. Ret
urns the Windows domain if the Tableau Desktop user is on a domain. Otherwise th
is function returns a null string.\",\"func-grps\":[\"user\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\
",\"func-tooltip\": \"Returns the user name for the current user\",\"help-conten
ts\": \"Returns the username for the current user. This is the Tableau Server or
Tableau Online username when the user is signed in; otherwise it is the local o
r network username for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VA
R(expression)\",\"func-tooltip\": \"Returns the sample variance for an expressio
n\",\"help-contents\": \"Returns the sample variance of the expression.\\n\\nExa
mple: VAR([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"ha
s-var-args\": false},{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"fu
nc-tooltip\": \"Returns the population variance for an expression\",\"help-conte
nts\": \"Returns the population variance of the expression.\\n\\nExample: VARP([
Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <re
turn1> ... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and re
turns the appropriate value\",\"help-contents\": \"Finds the first <value> that
matches <expr> and returns the corresponding <return>. \\n\\nExample: CASE [Roma
nNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"fu
nc-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"WINDOW_AVG\",\"func-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-too
ltip\": \"Returns the average of the values within the window\",\"help-contents\
": \"Returns the average of the expression within the window. The window is def
ined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets fro
m the first or last row in the partition. If start and end are omitted, the ent
ire partition is used.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [st
art, end])\",\"func-tooltip\": \"Returns the number of items within the window\"
,\"help-contents\": \"Returns the count of the expression within the window. Th
e window is defined as offsets from the current row. Use FIRST()+n and LAST()-n
for offsets from the first or last row in the partition. If start and end are o
mitted, the entire partition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]),
-2, 0) = count of SUM(Profit) from the two previous rows to the current row\",\"
func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"
has-var-args\": false},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expr
ession, [start, end])\",\"func-tooltip\": \"Returns the maximum within the windo
w\",\"help-contents\": \"Returns the maximum of the expression within the window
. The window is defined as offsets from the current row. Use FIRST()+n and LAST
()-n for offsets from the first or last row in the partition. If start and end
are omitted, the entire partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]

), -2, 0) = maximum of Profit from the two previous rows to the current row\\n\\
nExample: WINDOW_MAX(SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIN
DOW_MEDIAN\",\"func-sig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-to
oltip\": \"Returns the median within the window\",\"help-contents\": \"Returns t
he median of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition i
s used.\\n\\nExample: WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit
) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"na
me\": \"WINDOW_MIN\",\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"fu
nc-tooltip\": \"Returns the minimum within the window\",\"help-contents\": \"Ret
urns the minimum of the expression within the window. The window is defined as
offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fi
rst or last row in the partition. If start and end are omitted, the entire part
ition is used.\\n\\nExample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profi
t from the two previous rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Pr
ofit]), -2, 0) = minimum of SUM(Profit) from the two previous rows to the curren
t row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"
integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\
": \"WINDOW_PERCENTILE(expression, number, [start, end])\",\"func-tooltip\": \"R
eturns the percentile value at the specified number\",\"help-contents\": \"Retur
ns the value corresponding to the specified percentile within the window. The w
indow is defined as offsets from the current row. Use FIRST()+n and LAST()-n for
offsets from the first or last row in the partition. If start and end are omit
ted, the entire partition is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]
),0.75, -2., 0)) = 75th percentile of SUM(Profit) from the two previous rows to
the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locr
eal\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDE
V\",\"func-sig\": \"WINDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \
"Returns the sample standard deviation within the window\",\"help-contents\": \"
Returns the sample standard deviation of the expression within the window. The
window is defined as offsets from the current row. Use FIRST()+n and LAST()-n fo
r offsets from the first or last row in the partition. If start and end are omi
tted, the entire partition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2
, 0) = std. dev. of SUM(Profit) from the two previous rows to the current row\",
\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],
\"has-var-args\": false},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STD
EVP(expression, [start, end])\",\"func-tooltip\": \"Returns the population stand
ard deviation within the window\",\"help-contents\": \"Returns the population st
andard deviation of the expression within the window. The window is defined as
offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fi
rst or last row in the partition. If start and end are omitted, the entire part
ition is used.\\n\\nExample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"tab
le\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": fa
lse},{\"name\": \"WINDOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, en
d])\",\"func-tooltip\": \"Returns the sum of values within the window\",\"help-c
ontents\": \"Returns the sum of the expression within the window. The window is
defined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets
from the first or last row in the partition. If start and end are omitted, the
entire partition is used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args
\": false},{\"name\": \"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [sta
rt, end])\",\"func-tooltip\": \"Returns the sample variance within the window\",
\"help-contents\": \"Returns the sample variance of the expression within the wi
ndow. The window is defined as offsets from the current row. Use FIRST()+n and

LAST()-n for offsets from the first or last row in the partition. If start and
end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Pro
fit]), -2, 0) = variance of SUM(Profit) from the two previous rows to the curren
t row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"int
eger\"],\"has-var-args\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WIND
OW_VARP(expression, [start, end])\",\"func-tooltip\": \"Returns the population v
ariance within the window\",\"help-contents\": \"Returns the population variance
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\\
n\\nExample: WINDOW_VARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from th
e two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"Y
EAR\",\"func-sig\": \"YEAR(date)\",\"func-tooltip\": \"Returns the year of the s
pecified date as an integer\",\"help-contents\": \"Returns the year of a given d
ate as an integer. \\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"
date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"
ZN\",\"func-sig\": \"ZN(expression)\",\"func-tooltip\": \"Returns the expression
if it is not null\",\"help-contents\": \"Returns <expression> if it is not null
, otherwise returns zero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",
\"logic\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false}]},\"calcula
tion-context\": \"calculation-dialog\",\"use-parameters\": true} position=\"7\""
,"name":"tabdoc:calculation-auto-complete"}}
{"ts":"2016-09-29T17:01:58.889","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED \"
calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"cal
culation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculation_548988
8009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{f\",\"fn\"
: \"\",\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"folder-name\": \
"\",\"add-to-folder\": false,\"folder-role\": \"dimensions\",\"has-table-calc-da
ta\": false,\"table-calc-types-used\": 0,\"style-token-list\":[],\"error-string\
": \"Error in calculation:\\n\\nExpected '}' following the expression.\\n\\nWoul
d you like to correct the calculation?\",\"error-info-list\":[{\"start-positionfor-error\": 1,\"length-of-calc-of-error\": 1,\"error-message\": \"Expected '}'
following the expression.\"}],\"expression-func-pm\":{\"expression-func-list\":[
{\"name\": \"ABS\",\"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the
absolute value of a number\",\"help-contents\": \"Returns the absolute value of
the given number. \\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\":
\"ACOS(number)\",\"func-tooltip\": \"Returns the arc cosine of a number\",\"hel
p-contents\": \"Returns the arc cosine of a number. The result is in radians. \
\n\\nExample: ACOS(-1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-t
ypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF
<expr1> AND <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical co
njunction on two expressions\",\"help-contents\": \"Performs a logical conjuncti
on on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-too
ltip\": \"Returns the ASCII code for the first character in a string\",\"help-co
ntents\": \"Returns the ASCII code value of the first character in a string. \\n
\\nExample: ASCII(\\\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN
(number)\",\"func-tooltip\": \"Returns the arc sine of a number\",\"help-content
s\": \"Returns the arc sine of a number. The result is in radians. \\n\\nExampl
e: ASIN(1) = 1.5707963267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\"
,\"func-tooltip\": \"Returns the arc tangent of a number\",\"help-contents\": \"
Returns the arc tangent of a number. The result is in radians. \\n\\nExample:
ATAN(180) = 1.5652408283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number

, x number)\",\"func-tooltip\": \"Returns the arc tangent of two numbers\",\"hel


p-contents\": \"Returns the arc tangent of two given numbers (x and y). The resu
lt is in radians. \\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\"
:[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"na
me\": \"ATTR\",\"func-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns th
e value of the expression if it has one value for all rows\",\"help-contents\":
\"Returns the value of the given expression if it only has a single value for al
l rows in the group, otherwise it displays an asterisk (*). Null values are igno
red.\\n\\nExample: ATTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[
\"integer\"],\"has-var-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(exp
ression)\",\"func-tooltip\": \"Returns the average of the values in the expressi
on\",\"help-contents\": \"Returns the average of all the values in the expressio
n. AVG can be used with numeric fields only. Null values are ignored.\\n\\nExamp
le: AVG([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"hasvar-args\": false},{\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1>
THEN <return1> ... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tes
ts and returns the appropriate value\",\"help-contents\": \"Finds the first <val
ue> that matches <expr> and returns the corresponding <return>. \\n\\nExample: C
ASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 E
ND\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\
"name\": \"CEILING\",\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Round
s a number to the nearest integer of equal or greater value\",\"help-contents\":
\"Rounds a number to the nearest integer of equal or greater value. \\n\\nExamp
le: CEILING(3.1415) = 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"f
unc-tooltip\": \"Converts an integer ASCII code into a character\",\"help-conten
ts\": \"Converts the given integer ASCII code into a character. \\n\\nExample: C
HAR(65) = 'A'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-varargs\": false},{\"name\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substrin
g)\",\"func-tooltip\": \"Returns true if a string contains the specified substri
ng\",\"help-contents\": \"Returns true if the string contains the substring. \\n
\\nExample: CONTAINS(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":
[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\
": \"COS\",\"func-sig\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine o
f an angle specified in radians\",\"help-contents\": \"Returns the cosine of an
angle. Specify the angle in radians.\\n\\nExample: COS(PI()/4) = 0.7071067811865
48\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"COT\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns
the cotangent of an angle specified in radians\",\"help-contents\": \"Returns th
e cotangent of an angle. Specify the angle in radians.\\n\\nExample: COT(PI()/4)
= 1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"COUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\":
\"Returns the number of items in the expression\",\"help-contents\": \"Returns
the number of items in a group. NULL values are not counted.\\n\\nExample: COUNT
([Customer ID])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has
-var-args\": false},{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\
"func-tooltip\": \"Returns the number of distinct items in the expression\",\"he
lp-contents\": \"Returns the number of distinct items in a group. NULL values ar
e not counted. Each unique value is counted only once.\\n\\nExample: COUNTD([Re
gion])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args
\": false},{\"name\": \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip
\": \"Returns a date from a number\",\"help-contents\": \"Returns a date given a
number, string, or date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\
\") = 2006-06-15 \\nNote that the quotation marks are required.\",\"func-grps\":
[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DA
TEADD\",\"func-sig\": \"DATEADD(date_part, interval, date)\",\"func-tooltip\": \
"Returns the specified date incremented by the specified amount\",\"help-content
s\": \"Adds an increment to the specified date and returns the new date. The inc
rement is defined by the interval and the date_part. \\n\\nExample: DATEADD('mon
th', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func

-arg-types\":[\"locstr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"n
ame\": \"DATEDIFF\",\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [s
tart_of_week])\",\"func-tooltip\": \"Returns the difference between two dates\",
\"help-contents\": \"Returns the difference between two dates where start_date i
s subtracted from end_date. The difference is expressed in units of date_part. I
f start_of_week is omitted, the week start day is determined by the start day co
nfigured for the data source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #200
4-04-03#, 'sunday') = -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr
\",\"datetime\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"D
ATENAME\",\"func-sig\": \"DATENAME(date_part, date, [start_of_week])\",\"func-to
oltip\": \"Returns a part of the specified date as a string\",\"help-contents\":
\"Returns a part of the given date as a string, where the part is defined by da
te_part. If start_of_week is omitted, the week start day is determined by the st
art day configured for the data source.\\n\\nExample: DATENAME('month', #2004-04
-15#) = \\\"April\\\"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",
\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"fun
c-sig\": \"DATEPARSE(format, string)\",\"func-tooltip\": \"Converts a string to
a date\",\"help-contents\": \"Converts a string to a date in the specified forma
t. \\n\\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004
-04-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"s
tr\"],\"has-var-args\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(
date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns the specified pa
rt of a date as an integer\",\"help-contents\": \"Returns a part of the given da
te as an integer where the part is defined by date_part. If start_of_week is omi
tted, the week start day is determined by the start day configured for the data
source.\\n\\nExample: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"dat
e\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": f
alse},{\"name\": \"DATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tool
tip\": \"Returns a datetime from a number\",\"help-contents\": \"Returns a datet
ime given a number, string, or date expression. \\n\\nExample: DATETIME(\\\"Apr
il 15, 2004 07:59:00\\\") \\nNote that the quotation marks are required.\",\"fu
nc-grps\":[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"na
me\": \"DATETRUNC\",\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\
",\"func-tooltip\": \"Truncates the specified date to the specified accuracy\",\
"help-contents\": \"Truncates the specified date to the accuracy specified by th
e date_part and returns the new date. If start_of_week is omitted, the week star
t day is determined by the start day configured for the data source.\\n\\nExampl
e: DATETRUNC('quarter', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[
\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args
\": false},{\"name\": \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Re
turns the day part of the specified date as an integer\",\"help-contents\": \"Re
turns the day of the given date as an integer. \\n\\nExample: DAY(#2004-04-12#)
= 12\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-arg
s\": false},{\"name\": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tool
tip\": \"Converts a value in radians to degrees\",\"help-contents\": \"Converts
a number in radians to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-gr
ps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"DIV\",\"func-sig\": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the
integer part of a division operation\",\"help-contents\": \"Returns the integer
part of a division.\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"fu
nc-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"E
LSE\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [E
LSE <else>] END\",\"func-tooltip\": \"Performs a logical test and returns an app
ropriate value\",\"help-contents\": \"Tests a series of expressions returning th
e <then> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'P
rofitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":
[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\"
,\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <
else>] END\",\"func-tooltip\": \"Performs a logical test and returns an appropri
ate value\",\"help-contents\": \"Tests a series of expressions returning the <th

en> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profit
able' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"lo
gic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"END\",\"funcsig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] E
ND\",\"func-tooltip\": \"Performs a logical test and returns an appropriate valu
e\",\"help-contents\": \"Tests a series of expressions returning the <then> valu
e for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' EL
SEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig
\": \"ENDSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the spec
ified string ends with the specified substring\",\"help-contents\": \"Returns tr
ue if the string ends with the substring (trailing whitespace is ignored). \\n\\
nExample: ENDSWITH(\\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\":
\"EXCLUDE\",\"func-sig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }
\",\"func-tooltip\": \"Computes an aggregate excluding the specified dimensions
if present in the view.\",\"help-contents\": \"Computes an aggregate excluding t
he specified dimensions if present in the view.\",\"func-grps\":[\"agg\"],\"func
-arg-types\":[],\"has-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(
number)\",\"func-tooltip\": \"Returns e raised to the power of a number\",\"help
-contents\": \"Returns e raised to the power of the given number. \\n\\nExample
: EXP(5) = e^5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"FIND\",\"func-sig\": \"FIND(string, substring, [sta
rt])\",\"func-tooltip\": \"Returns the position of a substring within a string\"
,\"help-contents\": \"Returns the position of a substring within a string, or 0
if the substring isn't found. If the start argument is defined, any instances of
substring that appear before the start position are ignored. The first characte
r in the string is position 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu
\\\") = 2\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"
],\"has-var-args\": false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string
, substring, occurrence)\",\"func-tooltip\": \"Returns the position of the nth o
ccurrence a substring within a string\",\"help-contents\": \"Returns the positio
n of the nth occurrence of a substring within a string, or 0 if that occurrence
of the substring isn't found. The first character in the string is position 1. \
\n\\nExample: FINDNTH(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\
"name\": \"FIRST\",\"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the num
ber of rows from to the first row in the partition\",\"help-contents\": \"Return
s the number of rows from the current row to the first row in the partition.\\n\
\nExample (current row index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"funcsig\": \"{ FIXED [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\":
\"Computes an aggregate using only the specified dimensions.\",\"help-contents\"
: \"Computes an aggregate using only the specified dimensions.\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"f
unc-sig\": \"FLOAT(expression)\",\"func-tooltip\": \"Returns a float from an exp
ression\",\"help-contents\": \"Returns a float given an expression of any type.
This function requires unformatted numbers which means exclude commas and other
symbols. \\n\\nExample: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"fu
nc-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"fun
c-sig\": \"FLOOR(number)\",\"func-tooltip\": \"Rounds a number to the nearest in
teger of equal or lesser value\",\"help-contents\": \"Rounds a number to the nea
rest integer of equal or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"FULLNAME\",\"func-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the fu
ll name for the current user\",\"help-contents\": \"Returns the full name for th
e current user. This is the Tableau Server or Tableau Online full name when the
user is signed in; otherwise it is the local or network full name for the Tablea
u Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"fun

c-tooltip\": \"Returns the x-coordinate of the nearest hexagonal bin.\",\"help-c


ontents\": \"Maps an (x,y) coordinate to the x-coordinate of the nearest hexagon
al bin. The bins have side length 1, so the inputs may need to be scaled appropr
iately.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-v
ar-args\": false},{\"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)
\",\"func-tooltip\": \"Returns the y-coordinate of the nearest hexagonal bin.\",
\"help-contents\": \"Maps an (x,y) coordinate to the y-coordinate of the nearest
hexagonal bin. The bins have side length 1, so the inputs may need to be scaled
appropriately.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"]
,\"has-var-args\": false},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then
> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Perf
orms a logical test and returns an appropriate value\",\"help-contents\": \"Test
s a series of expressions returning the <then> value for the first true <expr>.
\\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Break
even' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"
func-tooltip\": \"Returns expression1 if not null\",\"help-contents\": \"Returns
<expr1> if it is not null, otherwise returns <expr2>. \\n\\nExample: IFNULL([P
rofit], 0)\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer
\"],\"has-var-args\": false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then,
else, [unknown])\",\"func-tooltip\": \"Evaluates a Boolean expression and return
s one of two values\",\"help-contents\": \"Checks whether a condition is met, an
d returns one value if TRUE, another value if FALSE, and an optional third value
or NULL if unknown. \\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func
-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],
\"has-var-args\": false},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[
, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate
using the specified dimensions and the view dimensions.\",\"help-contents\": \"
Computes an aggregate using the specified dimensions and the view dimensions.\",
\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\"
: \"INDEX\",\"func-sig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of t
he current row in the partition\",\"help-contents\": \"Returns the index of the
current row in the partition.\\n\\nExample (for the first row in the partition):
INDEX( ) = 1\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\"
: false},{\"name\": \"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\":
\"Evaluates an expression and returns an integer\",\"help-contents\": \"Returns
an integer given an expression. This function truncates results to the closest i
nteger toward zero. \\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-g
rps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"na
me\": \"ISDATE\",\"func-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns tr
ue if the string is a valid date\",\"help-contents\": \"Returns true if a given
string is a valid date. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"fu
nc-grps\":[\"str\",\"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-ar
gs\": false},{\"name\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"fu
nc-tooltip\": \"Returns true if the current user's full name matches the specifi
ed name\",\"help-contents\": \"Returns true if the current user's full name matc
hes the specified full name, or false if it does not match. This function uses t
he Tableau Server or Tableau Online full name when the user is signed in; otherw
ise it uses the local or network full name for the Tableau Desktop user.\",\"fun
c-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"
name\": \"ISMEMBEROF\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"
Returns true if the current user is a member of the specified group\",\"help-con
tents\": \"Returns true if the current user is a member of the given group, fals
e otherwise. This uses the Tableau Server to resolve group membership if logged
on, otherwise it always returns false.\",\"func-grps\":[\"user\"],\"func-arg-ty
pes\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\":
\"ISNULL(expression)\",\"func-tooltip\": \"Returns true if the specified express
ion is null\",\"help-contents\": \"Returns true if the expression does not conta
in valid data (Null).\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"]
,\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNA

ME\",\"func-sig\": \"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if th


e current user's name matches the specified user name\",\"help-contents\": \"Ret
urns true if the current user's username matches the specified username, or fals
e if it does not match. This function uses the Tableau Server or Tableau Online
username when the user is signed in; otherwise it uses the local or network user
name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\"
:[\"locstr\"],\"has-var-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST(
)\",\"func-tooltip\": \"Returns the number of rows to the last row in the partit
ion\",\"help-contents\": \"Returns the number of rows from the current row to th
e last row in the partition.\\n\\nExample (current row is index 3 of 7):\\nLAST
( ) = 4\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"LEFT\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\
": \"Returns the specified number of characters from the start of a string\",\"h
elp-contents\": \"Returns the specified number of characters from the start of t
he given string. \\n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"LEN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Retur
ns the number of characters in a string\",\"help-contents\": \"Returns the numbe
r of characters in the given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 1
1\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false
},{\"name\": \"LN\",\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the
natural logarithm of a number\",\"help-contents\": \"Returns the natural logari
thm of the given number. Returns Null if the number is less than or equal to 0.\
\n\\nExample: LN(EXP(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [ba
se])\",\"func-tooltip\": \"Returns the logarithm of a number for the given base\
",\"help-contents\": \"Returns the logarithm of a number for the given base. If
the base value is omitted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExam
ple: LOG(256, 2) = 8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"re
al\"],\"has-var-args\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expr
ession, [offset])\",\"func-tooltip\": \"Returns the value of the expression in a
row offset from current row\",\"help-contents\": \"Returns the value of the giv
en expression in a target row, specified as a relative offset from the current r
ow. Use FIRST()+n and LAST()-n for a target relative to the first/last rows in t
he partition. If offset is omitted, the Compare To row may be set on the field m
enu. Returns NULL if the target row cannot be determined.\\n\\nExample: LOOKUP(S
UM([Profit]), FIRST( ) + 2) = SUM(Profit) in the third row of the partition\",\
"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-varargs\": false},{\"name\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-toolt
ip\": \"Returns a string in all lowercase characters\",\"help-contents\": \"Conv
erts a text string to all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\
") = \\\"product\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"ha
s-var-args\": false},{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func
-tooltip\": \"Returns a string with leading spaces removed\",\"help-contents\":
\"Returns the string with any leading spaces removed. \\n\\nExample: LTRIM(\\\"
Sales\\\") = \\\"Sales\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year
, month, day)\",\"func-tooltip\": \"Returns a date value constructed from a year
, a month and a day of the month.\",\"help-contents\": \"Returns a date value co
nstructed from a year, a month and a day of the month. \\n\\nExample: MAKEDATE(
2014, 3, 18 )\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"inte
ger\",\"integer\"],\"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-s
ig\": \"MAKEDATETIME(date, time)\",\"func-tooltip\": \"Returns a datetime by com
bining a date and a time\",\"help-contents\": \"Returns a date and time value gi
ven a date expression and a time expression. \\n\\nExample: MAKEDATETIME(#201211-12#, #07:59:00#)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"da
tetime\"],\"has-var-args\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKET
IME(hour, minute, second)\",\"func-tooltip\": \"Returns a time value constructed
from hours, minutes and seconds.\",\"help-contents\": \"Returns a time value co
nstructed from hours, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40

)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integ
er\"],\"has-var-args\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression
) or MAX(expr1, expr2)\",\"func-tooltip\": \"Returns the maximum of an expressio
n\",\"help-contents\": \"Returns the maximum of a single expression across all r
ecords or the maximum of two expressions for each record. \\n\\nExample: MAX([S
ales])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-t
ypes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func
-sig\": \"MEDIAN(expression)\",\"func-tooltip\": \"Returns the median of an expr
ession\",\"help-contents\": \"Returns the median of a single expression. MEDIAN
can be used with numeric fields only. Null values are ignored.\\n\\nExample: MED
IAN([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-varargs\": false},{\"name\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\
"func-tooltip\": \"Returns the characters from the middle of a text string\",\"h
elp-contents\": \"Returns the characters from the middle of a text string given
a starting position and a length. The first character in the string is position
1. If the length is not included, all characters to the end of the string are re
turned. If the length is included, up to that many characters are returned. \\n\
\nExample: MID(\\\"Tableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID
(\\\"Tableau Software\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-a
rg-types\":[\"str\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN
\",\"func-sig\": \"MIN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Re
turns the minimum of an expression\",\"help-contents\": \"Returns the minimum of
an expression across all records or the minimum of two expressions for each rec
ord. \\n\\nExample: MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"l
ogic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},
{\"name\": \"MONTH\",\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns t
he month part of the specified date as an integer\",\"help-contents\": \"Returns
the month of a given date as an integer. \\n\\nExample: MONTH(#2004-04-12#) =
4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\":
false},{\"name\": \"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"fun
c-tooltip\": \"Performs logical negation on an expression\",\"help-contents\": \
"Performs logical negation on an expression\",\"func-grps\":[\"logic\"],\"func-a
rg-types\":[],\"has-var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\
",\"func-tooltip\": \"Returns the current date and time\",\"help-contents\": \"R
eturns the current date and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\
",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"nam
e\": \"OR\",\"func-sig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-toolt
ip\": \"Performs a logical disjunction on two expressions\",\"help-contents\": \
"Performs a logical disjunction on two expressions\",\"func-grps\":[\"logic\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-s
ig\": \"PERCENTILE(expression, number)\",\"func-tooltip\": \"Returns the percent
ile value at the specified number\",\"help-contents\": \"Aggregate calculation t
hat returns the percentile value from the given expression corresponding to the
specified number. Valid values for the number are 0 through 1. PERCENTILE([expre
ssion], 0.50) will always return the median value in the expression.\\n\\nExampl
e: PERCENTILE([Sales], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"rea
l\",\"locreal\"],\"has-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()
\",\"func-tooltip\": \"Returns the numeric constant pi\",\"help-contents\": \"Re
turns the numeric constant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-gr
ps\":[\"num\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER
\",\"func-sig\": \"POWER(number,power)\",\"func-tooltip\": \"Raises the number t
o the specified power\",\"help-contents\": \"Returns the result of a number rais
ed to the given power. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"n
um\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\":
\"PREVIOUS_VALUE\",\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\
": \"Returns the value of this calculation in the previous row\",\"help-contents
\": \"Returns the value of this calculation in the previous row. Returns the giv
en expression if the current row is the first row of the partition.\\n\\nExample
: SUM([Profit]) + PREVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([P
rofit]) * PREVIOUS_VALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"

table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"


RADIANS\",\"func-sig\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a numbe
r in degrees to radians\",\"help-contents\": \"Converts a number in degrees to r
adians.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",
\"func-tooltip\": \"Returns the competition rank for the current partition row\"
,\"help-contents\": \"Returns the standard competition rank for the current row
in the partition. Identical values are assigned an identical rank. Use the optio
nal 'asc' | 'desc' argument to specify ascending or descending order. The defaul
t order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Tim
e]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"h
as-var-args\": false},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expre
ssion, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the dense rank for the curr
ent partition row\",\"help-contents\": \"Returns the dense rank for the current
row in the partition. Identical values are assigned an identical rank, but no ga
ps are inserted into the number sequence. Use the optional 'asc' | 'desc' argume
nt to specify ascending or descending order. The default order is descending.\\n
\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2,
3) in ascending order.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[
\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},
{\"name\": \"RANK_MODIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'d
esc'])\",\"func-tooltip\": \"Returns the modified competition rank for the curre
nt partition row\",\"help-contents\": \"Returns the modified competition rank fo
r the current row in the partition. Identical values are assigned an identical r
ank. Use the optional 'asc' | 'desc' argument to specify ascending or descending
order. The default order is descending.\\n\\nWith this function, the set of val
ues (6, 9, 9, 14) would be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample:
RANK_MODIFIED(AVG([Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",
\"func-sig\": \"RANK_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\":
\"Returns the percentile rank for the current partition row\",\"help-contents\":
\"Returns the percentile rank for the current row in the partition. Use the opt
ional 'asc' | 'desc' argument to specify ascending or descending order. The defa
ult order is ascending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (25, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCEN
TILE(AVG([Test Score]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"intege
r\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\"
: \"RANK_UNIQUE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the un
ique rank for the current partition row\",\"help-contents\": \"Returns the uniqu
e rank for the current row in the partition. Identical values are assigned diffe
rent ranks. Use the optional 'asc' | 'desc' argument to specify ascending or des
cending order. The default order is descending.\\n\\nWith this function, the set
of values (6, 9, 9, 14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nE
xample: RANK_UNIQUE() = 1 for the first row in the partition\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\
"name\": \"REGEXP_EXTRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"
func-tooltip\": \"Returns the portion of a string matching the capturing group i
n a regular expression\",\"help-contents\": \"Returns a substring of the given s
tring that matches the capturing group within the regular expression pattern. T
he regular expression pattern requires exactly one capturing group. \\n\\nExampl
e: REGEXP_EXTRACT('abc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\":
\"REGEXP_EXTRACT_NTH\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index
)\",\"func-tooltip\": \"Returns a substring of a string using a regular expressi
on pattern\",\"help-contents\": \"Returns a substring of the given string using
the regular expression pattern. The substring is matched to the nth capturing g
roup, where n is the given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '
([a-z]+)\\\\s+(\\\\d+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\",\"locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH

\",\"func-sig\": \"REGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns t


rue if a string matches a regular expression\",\"help-contents\": \"Returns true
if a substring of the provided string matches the regular expression pattern. \
\n\\nExample: REGEXP_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.
)(\\\\w*\\\\s*\\\\])') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"st
r\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\"
: \"REGEXP_REPLACE(string, pattern, replacement)\",\"func-tooltip\": \"Returns a
string where substrings matching a regular expression are replaced\",\"help-con
tents\": \"Returns a copy of the given string where the matching pattern is subs
tituted with the replacement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '
\\\\s', '-') = 'abc--123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",
\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \
"REPLACE(string, substring, replacement)\",\"func-tooltip\": \"Replaces all inst
ances of a substring within a string\",\"help-contents\": \"Returns a string in
which every occurrence of the substring is replaced with the replacement string.
If the substring is not found, the string is unchanged. \\n\\nExample: REPLACE(
\\\"Calculation\\\", \\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps
\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": fals
e},{\"name\": \"RIGHT\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-toolti
p\": \"Returns the specified number of characters from the end of a string\",\"h
elp-contents\": \"Returns the specified number of characters from the end of the
given string. \\n\\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"
func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ROUND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-too
ltip\": \"Rounds a number to the specified number of places\",\"help-contents\":
\"Rounds a number to the nearest integer or to a specified number of decimal pl
aces. \\n\\nExample: ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"fun
c-sig\": \"RTRIM(string)\",\"func-tooltip\": \"Returns a string with trailing sp
aces removed\",\"help-contents\": \"Returns the string with any trailing spaces
removed. \\n\\nExample: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RU
NNING_AVG\",\"func-sig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Return
s the running average of an expression\",\"help-contents\": \"Returns the runnin
g average of the given expression, from the first row in the partition to the cu
rrent row.\\n\\nExample: RUNNING_AVG(SUM([Profit])) = running average of SUM(Pro
fit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\"
,\"func-tooltip\": \"Returns the running count of an expression\",\"help-content
s\": \"Returns the running count of the given expression, from the first row in
the partition to the current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = r
unning count of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNIN
G_MAX(expression)\",\"func-tooltip\": \"Returns the running maximum of an expres
sion\",\"help-contents\": \"Returns the running maximum of the given expression,
from the first row in the partition to the current row.\\n\\nExample: RUNNING_M
AX(MAX([Profit])) = running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Pro
fit])) = running maximum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"funcsig\": \"RUNNING_MIN(expression)\",\"func-tooltip\": \"Returns the running minim
um of an expression\",\"help-contents\": \"Returns the running minimum of the gi
ven expression, from the first row in the partition to the current row.\\n\\nExa
mple: RUNNING_MIN(MIN([Profit])) = running minimum of Profit\\n\\nExample: RUNNI
NG_MIN(SUM([Profit])) = running minimum of SUM(Profit)\",\"func-grps\":[\"table\
"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNIN
G_SUM\",\"func-sig\": \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns th
e running sum of an expression\",\"help-contents\": \"Returns the running sum of
the given expression, from the first row in the partition to the current row.\\
n\\nExample: RUNNING_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RU
NNING_SUM(COUNT([Profit])) = running count of Profit\",\"func-grps\":[\"table\"]

,\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_B


OOL\",\"func-sig\": \"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \
"Returns a Boolean result from an R expression\",\"help-contents\": \"Returns a
Boolean result from a given R expression. The R expression is passed directly to
a running Rserve instance. Use .arg# in the R expression to reference parameter
s. In the following example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCR
IPT_BOOL(\\\"is.finite(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"
func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"f
unc-sig\": \"SCRIPT_INT(string, expression, ...)\",\"func-tooltip\": \"Returns a
n integer result from an R expression\",\"help-contents\": \"Returns an integer
result from a given R expression. The R expression is passed directly to a runni
ng Rserve instance. Use .arg# in the R expression to reference parameters. In th
e following example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(
\\\"as.integer(.arg1 * 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func
-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func
-sig\": \"SCRIPT_REAL(string, expression, ...)\",\"func-tooltip\": \"Returns a n
umeric result from an R expression\",\"help-contents\": \"Returns a numeric resu
lt from a given R expression. The R expression is passed directly to a running R
serve instance. Use .arg# in the R expression to reference parameters. In the fo
llowing example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\
".arg1 * 0.5\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRI
PT_STR(string, expression, ...)\",\"func-tooltip\": \"Returns a string result fr
om an R expression\",\"help-contents\": \"Returns a string result from a given R
expression. The R expression is passed directly to a running Rserve instance. U
se .arg# in the R expression to reference parameters. In the following example,
.arg1 is equal to ATTR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1,
2)\\\", ATTR([Region]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"f
unc-tooltip\": \"Returns 1 for a positive number\",\"help-contents\": \"Returns
the sign of a number: 1 if the number is positive, zero if the number is zero, o
r -1 if the number is negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"
num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\"
,\"func-sig\": \"SIN(angle)\",\"func-tooltip\": \"Returns the sine of a number\"
,\"help-contents\": \"Returns the sine of an angle. Specify the angle in radians
.\\n\\nExample: SIN(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\
": \"SIZE()\",\"func-tooltip\": \"Returns the number of rows in the partition\",
\"help-contents\": \"Returns the number of rows in the partition.\\n\\nExample (
partition has 5 rows):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[],\"has-var-args\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(numbe
r)\",\"func-tooltip\": \"Returns a string containing the specified number of spa
ces\",\"help-contents\": \"Returns a string composed of the specified number of
repeated spaces. \\n\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],
\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"fu
nc-sig\": \"SPLIT(string, delimiter, token number)\",\"func-tooltip\": \"Extract
s a substring from a string\",\"help-contents\": \"Returns a substring from a st
ring, as determined by a delimiter extracting the characters from the beginning
or end of the string. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExampl
e: SPLIT('a-b-c-d', '-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":
[\"str\",\"locstr\",\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"f
unc-sig\": \"SQRT(number)\",\"func-tooltip\": \"Returns the square root of a num
ber\",\"help-contents\": \"Returns the square root of a number. \\n\\nExample: S
QRT(25) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-toolt
ip\": \"Returns the square of a number\",\"help-contents\": \"Returns the square
of a given number. \\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"fu
nc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"f
unc-sig\": \"STARTSWITH(string, substring)\",\"func-tooltip\": \"Returns true if
the specified string starts with the specified substring\",\"help-contents\": \

"Returns true if the string starts with the substring. \\n\\nExample: STARTSWITH
(\\\"Calculation\\\", \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-t
ypes\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-si
g\": \"STDEV(expression)\",\"func-tooltip\": \"Returns the sample standard devia
tion for an expression\",\"help-contents\": \"Returns the sample standard deviat
ion of the expression.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\
"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"fu
nc-sig\": \"STDEVP(expression)\",\"func-tooltip\": \"Returns the population stan
dard deviation for an expression\",\"help-contents\": \"Returns the population s
tandard deviation of the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grp
s\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"STR\",\"func-sig\": \"STR(expression)\",\"func-tooltip\": \"Returns an express
ion as a string\",\"help-contents\": \"Returns a string given an expression. \\
n\\nExample: STR([Age]) returns all of the values of the Age measure as strings.
\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": f
alse},{\"name\": \"SUM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"R
eturns the sum of values in an expression\",\"help-contents\": \"Returns the sum
of all the values in the expression. SUM can be used with numeric fields only.
Null values are ignored.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\
"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"funcsig\": \"TAN(angle)\",\"func-tooltip\": \"Returns the tangent of an angle specif
ied in radians\",\"help-contents\": \"Returns the tangent of an angle. Specify t
he angle in radians.\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\
"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func
-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>]
END\",\"func-tooltip\": \"Performs a logical test and returns an appropriate val
ue\",\"help-contents\": \"Tests a series of expressions returning the <then> val
ue for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' E
LSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\"
: \"TODAY()\",\"func-tooltip\": \"Returns the current date\",\"help-contents\":
\"Returns the current date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\"
:[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",
\"func-sig\": \"TOTAL(expression)\",\"func-tooltip\": \"Returns the total for an
expression within the partition\",\"help-contents\": \"Returns the total for th
e given expression.\\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all dat
abase rows that contribute to the partition\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig
\": \"TRIM(string)\",\"func-tooltip\": \"Returns a string with leading and trail
ing spaces removed\",\"help-contents\": \"Returns the string with both leading a
nd trailing spaces removed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\
\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fal
se},{\"name\": \"UPPER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Ret
urns a string in all uppercase characters\",\"help-contents\": \"Converts a text
string to all uppercase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PR
ODUCT\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": false},{\"name\": \"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-toolti
p\": \"Returns the domain for the current user\",\"help-contents\": \"Returns th
e domain for the current user when the user is signed on to Tableau Server. Retu
rns the Windows domain if the Tableau Desktop user is on a domain. Otherwise thi
s function returns a null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":
[],\"has-var-args\": false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\"
,\"func-tooltip\": \"Returns the user name for the current user\",\"help-content
s\": \"Returns the username for the current user. This is the Tableau Server or
Tableau Online username when the user is signed in; otherwise it is the local or
network username for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR
(expression)\",\"func-tooltip\": \"Returns the sample variance for an expression
\",\"help-contents\": \"Returns the sample variance of the expression.\\n\\nExam
ple: VAR([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has

-var-args\": false},{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"fun


c-tooltip\": \"Returns the population variance for an expression\",\"help-conten
ts\": \"Returns the population variance of the expression.\\n\\nExample: VARP([P
rofit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <ret
urn1> ... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and ret
urns the appropriate value\",\"help-contents\": \"Finds the first <value> that m
atches <expr> and returns the corresponding <return>. \\n\\nExample: CASE [Roman
Numeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"fun
c-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \
"WINDOW_AVG\",\"func-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tool
tip\": \"Returns the average of the values within the window\",\"help-contents\"
: \"Returns the average of the expression within the window. The window is defi
ned as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the enti
re partition is used.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [sta
rt, end])\",\"func-tooltip\": \"Returns the number of items within the window\",
\"help-contents\": \"Returns the count of the expression within the window. The
window is defined as offsets from the current row. Use FIRST()+n and LAST()-n f
or offsets from the first or last row in the partition. If start and end are om
itted, the entire partition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), 2, 0) = count of SUM(Profit) from the two previous rows to the current row\",\"f
unc-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"h
as-var-args\": false},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expre
ssion, [start, end])\",\"func-tooltip\": \"Returns the maximum within the window
\",\"help-contents\": \"Returns the maximum of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST(
)-n for offsets from the first or last row in the partition. If start and end a
re omitted, the entire partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit])
, -2, 0) = maximum of Profit from the two previous rows to the current row\\n\\n
Example: WINDOW_MAX(SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIND
OW_MEDIAN\",\"func-sig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-too
ltip\": \"Returns the median within the window\",\"help-contents\": \"Returns th
e median of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or l
ast row in the partition. If start and end are omitted, the entire partition is
used.\\n\\nExample: WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit)
from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"nam
e\": \"WINDOW_MIN\",\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"fun
c-tooltip\": \"Returns the minimum within the window\",\"help-contents\": \"Retu
rns the minimum of the expression within the window. The window is defined as o
ffsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fir
st or last row in the partition. If start and end are omitted, the entire parti
tion is used.\\n\\nExample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit
from the two previous rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Pro
fit]), -2, 0) = minimum of SUM(Profit) from the two previous rows to the current
row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"i
nteger\"],\"has-var-args\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\"
: \"WINDOW_PERCENTILE(expression, number, [start, end])\",\"func-tooltip\": \"Re
turns the percentile value at the specified number\",\"help-contents\": \"Return
s the value corresponding to the specified percentile within the window. The wi
ndow is defined as offsets from the current row. Use FIRST()+n and LAST()-n for
offsets from the first or last row in the partition. If start and end are omitt
ed, the entire partition is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit])

,0.75, -2., 0)) = 75th percentile of SUM(Profit) from the two previous rows to
the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locre
al\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV
\",\"func-sig\": \"WINDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"
Returns the sample standard deviation within the window\",\"help-contents\": \"R
eturns the sample standard deviation of the expression within the window. The w
indow is defined as offsets from the current row. Use FIRST()+n and LAST()-n for
offsets from the first or last row in the partition. If start and end are omit
ted, the entire partition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2,
0) = std. dev. of SUM(Profit) from the two previous rows to the current row\",\
"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\
"has-var-args\": false},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDE
VP(expression, [start, end])\",\"func-tooltip\": \"Returns the population standa
rd deviation within the window\",\"help-contents\": \"Returns the population sta
ndard deviation of the expression within the window. The window is defined as o
ffsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fir
st or last row in the partition. If start and end are omitted, the entire parti
tion is used.\\n\\nExample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of S
UM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"WINDOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end
])\",\"func-tooltip\": \"Returns the sum of values within the window\",\"help-co
ntents\": \"Returns the sum of the expression within the window. The window is
defined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets
from the first or last row in the partition. If start and end are omitted, the
entire partition is used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\
": false},{\"name\": \"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [star
t, end])\",\"func-tooltip\": \"Returns the sample variance within the window\",\
"help-contents\": \"Returns the sample variance of the expression within the win
dow. The window is defined as offsets from the current row. Use FIRST()+n and L
AST()-n for offsets from the first or last row in the partition. If start and e
nd are omitted, the entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Prof
it]), -2, 0) = variance of SUM(Profit) from the two previous rows to the current
row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"inte
ger\"],\"has-var-args\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDO
W_VARP(expression, [start, end])\",\"func-tooltip\": \"Returns the population va
riance within the window\",\"help-contents\": \"Returns the population variance
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i
n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_VARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the
two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"YE
AR\",\"func-sig\": \"YEAR(date)\",\"func-tooltip\": \"Returns the year of the sp
ecified date as an integer\",\"help-contents\": \"Returns the year of a given da
te as an integer. \\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"d
ate\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"Z
N\",\"func-sig\": \"ZN(expression)\",\"func-tooltip\": \"Returns the expression
if it is not null\",\"help-contents\": \"Returns <expression> if it is not null,
otherwise returns zero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\
"logic\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false}]},\"calculat
ion-context\": \"calculation-dialog\",\"use-parameters\": true} position=\"7\"",
"name":"tabdoc:calculation-auto-complete"}}
{"ts":"2016-09-29T17:01:58.889","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED \"
calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"ca
lculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculation_54898

88009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{f\",\"fn\


": \"\",\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"folder-name\":
\"\",\"add-to-folder\": false,\"folder-role\": \"dimensions\",\"has-table-calc-d
ata\": false,\"table-calc-types-used\": 0,\"style-token-list\":[],\"error-string
\": \"Error in calculation:\\n\\nExpected '}' following the expression.\\n\\nWou
ld you like to correct the calculation?\",\"error-info-list\":[{\"start-position
-for-error\": 1,\"length-of-calc-of-error\": 1,\"error-message\": \"Expected '}'
following the expression.\"}],\"expression-func-pm\":{\"expression-func-list\":
[{\"name\": \"ABS\",\"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns th
e absolute value of a number\",\"help-contents\": \"Returns the absolute value o
f the given number. \\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\"
: \"ACOS(number)\",\"func-tooltip\": \"Returns the arc cosine of a number\",\"he
lp-contents\": \"Returns the arc cosine of a number. The result is in radians.
\\n\\nExample: ACOS(-1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"I
F <expr1> AND <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical c
onjunction on two expressions\",\"help-contents\": \"Performs a logical conjunct
ion on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-to
oltip\": \"Returns the ASCII code for the first character in a string\",\"help-c
ontents\": \"Returns the ASCII code value of the first character in a string. \\
n\\nExample: ASCII(\\\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASI
N(number)\",\"func-tooltip\": \"Returns the arc sine of a number\",\"help-conten
ts\": \"Returns the arc sine of a number. The result is in radians. \\n\\nExamp
le: ASIN(1) = 1.5707963267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\
",\"func-tooltip\": \"Returns the arc tangent of a number\",\"help-contents\": \
"Returns the arc tangent of a number. The result is in radians. \\n\\nExample:
ATAN(180) = 1.5652408283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y numbe
r, x number)\",\"func-tooltip\": \"Returns the arc tangent of two numbers\",\"he
lp-contents\": \"Returns the arc tangent of two given numbers (x and y). The res
ult is in radians. \\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\
":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"n
ame\": \"ATTR\",\"func-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns t
he value of the expression if it has one value for all rows\",\"help-contents\":
\"Returns the value of the given expression if it only has a single value for a
ll rows in the group, otherwise it displays an asterisk (*). Null values are ign
ored.\\n\\nExample: ATTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":
[\"integer\"],\"has-var-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(ex
pression)\",\"func-tooltip\": \"Returns the average of the values in the express
ion\",\"help-contents\": \"Returns the average of all the values in the expressi
on. AVG can be used with numeric fields only. Null values are ignored.\\n\\nExam
ple: AVG([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has
-var-args\": false},{\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1
> THEN <return1> ... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical te
sts and returns the appropriate value\",\"help-contents\": \"Finds the first <va
lue> that matches <expr> and returns the corresponding <return>. \\n\\nExample:
CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3
END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{
\"name\": \"CEILING\",\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Roun
ds a number to the nearest integer of equal or greater value\",\"help-contents\"
: \"Rounds a number to the nearest integer of equal or greater value. \\n\\nExam
ple: CEILING(3.1415) = 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"
func-tooltip\": \"Converts an integer ASCII code into a character\",\"help-conte
nts\": \"Converts the given integer ASCII code into a character. \\n\\nExample:
CHAR(65) = 'A'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var

-args\": false},{\"name\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substri


ng)\",\"func-tooltip\": \"Returns true if a string contains the specified substr
ing\",\"help-contents\": \"Returns true if the string contains the substring. \\
n\\nExample: CONTAINS(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name
\": \"COS\",\"func-sig\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine
of an angle specified in radians\",\"help-contents\": \"Returns the cosine of an
angle. Specify the angle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186
548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"COT\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns
the cotangent of an angle specified in radians\",\"help-contents\": \"Returns t
he cotangent of an angle. Specify the angle in radians.\\n\\nExample: COT(PI()/4
) = 1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"COUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\"
: \"Returns the number of items in the expression\",\"help-contents\": \"Returns
the number of items in a group. NULL values are not counted.\\n\\nExample: COUN
T([Customer ID])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"ha
s-var-args\": false},{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",
\"func-tooltip\": \"Returns the number of distinct items in the expression\",\"h
elp-contents\": \"Returns the number of distinct items in a group. NULL values a
re not counted. Each unique value is counted only once.\\n\\nExample: COUNTD([R
egion])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-arg
s\": false},{\"name\": \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-toolti
p\": \"Returns a date from a number\",\"help-contents\": \"Returns a date given
a number, string, or date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\
\\") = 2006-06-15 \\nNote that the quotation marks are required.\",\"func-grps\"
:[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"D
ATEADD\",\"func-sig\": \"DATEADD(date_part, interval, date)\",\"func-tooltip\":
\"Returns the specified date incremented by the specified amount\",\"help-conten
ts\": \"Adds an increment to the specified date and returns the new date. The in
crement is defined by the interval and the date_part. \\n\\nExample: DATEADD('mo
nth', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"fun
c-arg-types\":[\"locstr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"
name\": \"DATEDIFF\",\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [
start_of_week])\",\"func-tooltip\": \"Returns the difference between two dates\"
,\"help-contents\": \"Returns the difference between two dates where start_date
is subtracted from end_date. The difference is expressed in units of date_part.
If start_of_week is omitted, the week start day is determined by the start day c
onfigured for the data source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #20
04-04-03#, 'sunday') = -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locst
r\",\"datetime\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"
DATENAME\",\"func-sig\": \"DATENAME(date_part, date, [start_of_week])\",\"func-t
ooltip\": \"Returns a part of the specified date as a string\",\"help-contents\"
: \"Returns a part of the given date as a string, where the part is defined by d
ate_part. If start_of_week is omitted, the week start day is determined by the s
tart day configured for the data source.\\n\\nExample: DATENAME('month', #2004-0
4-15#) = \\\"April\\\"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\"
,\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"fu
nc-sig\": \"DATEPARSE(format, string)\",\"func-tooltip\": \"Converts a string to
a date\",\"help-contents\": \"Converts a string to a date in the specified form
at. \\n\\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 200
4-04-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"
str\"],\"has-var-args\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART
(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns the specified p
art of a date as an integer\",\"help-contents\": \"Returns a part of the given d
ate as an integer where the part is defined by date_part. If start_of_week is om
itted, the week start day is determined by the start day configured for the data
source.\\n\\nExample: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"da
te\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\":
false},{\"name\": \"DATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-too

ltip\": \"Returns a datetime from a number\",\"help-contents\": \"Returns a date


time given a number, string, or date expression. \\n\\nExample: DATETIME(\\\"Ap
ril 15, 2004 07:59:00\\\") \\nNote that the quotation marks are required.\",\"f
unc-grps\":[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"n
ame\": \"DATETRUNC\",\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])
\",\"func-tooltip\": \"Truncates the specified date to the specified accuracy\",
\"help-contents\": \"Truncates the specified date to the accuracy specified by t
he date_part and returns the new date. If start_of_week is omitted, the week sta
rt day is determined by the start day configured for the data source.\\n\\nExamp
le: DATETRUNC('quarter', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":
[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-arg
s\": false},{\"name\": \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"R
eturns the day part of the specified date as an integer\",\"help-contents\": \"R
eturns the day of the given date as an integer. \\n\\nExample: DAY(#2004-04-12#
) = 12\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-ar
gs\": false},{\"name\": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-too
ltip\": \"Converts a value in radians to degrees\",\"help-contents\": \"Converts
a number in radians to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"DIV\",\"func-sig\": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns th
e integer part of a division operation\",\"help-contents\": \"Returns the intege
r part of a division.\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"f
unc-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"
ELSE\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [
ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and returns an ap
propriate value\",\"help-contents\": \"Tests a series of expressions returning t
he <then> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN '
Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\"
:[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\
",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE
<else>] END\",\"func-tooltip\": \"Performs a logical test and returns an appropr
iate value\",\"help-contents\": \"Tests a series of expressions returning the <t
hen> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profi
table' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"l
ogic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"END\",\"func
-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>]
END\",\"func-tooltip\": \"Performs a logical test and returns an appropriate val
ue\",\"help-contents\": \"Tests a series of expressions returning the <then> val
ue for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' E
LSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-si
g\": \"ENDSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the spe
cified string ends with the specified substring\",\"help-contents\": \"Returns t
rue if the string ends with the substring (trailing whitespace is ignored). \\n\
\nExample: ENDSWITH(\\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\
"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\":
\"EXCLUDE\",\"func-sig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression
}\",\"func-tooltip\": \"Computes an aggregate excluding the specified dimensions
if present in the view.\",\"help-contents\": \"Computes an aggregate excluding
the specified dimensions if present in the view.\",\"func-grps\":[\"agg\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP
(number)\",\"func-tooltip\": \"Returns e raised to the power of a number\",\"hel
p-contents\": \"Returns e raised to the power of the given number. \\n\\nExampl
e: EXP(5) = e^5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"FIND\",\"func-sig\": \"FIND(string, substring, [st
art])\",\"func-tooltip\": \"Returns the position of a substring within a string\
",\"help-contents\": \"Returns the position of a substring within a string, or 0
if the substring isn't found. If the start argument is defined, any instances o
f substring that appear before the start position are ignored. The first charact
er in the string is position 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alc

u\\\") = 2\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\
"],\"has-var-args\": false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(strin
g, substring, occurrence)\",\"func-tooltip\": \"Returns the position of the nth
occurrence a substring within a string\",\"help-contents\": \"Returns the positi
on of the nth occurrence of a substring within a string, or 0 if that occurrence
of the substring isn't found. The first character in the string is position 1.
\\n\\nExample: FINDNTH(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\
"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{
\"name\": \"FIRST\",\"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the nu
mber of rows from to the first row in the partition\",\"help-contents\": \"Retur
ns the number of rows from the current row to the first row in the partition.\\n
\\nExample (current row index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"tab
le\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func
-sig\": \"{ FIXED [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\":
\"Computes an aggregate using only the specified dimensions.\",\"help-contents\
": \"Computes an aggregate using only the specified dimensions.\",\"func-grps\":
[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"
func-sig\": \"FLOAT(expression)\",\"func-tooltip\": \"Returns a float from an ex
pression\",\"help-contents\": \"Returns a float given an expression of any type.
This function requires unformatted numbers which means exclude commas and other
symbols. \\n\\nExample: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"f
unc-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"fu
nc-sig\": \"FLOOR(number)\",\"func-tooltip\": \"Rounds a number to the nearest i
nteger of equal or lesser value\",\"help-contents\": \"Rounds a number to the ne
arest integer of equal or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"fun
c-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"FULLNAME\",\"func-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the f
ull name for the current user\",\"help-contents\": \"Returns the full name for t
he current user. This is the Tableau Server or Tableau Online full name when the
user is signed in; otherwise it is the local or network full name for the Table
au Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args
\": false},{\"name\": \"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"fu
nc-tooltip\": \"Returns the x-coordinate of the nearest hexagonal bin.\",\"helpcontents\": \"Maps an (x,y) coordinate to the x-coordinate of the nearest hexago
nal bin. The bins have side length 1, so the inputs may need to be scaled approp
riately.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"hasvar-args\": false},{\"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number
)\",\"func-tooltip\": \"Returns the y-coordinate of the nearest hexagonal bin.\"
,\"help-contents\": \"Maps an (x,y) coordinate to the y-coordinate of the neares
t hexagonal bin. The bins have side length 1, so the inputs may need to be scale
d appropriately.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"
],\"has-var-args\": false},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <the
n> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Per
forms a logical test and returns an appropriate value\",\"help-contents\": \"Tes
ts a series of expressions returning the <then> value for the first true <expr>.
\\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Brea
keven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\
"func-tooltip\": \"Returns expression1 if not null\",\"help-contents\": \"Return
s <expr1> if it is not null, otherwise returns <expr2>. \\n\\nExample: IFNULL([
Profit], 0)\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"intege
r\"],\"has-var-args\": false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then,
else, [unknown])\",\"func-tooltip\": \"Evaluates a Boolean expression and retur
ns one of two values\",\"help-contents\": \"Checks whether a condition is met, a
nd returns one value if TRUE, another value if FALSE, and an optional third valu
e or NULL if unknown. \\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"fun
c-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"]
,\"has-var-args\": false},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1
[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregat
e using the specified dimensions and the view dimensions.\",\"help-contents\": \

"Computes an aggregate using the specified dimensions and the view dimensions.\"
,\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"INDEX\",\"func-sig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of
the current row in the partition\",\"help-contents\": \"Returns the index of the
current row in the partition.\\n\\nExample (for the first row in the partition)
: INDEX( ) = 1\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\":
\"Evaluates an expression and returns an integer\",\"help-contents\": \"Returns
an integer given an expression. This function truncates results to the closest
integer toward zero. \\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"funcgrps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"n
ame\": \"ISDATE\",\"func-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns t
rue if the string is a valid date\",\"help-contents\": \"Returns true if a given
string is a valid date. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"f
unc-grps\":[\"str\",\"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-a
rgs\": false},{\"name\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"f
unc-tooltip\": \"Returns true if the current user's full name matches the specif
ied name\",\"help-contents\": \"Returns true if the current user's full name mat
ches the specified full name, or false if it does not match. This function uses
the Tableau Server or Tableau Online full name when the user is signed in; other
wise it uses the local or network full name for the Tableau Desktop user.\",\"fu
nc-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\
"name\": \"ISMEMBEROF\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \
"Returns true if the current user is a member of the specified group\",\"help-co
ntents\": \"Returns true if the current user is a member of the given group, fal
se otherwise. This uses the Tableau Server to resolve group membership if logge
d on, otherwise it always returns false.\",\"func-grps\":[\"user\"],\"func-arg-t
ypes\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\":
\"ISNULL(expression)\",\"func-tooltip\": \"Returns true if the specified expres
sion is null\",\"help-contents\": \"Returns true if the expression does not cont
ain valid data (Null).\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"
],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERN
AME\",\"func-sig\": \"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if t
he current user's name matches the specified user name\",\"help-contents\": \"Re
turns true if the current user's username matches the specified username, or fal
se if it does not match. This function uses the Tableau Server or Tableau Online
username when the user is signed in; otherwise it uses the local or network use
rname for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\
":[\"locstr\"],\"has-var-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST
()\",\"func-tooltip\": \"Returns the number of rows to the last row in the parti
tion\",\"help-contents\": \"Returns the number of rows from the current row to t
he last row in the partition.\\n\\nExample (current row is index 3 of 7):\\nLAST
( ) = 4\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"LEFT\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip
\": \"Returns the specified number of characters from the start of a string\",\"
help-contents\": \"Returns the specified number of characters from the start of
the given string. \\n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",
\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\":
false},{\"name\": \"LEN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Retu
rns the number of characters in a string\",\"help-contents\": \"Returns the numb
er of characters in the given string. \\n\\nExample: LEN(\\\"Calculation\\\") =
11\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fals
e},{\"name\": \"LN\",\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns th
e natural logarithm of a number\",\"help-contents\": \"Returns the natural logar
ithm of the given number. Returns Null if the number is less than or equal to 0.
\\n\\nExample: LN(EXP(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [b
ase])\",\"func-tooltip\": \"Returns the logarithm of a number for the given base
\",\"help-contents\": \"Returns the logarithm of a number for the given base. If
the base value is omitted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExa

mple: LOG(256, 2) = 8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"r


eal\"],\"has-var-args\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(exp
ression, [offset])\",\"func-tooltip\": \"Returns the value of the expression in
a row offset from current row\",\"help-contents\": \"Returns the value of the gi
ven expression in a target row, specified as a relative offset from the current
row. Use FIRST()+n and LAST()-n for a target relative to the first/last rows in
the partition. If offset is omitted, the Compare To row may be set on the field
menu. Returns NULL if the target row cannot be determined.\\n\\nExample: LOOKUP(
SUM([Profit]), FIRST( ) + 2) = SUM(Profit) in the third row of the partition\",
\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var
-args\": false},{\"name\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tool
tip\": \"Returns a string in all lowercase characters\",\"help-contents\": \"Con
verts a text string to all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\
\") = \\\"product\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"h
as-var-args\": false},{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"fun
c-tooltip\": \"Returns a string with leading spaces removed\",\"help-contents\":
\"Returns the string with any leading spaces removed. \\n\\nExample: LTRIM(\\\"
Sales\\\") = \\\"Sales\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(yea
r, month, day)\",\"func-tooltip\": \"Returns a date value constructed from a yea
r, a month and a day of the month.\",\"help-contents\": \"Returns a date value c
onstructed from a year, a month and a day of the month. \\n\\nExample: MAKEDATE
( 2014, 3, 18 )\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"int
eger\",\"integer\"],\"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"funcsig\": \"MAKEDATETIME(date, time)\",\"func-tooltip\": \"Returns a datetime by co
mbining a date and a time\",\"help-contents\": \"Returns a date and time value g
iven a date expression and a time expression. \\n\\nExample: MAKEDATETIME(#2012
-11-12#, #07:59:00#)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"d
atetime\"],\"has-var-args\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKE
TIME(hour, minute, second)\",\"func-tooltip\": \"Returns a time value constructe
d from hours, minutes and seconds.\",\"help-contents\": \"Returns a time value c
onstructed from hours, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40
)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"inte
ger\"],\"has-var-args\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expressio
n) or MAX(expr1, expr2)\",\"func-tooltip\": \"Returns the maximum of an expressi
on\",\"help-contents\": \"Returns the maximum of a single expression across all
records or the maximum of two expressions for each record. \\n\\nExample: MAX([
Sales])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-argtypes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"fun
c-sig\": \"MEDIAN(expression)\",\"func-tooltip\": \"Returns the median of an exp
ression\",\"help-contents\": \"Returns the median of a single expression. MEDIAN
can be used with numeric fields only. Null values are ignored.\\n\\nExample: ME
DIAN([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",
\"func-tooltip\": \"Returns the characters from the middle of a text string\",\"
help-contents\": \"Returns the characters from the middle of a text string given
a starting position and a length. The first character in the string is position
1. If the length is not included, all characters to the end of the string are r
eturned. If the length is included, up to that many characters are returned. \\n
\\nExample: MID(\\\"Tableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MI
D(\\\"Tableau Software\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"funcarg-types\":[\"str\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MI
N\",\"func-sig\": \"MIN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"R
eturns the minimum of an expression\",\"help-contents\": \"Returns the minimum o
f an expression across all records or the minimum of two expressions for each re
cord. \\n\\nExample: MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"
logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"MONTH\",\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns
the month part of the specified date as an integer\",\"help-contents\": \"Return
s the month of a given date as an integer. \\n\\nExample: MONTH(#2004-04-12#) =

4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\"
: false},{\"name\": \"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"fu
nc-tooltip\": \"Performs logical negation on an expression\",\"help-contents\":
\"Performs logical negation on an expression\",\"func-grps\":[\"logic\"],\"funcarg-types\":[],\"has-var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()
\",\"func-tooltip\": \"Returns the current date and time\",\"help-contents\": \"
Returns the current date and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM
\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"na
me\": \"OR\",\"func-sig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tool
tip\": \"Performs a logical disjunction on two expressions\",\"help-contents\":
\"Performs a logical disjunction on two expressions\",\"func-grps\":[\"logic\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"funcsig\": \"PERCENTILE(expression, number)\",\"func-tooltip\": \"Returns the percen
tile value at the specified number\",\"help-contents\": \"Aggregate calculation
that returns the percentile value from the given expression corresponding to the
specified number. Valid values for the number are 0 through 1. PERCENTILE([expr
ession], 0.50) will always return the median value in the expression.\\n\\nExamp
le: PERCENTILE([Sales], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"re
al\",\"locreal\"],\"has-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI(
)\",\"func-tooltip\": \"Returns the numeric constant pi\",\"help-contents\": \"R
eturns the numeric constant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWE
R\",\"func-sig\": \"POWER(number,power)\",\"func-tooltip\": \"Raises the number
to the specified power\",\"help-contents\": \"Returns the result of a number rai
sed to the given power. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"
num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\"
: \"PREVIOUS_VALUE\",\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip
\": \"Returns the value of this calculation in the previous row\",\"help-content
s\": \"Returns the value of this calculation in the previous row. Returns the gi
ven expression if the current row is the first row of the partition.\\n\\nExampl
e: SUM([Profit]) + PREVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([
Profit]) * PREVIOUS_VALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\
"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \
"RADIANS\",\"func-sig\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a numb
er in degrees to radians\",\"help-contents\": \"Converts a number in degrees to
radians.\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\"
,\"func-tooltip\": \"Returns the competition rank for the current partition row\
",\"help-contents\": \"Returns the standard competition rank for the current row
in the partition. Identical values are assigned an identical rank. Use the opti
onal 'asc' | 'desc' argument to specify ascending or descending order. The defau
lt order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Ti
me]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"
has-var-args\": false},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expr
ession, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the dense rank for the cur
rent partition row\",\"help-contents\": \"Returns the dense rank for the current
row in the partition. Identical values are assigned an identical rank, but no g
aps are inserted into the number sequence. Use the optional 'asc' | 'desc' argum
ent to specify ascending or descending order. The default order is descending.\\
n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2
, 3) in ascending order.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":
[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false}
,{\"name\": \"RANK_MODIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'
desc'])\",\"func-tooltip\": \"Returns the modified competition rank for the curr
ent partition row\",\"help-contents\": \"Returns the modified competition rank f
or the current row in the partition. Identical values are assigned an identical
rank. Use the optional 'asc' | 'desc' argument to specify ascending or descendin
g order. The default order is descending.\\n\\nWith this function, the set of va
lues (6, 9, 9, 14) would be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample

: RANK_MODIFIED(AVG([Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\"
,\"func-sig\": \"RANK_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\":
\"Returns the percentile rank for the current partition row\",\"help-contents\"
: \"Returns the percentile rank for the current row in the partition. Use the op
tional 'asc' | 'desc' argument to specify ascending or descending order. The def
ault order is ascending.\\n\\nWith this function, the set of values (6, 9, 9, 14
) would be ranked (25, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCE
NTILE(AVG([Test Score]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integ
er\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\
": \"RANK_UNIQUE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the u
nique rank for the current partition row\",\"help-contents\": \"Returns the uniq
ue rank for the current row in the partition. Identical values are assigned diff
erent ranks. Use the optional 'asc' | 'desc' argument to specify ascending or de
scending order. The default order is descending.\\n\\nWith this function, the se
t of values (6, 9, 9, 14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\n
Example: RANK_UNIQUE() = 1 for the first row in the partition\",\"func-grps\":[\
"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{
\"name\": \"REGEXP_EXTRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\
"func-tooltip\": \"Returns the portion of a string matching the capturing group
in a regular expression\",\"help-contents\": \"Returns a substring of the given
string that matches the capturing group within the regular expression pattern.
The regular expression pattern requires exactly one capturing group. \\n\\nExamp
le: REGEXP_EXTRACT('abc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\
"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\":
\"REGEXP_EXTRACT_NTH\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, inde
x)\",\"func-tooltip\": \"Returns a substring of a string using a regular express
ion pattern\",\"help-contents\": \"Returns a substring of the given string using
the regular expression pattern. The substring is matched to the nth capturing
group, where n is the given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123',
'([a-z]+)\\\\s+(\\\\d+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\",\"locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATC
H\",\"func-sig\": \"REGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns
true if a string matches a regular expression\",\"help-contents\": \"Returns tru
e if a substring of the provided string matches the regular expression pattern.
\\n\\nExample: REGEXP_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\
.)(\\\\w*\\\\s*\\\\])') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"s
tr\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\
": \"REGEXP_REPLACE(string, pattern, replacement)\",\"func-tooltip\": \"Returns
a string where substrings matching a regular expression are replaced\",\"help-co
ntents\": \"Returns a copy of the given string where the matching pattern is sub
stituted with the replacement string. \\n\\nExample: REGEXP_REPLACE('abc 123',
'\\\\s', '-') = 'abc--123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"
,\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\":
\"REPLACE(string, substring, replacement)\",\"func-tooltip\": \"Replaces all ins
tances of a substring within a string\",\"help-contents\": \"Returns a string in
which every occurrence of the substring is replaced with the replacement string
. If the substring is not found, the string is unchanged. \\n\\nExample: REPLACE
(\\\"Calculation\\\", \\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grp
s\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": fal
se},{\"name\": \"RIGHT\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-toolt
ip\": \"Returns the specified number of characters from the end of a string\",\"
help-contents\": \"Returns the specified number of characters from the end of th
e given string. \\n\\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"ROUND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-to
oltip\": \"Rounds a number to the specified number of places\",\"help-contents\"
: \"Rounds a number to the nearest integer or to a specified number of decimal p
laces. \\n\\nExample: ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"fu

nc-sig\": \"RTRIM(string)\",\"func-tooltip\": \"Returns a string with trailing s


paces removed\",\"help-contents\": \"Returns the string with any trailing spaces
removed. \\n\\nExample: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"R
UNNING_AVG\",\"func-sig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Retur
ns the running average of an expression\",\"help-contents\": \"Returns the runni
ng average of the given expression, from the first row in the partition to the c
urrent row.\\n\\nExample: RUNNING_AVG(SUM([Profit])) = running average of SUM(Pr
ofit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\
",\"func-tooltip\": \"Returns the running count of an expression\",\"help-conten
ts\": \"Returns the running count of the given expression, from the first row in
the partition to the current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) =
running count of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNI
NG_MAX(expression)\",\"func-tooltip\": \"Returns the running maximum of an expre
ssion\",\"help-contents\": \"Returns the running maximum of the given expression
, from the first row in the partition to the current row.\\n\\nExample: RUNNING_
MAX(MAX([Profit])) = running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Pr
ofit])) = running maximum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-argtypes\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func
-sig\": \"RUNNING_MIN(expression)\",\"func-tooltip\": \"Returns the running mini
mum of an expression\",\"help-contents\": \"Returns the running minimum of the g
iven expression, from the first row in the partition to the current row.\\n\\nEx
ample: RUNNING_MIN(MIN([Profit])) = running minimum of Profit\\n\\nExample: RUNN
ING_MIN(SUM([Profit])) = running minimum of SUM(Profit)\",\"func-grps\":[\"table
\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNI
NG_SUM\",\"func-sig\": \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns t
he running sum of an expression\",\"help-contents\": \"Returns the running sum o
f the given expression, from the first row in the partition to the current row.\
\n\\nExample: RUNNING_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: R
UNNING_SUM(COUNT([Profit])) = running count of Profit\",\"func-grps\":[\"table\"
],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_
BOOL\",\"func-sig\": \"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\":
\"Returns a Boolean result from an R expression\",\"help-contents\": \"Returns a
Boolean result from a given R expression. The R expression is passed directly t
o a running Rserve instance. Use .arg# in the R expression to reference paramete
rs. In the following example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SC
RIPT_BOOL(\\\"is.finite(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\
"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"
func-sig\": \"SCRIPT_INT(string, expression, ...)\",\"func-tooltip\": \"Returns
an integer result from an R expression\",\"help-contents\": \"Returns an integer
result from a given R expression. The R expression is passed directly to a runn
ing Rserve instance. Use .arg# in the R expression to reference parameters. In t
he following example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT
(\\\"as.integer(.arg1 * 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"fun
c-sig\": \"SCRIPT_REAL(string, expression, ...)\",\"func-tooltip\": \"Returns a
numeric result from an R expression\",\"help-contents\": \"Returns a numeric res
ult from a given R expression. The R expression is passed directly to a running
Rserve instance. Use .arg# in the R expression to reference parameters. In the f
ollowing example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\
\".arg1 * 0.5\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCR
IPT_STR(string, expression, ...)\",\"func-tooltip\": \"Returns a string result f
rom an R expression\",\"help-contents\": \"Returns a string result from a given
R expression. The R expression is passed directly to a running Rserve instance.
Use .arg# in the R expression to reference parameters. In the following example,
.arg1 is equal to ATTR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1
, 2)\\\", ATTR([Region]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\

"],\"has-var-args\": true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"


func-tooltip\": \"Returns 1 for a positive number\",\"help-contents\": \"Returns
the sign of a number: 1 if the number is positive, zero if the number is zero,
or -1 if the number is negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\
"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\
",\"func-sig\": \"SIN(angle)\",\"func-tooltip\": \"Returns the sine of a number\
",\"help-contents\": \"Returns the sine of an angle. Specify the angle in radian
s.\\n\\nExample: SIN(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"fun
c-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig
\": \"SIZE()\",\"func-tooltip\": \"Returns the number of rows in the partition\"
,\"help-contents\": \"Returns the number of rows in the partition.\\n\\nExample
(partition has 5 rows):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[],\"has-var-args\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(numb
er)\",\"func-tooltip\": \"Returns a string containing the specified number of sp
aces\",\"help-contents\": \"Returns a string composed of the specified number of
repeated spaces. \\n\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"f
unc-sig\": \"SPLIT(string, delimiter, token number)\",\"func-tooltip\": \"Extrac
ts a substring from a string\",\"help-contents\": \"Returns a substring from a s
tring, as determined by a delimiter extracting the characters from the beginning
or end of the string. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExamp
le: SPLIT('a-b-c-d', '-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"locstr\",\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"
func-sig\": \"SQRT(number)\",\"func-tooltip\": \"Returns the square root of a nu
mber\",\"help-contents\": \"Returns the square root of a number. \\n\\nExample:
SQRT(25) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tool
tip\": \"Returns the square of a number\",\"help-contents\": \"Returns the squar
e of a given number. \\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"f
unc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"
func-sig\": \"STARTSWITH(string, substring)\",\"func-tooltip\": \"Returns true i
f the specified string starts with the specified substring\",\"help-contents\":
\"Returns true if the string starts with the substring. \\n\\nExample: STARTSWIT
H(\\\"Calculation\\\", \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-s
ig\": \"STDEV(expression)\",\"func-tooltip\": \"Returns the sample standard devi
ation for an expression\",\"help-contents\": \"Returns the sample standard devia
tion of the expression.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],
\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"f
unc-sig\": \"STDEVP(expression)\",\"func-tooltip\": \"Returns the population sta
ndard deviation for an expression\",\"help-contents\": \"Returns the population
standard deviation of the expression.\\n\\nExample: STDEVP([Profit])\",\"func-gr
ps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"STR\",\"func-sig\": \"STR(expression)\",\"func-tooltip\": \"Returns an expres
sion as a string\",\"help-contents\": \"Returns a string given an expression. \
\n\\nExample: STR([Age]) returns all of the values of the Age measure as strings
.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\":
false},{\"name\": \"SUM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"
Returns the sum of values in an expression\",\"help-contents\": \"Returns the su
m of all the values in the expression. SUM can be used with numeric fields only.
Null values are ignored.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],
\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func
-sig\": \"TAN(angle)\",\"func-tooltip\": \"Returns the tangent of an angle speci
fied in radians\",\"help-contents\": \"Returns the tangent of an angle. Specify
the angle in radians.\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],
\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"fun
c-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>]
END\",\"func-tooltip\": \"Performs a logical test and returns an appropriate va
lue\",\"help-contents\": \"Tests a series of expressions returning the <then> va
lue for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable'

ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"]


,\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\
": \"TODAY()\",\"func-tooltip\": \"Returns the current date\",\"help-contents\":
\"Returns the current date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\
":[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\"
,\"func-sig\": \"TOTAL(expression)\",\"func-tooltip\": \"Returns the total for a
n expression within the partition\",\"help-contents\": \"Returns the total for t
he given expression.\\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all da
tabase rows that contribute to the partition\",\"func-grps\":[\"table\"],\"funcarg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-si
g\": \"TRIM(string)\",\"func-tooltip\": \"Returns a string with leading and trai
ling spaces removed\",\"help-contents\": \"Returns the string with both leading
and trailing spaces removed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget
\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fa
lse},{\"name\": \"UPPER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Re
turns a string in all uppercase characters\",\"help-contents\": \"Converts a tex
t string to all uppercase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"P
RODUCT\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args
\": false},{\"name\": \"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-toolt
ip\": \"Returns the domain for the current user\",\"help-contents\": \"Returns t
he domain for the current user when the user is signed on to Tableau Server. Ret
urns the Windows domain if the Tableau Desktop user is on a domain. Otherwise th
is function returns a null string.\",\"func-grps\":[\"user\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\
",\"func-tooltip\": \"Returns the user name for the current user\",\"help-conten
ts\": \"Returns the username for the current user. This is the Tableau Server or
Tableau Online username when the user is signed in; otherwise it is the local o
r network username for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VA
R(expression)\",\"func-tooltip\": \"Returns the sample variance for an expressio
n\",\"help-contents\": \"Returns the sample variance of the expression.\\n\\nExa
mple: VAR([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"ha
s-var-args\": false},{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"fu
nc-tooltip\": \"Returns the population variance for an expression\",\"help-conte
nts\": \"Returns the population variance of the expression.\\n\\nExample: VARP([
Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <re
turn1> ... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and re
turns the appropriate value\",\"help-contents\": \"Finds the first <value> that
matches <expr> and returns the corresponding <return>. \\n\\nExample: CASE [Roma
nNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"fu
nc-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"WINDOW_AVG\",\"func-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-too
ltip\": \"Returns the average of the values within the window\",\"help-contents\
": \"Returns the average of the expression within the window. The window is def
ined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets fro
m the first or last row in the partition. If start and end are omitted, the ent
ire partition is used.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [st
art, end])\",\"func-tooltip\": \"Returns the number of items within the window\"
,\"help-contents\": \"Returns the count of the expression within the window. Th
e window is defined as offsets from the current row. Use FIRST()+n and LAST()-n
for offsets from the first or last row in the partition. If start and end are o
mitted, the entire partition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]),
-2, 0) = count of SUM(Profit) from the two previous rows to the current row\",\"
func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"
has-var-args\": false},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expr
ession, [start, end])\",\"func-tooltip\": \"Returns the maximum within the windo

w\",\"help-contents\": \"Returns the maximum of the expression within the window


. The window is defined as offsets from the current row. Use FIRST()+n and LAST
()-n for offsets from the first or last row in the partition. If start and end
are omitted, the entire partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]
), -2, 0) = maximum of Profit from the two previous rows to the current row\\n\\
nExample: WINDOW_MAX(SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIN
DOW_MEDIAN\",\"func-sig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-to
oltip\": \"Returns the median within the window\",\"help-contents\": \"Returns t
he median of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition i
s used.\\n\\nExample: WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit
) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"na
me\": \"WINDOW_MIN\",\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"fu
nc-tooltip\": \"Returns the minimum within the window\",\"help-contents\": \"Ret
urns the minimum of the expression within the window. The window is defined as
offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fi
rst or last row in the partition. If start and end are omitted, the entire part
ition is used.\\n\\nExample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profi
t from the two previous rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Pr
ofit]), -2, 0) = minimum of SUM(Profit) from the two previous rows to the curren
t row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"
integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\
": \"WINDOW_PERCENTILE(expression, number, [start, end])\",\"func-tooltip\": \"R
eturns the percentile value at the specified number\",\"help-contents\": \"Retur
ns the value corresponding to the specified percentile within the window. The w
indow is defined as offsets from the current row. Use FIRST()+n and LAST()-n for
offsets from the first or last row in the partition. If start and end are omit
ted, the entire partition is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]
),0.75, -2., 0)) = 75th percentile of SUM(Profit) from the two previous rows to
the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locr
eal\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDE
V\",\"func-sig\": \"WINDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \
"Returns the sample standard deviation within the window\",\"help-contents\": \"
Returns the sample standard deviation of the expression within the window. The
window is defined as offsets from the current row. Use FIRST()+n and LAST()-n fo
r offsets from the first or last row in the partition. If start and end are omi
tted, the entire partition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2
, 0) = std. dev. of SUM(Profit) from the two previous rows to the current row\",
\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],
\"has-var-args\": false},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STD
EVP(expression, [start, end])\",\"func-tooltip\": \"Returns the population stand
ard deviation within the window\",\"help-contents\": \"Returns the population st
andard deviation of the expression within the window. The window is defined as
offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fi
rst or last row in the partition. If start and end are omitted, the entire part
ition is used.\\n\\nExample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"tab
le\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": fa
lse},{\"name\": \"WINDOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, en
d])\",\"func-tooltip\": \"Returns the sum of values within the window\",\"help-c
ontents\": \"Returns the sum of the expression within the window. The window is
defined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets
from the first or last row in the partition. If start and end are omitted, the
entire partition is used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args

\": false},{\"name\": \"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [sta


rt, end])\",\"func-tooltip\": \"Returns the sample variance within the window\",
\"help-contents\": \"Returns the sample variance of the expression within the wi
ndow. The window is defined as offsets from the current row. Use FIRST()+n and
LAST()-n for offsets from the first or last row in the partition. If start and
end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Pro
fit]), -2, 0) = variance of SUM(Profit) from the two previous rows to the curren
t row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"int
eger\"],\"has-var-args\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WIND
OW_VARP(expression, [start, end])\",\"func-tooltip\": \"Returns the population v
ariance within the window\",\"help-contents\": \"Returns the population variance
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row
in the partition. If start and end are omitted, the entire partition is used.\\
n\\nExample: WINDOW_VARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from th
e two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"Y
EAR\",\"func-sig\": \"YEAR(date)\",\"func-tooltip\": \"Returns the year of the s
pecified date as an integer\",\"help-contents\": \"Returns the year of a given d
ate as an integer. \\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"
date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"
ZN\",\"func-sig\": \"ZN(expression)\",\"func-tooltip\": \"Returns the expression
if it is not null\",\"help-contents\": \"Returns <expression> if it is not null
, otherwise returns zero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",
\"logic\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false}]},\"calcula
tion-context\": \"calculation-dialog\",\"use-parameters\": true} position=\"7\""
,"name":"tabdoc:calculation-auto-complete"}}
{"ts":"2016-09-29T17:02:01.011","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED r\"
calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"ca
lculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculation_54898
88009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{FIXED \",
\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"folder-nam
e\": \"\",\"add-to-folder\": false,\"folder-role\": \"dimensions\",\"has-table-c
alc-data\": false,\"table-calc-types-used\": 0,\"style-token-list\":[],\"error-s
tring\": \"Error in calculation:\\n\\nOnly column names are permitted in the dim
ensionality declaration.\\n\\nWould you like to correct the calculation?\",\"err
or-info-list\":[{\"start-position-for-error\": 6,\"length-of-calc-of-error\": 1,
\"error-message\": \"Only column names are permitted in the dimensionality decla
ration.\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\"
,\"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of
a number\",\"help-contents\": \"Returns the absolute value of the given number.
\\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",
\"func-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Re
turns the arc cosine of a number. The result is in radians. \\n\\nExample: ACOS
(-1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr
2> THEN <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two e
xpressions\",\"help-contents\": \"Performs a logical conjunction on two expressi
ons\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{
\"name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns
the ASCII code for the first character in a string\",\"help-contents\": \"Return
s the ASCII code value of the first character in a string. \\n\\nExample: ASCII(
\\\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"h
as-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"functooltip\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the
arc sine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.570
7963267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-arg

s\": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\":


\"Returns the arc tangent of a number\",\"help-contents\": \"Returns the arc ta
ngent of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.5652
408283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args
\": false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"fu
nc-tooltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Re
turns the arc tangent of two given numbers (x and y). The result is in radians.
\\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"f
unc-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the exp
ression if it has one value for all rows\",\"help-contents\": \"Returns the valu
e of the given expression if it only has a single value for all rows in the grou
p, otherwise it displays an asterisk (*). Null values are ignored.\\n\\nExample:
ATTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has
-var-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"functooltip\": \"Returns the average of the values in the expression\",\"help-conten
ts\": \"Returns the average of all the values in the expression. AVG can be used
with numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\
",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false}
,{\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ..
. [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns the
appropriate value\",\"help-contents\": \"Finds the first <value> that matches <
expr> and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral]
WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\"
:[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING
\",\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the
nearest integer of equal or greater value\",\"help-contents\": \"Rounds a number
to the nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415
) = 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"C
onverts an integer ASCII code into a character\",\"help-contents\": \"Converts t
he given integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"
func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"
name\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-toolti
p\": \"Returns true if a string contains the specified substring\",\"help-conten
ts\": \"Returns true if the string contains the substring. \\n\\nExample: CONTAI
NS(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-a
rg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"funcsig\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specifi
ed in radians\",\"help-contents\": \"Returns the cosine of an angle. Specify the
angle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\"
:[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"C
OT\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of a
n angle specified in radians\",\"help-contents\": \"Returns the cotangent of an
angle. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"COUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the num
ber of items in the expression\",\"help-contents\": \"Returns the number of item
s in a group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",
\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false
},{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \
"Returns the number of distinct items in the expression\",\"help-contents\": \"R
eturns the number of distinct items in a group. NULL values are not counted. Ea
ch unique value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-gr
ps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name
\": \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a da
te from a number\",\"help-contents\": \"Returns a date given a number, string, o
r date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \
\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"funcarg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig

\": \"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the speci


fied date incremented by the specified amount\",\"help-contents\": \"Adds an inc
rement to the specified date and returns the new date. The increment is defined
by the interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-1
5#) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"lo
cstr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\
",\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\
"func-tooltip\": \"Returns the difference between two dates\",\"help-contents\":
\"Returns the difference between two dates where start_date is subtracted from
end_date. The difference is expressed in units of date_part. If start_of_week is
omitted, the week start day is determined by the start day configured for the d
ata source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday'
) = -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"
datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-s
ig\": \"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns
a part of the specified date as a string\",\"help-contents\": \"Returns a part
of the given date as a string, where the part is defined by date_part. If start_
of_week is omitted, the week start day is determined by the start day configured
for the data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\
\\"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"loc
str\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPAR
SE(format, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-co
ntents\": \"Converts a string to a date in the specified format. \\n\\nExample:
DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM
\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-ar
gs\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [
start_of_week])\",\"func-tooltip\": \"Returns the specified part of a date as an
integer\",\"help-contents\": \"Returns a part of the given date as an integer w
here the part is defined by date_part. If start_of_week is omitted, the week sta
rt day is determined by the start day configured for the data source.\\n\\nExamp
le: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-ty
pes\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \
"DATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a
datetime from a number\",\"help-contents\": \"Returns a datetime given a number
, string, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:
00\\\") \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\
"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\
",\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\"
: \"Truncates the specified date to the specified accuracy\",\"help-contents\":
\"Truncates the specified date to the accuracy specified by the date_part and re
turns the new date. If start_of_week is omitted, the week start day is determine
d by the start day configured for the data source.\\n\\nExample: DATETRUNC('quar
ter', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-a
rg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name
\": \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part
of the specified date as an integer\",\"help-contents\": \"Returns the day of t
he given date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grp
s\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"nam
e\": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts
a value in radians to degrees\",\"help-contents\": \"Converts a number in radian
s to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"f
unc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-si
g\": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a
division operation\",\"help-contents\": \"Returns the integer part of a divisio
n.\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"
integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\"
: \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",
\"func-tooltip\": \"Performs a logical test and returns an appropriate value\",\
"help-contents\": \"Tests a series of expressions returning the <then> value for
the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF

[Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func


-arg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"I
F <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"fun
c-tooltip\": \"Performs a logical test and returns an appropriate value\",\"help
-contents\": \"Tests a series of expressions returning the <then> value for the
first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Prof
it] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr>
THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-toolti
p\": \"Performs a logical test and returns an appropriate value\",\"help-content
s\": \"Tests a series of expressions returning the <then> value for the first tr
ue <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0
THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":
[],\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(str
ing, substring)\",\"func-tooltip\": \"Returns true if the specified string ends
with the specified substring\",\"help-contents\": \"Returns true if the string e
nds with the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH
(\\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func
-sig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\
": \"Computes an aggregate excluding the specified dimensions if present in the
view.\",\"help-contents\": \"Computes an aggregate excluding the specified dimen
sions if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"
has-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-t
ooltip\": \"Returns e raised to the power of a number\",\"help-contents\": \"Ret
urns e raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\
"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\
"name\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tool
tip\": \"Returns the position of a substring within a string\",\"help-contents\"
: \"Returns the position of a substring within a string, or 0 if the substring i
sn't found. If the start argument is defined, any instances of substring that ap
pear before the start position are ignored. The first character in the string is
position 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func
-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\"
: false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occur
rence)\",\"func-tooltip\": \"Returns the position of the nth occurrence a substr
ing within a string\",\"help-contents\": \"Returns the position of the nth occur
rence of a substring within a string, or 0 if that occurrence of the substring i
sn't found. The first character in the string is position 1. \\n\\nExample: FIND
NTH(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\"
,\"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from t
o the first row in the partition\",\"help-contents\": \"Returns the number of ro
ws from the current row to the first row in the partition.\\n\\nExample (current
row index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [
dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggr
egate using only the specified dimensions.\",\"help-contents\": \"Computes an ag
gregate using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-ar
g-types\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT
(expression)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-c
ontents\": \"Returns a float given an expression of any type. This function requ
ires unformatted numbers which means exclude commas and other symbols. \\n\\nEx
ample: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"
boolean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(n
umber)\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or
lesser value\",\"help-contents\": \"Rounds a number to the nearest integer of eq
ual or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],
\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\
"func-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the cu

rrent user\",\"help-contents\": \"Returns the full name for the current user. Th
is is the Tableau Server or Tableau Online full name when the user is signed in;
otherwise it is the local or network full name for the Tableau Desktop user.\",
\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Ret
urns the x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps
an (x,y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins h
ave side length 1, so the inputs may need to be scaled appropriately.\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},
{\"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\
": \"Returns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\":
\"Maps an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. Th
e bins have side length 1, so the inputs may need to be scaled appropriately.\",
\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\":
false},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2>
THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical tes
t and returns an appropriate value\",\"help-contents\": \"Tests a series of expr
essions returning the <then> value for the first true <expr>. \\n\\nExample: IF
[Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss'
END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{
\"name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"
Returns expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is
not null, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"fun
c-grps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args
\": false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\"
,\"func-tooltip\": \"Evaluates a Boolean expression and returns one of two value
s\",\"help-contents\": \"Checks whether a condition is met, and returns one valu
e if TRUE, another value if FALSE, and an optional third value or NULL if unknow
n. \\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"
],\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\":
false},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggr
egate-expression }\",\"func-tooltip\": \"Computes an aggregate using the specifi
ed dimensions and the view dimensions.\",\"help-contents\": \"Computes an aggreg
ate using the specified dimensions and the view dimensions.\",\"func-grps\":[\"a
gg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func
-sig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in
the partition\",\"help-contents\": \"Returns the index of the current row in the
partition.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"
func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\"
: \"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an exp
ression and returns an integer\",\"help-contents\": \"Returns an integer given a
n expression. This function truncates results to the closest integer toward zero
. \\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\
"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\
"func-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string i
s a valid date\",\"help-contents\": \"Returns true if a given string is a valid
date. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\"
,\"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"na
me\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Re
turns true if the current user's full name matches the specified name\",\"help-c
ontents\": \"Returns true if the current user's full name matches the specified
full name, or false if it does not match. This function uses the Tableau Server
or Tableau Online full name when the user is signed in; otherwise it uses the lo
cal or network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"
],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBER
OF\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if th
e current user is a member of the specified group\",\"help-contents\": \"Returns
true if the current user is a member of the given group, false otherwise. This
uses the Tableau Server to resolve group membership if logged on, otherwise it
always returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"]

,\"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expressio


n)\",\"func-tooltip\": \"Returns true if the specified expression is null\",\"he
lp-contents\": \"Returns true if the expression does not contain valid data (Nul
l).\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\":
\"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's n
ame matches the specified user name\",\"help-contents\": \"Returns true if the c
urrent user's username matches the specified username, or false if it does not m
atch. This function uses the Tableau Server or Tableau Online username when the
user is signed in; otherwise it uses the local or network username for the Table
au Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"ha
s-var-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip
\": \"Returns the number of rows to the last row in the partition\",\"help-conte
nts\": \"Returns the number of rows from the current row to the last row in the
partition.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LE
FT\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the s
pecified number of characters from the start of a string\",\"help-contents\": \"
Returns the specified number of characters from the start of the given string.
\\n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \
"LEN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of c
haracters in a string\",\"help-contents\": \"Returns the number of characters in
the given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":
[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\
",\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm
of a number\",\"help-contents\": \"Returns the natural logarithm of the given n
umber. Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(E
XP(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-arg
s\": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tool
tip\": \"Returns the logarithm of a number for the given base\",\"help-contents\
": \"Returns the logarithm of a number for the given base. If the base value is
omitted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) =
8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-ar
gs\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\
",\"func-tooltip\": \"Returns the value of the expression in a row offset from c
urrent row\",\"help-contents\": \"Returns the value of the given expression in a
target row, specified as a relative offset from the current row. Use FIRST()+n
and LAST()-n for a target relative to the first/last rows in the partition. If o
ffset is omitted, the Compare To row may be set on the field menu. Returns NULL
if the target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRS
T( ) + 2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"ta
ble\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"
name\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a
string in all lowercase characters\",\"help-contents\": \"Converts a text string
to all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\
\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fals
e},{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Retu
rns a string with leading spaces removed\",\"help-contents\": \"Returns the stri
ng with any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"S
ales\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\"
: false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"
func-tooltip\": \"Returns a date value constructed from a year, a month and a da
y of the month.\",\"help-contents\": \"Returns a date value constructed from a y
ear, a month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\
"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"]
,\"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETI
ME(date, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and
a time\",\"help-contents\": \"Returns a date and time value given a date express
ion and a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#

)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-va
r-args\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute,
second)\",\"func-tooltip\": \"Returns a time value constructed from hours, minut
es and seconds.\",\"help-contents\": \"Returns a time value constructed from hou
rs, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":
[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, ex
pr2)\",\"func-tooltip\": \"Returns the maximum of an expression\",\"help-content
s\": \"Returns the maximum of a single expression across all records or the maxi
mum of two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-gr
ps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\
"real\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(e
xpression)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-co
ntents\": \"Returns the median of a single expression. MEDIAN can be used with n
umeric fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"
func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"
name\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \
"Returns the characters from the middle of a text string\",\"help-contents\": \"
Returns the characters from the middle of a text string given a starting positio
n and a length. The first character in the string is position 1. If the length i
s not included, all characters to the end of the string are returned. If the len
gth is included, up to that many characters are returned. \\n\\nExample: MID(\\\
"Tableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Softw
are\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\
",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \
"MIN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum
of an expression\",\"help-contents\": \"Returns the minimum of an expression acr
oss all records or the minimum of two expressions for each record. \\n\\nExampl
e: MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"
func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH
\",\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of t
he specified date as an integer\",\"help-contents\": \"Returns the month of a gi
ven date as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":
[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\":
\"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Per
forms logical negation on an expression\",\"help-contents\": \"Performs logical
negation on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\"
: \"Returns the current date and time\",\"help-contents\": \"Returns the current
date and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\
"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func
-sig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a
logical disjunction on two expressions\",\"help-contents\": \"Performs a logica
l disjunction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":
[],\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE
(expression, number)\",\"func-tooltip\": \"Returns the percentile value at the s
pecified number\",\"help-contents\": \"Aggregate calculation that returns the pe
rcentile value from the given expression corresponding to the specified number.
Valid values for the number are 0 through 1. PERCENTILE([expression], 0.50) will
always return the median value in the expression.\\n\\nExample: PERCENTILE([Sal
es], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\
"has-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\
": \"Returns the numeric constant pi\",\"help-contents\": \"Returns the numeric
constant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"f
unc-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \
"POWER(number,power)\",\"func-tooltip\": \"Raises the number to the specified po
wer\",\"help-contents\": \"Returns the result of a number raised to the given po
wer. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-t
ypes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\
",\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the v

alue of this calculation in the previous row\",\"help-contents\": \"Returns the


value of this calculation in the previous row. Returns the given expression if t
he current row is the first row of the partition.\\n\\nExample: SUM([Profit]) +
PREVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS
_VALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-ar
g-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-s
ig\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to ra
dians\",\"help-contents\": \"Converts a number in degrees to radians.\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\":
\"Returns the competition rank for the current partition row\",\"help-contents\"
: \"Returns the standard competition rank for the current row in the partition.
Identical values are assigned an identical rank. Use the optional 'asc' | 'desc'
argument to specify ascending or descending order. The default order is descend
ing.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1
, 2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps
\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": fal
se},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'des
c'])\",\"func-tooltip\": \"Returns the dense rank for the current partition row\
",\"help-contents\": \"Returns the dense rank for the current row in the partiti
on. Identical values are assigned an identical rank, but no gaps are inserted in
to the number sequence. Use the optional 'asc' | 'desc' argument to specify asce
nding or descending order. The default order is descending.\\n\\nWith this funct
ion, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending o
rder.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"funcarg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_
MODIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-to
oltip\": \"Returns the modified competition rank for the current partition row\"
,\"help-contents\": \"Returns the modified competition rank for the current row
in the partition. Identical values are assigned an identical rank. Use the optio
nal 'asc' | 'desc' argument to specify ascending or descending order. The defaul
t order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG
([Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locs
tr\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RA
NK_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the perc
entile rank for the current partition row\",\"help-contents\": \"Returns the per
centile rank for the current row in the partition. Use the optional 'asc' | 'des
c' argument to specify ascending or descending order. The default order is ascen
ding.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (
25, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Sco
re]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"
has-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(ex
pression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the
current partition row\",\"help-contents\": \"Returns the unique rank for the cur
rent row in the partition. Identical values are assigned different ranks. Use th
e optional 'asc' | 'desc' argument to specify ascending or descending order. The
default order is descending.\\n\\nWith this function, the set of values (6, 9,
9, 14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQU
E() = 1 for the first row in the partition\",\"func-grps\":[\"table\"],\"func-ar
g-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_
EXTRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"
Returns the portion of a string matching the capturing group in a regular expres
sion\",\"help-contents\": \"Returns a substring of the given string that matches
the capturing group within the regular expression pattern. The regular express
ion pattern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT(
'abc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_N
TH\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip
\": \"Returns a substring of a string using a regular expression pattern\",\"hel

p-contents\": \"Returns a substring of the given string using the regular expres
sion pattern. The substring is matched to the nth capturing group, where n is t
he given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\
\d+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",
\"locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \
"REGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string ma
tches a regular expression\",\"help-contents\": \"Returns true if a substring of
the provided string matches the regular expression pattern. \\n\\nExample: REGE
XP_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\
])') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has
-var-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE
(string, pattern, replacement)\",\"func-tooltip\": \"Returns a string where subs
trings matching a regular expression are replaced\",\"help-contents\": \"Returns
a copy of the given string where the matching pattern is substituted with the r
eplacement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'ab
c--123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\
"has-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, s
ubstring, replacement)\",\"func-tooltip\": \"Replaces all instances of a substri
ng within a string\",\"help-contents\": \"Returns a string in which every occurr
ence of the substring is replaced with the replacement string. If the substring
is not found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\
", \\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"fun
c-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RI
GHT\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the
specified number of characters from the end of a string\",\"help-contents\": \"
Returns the specified number of characters from the end of the given string. \\
n\\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str
\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"
ROUND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a
number to the specified number of places\",\"help-contents\": \"Rounds a number
to the nearest integer or to a specified number of decimal places. \\n\\nExampl
e: ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"
,\"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(s
tring)\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"h
elp-contents\": \"Returns the string with any trailing spaces removed. \\n\\nEx
ample: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"funcarg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func
-sig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running aver
age of an expression\",\"help-contents\": \"Returns the running average of the g
iven expression, from the first row in the partition to the current row.\\n\\nEx
ample: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps
\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\":
\"Returns the running count of an expression\",\"help-contents\": \"Returns the
running count of the given expression, from the first row in the partition to t
he current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SU
M(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\
",\"func-tooltip\": \"Returns the running maximum of an expression\",\"help-cont
ents\": \"Returns the running maximum of the given expression, from the first ro
w in the partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit]))
= running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running m
aximum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\
"],\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_M
IN(expression)\",\"func-tooltip\": \"Returns the running minimum of an expressio
n\",\"help-contents\": \"Returns the running minimum of the given expression, fr
om the first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(
MIN([Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit
])) = running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig

\": \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of a


n expression\",\"help-contents\": \"Returns the running sum of the given express
ion, from the first row in the partition to the current row.\\n\\nExample: RUNNI
NG_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([P
rofit])) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\"
: \"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean
result from an R expression\",\"help-contents\": \"Returns a Boolean result fro
m a given R expression. The R expression is passed directly to a running Rserve
instance. Use .arg# in the R expression to reference parameters. In the followin
g example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.fi
nite(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIP
T_INT(string, expression, ...)\",\"func-tooltip\": \"Returns an integer result f
rom an R expression\",\"help-contents\": \"Returns an integer result from a give
n R expression. The R expression is passed directly to a running Rserve instance
. Use .arg# in the R expression to reference parameters. In the following exampl
e, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.ar
g1 * 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"st
r\"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_R
EAL(string, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from
an R expression\",\"help-contents\": \"Returns a numeric result from a given R
expression. The R expression is passed directly to a running Rserve instance. Us
e .arg# in the R expression to reference parameters. In the following example, .
arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\",
SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-va
r-args\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, exp
ression, ...)\",\"func-tooltip\": \"Returns a string result from an R expression
\",\"help-contents\": \"Returns a string result from a given R expression. The R
expression is passed directly to a running Rserve instance. Use .arg# in the R
expression to reference parameters. In the following example, .arg1 is equal to
ATTR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Reg
ion]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\"
: true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"R
eturns 1 for a positive number\",\"help-contents\": \"Returns the sign of a numb
er: 1 if the number is positive, zero if the number is zero, or -1 if the number
is negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"S
IN(angle)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\"
: \"Returns the sine of an angle. Specify the angle in radians.\\n\\nExample: SI
N(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"fu
nc-tooltip\": \"Returns the number of rows in the partition\",\"help-contents\":
\"Returns the number of rows in the partition.\\n\\nExample (partition has 5 ro
ws):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-a
rgs\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-toolti
p\": \"Returns a string containing the specified number of spaces\",\"help-conte
nts\": \"Returns a string composed of the specified number of repeated spaces. \
\n\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(
string, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from
a string\",\"help-contents\": \"Returns a substring from a string, as determine
d by a delimiter extracting the characters from the beginning or end of the stri
ng. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d'
, '-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\
",\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(
number)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-conte
nts\": \"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"fu
nc-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns th

e square of a number\",\"help-contents\": \"Returns the square of a given number


. \\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"
real\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"START
SWITH(string, substring)\",\"func-tooltip\": \"Returns true if the specified str
ing starts with the specified substring\",\"help-contents\": \"Returns true if t
he string starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\
\", \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"
str\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expre
ssion)\",\"func-tooltip\": \"Returns the sample standard deviation for an expres
sion\",\"help-contents\": \"Returns the sample standard deviation of the express
ion.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":
[\"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP
(expression)\",\"func-tooltip\": \"Returns the population standard deviation for
an expression\",\"help-contents\": \"Returns the population standard deviation
of the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"fu
nc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig
\": \"STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",
\"help-contents\": \"Returns a string given an expression. \\n\\nExample: STR([
Age]) returns all of the values of the Age measure as strings.\",\"func-grps\":[
\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \
"SUM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of
values in an expression\",\"help-contents\": \"Returns the sum of all the values
in the expression. SUM can be used with numeric fields only. Null values are ig
nored.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":
[\"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle
)\",\"func-tooltip\": \"Returns the tangent of an angle specified in radians\",\
"help-contents\": \"Returns the tangent of an angle. Specify the angle in radian
s.\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":
[\"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr
> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-toolt
ip\": \"Performs a logical test and returns an appropriate value\",\"help-conten
ts\": \"Tests a series of expressions returning the <then> value for the first t
rue <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0
THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"fu
nc-tooltip\": \"Returns the current date\",\"help-contents\": \"Returns the curr
ent date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func
-arg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TO
TAL(expression)\",\"func-tooltip\": \"Returns the total for an expression within
the partition\",\"help-contents\": \"Returns the total for the given expression
.\\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that co
ntribute to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"inte
ger\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)
\",\"func-tooltip\": \"Returns a string with leading and trailing spaces removed
\",\"help-contents\": \"Returns the string with both leading and trailing spaces
removed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"U
PPER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in a
ll uppercase characters\",\"help-contents\": \"Converts a text string to all upp
ercase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func
-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\
": \"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the
domain for the current user\",\"help-contents\": \"Returns the domain for the c
urrent user when the user is signed on to Tableau Server. Returns the Windows do
main if the Tableau Desktop user is on a domain. Otherwise this function returns
a null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\":
\"Returns the user name for the current user\",\"help-contents\": \"Returns the
username for the current user. This is the Tableau Server or Tableau Online use
rname when the user is signed in; otherwise it is the local or network username

for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\


"has-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"f
unc-tooltip\": \"Returns the sample variance for an expression\",\"help-contents
\": \"Returns the sample variance of the expression.\\n\\nExample: VAR([Profit])
\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Ret
urns the population variance for an expression\",\"help-contents\": \"Returns th
e population variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-g
rps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <e
lse>] END\",\"func-tooltip\": \"Performs logical tests and returns the appropria
te value\",\"help-contents\": \"Finds the first <value> that matches <expr> and
returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u20
18I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\
"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"fu
nc-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns t
he average of the values within the window\",\"help-contents\": \"Returns the av
erage of the expression within the window. The window is defined as offsets fro
m the current row. Use FIRST()+n and LAST()-n for offsets from the first or last
row in the partition. If start and end are omitted, the entire partition is us
ed.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from
the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg
-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func
-tooltip\": \"Returns the number of items within the window\",\"help-contents\":
\"Returns the count of the expression within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from th
e first or last row in the partition. If start and end are omitted, the entire
partition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of S
UM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end
])\",\"func-tooltip\": \"Returns the maximum within the window\",\"help-contents
\": \"Returns the maximum of the expression within the window. The window is de
fined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets fr
om the first or last row in the partition. If start and end are omitted, the en
tire partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum
of Profit from the two previous rows to the current row\\n\\nExample: WINDOW_MA
X(SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to t
he current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"int
eger\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func
-sig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns
the median within the window\",\"help-contents\": \"Returns the median of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two prev
ious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"r
eal\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\
",\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Ret
urns the minimum within the window\",\"help-contents\": \"Returns the minimum of
the expression within the window. The window is defined as offsets from the cu
rrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\\
nExample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two prev
ious rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = mi
nimum of SUM(Profit) from the two previous rows to the current row\",\"func-grps
\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-va
r-args\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENT
ILE(expression, number, [start, end])\",\"func-tooltip\": \"Returns the percenti

le value at the specified number\",\"help-contents\": \"Returns the value corres


ponding to the specified percentile within the window. The window is defined as
offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the f
irst or last row in the partition. If start and end are omitted, the entire par
tition is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) =
75th percentile of SUM(Profit) from the two previous rows to the current row\",
\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\
"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \
"WINDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample
standard deviation within the window\",\"help-contents\": \"Returns the sample
standard deviation of the expression within the window. The window is defined a
s offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire pa
rtition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"ta
ble\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [st
art, end])\",\"func-tooltip\": \"Returns the population standard deviation withi
n the window\",\"help-contents\": \"Returns the population standard deviation of
the expression within the window. The window is defined as offsets from the cu
rrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\\
nExample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from th
e two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"W
INDOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-toolti
p\": \"Returns the sum of values within the window\",\"help-contents\": \"Return
s the sum of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition i
s used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from
the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg
-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\
": \"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"functooltip\": \"Returns the sample variance within the window\",\"help-contents\":
\"Returns the sample variance of the expression within the window. The window i
s defined as offsets from the current row. Use FIRST()+n and LAST()-n for offset
s from the first or last row in the partition. If start and end are omitted, th
e entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = var
iance of SUM(Profit) from the two previous rows to the current row\",\"func-grps
\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression,
[start, end])\",\"func-tooltip\": \"Returns the population variance within the
window\",\"help-contents\": \"Returns the population variance of the expression
within the window. The window is defined as offsets from the current row. Use F
IRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WINDOW
_VARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows
to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"i
nteger\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\":
\"YEAR(date)\",\"func-tooltip\": \"Returns the year of the specified date as an
integer\",\"help-contents\": \"Returns the year of a given date as an integer.
\\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-argtypes\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\":
\"ZN(expression)\",\"func-tooltip\": \"Returns the expression if it is not null\
",\"help-contents\": \"Returns <expression> if it is not null, otherwise returns
zero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-a
rg-types\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"c
alculation-dialog\",\"use-parameters\": true} position=\"8\"","name":"tabdoc:cal
culation-auto-complete"}}

{"ts":"2016-09-29T17:02:01.012","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED r\
" calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"c
alculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculation_5489
888009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{FIXED \"
,\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"folder-na
me\": \"\",\"add-to-folder\": false,\"folder-role\": \"dimensions\",\"has-tablecalc-data\": false,\"table-calc-types-used\": 0,\"style-token-list\":[],\"errorstring\": \"Error in calculation:\\n\\nOnly column names are permitted in the di
mensionality declaration.\\n\\nWould you like to correct the calculation?\",\"er
ror-info-list\":[{\"start-position-for-error\": 6,\"length-of-calc-of-error\": 1
,\"error-message\": \"Only column names are permitted in the dimensionality decl
aration.\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\
",\"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value o
f a number\",\"help-contents\": \"Returns the absolute value of the given number
. \\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\"
,\"func-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"R
eturns the arc cosine of a number. The result is in radians. \\n\\nExample: ACO
S(-1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <exp
r2> THEN <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two
expressions\",\"help-contents\": \"Performs a logical conjunction on two express
ions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},
{\"name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns
the ASCII code for the first character in a string\",\"help-contents\": \"Retur
ns the ASCII code value of the first character in a string. \\n\\nExample: ASCII
(\\\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"
has-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func
-tooltip\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns th
e arc sine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.57
07963267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\"
: \"Returns the arc tangent of a number\",\"help-contents\": \"Returns the arc t
angent of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.565
2408283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-arg
s\": false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"f
unc-tooltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"R
eturns the arc tangent of two given numbers (x and y). The result is in radians.
\\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"
func-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the ex
pression if it has one value for all rows\",\"help-contents\": \"Returns the val
ue of the given expression if it only has a single value for all rows in the gro
up, otherwise it displays an asterisk (*). Null values are ignored.\\n\\nExample
: ATTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func
-tooltip\": \"Returns the average of the values in the expression\",\"help-conte
nts\": \"Returns the average of all the values in the expression. AVG can be use
d with numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])
\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> .
.. [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns th
e appropriate value\",\"help-contents\": \"Finds the first <value> that matches
<expr> and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral
] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\
":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILIN
G\",\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the
nearest integer of equal or greater value\",\"help-contents\": \"Rounds a numbe

r to the nearest integer of equal or greater value. \\n\\nExample: CEILING(3.141


5) = 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"
Converts an integer ASCII code into a character\",\"help-contents\": \"Converts
the given integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\
"name\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-toolt
ip\": \"Returns true if a string contains the specified substring\",\"help-conte
nts\": \"Returns true if the string contains the substring. \\n\\nExample: CONTA
INS(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"funcarg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func
-sig\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specif
ied in radians\",\"help-contents\": \"Returns the cosine of an angle. Specify th
e angle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\
":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
COT\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of
an angle specified in radians\",\"help-contents\": \"Returns the cotangent of an
angle. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grp
s\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"COUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the nu
mber of items in the expression\",\"help-contents\": \"Returns the number of ite
ms in a group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\"
,\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": fals
e},{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\":
\"Returns the number of distinct items in the expression\",\"help-contents\": \"
Returns the number of distinct items in a group. NULL values are not counted. E
ach unique value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-g
rps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"nam
e\": \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a d
ate from a number\",\"help-contents\": \"Returns a date given a number, string,
or date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15
\\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func
-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-si
g\": \"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the spec
ified date incremented by the specified amount\",\"help-contents\": \"Adds an in
crement to the specified date and returns the new date. The increment is defined
by the interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-0415#) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"l
ocstr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF
\",\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",
\"func-tooltip\": \"Returns the difference between two dates\",\"help-contents\"
: \"Returns the difference between two dates where start_date is subtracted from
end_date. The difference is expressed in units of date_part. If start_of_week i
s omitted, the week start day is determined by the start day configured for the
data source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday
') = -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\
"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"funcsig\": \"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Return
s a part of the specified date as a string\",\"help-contents\": \"Returns a part
of the given date as a string, where the part is defined by date_part. If start
_of_week is omitted, the week start day is determined by the start day configure
d for the data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April
\\\"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"lo
cstr\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPA
RSE(format, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-c
ontents\": \"Converts a string to a date in the specified format. \\n\\nExample:
DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 A
M\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-a
rgs\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date,
[start_of_week])\",\"func-tooltip\": \"Returns the specified part of a date as a

n integer\",\"help-contents\": \"Returns a part of the given date as an integer


where the part is defined by date_part. If start_of_week is omitted, the week st
art day is determined by the start day configured for the data source.\\n\\nExam
ple: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-t
ypes\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\":
\"DATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns
a datetime from a number\",\"help-contents\": \"Returns a datetime given a numbe
r, string, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59
:00\\\") \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC
\",\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\
": \"Truncates the specified date to the specified accuracy\",\"help-contents\":
\"Truncates the specified date to the accuracy specified by the date_part and r
eturns the new date. If start_of_week is omitted, the week start day is determin
ed by the start day configured for the data source.\\n\\nExample: DATETRUNC('qua
rter', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"funcarg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"nam
e\": \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day par
t of the specified date as an integer\",\"help-contents\": \"Returns the day of
the given date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-gr
ps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"na
me\": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts
a value in radians to degrees\",\"help-contents\": \"Converts a number in radia
ns to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"
func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-s
ig\": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of
a division operation\",\"help-contents\": \"Returns the integer part of a divisi
on.\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\
": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\"
,\"func-tooltip\": \"Performs a logical test and returns an appropriate value\",
\"help-contents\": \"Tests a series of expressions returning the <then> value fo
r the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF
[Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"
IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"fu
nc-tooltip\": \"Performs a logical test and returns an appropriate value\",\"hel
p-contents\": \"Tests a series of expressions returning the <then> value for the
first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Pro
fit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr
> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-toolt
ip\": \"Performs a logical test and returns an appropriate value\",\"help-conten
ts\": \"Tests a series of expressions returning the <then> value for the first t
rue <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0
THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(st
ring, substring)\",\"func-tooltip\": \"Returns true if the specified string ends
with the specified substring\",\"help-contents\": \"Returns true if the string
ends with the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWIT
H(\\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"fun
c-sig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip
\": \"Computes an aggregate excluding the specified dimensions if present in the
view.\",\"help-contents\": \"Computes an aggregate excluding the specified dime
nsions if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\
"has-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"functooltip\": \"Returns e raised to the power of a number\",\"help-contents\": \"Re
turns e raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",
\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{

\"name\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-too


ltip\": \"Returns the position of a substring within a string\",\"help-contents\
": \"Returns the position of a substring within a string, or 0 if the substring
isn't found. If the start argument is defined, any instances of substring that a
ppear before the start position are ignored. The first character in the string i
s position 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"fun
c-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\
": false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occu
rrence)\",\"func-tooltip\": \"Returns the position of the nth occurrence a subst
ring within a string\",\"help-contents\": \"Returns the position of the nth occu
rrence of a substring within a string, or 0 if that occurrence of the substring
isn't found. The first character in the string is position 1. \\n\\nExample: FIN
DNTH(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\
",\"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from
to the first row in the partition\",\"help-contents\": \"Returns the number of r
ows from the current row to the first row in the partition.\\n\\nExample (curren
t row index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED
[dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an agg
regate using only the specified dimensions.\",\"help-contents\": \"Computes an a
ggregate using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-a
rg-types\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOA
T(expression)\",\"func-tooltip\": \"Returns a float from an expression\",\"helpcontents\": \"Returns a float given an expression of any type. This function req
uires unformatted numbers which means exclude commas and other symbols. \\n\\nE
xample: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\
"boolean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(
number)\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or
lesser value\",\"help-contents\": \"Rounds a number to the nearest integer of e
qual or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"]
,\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",
\"func-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the c
urrent user\",\"help-contents\": \"Returns the full name for the current user. T
his is the Tableau Server or Tableau Online full name when the user is signed in
; otherwise it is the local or network full name for the Tableau Desktop user.\"
,\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Re
turns the x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps
an (x,y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip
\": \"Returns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\"
: \"Maps an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. T
he bins have side length 1, so the inputs may need to be scaled appropriately.\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\"
: false},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2>
THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical te
st and returns an appropriate value\",\"help-contents\": \"Tests a series of exp
ressions returning the <then> value for the first true <expr>. \\n\\nExample: IF
[Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss'
END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},
{\"name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \
"Returns expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is
not null, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"fu
nc-grps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-arg
s\": false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\
",\"func-tooltip\": \"Evaluates a Boolean expression and returns one of two valu
es\",\"help-contents\": \"Checks whether a condition is met, and returns one val

ue if TRUE, another value if FALSE, and an optional third value or NULL if unkno
wn. \\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\
"],\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\":
false},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : agg
regate-expression }\",\"func-tooltip\": \"Computes an aggregate using the specif
ied dimensions and the view dimensions.\",\"help-contents\": \"Computes an aggre
gate using the specified dimensions and the view dimensions.\",\"func-grps\":[\"
agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"fun
c-sig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in
the partition\",\"help-contents\": \"Returns the index of the current row in th
e partition.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\
"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an ex
pression and returns an integer\",\"help-contents\": \"Returns an integer given
an expression. This function truncates results to the closest integer toward zer
o. \\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],
\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",
\"func-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string
is a valid date\",\"help-contents\": \"Returns true if a given string is a valid
date. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\
",\"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"n
ame\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"R
eturns true if the current user's full name matches the specified name\",\"helpcontents\": \"Returns true if the current user's full name matches the specified
full name, or false if it does not match. This function uses the Tableau Server
or Tableau Online full name when the user is signed in; otherwise it uses the l
ocal or network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\
"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBE
ROF\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if t
he current user is a member of the specified group\",\"help-contents\": \"Return
s true if the current user is a member of the given group, false otherwise. Thi
s uses the Tableau Server to resolve group membership if logged on, otherwise it
always returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"
],\"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expressi
on)\",\"func-tooltip\": \"Returns true if the specified expression is null\",\"h
elp-contents\": \"Returns true if the expression does not contain valid data (Nu
ll).\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types
\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\"
: \"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's
name matches the specified user name\",\"help-contents\": \"Returns true if the
current user's username matches the specified username, or false if it does not
match. This function uses the Tableau Server or Tableau Online username when the
user is signed in; otherwise it uses the local or network username for the Tabl
eau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"h
as-var-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-toolti
p\": \"Returns the number of rows to the last row in the partition\",\"help-cont
ents\": \"Returns the number of rows from the current row to the last row in the
partition.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"funcgrps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"L
EFT\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the
specified number of characters from the start of a string\",\"help-contents\": \
"Returns the specified number of characters from the start of the given string.
\\n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\":
\"LEN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of
characters in a string\",\"help-contents\": \"Returns the number of characters i
n the given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN
\",\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarith
m of a number\",\"help-contents\": \"Returns the natural logarithm of the given

number. Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(
EXP(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-too
ltip\": \"Returns the logarithm of a number for the given base\",\"help-contents
\": \"Returns the logarithm of a number for the given base. If the base value is
omitted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2)
= 8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-a
rgs\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])
\",\"func-tooltip\": \"Returns the value of the expression in a row offset from
current row\",\"help-contents\": \"Returns the value of the given expression in
a target row, specified as a relative offset from the current row. Use FIRST()+n
and LAST()-n for a target relative to the first/last rows in the partition. If
offset is omitted, the Compare To row may be set on the field menu. Returns NULL
if the target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIR
ST( ) + 2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a
string in all lowercase characters\",\"help-contents\": \"Converts a text strin
g to all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\
\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fal
se},{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Ret
urns a string with leading spaces removed\",\"help-contents\": \"Returns the str
ing with any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"
Sales\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\
"func-tooltip\": \"Returns a date value constructed from a year, a month and a d
ay of the month.\",\"help-contents\": \"Returns a date value constructed from a
year, a month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",
\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"
],\"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATET
IME(date, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and
a time\",\"help-contents\": \"Returns a date and time value given a date expres
sion and a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00
#)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-v
ar-args\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute,
second)\",\"func-tooltip\": \"Returns a time value constructed from hours, minu
tes and seconds.\",\"help-contents\": \"Returns a time value constructed from ho
urs, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\"
:[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, e
xpr2)\",\"func-tooltip\": \"Returns the maximum of an expression\",\"help-conten
ts\": \"Returns the maximum of a single expression across all records or the max
imum of two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-g
rps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",
\"real\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(
expression)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-c
ontents\": \"Returns the median of a single expression. MEDIAN can be used with
numeric fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\
"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\
"name\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\":
\"Returns the characters from the middle of a text string\",\"help-contents\": \
"Returns the characters from the middle of a text string given a starting positi
on and a length. The first character in the string is position 1. If the length
is not included, all characters to the end of the string are returned. If the le
ngth is included, up to that many characters are returned. \\n\\nExample: MID(\\
\"Tableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Soft
ware\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str
\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\":
\"MIN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum
of an expression\",\"help-contents\": \"Returns the minimum of an expression ac

ross all records or the minimum of two expressions for each record. \\n\\nExamp
le: MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\
"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONT
H\",\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of
the specified date as an integer\",\"help-contents\": \"Returns the month of a g
iven date as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\"
:[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\"
: \"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Pe
rforms logical negation on an expression\",\"help-contents\": \"Performs logical
negation on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\
": \"Returns the current date and time\",\"help-contents\": \"Returns the curren
t date and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[
\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"fun
c-sig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs
a logical disjunction on two expressions\",\"help-contents\": \"Performs a logic
al disjunction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTIL
E(expression, number)\",\"func-tooltip\": \"Returns the percentile value at the
specified number\",\"help-contents\": \"Aggregate calculation that returns the p
ercentile value from the given expression corresponding to the specified number.
Valid values for the number are 0 through 1. PERCENTILE([expression], 0.50) wil
l always return the median value in the expression.\\n\\nExample: PERCENTILE([Sa
les], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],
\"has-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip
\": \"Returns the numeric constant pi\",\"help-contents\": \"Returns the numeric
constant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"
func-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\":
\"POWER(number,power)\",\"func-tooltip\": \"Raises the number to the specified p
ower\",\"help-contents\": \"Returns the result of a number raised to the given p
ower. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-argtypes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE
\",\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the
value of this calculation in the previous row\",\"help-contents\": \"Returns the
value of this calculation in the previous row. Returns the given expression if
the current row is the first row of the partition.\\n\\nExample: SUM([Profit]) +
PREVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOU
S_VALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"funcsig\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to r
adians\",\"help-contents\": \"Converts a number in degrees to radians.\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\":
\"Returns the competition rank for the current partition row\",\"help-contents\
": \"Returns the standard competition rank for the current row in the partition.
Identical values are assigned an identical rank. Use the optional 'asc' | 'desc
' argument to specify ascending or descending order. The default order is descen
ding.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (
1, 2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": fa
lse},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'de
sc'])\",\"func-tooltip\": \"Returns the dense rank for the current partition row
\",\"help-contents\": \"Returns the dense rank for the current row in the partit
ion. Identical values are assigned an identical rank, but no gaps are inserted i
nto the number sequence. Use the optional 'asc' | 'desc' argument to specify asc
ending or descending order. The default order is descending.\\n\\nWith this func
tion, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending
order.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func
-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK
_MODIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-t

ooltip\": \"Returns the modified competition rank for the current partition row\
",\"help-contents\": \"Returns the modified competition rank for the current row
in the partition. Identical values are assigned an identical rank. Use the opti
onal 'asc' | 'desc' argument to specify ascending or descending order. The defau
lt order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AV
G([Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"loc
str\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"R
ANK_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the per
centile rank for the current partition row\",\"help-contents\": \"Returns the pe
rcentile rank for the current row in the partition. Use the optional 'asc' | 'de
sc' argument to specify ascending or descending order. The default order is asce
nding.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked
(25, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Sc
ore]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\
"has-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(e
xpression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the
current partition row\",\"help-contents\": \"Returns the unique rank for the cu
rrent row in the partition. Identical values are assigned different ranks. Use t
he optional 'asc' | 'desc' argument to specify ascending or descending order. Th
e default order is descending.\\n\\nWith this function, the set of values (6, 9,
9, 14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQ
UE() = 1 for the first row in the partition\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP
_EXTRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \
"Returns the portion of a string matching the capturing group in a regular expre
ssion\",\"help-contents\": \"Returns a substring of the given string that matche
s the capturing group within the regular expression pattern. The regular expres
sion pattern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT
('abc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_
NTH\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-toolti
p\": \"Returns a substring of a string using a regular expression pattern\",\"he
lp-contents\": \"Returns a substring of the given string using the regular expre
ssion pattern. The substring is matched to the nth capturing group, where n is
the given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\
\\d+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"
,\"locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\":
\"REGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string m
atches a regular expression\",\"help-contents\": \"Returns true if a substring o
f the provided string matches the regular expression pattern. \\n\\nExample: REG
EXP_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\
\])') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"ha
s-var-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLAC
E(string, pattern, replacement)\",\"func-tooltip\": \"Returns a string where sub
strings matching a regular expression are replaced\",\"help-contents\": \"Return
s a copy of the given string where the matching pattern is substituted with the
replacement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'a
bc--123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],
\"has-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string,
substring, replacement)\",\"func-tooltip\": \"Replaces all instances of a substr
ing within a string\",\"help-contents\": \"Returns a string in which every occur
rence of the substring is replaced with the replacement string. If the substring
is not found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\
\", \\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"fu
nc-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"R
IGHT\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns th
e specified number of characters from the end of a string\",\"help-contents\": \
"Returns the specified number of characters from the end of the given string. \
\n\\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"st

r\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \
"ROUND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds
a number to the specified number of places\",\"help-contents\": \"Rounds a numbe
r to the nearest integer or to a specified number of decimal places. \\n\\nExamp
le: ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\
",\"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(
string)\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"
help-contents\": \"Returns the string with any trailing spaces removed. \\n\\nE
xample: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func
-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"fun
c-sig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running ave
rage of an expression\",\"help-contents\": \"Returns the running average of the
given expression, from the first row in the partition to the current row.\\n\\nE
xample: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\"
: \"Returns the running count of an expression\",\"help-contents\": \"Returns th
e running count of the given expression, from the first row in the partition to
the current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of S
UM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)
\",\"func-tooltip\": \"Returns the running maximum of an expression\",\"help-con
tents\": \"Returns the running maximum of the given expression, from the first r
ow in the partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit]))
= running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running
maximum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer
\"],\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_
MIN(expression)\",\"func-tooltip\": \"Returns the running minimum of an expressi
on\",\"help-contents\": \"Returns the running minimum of the given expression, f
rom the first row in the partition to the current row.\\n\\nExample: RUNNING_MIN
(MIN([Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profi
t])) = running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-si
g\": \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of
an expression\",\"help-contents\": \"Returns the running sum of the given expres
sion, from the first row in the partition to the current row.\\n\\nExample: RUNN
ING_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([
Profit])) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\
": \"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolea
n result from an R expression\",\"help-contents\": \"Returns a Boolean result fr
om a given R expression. The R expression is passed directly to a running Rserve
instance. Use .arg# in the R expression to reference parameters. In the followi
ng example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.f
inite(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRI
PT_INT(string, expression, ...)\",\"func-tooltip\": \"Returns an integer result
from an R expression\",\"help-contents\": \"Returns an integer result from a giv
en R expression. The R expression is passed directly to a running Rserve instanc
e. Use .arg# in the R expression to reference parameters. In the following examp
le, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.a
rg1 * 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"s
tr\"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_
REAL(string, expression, ...)\",\"func-tooltip\": \"Returns a numeric result fro
m an R expression\",\"help-contents\": \"Returns a numeric result from a given R
expression. The R expression is passed directly to a running Rserve instance. U
se .arg# in the R expression to reference parameters. In the following example,
.arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\",
SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-v
ar-args\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, ex

pression, ...)\",\"func-tooltip\": \"Returns a string result from an R expressio


n\",\"help-contents\": \"Returns a string result from a given R expression. The
R expression is passed directly to a running Rserve instance. Use .arg# in the R
expression to reference parameters. In the following example, .arg1 is equal to
ATTR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Re
gion]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"
Returns 1 for a positive number\",\"help-contents\": \"Returns the sign of a num
ber: 1 if the number is positive, zero if the number is zero, or -1 if the numbe
r is negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"
SIN(angle)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\
": \"Returns the sine of an angle. Specify the angle in radians.\\n\\nExample: S
IN(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"f
unc-tooltip\": \"Returns the number of rows in the partition\",\"help-contents\"
: \"Returns the number of rows in the partition.\\n\\nExample (partition has 5 r
ows):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-toolt
ip\": \"Returns a string containing the specified number of spaces\",\"help-cont
ents\": \"Returns a string composed of the specified number of repeated spaces.
\\n\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT
(string, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring fro
m a string\",\"help-contents\": \"Returns a substring from a string, as determin
ed by a delimiter extracting the characters from the beginning or end of the str
ing. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d
', '-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr
\",\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT
(number)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-cont
ents\": \"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"f
unc-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n
ame\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns t
he square of a number\",\"help-contents\": \"Returns the square of a given numbe
r. \\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\
"real\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STAR
TSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the specified st
ring starts with the specified substring\",\"help-contents\": \"Returns true if
the string starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\
\\", \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\
"str\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expr
ession)\",\"func-tooltip\": \"Returns the sample standard deviation for an expre
ssion\",\"help-contents\": \"Returns the sample standard deviation of the expres
sion.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEV
P(expression)\",\"func-tooltip\": \"Returns the population standard deviation fo
r an expression\",\"help-contents\": \"Returns the population standard deviation
of the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"f
unc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-si
g\": \"STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\"
,\"help-contents\": \"Returns a string given an expression. \\n\\nExample: STR(
[Age]) returns all of the values of the Age measure as strings.\",\"func-grps\":
[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\":
\"SUM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of
values in an expression\",\"help-contents\": \"Returns the sum of all the value
s in the expression. SUM can be used with numeric fields only. Null values are i
gnored.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angl
e)\",\"func-tooltip\": \"Returns the tangent of an angle specified in radians\",
\"help-contents\": \"Returns the tangent of an angle. Specify the angle in radia

ns.\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\"


:[\"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <exp
r> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tool
tip\": \"Performs a logical test and returns an appropriate value\",\"help-conte
nts\": \"Tests a series of expressions returning the <then> value for the first
true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =
0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"f
unc-tooltip\": \"Returns the current date\",\"help-contents\": \"Returns the cur
rent date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"T
OTAL(expression)\",\"func-tooltip\": \"Returns the total for an expression withi
n the partition\",\"help-contents\": \"Returns the total for the given expressio
n.\\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that c
ontribute to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"int
eger\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string
)\",\"func-tooltip\": \"Returns a string with leading and trailing spaces remove
d\",\"help-contents\": \"Returns the string with both leading and trailing space
s removed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps
\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"
UPPER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in
all uppercase characters\",\"help-contents\": \"Converts a text string to all up
percase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"fun
c-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name
\": \"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns th
e domain for the current user\",\"help-contents\": \"Returns the domain for the
current user when the user is signed on to Tableau Server. Returns the Windows d
omain if the Tableau Desktop user is on a domain. Otherwise this function return
s a null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args
\": false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\"
: \"Returns the user name for the current user\",\"help-contents\": \"Returns th
e username for the current user. This is the Tableau Server or Tableau Online us
ername when the user is signed in; otherwise it is the local or network username
for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"
func-tooltip\": \"Returns the sample variance for an expression\",\"help-content
s\": \"Returns the sample variance of the expression.\\n\\nExample: VAR([Profit]
)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Re
turns the population variance for an expression\",\"help-contents\": \"Returns t
he population variance of the expression.\\n\\nExample: VARP([Profit])\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <
else>] END\",\"func-tooltip\": \"Performs logical tests and returns the appropri
ate value\",\"help-contents\": \"Finds the first <value> that matches <expr> and
returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2
018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic
\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"f
unc-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns
the average of the values within the window\",\"help-contents\": \"Returns the a
verage of the expression within the window. The window is defined as offsets fr
om the current row. Use FIRST()+n and LAST()-n for offsets from the first or las
t row in the partition. If start and end are omitted, the entire partition is u
sed.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) fro
m the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-ar
g-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"fun
c-tooltip\": \"Returns the number of items within the window\",\"help-contents\"
: \"Returns the count of the expression within the window. The window is define
d as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from t

he first or last row in the partition. If start and end are omitted, the entire
partition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"tab
le\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": fa
lse},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, en
d])\",\"func-tooltip\": \"Returns the maximum within the window\",\"help-content
s\": \"Returns the maximum of the expression within the window. The window is d
efined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets f
rom the first or last row in the partition. If start and end are omitted, the e
ntire partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximu
m of Profit from the two previous rows to the current row\\n\\nExample: WINDOW_M
AX(SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to
the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"in
teger\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"fun
c-sig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns
the median within the window\",\"help-contents\": \"Returns the median of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two pre
vious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN
\",\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Re
turns the minimum within the window\",\"help-contents\": \"Returns the minimum o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two pre
vious rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = m
inimum of SUM(Profit) from the two previous rows to the current row\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-v
ar-args\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCEN
TILE(expression, number, [start, end])\",\"func-tooltip\": \"Returns the percent
ile value at the specified number\",\"help-contents\": \"Returns the value corre
sponding to the specified percentile within the window. The window is defined a
s offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire pa
rtition is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) =
75th percentile of SUM(Profit) from the two previous rows to the current row\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\":
\"WINDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sampl
e standard deviation within the window\",\"help-contents\": \"Returns the sample
standard deviation of the expression within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire p
artition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [s
tart, end])\",\"func-tooltip\": \"Returns the population standard deviation with
in the window\",\"help-contents\": \"Returns the population standard deviation o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from t
he two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"
WINDOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-toolt
ip\": \"Returns the sum of values within the window\",\"help-contents\": \"Retur

ns the sum of the expression within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) fro
m the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-ar
g-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name
\": \"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func
-tooltip\": \"Returns the sample variance within the window\",\"help-contents\":
\"Returns the sample variance of the expression within the window. The window
is defined as offsets from the current row. Use FIRST()+n and LAST()-n for offse
ts from the first or last row in the partition. If start and end are omitted, t
he entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = va
riance of SUM(Profit) from the two previous rows to the current row\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-varargs\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression
, [start, end])\",\"func-tooltip\": \"Returns the population variance within the
window\",\"help-contents\": \"Returns the population variance of the expression
within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WINDO
W_VARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous row
s to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"
integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\"
: \"YEAR(date)\",\"func-tooltip\": \"Returns the year of the specified date as a
n integer\",\"help-contents\": \"Returns the year of a given date as an integer.
\\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg
-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\":
\"ZN(expression)\",\"func-tooltip\": \"Returns the expression if it is not null
\",\"help-contents\": \"Returns <expression> if it is not null, otherwise return
s zero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"funcarg-types\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"
calculation-dialog\",\"use-parameters\": true} position=\"8\"","name":"tabdoc:ca
lculation-auto-complete"}}
{"ts":"2016-09-29T17:02:01.239","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED re\
" calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"c
alculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculation_5489
888009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{FIXED \"
,\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"folder-na
me\": \"\",\"add-to-folder\": false,\"folder-role\": \"dimensions\",\"has-tablecalc-data\": false,\"table-calc-types-used\": 0,\"style-token-list\":[],\"errorstring\": \"Error in calculation:\\n\\nOnly column names are permitted in the di
mensionality declaration.\\n\\nWould you like to correct the calculation?\",\"er
ror-info-list\":[{\"start-position-for-error\": 6,\"length-of-calc-of-error\": 1
,\"error-message\": \"Only column names are permitted in the dimensionality decl
aration.\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\
",\"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value o
f a number\",\"help-contents\": \"Returns the absolute value of the given number
. \\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\"
,\"func-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"R
eturns the arc cosine of a number. The result is in radians. \\n\\nExample: ACO
S(-1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <exp
r2> THEN <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two
expressions\",\"help-contents\": \"Performs a logical conjunction on two express
ions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},
{\"name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns
the ASCII code for the first character in a string\",\"help-contents\": \"Retur

ns the ASCII code value of the first character in a string. \\n\\nExample: ASCII
(\\\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"
has-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func
-tooltip\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns th
e arc sine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.57
07963267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\"
: \"Returns the arc tangent of a number\",\"help-contents\": \"Returns the arc t
angent of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.565
2408283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-arg
s\": false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"f
unc-tooltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"R
eturns the arc tangent of two given numbers (x and y). The result is in radians.
\\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"
func-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the ex
pression if it has one value for all rows\",\"help-contents\": \"Returns the val
ue of the given expression if it only has a single value for all rows in the gro
up, otherwise it displays an asterisk (*). Null values are ignored.\\n\\nExample
: ATTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func
-tooltip\": \"Returns the average of the values in the expression\",\"help-conte
nts\": \"Returns the average of all the values in the expression. AVG can be use
d with numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])
\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> .
.. [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns th
e appropriate value\",\"help-contents\": \"Finds the first <value> that matches
<expr> and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral
] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\
":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILIN
G\",\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the
nearest integer of equal or greater value\",\"help-contents\": \"Rounds a numbe
r to the nearest integer of equal or greater value. \\n\\nExample: CEILING(3.141
5) = 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"
Converts an integer ASCII code into a character\",\"help-contents\": \"Converts
the given integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\
"name\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-toolt
ip\": \"Returns true if a string contains the specified substring\",\"help-conte
nts\": \"Returns true if the string contains the substring. \\n\\nExample: CONTA
INS(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"funcarg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func
-sig\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specif
ied in radians\",\"help-contents\": \"Returns the cosine of an angle. Specify th
e angle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\
":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
COT\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of
an angle specified in radians\",\"help-contents\": \"Returns the cotangent of an
angle. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grp
s\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"COUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the nu
mber of items in the expression\",\"help-contents\": \"Returns the number of ite
ms in a group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\"
,\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": fals
e},{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\":
\"Returns the number of distinct items in the expression\",\"help-contents\": \"
Returns the number of distinct items in a group. NULL values are not counted. E
ach unique value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-g

rps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"nam
e\": \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a d
ate from a number\",\"help-contents\": \"Returns a date given a number, string,
or date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15
\\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func
-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-si
g\": \"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the spec
ified date incremented by the specified amount\",\"help-contents\": \"Adds an in
crement to the specified date and returns the new date. The increment is defined
by the interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-0415#) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"l
ocstr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF
\",\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",
\"func-tooltip\": \"Returns the difference between two dates\",\"help-contents\"
: \"Returns the difference between two dates where start_date is subtracted from
end_date. The difference is expressed in units of date_part. If start_of_week i
s omitted, the week start day is determined by the start day configured for the
data source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday
') = -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\
"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"funcsig\": \"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Return
s a part of the specified date as a string\",\"help-contents\": \"Returns a part
of the given date as a string, where the part is defined by date_part. If start
_of_week is omitted, the week start day is determined by the start day configure
d for the data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April
\\\"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"lo
cstr\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPA
RSE(format, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-c
ontents\": \"Converts a string to a date in the specified format. \\n\\nExample:
DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 A
M\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-a
rgs\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date,
[start_of_week])\",\"func-tooltip\": \"Returns the specified part of a date as a
n integer\",\"help-contents\": \"Returns a part of the given date as an integer
where the part is defined by date_part. If start_of_week is omitted, the week st
art day is determined by the start day configured for the data source.\\n\\nExam
ple: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-t
ypes\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\":
\"DATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns
a datetime from a number\",\"help-contents\": \"Returns a datetime given a numbe
r, string, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59
:00\\\") \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC
\",\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\
": \"Truncates the specified date to the specified accuracy\",\"help-contents\":
\"Truncates the specified date to the accuracy specified by the date_part and r
eturns the new date. If start_of_week is omitted, the week start day is determin
ed by the start day configured for the data source.\\n\\nExample: DATETRUNC('qua
rter', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"funcarg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"nam
e\": \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day par
t of the specified date as an integer\",\"help-contents\": \"Returns the day of
the given date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-gr
ps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"na
me\": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts
a value in radians to degrees\",\"help-contents\": \"Converts a number in radia
ns to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"
func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-s
ig\": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of
a division operation\",\"help-contents\": \"Returns the integer part of a divisi

on.\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\


"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\
": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\"
,\"func-tooltip\": \"Performs a logical test and returns an appropriate value\",
\"help-contents\": \"Tests a series of expressions returning the <then> value fo
r the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF
[Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"
IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"fu
nc-tooltip\": \"Performs a logical test and returns an appropriate value\",\"hel
p-contents\": \"Tests a series of expressions returning the <then> value for the
first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Pro
fit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr
> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-toolt
ip\": \"Performs a logical test and returns an appropriate value\",\"help-conten
ts\": \"Tests a series of expressions returning the <then> value for the first t
rue <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0
THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(st
ring, substring)\",\"func-tooltip\": \"Returns true if the specified string ends
with the specified substring\",\"help-contents\": \"Returns true if the string
ends with the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWIT
H(\\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"fun
c-sig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip
\": \"Computes an aggregate excluding the specified dimensions if present in the
view.\",\"help-contents\": \"Computes an aggregate excluding the specified dime
nsions if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\
"has-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"functooltip\": \"Returns e raised to the power of a number\",\"help-contents\": \"Re
turns e raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",
\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{
\"name\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-too
ltip\": \"Returns the position of a substring within a string\",\"help-contents\
": \"Returns the position of a substring within a string, or 0 if the substring
isn't found. If the start argument is defined, any instances of substring that a
ppear before the start position are ignored. The first character in the string i
s position 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"fun
c-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\
": false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occu
rrence)\",\"func-tooltip\": \"Returns the position of the nth occurrence a subst
ring within a string\",\"help-contents\": \"Returns the position of the nth occu
rrence of a substring within a string, or 0 if that occurrence of the substring
isn't found. The first character in the string is position 1. \\n\\nExample: FIN
DNTH(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\
",\"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from
to the first row in the partition\",\"help-contents\": \"Returns the number of r
ows from the current row to the first row in the partition.\\n\\nExample (curren
t row index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED
[dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an agg
regate using only the specified dimensions.\",\"help-contents\": \"Computes an a
ggregate using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-a
rg-types\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOA
T(expression)\",\"func-tooltip\": \"Returns a float from an expression\",\"helpcontents\": \"Returns a float given an expression of any type. This function req
uires unformatted numbers which means exclude commas and other symbols. \\n\\nE
xample: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\

"boolean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(


number)\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or
lesser value\",\"help-contents\": \"Rounds a number to the nearest integer of e
qual or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"]
,\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",
\"func-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the c
urrent user\",\"help-contents\": \"Returns the full name for the current user. T
his is the Tableau Server or Tableau Online full name when the user is signed in
; otherwise it is the local or network full name for the Tableau Desktop user.\"
,\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Re
turns the x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps
an (x,y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip
\": \"Returns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\"
: \"Maps an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. T
he bins have side length 1, so the inputs may need to be scaled appropriately.\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\"
: false},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2>
THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical te
st and returns an appropriate value\",\"help-contents\": \"Tests a series of exp
ressions returning the <then> value for the first true <expr>. \\n\\nExample: IF
[Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss'
END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},
{\"name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \
"Returns expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is
not null, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"fu
nc-grps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-arg
s\": false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\
",\"func-tooltip\": \"Evaluates a Boolean expression and returns one of two valu
es\",\"help-contents\": \"Checks whether a condition is met, and returns one val
ue if TRUE, another value if FALSE, and an optional third value or NULL if unkno
wn. \\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\
"],\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\":
false},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : agg
regate-expression }\",\"func-tooltip\": \"Computes an aggregate using the specif
ied dimensions and the view dimensions.\",\"help-contents\": \"Computes an aggre
gate using the specified dimensions and the view dimensions.\",\"func-grps\":[\"
agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"fun
c-sig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in
the partition\",\"help-contents\": \"Returns the index of the current row in th
e partition.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\
"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an ex
pression and returns an integer\",\"help-contents\": \"Returns an integer given
an expression. This function truncates results to the closest integer toward zer
o. \\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],
\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",
\"func-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string
is a valid date\",\"help-contents\": \"Returns true if a given string is a valid
date. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\
",\"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"n
ame\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"R
eturns true if the current user's full name matches the specified name\",\"helpcontents\": \"Returns true if the current user's full name matches the specified
full name, or false if it does not match. This function uses the Tableau Server
or Tableau Online full name when the user is signed in; otherwise it uses the l
ocal or network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\

"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBE


ROF\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if t
he current user is a member of the specified group\",\"help-contents\": \"Return
s true if the current user is a member of the given group, false otherwise. Thi
s uses the Tableau Server to resolve group membership if logged on, otherwise it
always returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"
],\"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expressi
on)\",\"func-tooltip\": \"Returns true if the specified expression is null\",\"h
elp-contents\": \"Returns true if the expression does not contain valid data (Nu
ll).\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types
\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\"
: \"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's
name matches the specified user name\",\"help-contents\": \"Returns true if the
current user's username matches the specified username, or false if it does not
match. This function uses the Tableau Server or Tableau Online username when the
user is signed in; otherwise it uses the local or network username for the Tabl
eau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"h
as-var-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-toolti
p\": \"Returns the number of rows to the last row in the partition\",\"help-cont
ents\": \"Returns the number of rows from the current row to the last row in the
partition.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"funcgrps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"L
EFT\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the
specified number of characters from the start of a string\",\"help-contents\": \
"Returns the specified number of characters from the start of the given string.
\\n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\":
\"LEN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of
characters in a string\",\"help-contents\": \"Returns the number of characters i
n the given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN
\",\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarith
m of a number\",\"help-contents\": \"Returns the natural logarithm of the given
number. Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(
EXP(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-too
ltip\": \"Returns the logarithm of a number for the given base\",\"help-contents
\": \"Returns the logarithm of a number for the given base. If the base value is
omitted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2)
= 8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-a
rgs\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])
\",\"func-tooltip\": \"Returns the value of the expression in a row offset from
current row\",\"help-contents\": \"Returns the value of the given expression in
a target row, specified as a relative offset from the current row. Use FIRST()+n
and LAST()-n for a target relative to the first/last rows in the partition. If
offset is omitted, the Compare To row may be set on the field menu. Returns NULL
if the target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIR
ST( ) + 2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a
string in all lowercase characters\",\"help-contents\": \"Converts a text strin
g to all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\
\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fal
se},{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Ret
urns a string with leading spaces removed\",\"help-contents\": \"Returns the str
ing with any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"
Sales\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\
"func-tooltip\": \"Returns a date value constructed from a year, a month and a d
ay of the month.\",\"help-contents\": \"Returns a date value constructed from a

year, a month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",
\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"
],\"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATET
IME(date, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and
a time\",\"help-contents\": \"Returns a date and time value given a date expres
sion and a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00
#)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-v
ar-args\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute,
second)\",\"func-tooltip\": \"Returns a time value constructed from hours, minu
tes and seconds.\",\"help-contents\": \"Returns a time value constructed from ho
urs, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\"
:[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, e
xpr2)\",\"func-tooltip\": \"Returns the maximum of an expression\",\"help-conten
ts\": \"Returns the maximum of a single expression across all records or the max
imum of two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-g
rps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",
\"real\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(
expression)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-c
ontents\": \"Returns the median of a single expression. MEDIAN can be used with
numeric fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\
"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\
"name\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\":
\"Returns the characters from the middle of a text string\",\"help-contents\": \
"Returns the characters from the middle of a text string given a starting positi
on and a length. The first character in the string is position 1. If the length
is not included, all characters to the end of the string are returned. If the le
ngth is included, up to that many characters are returned. \\n\\nExample: MID(\\
\"Tableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Soft
ware\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str
\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\":
\"MIN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum
of an expression\",\"help-contents\": \"Returns the minimum of an expression ac
ross all records or the minimum of two expressions for each record. \\n\\nExamp
le: MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\
"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONT
H\",\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of
the specified date as an integer\",\"help-contents\": \"Returns the month of a g
iven date as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\"
:[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\"
: \"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Pe
rforms logical negation on an expression\",\"help-contents\": \"Performs logical
negation on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\
": \"Returns the current date and time\",\"help-contents\": \"Returns the curren
t date and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[
\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"fun
c-sig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs
a logical disjunction on two expressions\",\"help-contents\": \"Performs a logic
al disjunction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTIL
E(expression, number)\",\"func-tooltip\": \"Returns the percentile value at the
specified number\",\"help-contents\": \"Aggregate calculation that returns the p
ercentile value from the given expression corresponding to the specified number.
Valid values for the number are 0 through 1. PERCENTILE([expression], 0.50) wil
l always return the median value in the expression.\\n\\nExample: PERCENTILE([Sa
les], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],
\"has-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip
\": \"Returns the numeric constant pi\",\"help-contents\": \"Returns the numeric
constant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"

func-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\":


\"POWER(number,power)\",\"func-tooltip\": \"Raises the number to the specified p
ower\",\"help-contents\": \"Returns the result of a number raised to the given p
ower. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-argtypes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE
\",\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the
value of this calculation in the previous row\",\"help-contents\": \"Returns the
value of this calculation in the previous row. Returns the given expression if
the current row is the first row of the partition.\\n\\nExample: SUM([Profit]) +
PREVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOU
S_VALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"funcsig\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to r
adians\",\"help-contents\": \"Converts a number in degrees to radians.\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\":
\"Returns the competition rank for the current partition row\",\"help-contents\
": \"Returns the standard competition rank for the current row in the partition.
Identical values are assigned an identical rank. Use the optional 'asc' | 'desc
' argument to specify ascending or descending order. The default order is descen
ding.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (
1, 2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": fa
lse},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'de
sc'])\",\"func-tooltip\": \"Returns the dense rank for the current partition row
\",\"help-contents\": \"Returns the dense rank for the current row in the partit
ion. Identical values are assigned an identical rank, but no gaps are inserted i
nto the number sequence. Use the optional 'asc' | 'desc' argument to specify asc
ending or descending order. The default order is descending.\\n\\nWith this func
tion, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending
order.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func
-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK
_MODIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-t
ooltip\": \"Returns the modified competition rank for the current partition row\
",\"help-contents\": \"Returns the modified competition rank for the current row
in the partition. Identical values are assigned an identical rank. Use the opti
onal 'asc' | 'desc' argument to specify ascending or descending order. The defau
lt order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AV
G([Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"loc
str\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"R
ANK_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the per
centile rank for the current partition row\",\"help-contents\": \"Returns the pe
rcentile rank for the current row in the partition. Use the optional 'asc' | 'de
sc' argument to specify ascending or descending order. The default order is asce
nding.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked
(25, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Sc
ore]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\
"has-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(e
xpression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the
current partition row\",\"help-contents\": \"Returns the unique rank for the cu
rrent row in the partition. Identical values are assigned different ranks. Use t
he optional 'asc' | 'desc' argument to specify ascending or descending order. Th
e default order is descending.\\n\\nWith this function, the set of values (6, 9,
9, 14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQ
UE() = 1 for the first row in the partition\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP
_EXTRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \
"Returns the portion of a string matching the capturing group in a regular expre
ssion\",\"help-contents\": \"Returns a substring of the given string that matche

s the capturing group within the regular expression pattern. The regular expres
sion pattern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT
('abc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_
NTH\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-toolti
p\": \"Returns a substring of a string using a regular expression pattern\",\"he
lp-contents\": \"Returns a substring of the given string using the regular expre
ssion pattern. The substring is matched to the nth capturing group, where n is
the given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\
\\d+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"
,\"locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\":
\"REGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string m
atches a regular expression\",\"help-contents\": \"Returns true if a substring o
f the provided string matches the regular expression pattern. \\n\\nExample: REG
EXP_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\
\])') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"ha
s-var-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLAC
E(string, pattern, replacement)\",\"func-tooltip\": \"Returns a string where sub
strings matching a regular expression are replaced\",\"help-contents\": \"Return
s a copy of the given string where the matching pattern is substituted with the
replacement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'a
bc--123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],
\"has-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string,
substring, replacement)\",\"func-tooltip\": \"Replaces all instances of a substr
ing within a string\",\"help-contents\": \"Returns a string in which every occur
rence of the substring is replaced with the replacement string. If the substring
is not found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\
\", \\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"fu
nc-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"R
IGHT\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns th
e specified number of characters from the end of a string\",\"help-contents\": \
"Returns the specified number of characters from the end of the given string. \
\n\\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \
"ROUND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds
a number to the specified number of places\",\"help-contents\": \"Rounds a numbe
r to the nearest integer or to a specified number of decimal places. \\n\\nExamp
le: ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\
",\"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(
string)\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"
help-contents\": \"Returns the string with any trailing spaces removed. \\n\\nE
xample: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func
-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"fun
c-sig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running ave
rage of an expression\",\"help-contents\": \"Returns the running average of the
given expression, from the first row in the partition to the current row.\\n\\nE
xample: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\"
: \"Returns the running count of an expression\",\"help-contents\": \"Returns th
e running count of the given expression, from the first row in the partition to
the current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of S
UM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)
\",\"func-tooltip\": \"Returns the running maximum of an expression\",\"help-con
tents\": \"Returns the running maximum of the given expression, from the first r
ow in the partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit]))
= running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running
maximum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer
\"],\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_

MIN(expression)\",\"func-tooltip\": \"Returns the running minimum of an expressi


on\",\"help-contents\": \"Returns the running minimum of the given expression, f
rom the first row in the partition to the current row.\\n\\nExample: RUNNING_MIN
(MIN([Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profi
t])) = running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-si
g\": \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of
an expression\",\"help-contents\": \"Returns the running sum of the given expres
sion, from the first row in the partition to the current row.\\n\\nExample: RUNN
ING_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([
Profit])) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\
": \"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolea
n result from an R expression\",\"help-contents\": \"Returns a Boolean result fr
om a given R expression. The R expression is passed directly to a running Rserve
instance. Use .arg# in the R expression to reference parameters. In the followi
ng example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.f
inite(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRI
PT_INT(string, expression, ...)\",\"func-tooltip\": \"Returns an integer result
from an R expression\",\"help-contents\": \"Returns an integer result from a giv
en R expression. The R expression is passed directly to a running Rserve instanc
e. Use .arg# in the R expression to reference parameters. In the following examp
le, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.a
rg1 * 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"s
tr\"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_
REAL(string, expression, ...)\",\"func-tooltip\": \"Returns a numeric result fro
m an R expression\",\"help-contents\": \"Returns a numeric result from a given R
expression. The R expression is passed directly to a running Rserve instance. U
se .arg# in the R expression to reference parameters. In the following example,
.arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\",
SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-v
ar-args\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, ex
pression, ...)\",\"func-tooltip\": \"Returns a string result from an R expressio
n\",\"help-contents\": \"Returns a string result from a given R expression. The
R expression is passed directly to a running Rserve instance. Use .arg# in the R
expression to reference parameters. In the following example, .arg1 is equal to
ATTR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Re
gion]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"
Returns 1 for a positive number\",\"help-contents\": \"Returns the sign of a num
ber: 1 if the number is positive, zero if the number is zero, or -1 if the numbe
r is negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"
SIN(angle)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\
": \"Returns the sine of an angle. Specify the angle in radians.\\n\\nExample: S
IN(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"f
unc-tooltip\": \"Returns the number of rows in the partition\",\"help-contents\"
: \"Returns the number of rows in the partition.\\n\\nExample (partition has 5 r
ows):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-toolt
ip\": \"Returns a string containing the specified number of spaces\",\"help-cont
ents\": \"Returns a string composed of the specified number of repeated spaces.
\\n\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT
(string, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring fro
m a string\",\"help-contents\": \"Returns a substring from a string, as determin
ed by a delimiter extracting the characters from the beginning or end of the str
ing. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d

', '-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr


\",\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT
(number)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-cont
ents\": \"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"f
unc-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n
ame\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns t
he square of a number\",\"help-contents\": \"Returns the square of a given numbe
r. \\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\
"real\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STAR
TSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the specified st
ring starts with the specified substring\",\"help-contents\": \"Returns true if
the string starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\
\\", \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\
"str\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expr
ession)\",\"func-tooltip\": \"Returns the sample standard deviation for an expre
ssion\",\"help-contents\": \"Returns the sample standard deviation of the expres
sion.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEV
P(expression)\",\"func-tooltip\": \"Returns the population standard deviation fo
r an expression\",\"help-contents\": \"Returns the population standard deviation
of the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"f
unc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-si
g\": \"STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\"
,\"help-contents\": \"Returns a string given an expression. \\n\\nExample: STR(
[Age]) returns all of the values of the Age measure as strings.\",\"func-grps\":
[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\":
\"SUM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of
values in an expression\",\"help-contents\": \"Returns the sum of all the value
s in the expression. SUM can be used with numeric fields only. Null values are i
gnored.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angl
e)\",\"func-tooltip\": \"Returns the tangent of an angle specified in radians\",
\"help-contents\": \"Returns the tangent of an angle. Specify the angle in radia
ns.\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <exp
r> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tool
tip\": \"Performs a logical test and returns an appropriate value\",\"help-conte
nts\": \"Tests a series of expressions returning the <then> value for the first
true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =
0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"f
unc-tooltip\": \"Returns the current date\",\"help-contents\": \"Returns the cur
rent date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"T
OTAL(expression)\",\"func-tooltip\": \"Returns the total for an expression withi
n the partition\",\"help-contents\": \"Returns the total for the given expressio
n.\\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that c
ontribute to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"int
eger\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string
)\",\"func-tooltip\": \"Returns a string with leading and trailing spaces remove
d\",\"help-contents\": \"Returns the string with both leading and trailing space
s removed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps
\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"
UPPER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in
all uppercase characters\",\"help-contents\": \"Converts a text string to all up
percase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"fun
c-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name
\": \"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns th
e domain for the current user\",\"help-contents\": \"Returns the domain for the
current user when the user is signed on to Tableau Server. Returns the Windows d

omain if the Tableau Desktop user is on a domain. Otherwise this function return
s a null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args
\": false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\"
: \"Returns the user name for the current user\",\"help-contents\": \"Returns th
e username for the current user. This is the Tableau Server or Tableau Online us
ername when the user is signed in; otherwise it is the local or network username
for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"
func-tooltip\": \"Returns the sample variance for an expression\",\"help-content
s\": \"Returns the sample variance of the expression.\\n\\nExample: VAR([Profit]
)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Re
turns the population variance for an expression\",\"help-contents\": \"Returns t
he population variance of the expression.\\n\\nExample: VARP([Profit])\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <
else>] END\",\"func-tooltip\": \"Performs logical tests and returns the appropri
ate value\",\"help-contents\": \"Finds the first <value> that matches <expr> and
returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2
018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic
\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"f
unc-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns
the average of the values within the window\",\"help-contents\": \"Returns the a
verage of the expression within the window. The window is defined as offsets fr
om the current row. Use FIRST()+n and LAST()-n for offsets from the first or las
t row in the partition. If start and end are omitted, the entire partition is u
sed.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) fro
m the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-ar
g-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"fun
c-tooltip\": \"Returns the number of items within the window\",\"help-contents\"
: \"Returns the count of the expression within the window. The window is define
d as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from t
he first or last row in the partition. If start and end are omitted, the entire
partition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"tab
le\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": fa
lse},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, en
d])\",\"func-tooltip\": \"Returns the maximum within the window\",\"help-content
s\": \"Returns the maximum of the expression within the window. The window is d
efined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets f
rom the first or last row in the partition. If start and end are omitted, the e
ntire partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximu
m of Profit from the two previous rows to the current row\\n\\nExample: WINDOW_M
AX(SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to
the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"in
teger\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"fun
c-sig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns
the median within the window\",\"help-contents\": \"Returns the median of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two pre
vious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN
\",\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Re
turns the minimum within the window\",\"help-contents\": \"Returns the minimum o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\

\nExample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two pre


vious rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = m
inimum of SUM(Profit) from the two previous rows to the current row\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-v
ar-args\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCEN
TILE(expression, number, [start, end])\",\"func-tooltip\": \"Returns the percent
ile value at the specified number\",\"help-contents\": \"Returns the value corre
sponding to the specified percentile within the window. The window is defined a
s offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire pa
rtition is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) =
75th percentile of SUM(Profit) from the two previous rows to the current row\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\":
\"WINDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sampl
e standard deviation within the window\",\"help-contents\": \"Returns the sample
standard deviation of the expression within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire p
artition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [s
tart, end])\",\"func-tooltip\": \"Returns the population standard deviation with
in the window\",\"help-contents\": \"Returns the population standard deviation o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from t
he two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"
WINDOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-toolt
ip\": \"Returns the sum of values within the window\",\"help-contents\": \"Retur
ns the sum of the expression within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) fro
m the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-ar
g-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name
\": \"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func
-tooltip\": \"Returns the sample variance within the window\",\"help-contents\":
\"Returns the sample variance of the expression within the window. The window
is defined as offsets from the current row. Use FIRST()+n and LAST()-n for offse
ts from the first or last row in the partition. If start and end are omitted, t
he entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = va
riance of SUM(Profit) from the two previous rows to the current row\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-varargs\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression
, [start, end])\",\"func-tooltip\": \"Returns the population variance within the
window\",\"help-contents\": \"Returns the population variance of the expression
within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WINDO
W_VARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous row
s to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"
integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\"
: \"YEAR(date)\",\"func-tooltip\": \"Returns the year of the specified date as a
n integer\",\"help-contents\": \"Returns the year of a given date as an integer.
\\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg
-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\":

\"ZN(expression)\",\"func-tooltip\": \"Returns the expression if it is not null


\",\"help-contents\": \"Returns <expression> if it is not null, otherwise return
s zero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"funcarg-types\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"
calculation-dialog\",\"use-parameters\": true} position=\"9\"","name":"tabdoc:ca
lculation-auto-complete"}}
{"ts":"2016-09-29T17:02:01.239","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED re
\" calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"
calculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculation_548
9888009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{FIXED \
",\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"folder-n
ame\": \"\",\"add-to-folder\": false,\"folder-role\": \"dimensions\",\"has-table
-calc-data\": false,\"table-calc-types-used\": 0,\"style-token-list\":[],\"error
-string\": \"Error in calculation:\\n\\nOnly column names are permitted in the d
imensionality declaration.\\n\\nWould you like to correct the calculation?\",\"e
rror-info-list\":[{\"start-position-for-error\": 6,\"length-of-calc-of-error\":
1,\"error-message\": \"Only column names are permitted in the dimensionality dec
laration.\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS
\",\"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value
of a number\",\"help-contents\": \"Returns the absolute value of the given numbe
r. \\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\
",\"func-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"
Returns the arc cosine of a number. The result is in radians. \\n\\nExample: AC
OS(-1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"
],\"has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <ex
pr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two
expressions\",\"help-contents\": \"Performs a logical conjunction on two expres
sions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false}
,{\"name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Return
s the ASCII code for the first character in a string\",\"help-contents\": \"Retu
rns the ASCII code value of the first character in a string. \\n\\nExample: ASCI
I(\\\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\
"has-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"fun
c-tooltip\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns t
he arc sine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.5
707963267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\
": \"Returns the arc tangent of a number\",\"help-contents\": \"Returns the arc
tangent of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.56
52408283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"
func-tooltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"
Returns the arc tangent of two given numbers (x and y). The result is in radians
. \\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"fun
c-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\
"func-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the e
xpression if it has one value for all rows\",\"help-contents\": \"Returns the va
lue of the given expression if it only has a single value for all rows in the gr
oup, otherwise it displays an asterisk (*). Null values are ignored.\\n\\nExampl
e: ATTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"h
as-var-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"fun
c-tooltip\": \"Returns the average of the values in the expression\",\"help-cont
ents\": \"Returns the average of all the values in the expression. AVG can be us
ed with numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit]
)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1>
... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns t

he appropriate value\",\"help-contents\": \"Finds the first <value> that matches


<expr> and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumera
l] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps
\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILI
NG\",\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to th
e nearest integer of equal or greater value\",\"help-contents\": \"Rounds a numb
er to the nearest integer of equal or greater value. \\n\\nExample: CEILING(3.14
15) = 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \
"Converts an integer ASCII code into a character\",\"help-contents\": \"Converts
the given integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",
\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{
\"name\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tool
tip\": \"Returns true if a string contains the specified substring\",\"help-cont
ents\": \"Returns true if the string contains the substring. \\n\\nExample: CONT
AINS(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func
-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"fun
c-sig\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle speci
fied in radians\",\"help-contents\": \"Returns the cosine of an angle. Specify t
he angle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"COT\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of
an angle specified in radians\",\"help-contents\": \"Returns the cotangent of a
n angle. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-gr
ps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"COUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the n
umber of items in the expression\",\"help-contents\": \"Returns the number of it
ems in a group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\
",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": fal
se},{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\":
\"Returns the number of distinct items in the expression\",\"help-contents\": \
"Returns the number of distinct items in a group. NULL values are not counted.
Each unique value is counted only once.\\n\\nExample: COUNTD([Region])\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"na
me\": \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a
date from a number\",\"help-contents\": \"Returns a date given a number, string,
or date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15
\\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"fun
c-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-s
ig\": \"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the spe
cified date incremented by the specified amount\",\"help-contents\": \"Adds an i
ncrement to the specified date and returns the new date. The increment is define
d by the interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04
-15#) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"
locstr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIF
F\",\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\"
,\"func-tooltip\": \"Returns the difference between two dates\",\"help-contents\
": \"Returns the difference between two dates where start_date is subtracted fro
m end_date. The difference is expressed in units of date_part. If start_of_week
is omitted, the week start day is determined by the start day configured for the
data source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunda
y') = -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",
\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func
-sig\": \"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Retur
ns a part of the specified date as a string\",\"help-contents\": \"Returns a par
t of the given date as a string, where the part is defined by date_part. If star
t_of_week is omitted, the week start day is determined by the start day configur
ed for the data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"Apri
l\\\"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"l
ocstr\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEP

ARSE(format, string)\",\"func-tooltip\": \"Converts a string to a date\",\"helpcontents\": \"Converts a string to a date in the specified format. \\n\\nExample
: DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00
AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-varargs\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date,
[start_of_week])\",\"func-tooltip\": \"Returns the specified part of a date as
an integer\",\"help-contents\": \"Returns a part of the given date as an integer
where the part is defined by date_part. If start_of_week is omitted, the week s
tart day is determined by the start day configured for the data source.\\n\\nExa
mple: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-argtypes\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\":
\"DATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns
a datetime from a number\",\"help-contents\": \"Returns a datetime given a numb
er, string, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:5
9:00\\\") \\nNote that the quotation marks are required.\",\"func-grps\":[\"cas
t\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUN
C\",\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip
\": \"Truncates the specified date to the specified accuracy\",\"help-contents\"
: \"Truncates the specified date to the accuracy specified by the date_part and
returns the new date. If start_of_week is omitted, the week start day is determi
ned by the start day configured for the data source.\\n\\nExample: DATETRUNC('qu
arter', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func
-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"na
me\": \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day pa
rt of the specified date as an integer\",\"help-contents\": \"Returns the day of
the given date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-g
rps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"n
ame\": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Convert
s a value in radians to degrees\",\"help-contents\": \"Converts a number in radi
ans to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\
"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"funcsig\": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of
a division operation\",\"help-contents\": \"Returns the integer part of a divis
ion.\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[
\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig
\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\
",\"func-tooltip\": \"Performs a logical test and returns an appropriate value\"
,\"help-contents\": \"Tests a series of expressions returning the <then> value f
or the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEI
F [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \
"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"f
unc-tooltip\": \"Performs a logical test and returns an appropriate value\",\"he
lp-contents\": \"Tests a series of expressions returning the <then> value for th
e first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Pr
ofit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-ar
g-types\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <exp
r> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tool
tip\": \"Performs a logical test and returns an appropriate value\",\"help-conte
nts\": \"Tests a series of expressions returning the <then> value for the first
true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =
0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(s
tring, substring)\",\"func-tooltip\": \"Returns true if the specified string end
s with the specified substring\",\"help-contents\": \"Returns true if the string
ends with the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWI
TH(\\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-ar
g-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"fu
nc-sig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-toolti
p\": \"Computes an aggregate excluding the specified dimensions if present in th

e view.\",\"help-contents\": \"Computes an aggregate excluding the specified dim


ensions if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func
-tooltip\": \"Returns e raised to the power of a number\",\"help-contents\": \"R
eturns e raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-to
oltip\": \"Returns the position of a substring within a string\",\"help-contents
\": \"Returns the position of a substring within a string, or 0 if the substring
isn't found. If the start argument is defined, any instances of substring that
appear before the start position are ignored. The first character in the string
is position 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"fu
nc-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args
\": false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occ
urrence)\",\"func-tooltip\": \"Returns the position of the nth occurrence a subs
tring within a string\",\"help-contents\": \"Returns the position of the nth occ
urrence of a substring within a string, or 0 if that occurrence of the substring
isn't found. The first character in the string is position 1. \\n\\nExample: FI
NDNTH(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-ar
g-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST
\",\"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from
to the first row in the partition\",\"help-contents\": \"Returns the number of
rows from the current row to the first row in the partition.\\n\\nExample (curre
nt row index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED
[dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an ag
gregate using only the specified dimensions.\",\"help-contents\": \"Computes an
aggregate using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"funcarg-types\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLO
AT(expression)\",\"func-tooltip\": \"Returns a float from an expression\",\"help
-contents\": \"Returns a float given an expression of any type. This function re
quires unformatted numbers which means exclude commas and other symbols. \\n\\n
Example: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[
\"boolean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR
(number)\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal o
r lesser value\",\"help-contents\": \"Rounds a number to the nearest integer of
equal or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"
],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\"
,\"func-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the
current user\",\"help-contents\": \"Returns the full name for the current user.
This is the Tableau Server or Tableau Online full name when the user is signed i
n; otherwise it is the local or network full name for the Tableau Desktop user.\
",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"nam
e\": \"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"R
eturns the x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Map
s an (x,y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false
},{\"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-toolti
p\": \"Returns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\
": \"Maps an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin.
The bins have side length 1, so the inputs may need to be scaled appropriately.\
",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\
": false},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2
> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical t
est and returns an appropriate value\",\"help-contents\": \"Tests a series of ex
pressions returning the <then> value for the first true <expr>. \\n\\nExample: I
F [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss
' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false}
,{\"name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\":

\"Returns expression1 if not null\",\"help-contents\": \"Returns <expr1> if it i


s not null, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"f
unc-grps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])
\",\"func-tooltip\": \"Evaluates a Boolean expression and returns one of two val
ues\",\"help-contents\": \"Checks whether a condition is met, and returns one va
lue if TRUE, another value if FALSE, and an optional third value or NULL if unkn
own. \\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic
\"],\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\"
: false},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : ag
gregate-expression }\",\"func-tooltip\": \"Computes an aggregate using the speci
fied dimensions and the view dimensions.\",\"help-contents\": \"Computes an aggr
egate using the specified dimensions and the view dimensions.\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"fu
nc-sig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row i
n the partition\",\"help-contents\": \"Returns the index of the current row in t
he partition.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",
\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an e
xpression and returns an integer\",\"help-contents\": \"Returns an integer given
an expression. This function truncates results to the closest integer toward ze
ro. \\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"]
,\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\"
,\"func-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string
is a valid date\",\"help-contents\": \"Returns true if a given string is a vali
d date. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str
\",\"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"
name\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"
Returns true if the current user's full name matches the specified name\",\"help
-contents\": \"Returns true if the current user's full name matches the specifie
d full name, or false if it does not match. This function uses the Tableau Serve
r or Tableau Online full name when the user is signed in; otherwise it uses the
local or network full name for the Tableau Desktop user.\",\"func-grps\":[\"user
\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMB
EROF\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if
the current user is a member of the specified group\",\"help-contents\": \"Retur
ns true if the current user is a member of the given group, false otherwise. Th
is uses the Tableau Server to resolve group membership if logged on, otherwise i
t always returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\
"],\"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(express
ion)\",\"func-tooltip\": \"Returns true if the specified expression is null\",\"
help-contents\": \"Returns true if the expression does not contain valid data (N
ull).\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-type
s\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\
": \"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's
name matches the specified user name\",\"help-contents\": \"Returns true if the
current user's username matches the specified username, or false if it does not
match. This function uses the Tableau Server or Tableau Online username when th
e user is signed in; otherwise it uses the local or network username for the Tab
leau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"
has-var-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-toolt
ip\": \"Returns the number of rows to the last row in the partition\",\"help-con
tents\": \"Returns the number of rows from the current row to the last row in th
e partition.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func
-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"
LEFT\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the
specified number of characters from the start of a string\",\"help-contents\":
\"Returns the specified number of characters from the start of the given string.
\\n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\":

\"LEN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of


characters in a string\",\"help-contents\": \"Returns the number of characters
in the given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"L
N\",\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarit
hm of a number\",\"help-contents\": \"Returns the natural logarithm of the given
number. Returns Null if the number is less than or equal to 0.\\n\\nExample: LN
(EXP(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-to
oltip\": \"Returns the logarithm of a number for the given base\",\"help-content
s\": \"Returns the logarithm of a number for the given base. If the base value i
s omitted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2)
= 8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-varargs\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset]
)\",\"func-tooltip\": \"Returns the value of the expression in a row offset from
current row\",\"help-contents\": \"Returns the value of the given expression in
a target row, specified as a relative offset from the current row. Use FIRST()+
n and LAST()-n for a target relative to the first/last rows in the partition. If
offset is omitted, the Compare To row may be set on the field menu. Returns NUL
L if the target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FI
RST( ) + 2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{
\"name\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns
a string in all lowercase characters\",\"help-contents\": \"Converts a text stri
ng to all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product
\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fa
lse},{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Re
turns a string with leading spaces removed\",\"help-contents\": \"Returns the st
ring with any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\
"Sales\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args
\": false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",
\"func-tooltip\": \"Returns a date value constructed from a year, a month and a
day of the month.\",\"help-contents\": \"Returns a date value constructed from a
year, a month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\"
,\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\
"],\"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATE
TIME(date, time)\",\"func-tooltip\": \"Returns a datetime by combining a date an
d a time\",\"help-contents\": \"Returns a date and time value given a date expre
ssion and a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:0
0#)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"hasvar-args\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute
, second)\",\"func-tooltip\": \"Returns a time value constructed from hours, min
utes and seconds.\",\"help-contents\": \"Returns a time value constructed from h
ours, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\
":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-varargs\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1,
expr2)\",\"func-tooltip\": \"Returns the maximum of an expression\",\"help-conte
nts\": \"Returns the maximum of a single expression across all records or the ma
ximum of two expressions for each record. \\n\\nExample: MAX([Sales])\",\"funcgrps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\"
,\"real\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN
(expression)\",\"func-tooltip\": \"Returns the median of an expression\",\"helpcontents\": \"Returns the median of a single expression. MEDIAN can be used with
numeric fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",
\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{
\"name\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\":
\"Returns the characters from the middle of a text string\",\"help-contents\":
\"Returns the characters from the middle of a text string given a starting posit
ion and a length. The first character in the string is position 1. If the length
is not included, all characters to the end of the string are returned. If the l

ength is included, up to that many characters are returned. \\n\\nExample: MID(\


\\"Tableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Sof
tware\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"st
r\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\":
\"MIN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimu
m of an expression\",\"help-contents\": \"Returns the minimum of an expression a
cross all records or the minimum of two expressions for each record. \\n\\nExam
ple: MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],
\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MON
TH\",\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of
the specified date as an integer\",\"help-contents\": \"Returns the month of a
given date as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\
":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\
": \"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"P
erforms logical negation on an expression\",\"help-contents\": \"Performs logica
l negation on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"
has-var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip
\": \"Returns the current date and time\",\"help-contents\": \"Returns the curre
nt date and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":
[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"fu
nc-sig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs
a logical disjunction on two expressions\",\"help-contents\": \"Performs a logi
cal disjunction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTI
LE(expression, number)\",\"func-tooltip\": \"Returns the percentile value at the
specified number\",\"help-contents\": \"Aggregate calculation that returns the
percentile value from the given expression corresponding to the specified number
. Valid values for the number are 0 through 1. PERCENTILE([expression], 0.50) wi
ll always return the median value in the expression.\\n\\nExample: PERCENTILE([S
ales], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"]
,\"has-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-toolti
p\": \"Returns the numeric constant pi\",\"help-contents\": \"Returns the numeri
c constant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\":
\"POWER(number,power)\",\"func-tooltip\": \"Raises the number to the specified
power\",\"help-contents\": \"Returns the result of a number raised to the given
power. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALU
E\",\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the
value of this calculation in the previous row\",\"help-contents\": \"Returns th
e value of this calculation in the previous row. Returns the given expression if
the current row is the first row of the partition.\\n\\nExample: SUM([Profit])
+ PREVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIO
US_VALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"funcarg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func
-sig\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to
radians\",\"help-contents\": \"Converts a number in degrees to radians.\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\"
: \"Returns the competition rank for the current partition row\",\"help-contents
\": \"Returns the standard competition rank for the current row in the partition
. Identical values are assigned an identical rank. Use the optional 'asc' | 'des
c' argument to specify ascending or descending order. The default order is desce
nding.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked
(1, 2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": f
alse},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'d
esc'])\",\"func-tooltip\": \"Returns the dense rank for the current partition ro
w\",\"help-contents\": \"Returns the dense rank for the current row in the parti
tion. Identical values are assigned an identical rank, but no gaps are inserted

into the number sequence. Use the optional 'asc' | 'desc' argument to specify as
cending or descending order. The default order is descending.\\n\\nWith this fun
ction, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending
order.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RAN
K_MODIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"functooltip\": \"Returns the modified competition rank for the current partition row
\",\"help-contents\": \"Returns the modified competition rank for the current ro
w in the partition. Identical values are assigned an identical rank. Use the opt
ional 'asc' | 'desc' argument to specify ascending or descending order. The defa
ult order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14
) would be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(A
VG([Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"lo
cstr\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"
RANK_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the pe
rcentile rank for the current partition row\",\"help-contents\": \"Returns the p
ercentile rank for the current row in the partition. Use the optional 'asc' | 'd
esc' argument to specify ascending or descending order. The default order is asc
ending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked
(25, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test S
core]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(
expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for th
e current partition row\",\"help-contents\": \"Returns the unique rank for the c
urrent row in the partition. Identical values are assigned different ranks. Use
the optional 'asc' | 'desc' argument to specify ascending or descending order. T
he default order is descending.\\n\\nWith this function, the set of values (6, 9
, 9, 14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNI
QUE() = 1 for the first row in the partition\",\"func-grps\":[\"table\"],\"funcarg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEX
P_EXTRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\":
\"Returns the portion of a string matching the capturing group in a regular expr
ession\",\"help-contents\": \"Returns a substring of the given string that match
es the capturing group within the regular expression pattern. The regular expre
ssion pattern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRAC
T('abc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-ar
g-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT
_NTH\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-toolt
ip\": \"Returns a substring of a string using a regular expression pattern\",\"h
elp-contents\": \"Returns a substring of the given string using the regular expr
ession pattern. The substring is matched to the nth capturing group, where n is
the given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\
\\\d+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\
",\"locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\":
\"REGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string
matches a regular expression\",\"help-contents\": \"Returns true if a substring
of the provided string matches the regular expression pattern. \\n\\nExample: RE
GEXP_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\
\\])') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"h
as-var-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLA
CE(string, pattern, replacement)\",\"func-tooltip\": \"Returns a string where su
bstrings matching a regular expression are replaced\",\"help-contents\": \"Retur
ns a copy of the given string where the matching pattern is substituted with the
replacement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = '
abc--123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"]
,\"has-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string,
substring, replacement)\",\"func-tooltip\": \"Replaces all instances of a subst
ring within a string\",\"help-contents\": \"Returns a string in which every occu
rrence of the substring is replaced with the replacement string. If the substrin
g is not found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\

\\", \\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"f


unc-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"
RIGHT\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns t
he specified number of characters from the end of a string\",\"help-contents\":
\"Returns the specified number of characters from the end of the given string.
\\n\\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\":
\"ROUND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds
a number to the specified number of places\",\"help-contents\": \"Rounds a numb
er to the nearest integer or to a specified number of decimal places. \\n\\nExam
ple: ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\",\"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM
(string)\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\
"help-contents\": \"Returns the string with any trailing spaces removed. \\n\\n
Example: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"fun
c-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"fu
nc-sig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running av
erage of an expression\",\"help-contents\": \"Returns the running average of the
given expression, from the first row in the partition to the current row.\\n\\n
Example: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\
": \"Returns the running count of an expression\",\"help-contents\": \"Returns t
he running count of the given expression, from the first row in the partition to
the current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of
SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-varargs\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression
)\",\"func-tooltip\": \"Returns the running maximum of an expression\",\"help-co
ntents\": \"Returns the running maximum of the given expression, from the first
row in the partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])
) = running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running
maximum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"intege
r\"],\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING
_MIN(expression)\",\"func-tooltip\": \"Returns the running minimum of an express
ion\",\"help-contents\": \"Returns the running minimum of the given expression,
from the first row in the partition to the current row.\\n\\nExample: RUNNING_MI
N(MIN([Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Prof
it])) = running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-s
ig\": \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of
an expression\",\"help-contents\": \"Returns the running sum of the given expre
ssion, from the first row in the partition to the current row.\\n\\nExample: RUN
NING_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT(
[Profit])) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig
\": \"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boole
an result from an R expression\",\"help-contents\": \"Returns a Boolean result f
rom a given R expression. The R expression is passed directly to a running Rserv
e instance. Use .arg# in the R expression to reference parameters. In the follow
ing example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.
finite(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCR
IPT_INT(string, expression, ...)\",\"func-tooltip\": \"Returns an integer result
from an R expression\",\"help-contents\": \"Returns an integer result from a gi
ven R expression. The R expression is passed directly to a running Rserve instan
ce. Use .arg# in the R expression to reference parameters. In the following exam
ple, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.
arg1 * 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT
_REAL(string, expression, ...)\",\"func-tooltip\": \"Returns a numeric result fr

om an R expression\",\"help-contents\": \"Returns a numeric result from a given


R expression. The R expression is passed directly to a running Rserve instance.
Use .arg# in the R expression to reference parameters. In the following example,
.arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\"
, SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"hasvar-args\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, e
xpression, ...)\",\"func-tooltip\": \"Returns a string result from an R expressi
on\",\"help-contents\": \"Returns a string result from a given R expression. The
R expression is passed directly to a running Rserve instance. Use .arg# in the
R expression to reference parameters. In the following example, .arg1 is equal t
o ATTR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([R
egion]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args
\": true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \
"Returns 1 for a positive number\",\"help-contents\": \"Returns the sign of a nu
mber: 1 if the number is positive, zero if the number is zero, or -1 if the numb
er is negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \
"SIN(angle)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents
\": \"Returns the sine of an angle. Specify the angle in radians.\\n\\nExample:
SIN(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"
real\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"
func-tooltip\": \"Returns the number of rows in the partition\",\"help-contents\
": \"Returns the number of rows in the partition.\\n\\nExample (partition has 5
rows):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tool
tip\": \"Returns a string containing the specified number of spaces\",\"help-con
tents\": \"Returns a string composed of the specified number of repeated spaces.
\\n\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types
\":[\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLI
T(string, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring fr
om a string\",\"help-contents\": \"Returns a substring from a string, as determi
ned by a delimiter extracting the characters from the beginning or end of the st
ring. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-cd', '-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locst
r\",\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQR
T(number)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-con
tents\": \"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"
name\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns
the square of a number\",\"help-contents\": \"Returns the square of a given numb
er. \\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[
\"real\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STA
RTSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the specified s
tring starts with the specified substring\",\"help-contents\": \"Returns true if
the string starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation
\\\", \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",
\"str\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(exp
ression)\",\"func-tooltip\": \"Returns the sample standard deviation for an expr
ession\",\"help-contents\": \"Returns the sample standard deviation of the expre
ssion.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDE
VP(expression)\",\"func-tooltip\": \"Returns the population standard deviation f
or an expression\",\"help-contents\": \"Returns the population standard deviatio
n of the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"
func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-s
ig\": \"STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\
",\"help-contents\": \"Returns a string given an expression. \\n\\nExample: STR
([Age]) returns all of the values of the Age measure as strings.\",\"func-grps\"
:[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\":
\"SUM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum o

f values in an expression\",\"help-contents\": \"Returns the sum of all the valu


es in the expression. SUM can be used with numeric fields only. Null values are
ignored.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(ang
le)\",\"func-tooltip\": \"Returns the tangent of an angle specified in radians\"
,\"help-contents\": \"Returns the tangent of an angle. Specify the angle in radi
ans.\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <ex
pr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-too
ltip\": \"Performs a logical test and returns an appropriate value\",\"help-cont
ents\": \"Tests a series of expressions returning the <then> value for the first
true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =
0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"
func-tooltip\": \"Returns the current date\",\"help-contents\": \"Returns the cu
rrent date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"
TOTAL(expression)\",\"func-tooltip\": \"Returns the total for an expression with
in the partition\",\"help-contents\": \"Returns the total for the given expressi
on.\\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that
contribute to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"in
teger\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(strin
g)\",\"func-tooltip\": \"Returns a string with leading and trailing spaces remov
ed\",\"help-contents\": \"Returns the string with both leading and trailing spac
es removed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grp
s\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \
"UPPER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in
all uppercase characters\",\"help-contents\": \"Converts a text string to all u
ppercase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"fu
nc-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"nam
e\": \"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns t
he domain for the current user\",\"help-contents\": \"Returns the domain for the
current user when the user is signed on to Tableau Server. Returns the Windows
domain if the Tableau Desktop user is on a domain. Otherwise this function retur
ns a null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-arg
s\": false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\
": \"Returns the user name for the current user\",\"help-contents\": \"Returns t
he username for the current user. This is the Tableau Server or Tableau Online u
sername when the user is signed in; otherwise it is the local or network usernam
e for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[]
,\"has-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\
"func-tooltip\": \"Returns the sample variance for an expression\",\"help-conten
ts\": \"Returns the sample variance of the expression.\\n\\nExample: VAR([Profit
])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"R
eturns the population variance for an expression\",\"help-contents\": \"Returns
the population variance of the expression.\\n\\nExample: VARP([Profit])\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE
<else>] END\",\"func-tooltip\": \"Performs logical tests and returns the appropr
iate value\",\"help-contents\": \"Finds the first <value> that matches <expr> an
d returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u
2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logi
c\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"
func-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns
the average of the values within the window\",\"help-contents\": \"Returns the
average of the expression within the window. The window is defined as offsets f
rom the current row. Use FIRST()+n and LAST()-n for offsets from the first or la
st row in the partition. If start and end are omitted, the entire partition is
used.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) fr

om the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-a


rg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\"
: \"WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"fu
nc-tooltip\": \"Returns the number of items within the window\",\"help-contents\
": \"Returns the count of the expression within the window. The window is defin
ed as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the entir
e partition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"ta
ble\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, e
nd])\",\"func-tooltip\": \"Returns the maximum within the window\",\"help-conten
ts\": \"Returns the maximum of the expression within the window. The window is
defined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets
from the first or last row in the partition. If start and end are omitted, the
entire partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maxim
um of Profit from the two previous rows to the current row\\n\\nExample: WINDOW_
MAX(SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to
the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"i
nteger\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"fu
nc-sig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Return
s the median within the window\",\"help-contents\": \"Returns the median of the
expression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the p
artition. If start and end are omitted, the entire partition is used.\\n\\nExam
ple: WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two pr
evious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MI
N\",\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"R
eturns the minimum within the window\",\"help-contents\": \"Returns the minimum
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i
n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two pr
evious rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) =
minimum of SUM(Profit) from the two previous rows to the current row\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"hasvar-args\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCE
NTILE(expression, number, [start, end])\",\"func-tooltip\": \"Returns the percen
tile value at the specified number\",\"help-contents\": \"Returns the value corr
esponding to the specified percentile within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire p
artition is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0))
= 75th percentile of SUM(Profit) from the two previous rows to the current row\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\"
,\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\":
\"WINDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the samp
le standard deviation within the window\",\"help-contents\": \"Returns the sampl
e standard deviation of the expression within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from th
e first or last row in the partition. If start and end are omitted, the entire
partition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev.
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [
start, end])\",\"func-tooltip\": \"Returns the population standard deviation wit
hin the window\",\"help-contents\": \"Returns the population standard deviation
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i

n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from
the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-argtypes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \
"WINDOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tool
tip\": \"Returns the sum of values within the window\",\"help-contents\": \"Retu
rns the sum of the expression within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) fr
om the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"nam
e\": \"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"fun
c-tooltip\": \"Returns the sample variance within the window\",\"help-contents\"
: \"Returns the sample variance of the expression within the window. The window
is defined as offsets from the current row. Use FIRST()+n and LAST()-n for offs
ets from the first or last row in the partition. If start and end are omitted,
the entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = v
ariance of SUM(Profit) from the two previous rows to the current row\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var
-args\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expressio
n, [start, end])\",\"func-tooltip\": \"Returns the population variance within th
e window\",\"help-contents\": \"Returns the population variance of the expressio
n within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WIND
OW_VARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous ro
ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\
": \"YEAR(date)\",\"func-tooltip\": \"Returns the year of the specified date as
an integer\",\"help-contents\": \"Returns the year of a given date as an integer
. \\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-ar
g-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\"
: \"ZN(expression)\",\"func-tooltip\": \"Returns the expression if it is not nul
l\",\"help-contents\": \"Returns <expression> if it is not null, otherwise retur
ns zero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func
-arg-types\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \
"calculation-dialog\",\"use-parameters\": true} position=\"9\"","name":"tabdoc:c
alculation-auto-complete"}}
{"ts":"2016-09-29T17:02:02.877","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED \"
calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"cal
culation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculation_548988
8009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{FIXED re\"
,\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"folder-na
me\": \"\",\"add-to-folder\": false,\"folder-role\": \"dimensions\",\"has-tablecalc-data\": false,\"table-calc-types-used\": 0,\"style-token-list\":[],\"errorstring\": \"Error in calculation:\\n\\nExpected comma or colon in the dimensiona
lity declaration.\\n\\nWould you like to correct the calculation?\",\"error-info
-list\":[{\"start-position-for-error\": 8,\"length-of-calc-of-error\": 1,\"error
-message\": \"Expected comma or colon in the dimensionality declaration.\"}],\"e
xpression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func-sig\":
\"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a number\",\"h
elp-contents\": \"Returns the absolute value of the given number. \\n\\nExample:
ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-tooltip\
": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns the arc c
osine of a number. The result is in radians. \\n\\nExample: ACOS(-1) = 3.141592
65358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\

": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN <then>


END\",\"func-tooltip\": \"Performs a logical conjunction on two expressions\",\"
help-contents\": \"Performs a logical conjunction on two expressions\",\"func-gr
ps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ASC
II\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASCII code
for the first character in a string\",\"help-contents\": \"Returns the ASCII cod
e value of the first character in a string. \\n\\nExample: ASCII(\\\"authors\\\"
) = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\":
false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\": \"Re
turns the arc sine of a number\",\"help-contents\": \"Returns the arc sine of a
number. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267949\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"
name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Returns the
arc tangent of a number\",\"help-contents\": \"Returns the arc tangent of a numb
er. The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408283942\",\"f
unc-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n
ame\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tooltip\": \
"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns the arc t
angent of two given numbers (x and y). The result is in radians. \\n\\nExample:
ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"
real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig\": \"AT
TR(expression)\",\"func-tooltip\": \"Returns the value of the expression if it h
as one value for all rows\",\"help-contents\": \"Returns the value of the given
expression if it only has a single value for all rows in the group, otherwise it
displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([Market])
\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": fa
lse},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip\": \"Re
turns the average of the values in the expression\",\"help-contents\": \"Returns
the average of all the values in the expression. AVG can be used with numeric f
ields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"func-grps\"
:[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"C
ASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>]
END\",\"func-tooltip\": \"Performs logical tests and returns the appropriate va
lue\",\"help-contents\": \"Finds the first <value> that matches <expr> and retur
ns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u
2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"
func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"func-sig\"
: \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest integer
of equal or greater value\",\"help-contents\": \"Rounds a number to the nearest
integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts an inte
ger ASCII code into a character\",\"help-contents\": \"Converts the given intege
r ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CONTA
INS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"Returns
true if a string contains the specified substring\",\"help-contents\": \"Returns
true if the string contains the substring. \\n\\nExample: CONTAINS(\\\"Calculat
ion\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"s
tr\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\": \"COS(an
gle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in radians\"
,\"help-contents\": \"Returns the cosine of an angle. Specify the angle in radia
ns.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"fu
nc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"func-sig
\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle specifi
ed in radians\",\"help-contents\": \"Returns the cotangent of an angle. Specify
the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"num\"],\"
func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\",\"func
-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of items in
the expression\",\"help-contents\": \"Returns the number of items in a group. N

ULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func-grps\":[


\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"
COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Returns the nu
mber of distinct items in the expression\",\"help-contents\": \"Returns the numb
er of distinct items in a group. NULL values are not counted. Each unique value
is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"agg\"],
\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"DATE\",\"
func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from a numbe
r\",\"help-contents\": \"Returns a date given a number, string, or date expressi
on. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote that the
quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"
str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"DATEADD(d
ate_part, interval, date)\",\"func-tooltip\": \"Returns the specified date incre
mented by the specified amount\",\"help-contents\": \"Adds an increment to the s
pecified date and returns the new date. The increment is defined by the interval
and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2004-07-1
5 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"intege
r\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"func-sig\":
\"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-tooltip\"
: \"Returns the difference between two dates\",\"help-contents\": \"Returns the
difference between two dates where start_date is subtracted from end_date. The d
ifference is expressed in units of date_part. If start_of_week is omitted, the w
eek start day is determined by the start day configured for the data source.\\n\
\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\",\"func
-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetime\",\"lo
cstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \"DATENAM
E(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part of the
specified date as a string\",\"help-contents\": \"Returns a part of the given da
te as a string, where the part is defined by date_part. If start_of_week is omit
ted, the week start day is determined by the start day configured for the data s
ource.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"func-gr
ps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-va
r-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(format, stri
ng)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents\": \"Con
verts a string to a date in the specified format. \\n\\nExample: DATEPARSE (\\\"
dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"func-grps\
":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": false},{\
"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_of_week])
\",\"func-tooltip\": \"Returns the specified part of a date as an integer\",\"he
lp-contents\": \"Returns a part of the given date as an integer where the part i
s defined by date_part. If start_of_week is omitted, the week start day is deter
mined by the start day configured for the data source.\\n\\nExample: DATEPART('m
onth', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr
\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETIME\",\"f
unc-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datetime from
a number\",\"help-contents\": \"Returns a datetime given a number, string, or da
te expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\") \\nNot
e that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-t
ypes\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"func-sig\":
\"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Truncates t
he specified date to the specified accuracy\",\"help-contents\": \"Truncates the
specified date to the accuracy specified by the date_part and returns the new d
ate. If start_of_week is omitted, the week start day is determined by the start
day configured for the data source.\\n\\nExample: DATETRUNC('quarter', #2004-0815#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"l
ocstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DAY\",\"f
unc-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the specifi
ed date as an integer\",\"help-contents\": \"Returns the day of the given date a
s an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"date\"],
\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"DEGREES\

",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value in radi


ans to degrees\",\"help-contents\": \"Converts a number in radians to degrees.\\
n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"DIV(inte
ger, integer)\",\"func-tooltip\": \"Returns the integer part of a division opera
tion\",\"help-contents\": \"Returns the integer part of a division.\\n\\nExample
: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer\",\"int
eger\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <expr> T
HEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\
": \"Performs a logical test and returns an appropriate value\",\"help-contents\
": \"Tests a series of expressions returning the <then> value for the first true
<expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 TH
EN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[]
,\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr> THEN <
then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"
Performs a logical test and returns an appropriate value\",\"help-contents\": \"
Tests a series of expressions returning the <then> value for the first true <exp
r>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'B
reakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <then> [E
LSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs
a logical test and returns an appropriate value\",\"help-contents\": \"Tests a
series of expressions returning the <then> value for the first true <expr>. \\n\
\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven
' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-ar
gs\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, substring)
\",\"func-tooltip\": \"Returns true if the specified string ends with the specif
ied substring\",\"help-contents\": \"Returns true if the string ends with the su
bstring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Calculatio
n\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\
",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\": \"{ EXC
LUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes a
n aggregate excluding the specified dimensions if present in the view.\",\"helpcontents\": \"Computes an aggregate excluding the specified dimensions if presen
t in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\": \"Ret
urns e raised to the power of a number\",\"help-contents\": \"Returns e raised t
o the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-grps\":[\
"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FIND
\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\": \"Return
s the position of a substring within a string\",\"help-contents\": \"Returns the
position of a substring within a string, or 0 if the substring isn't found. If
the start argument is defined, any instances of substring that appear before the
start position are ignored. The first character in the string is position 1. \\
n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\":[\"str\
"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"nam
e\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\",\"func
-tooltip\": \"Returns the position of the nth occurrence a substring within a st
ring\",\"help-contents\": \"Returns the position of the nth occurrence of a subs
tring within a string, or 0 if that occurrence of the substring isn't found. The
first character in the string is position 1. \\n\\nExample: FINDNTH(\\\"Calcula
tion\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\
",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func-sig\":
\"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the first row
in the partition\",\"help-contents\": \"Returns the number of rows from the cur
rent row to the first row in the partition.\\n\\nExample (current row index is 3
of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"hasvar-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[, dim2]...
] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate using onl
y the specified dimensions.\",\"help-contents\": \"Computes an aggregate using o

nly the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"


has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expression)\",
\"func-tooltip\": \"Returns a float from an expression\",\"help-contents\": \"Re
turns a float given an expression of any type. This function requires unformatte
d numbers which means exclude commas and other symbols. \\n\\nExample: FLOAT(\\
\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"ha
s-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\",\"func
-tooltip\": \"Rounds a number to the nearest integer of equal or lesser value\",
\"help-contents\": \"Rounds a number to the nearest integer of equal or lesser v
alue. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func-arg-type
s\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-sig\": \"
FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current user\",\"
help-contents\": \"Returns the full name for the current user. This is the Table
au Server or Tableau Online full name when the user is signed in; otherwise it i
s the local or network full name for the Tableau Desktop user.\",\"func-grps\":[
\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HEXBINX\",
\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns the x-coor
dinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordi
nate to the x-coordinate of the nearest hexagonal bin. The bins have side length
1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[\"num\"]
,\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"HE
XBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Returns th
e y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y
) coordinate to the y-coordinate of the nearest hexagonal bin. The bins have sid
e length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name
\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ..
.] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and returns a
n appropriate value\",\"help-contents\": \"Tests a series of expressions returni
ng the <then> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 TH
EN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-gr
ps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IFN
ULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns express
ion1 if not null\",\"help-contents\": \"Returns <expr1> if it is not null, other
wise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\":[\"log
ic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"n
ame\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func-tooltip
\": \"Evaluates a Boolean expression and returns one of two values\",\"help-cont
ents\": \"Checks whether a condition is met, and returns one value if TRUE, anot
her value if FALSE, and an optional third value or NULL if unknown. \\n\\nExampl
e: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"func-arg-ty
pes\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},{\"name\
": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-expressio
n }\",\"func-tooltip\": \"Computes an aggregate using the specified dimensions a
nd the view dimensions.\",\"help-contents\": \"Computes an aggregate using the s
pecified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\"func-ar
g-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\": \"INDEX
()\",\"func-tooltip\": \"Returns the index of the current row in the partition\"
,\"help-contents\": \"Returns the index of the current row in the partition.\\n\
\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-grps\":[\"
table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT\",\"fun
c-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression and ret
urns an integer\",\"help-contents\": \"Returns an integer given an expression. T
his function truncates results to the closest integer toward zero. \\n\\nExample
: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-arg-types
\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-sig\": \"
ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a valid date\
",\"help-contents\": \"Returns true if a given string is a valid date. \\n\\nEx
ample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date\",\"log
ic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"ISFULLN

AME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns true if t


he current user's full name matches the specified name\",\"help-contents\": \"Re
turns true if the current user's full name matches the specified full name, or f
alse if it does not match. This function uses the Tableau Server or Tableau Onli
ne full name when the user is signed in; otherwise it uses the local or network
full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-ty
pes\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"func-sig
\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the current user
is a member of the specified group\",\"help-contents\": \"Returns true if the cu
rrent user is a member of the given group, false otherwise. This uses the Table
au Server to resolve group membership if logged on, otherwise it always returns
false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args
\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"func-too
ltip\": \"Returns true if the specified expression is null\",\"help-contents\":
\"Returns true if the expression does not contain valid data (Null).\\n\\nExampl
e: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\"]
,\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUSERNAME(s
tring)\",\"func-tooltip\": \"Returns true if the current user's name matches the
specified user name\",\"help-contents\": \"Returns true if the current user's u
sername matches the specified username, or false if it does not match. This func
tion uses the Tableau Server or Tableau Online username when the user is signed
in; otherwise it uses the local or network username for the Tableau Desktop user
.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": f
alse},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"Returns t
he number of rows to the last row in the partition\",\"help-contents\": \"Return
s the number of rows from the current row to the last row in the partition.\\n\\
nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[\"table\
"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"func-sig
\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specified number
of characters from the start of a string\",\"help-contents\": \"Returns the spe
cified number of characters from the start of the given string. \\n\\nExample:
LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",\"func-s
ig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of characters in a
string\",\"help-contents\": \"Returns the number of characters in the given stri
ng. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\"],\"fun
c-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"func-sig\":
\"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a number\",
\"help-contents\": \"Returns the natural logarithm of the given number. Returns
Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5)) = 5\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"
name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\": \"Return
s the logarithm of a number for the given base\",\"help-contents\": \"Returns th
e logarithm of a number for the given base. If the base value is omitted, base 1
0 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"func-grp
s\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\
"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"func-toolti
p\": \"Returns the value of the expression in a row offset from current row\",\"
help-contents\": \"Returns the value of the given expression in a target row, sp
ecified as a relative offset from the current row. Use FIRST()+n and LAST()-n fo
r a target relative to the first/last rows in the partition. If offset is omitte
d, the Compare To row may be set on the field menu. Returns NULL if the target r
ow cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) + 2) = SU
M(Profit) in the third row of the partition\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"LOWER
\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string in all l
owercase characters\",\"help-contents\": \"Converts a text string to all lowerca
se letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"func-grp
s\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \
"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a string wi

th leading spaces removed\",\"help-contents\": \"Returns the string with any lea


ding spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\"\",\"fu
nc-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"nam
e\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-tooltip\":
\"Returns a date value constructed from a year, a month and a day of the month.
\",\"help-contents\": \"Returns a date value constructed from a year, a month an
d a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-grps\":[\
"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args
\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date, time)\
",\"func-tooltip\": \"Returns a datetime by combining a date and a time\",\"help
-contents\": \"Returns a date and time value given a date expression and a time
expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"func-grps
\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\": false
},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)\",\"fun
c-tooltip\": \"Returns a time value constructed from hours, minutes and seconds.
\",\"help-contents\": \"Returns a time value constructed from hours, minutes and
seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast\"],\"fu
nc-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",\"func-t
ooltip\": \"Returns the maximum of an expression\",\"help-contents\": \"Returns
the maximum of a single expression across all records or the maximum of two expr
essions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\"num\",\
"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"hasvar-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expression)\",\"
func-tooltip\": \"Returns the median of an expression\",\"help-contents\": \"Ret
urns the median of a single expression. MEDIAN can be used with numeric fields o
nly. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-grps\":[\"
agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"MID\"
,\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Returns the ch
aracters from the middle of a text string\",\"help-contents\": \"Returns the cha
racters from the middle of a text string given a starting position and a length.
The first character in the string is position 1. If the length is not included,
all characters to the end of the string are returned. If the length is included
, up to that many characters are returned. \\n\\nExample: MID(\\\"Tableau Softwa
re\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\",2,4) =
\\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\",\"re
al\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(expression
) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an expressio
n\",\"help-contents\": \"Returns the minimum of an expression across all records
or the minimum of two expressions for each record. \\n\\nExample: MIN([Profit]
)\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\
":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"func-sig\"
: \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the specified da
te as an integer\",\"help-contents\": \"Returns the month of a given date as an
integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date\"],\"fu
nc-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\",\"func
-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs logical n
egation on an expression\",\"help-contents\": \"Performs logical negation on an
expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": f
alse},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Returns the
current date and time\",\"help-contents\": \"Returns the current date and time.
\\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"],\"func
-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\": \"IF <e
xpr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical disjun
ction on two expressions\",\"help-contents\": \"Performs a logical disjunction o
n two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-ar
gs\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expression, nu
mber)\",\"func-tooltip\": \"Returns the percentile value at the specified number
\",\"help-contents\": \"Aggregate calculation that returns the percentile value
from the given expression corresponding to the specified number. Valid values fo

r the number are 0 through 1. PERCENTILE([expression], 0.50) will always return


the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.90)\",\"
func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-var-args\"
: false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Returns th
e numeric constant pi\",\"help-contents\": \"Returns the numeric constant pi.\\n
\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(number,p
ower)\",\"func-tooltip\": \"Raises the number to the specified power\",\"help-co
ntents\": \"Returns the result of a number raised to the given power. \\n\\nExam
ple: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\
",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"func-sig\":
\"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of this ca
lculation in the previous row\",\"help-contents\": \"Returns the value of this c
alculation in the previous row. Returns the given expression if the current row
is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOUS_VALUE(
0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(1) = run
ning product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"in
teger\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \"RADIANS
(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\",\"helpcontents\": \"Converts a number in degrees to radians.\",\"func-grps\":[\"num\"]
,\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RANK\",\"fu
nc-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the c
ompetition rank for the current partition row\",\"help-contents\": \"Returns the
standard competition rank for the current row in the partition. Identical value
s are assigned an identical rank. Use the optional 'asc' | 'desc' argument to sp
ecify ascending or descending order. The default order is descending.\\n\\nWith
this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 4) in a
scending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\":
\"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",\"func-t
ooltip\": \"Returns the dense rank for the current partition row\",\"help-conten
ts\": \"Returns the dense rank for the current row in the partition. Identical v
alues are assigned an identical rank, but no gaps are inserted into the number s
equence. Use the optional 'asc' | 'desc' argument to specify ascending or descen
ding order. The default order is descending.\\n\\nWith this function, the set of
values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\n\\nExam
ple: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIED\",\"fu
nc-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retu
rns the modified competition rank for the current partition row\",\"help-content
s\": \"Returns the modified competition rank for the current row in the partitio
n. Identical values are assigned an identical rank. Use the optional 'asc' | 'de
sc' argument to specify ascending or descending order. The default order is desc
ending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked
(1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velocity]))\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var
-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERCENTILE(e
xpression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile rank for
the current partition row\",\"help-contents\": \"Returns the percentile rank fo
r the current row in the partition. Use the optional 'asc' | 'desc' argument to
specify ascending or descending order. The default order is ascending.\\n\\nWith
this function, the set of values (6, 9, 9, 14) would be ranked (25, 75, 75, 100
) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\":
false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expression, ['asc
'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the current partiti
on row\",\"help-contents\": \"Returns the unique rank for the current row in the
partition. Identical values are assigned different ranks. Use the optional 'asc
' | 'desc' argument to specify ascending or descending order. The default order
is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be

ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1 for the


first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"in
teger\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT\",\"fun
c-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns the por
tion of a string matching the capturing group in a regular expression\",\"help-c
ontents\": \"Returns a substring of the given string that matches the capturing
group within the regular expression pattern. The regular expression pattern req
uires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 123', '[az]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\
",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"func-sig
\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"Returns a
substring of a string using a regular expression pattern\",\"help-contents\": \
"Returns a substring of the given string using the regular expression pattern.
The substring is matched to the nth capturing group, where n is the given index.
\\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)', 2) = '12
3'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locint\"],\"h
as-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP_MATCH(s
tring, pattern)\",\"func-tooltip\": \"Returns true if a string matches a regular
expression\",\"help-contents\": \"Returns true if a substring of the provided s
tring matches the regular expression pattern. \\n\\nExample: REGEXP_MATCH('-([12
34].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') = true\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": fa
lse},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string, patter
n, replacement)\",\"func-tooltip\": \"Returns a string where substrings matching
a regular expression are replaced\",\"help-contents\": \"Returns a copy of the
given string where the matching pattern is substituted with the replacement stri
ng. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'\",\"fun
c-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\"
: false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substring, repla
cement)\",\"func-tooltip\": \"Replaces all instances of a substring within a str
ing\",\"help-contents\": \"Returns a string in which every occurrence of the sub
string is replaced with the replacement string. If the substring is not found, t
he string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"ion\\\",
\\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[
\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\"func-si
g\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specified numb
er of characters from the end of a string\",\"help-contents\": \"Returns the spe
cified number of characters from the end of the given string. \\n\\nExample: RI
GHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\",\"funcsig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number to the
specified number of places\",\"help-contents\": \"Rounds a number to the nearest
integer or to a specified number of decimal places. \\n\\nExample: ROUND(3.1415
, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"ha
s-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\",\"func
-tooltip\": \"Returns a string with trailing spaces removed\",\"help-contents\":
\"Returns the string with any trailing spaces removed. \\n\\nExample: RTRIM(\\
\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"
str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\": \"RUNNI
NG_AVG(expression)\",\"func-tooltip\": \"Returns the running average of an expre
ssion\",\"help-contents\": \"Returns the running average of the given expression
, from the first row in the partition to the current row.\\n\\nExample: RUNNING_
AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING_COUN
T\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Returns the
running count of an expression\",\"help-contents\": \"Returns the running count
of the given expression, from the first row in the partition to the current row.
\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profit)\",\"f
unc-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\
"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"func-toolti

p\": \"Returns the running maximum of an expression\",\"help-contents\": \"Retur


ns the running maximum of the given expression, from the first row in the partit
ion to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = running maxim
um of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum of SUM(P
rofit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expression)\
",\"func-tooltip\": \"Returns the running minimum of an expression\",\"help-cont
ents\": \"Returns the running minimum of the given expression, from the first ro
w in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Profit]))
= running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = running m
inimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\
"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"RUNNING_S
UM(expression)\",\"func-tooltip\": \"Returns the running sum of an expression\",
\"help-contents\": \"Returns the running sum of the given expression, from the f
irst row in the partition to the current row.\\n\\nExample: RUNNING_SUM(SUM([Pro
fit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])) = runn
ing count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"]
,\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCRIPT_BOOL
(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result from an
R expression\",\"help-contents\": \"Returns a Boolean result from a given R exp
ression. The R expression is passed directly to a running Rserve instance. Use .
arg# in the R expression to reference parameters. In the following example, .arg
1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.arg1)\\\"
, SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"hasvar-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(string, e
xpression, ...)\",\"func-tooltip\": \"Returns an integer result from an R expres
sion\",\"help-contents\": \"Returns an integer result from a given R expression.
The R expression is passed directly to a running Rserve instance. Use .arg# in
the R expression to reference parameters. In the following example, .arg1 is equ
al to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)\\\", SU
M([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-varargs\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(string, exp
ression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R expressio
n\",\"help-contents\": \"Returns a numeric result from a given R expression. The
R expression is passed directly to a running Rserve instance. Use .arg# in the
R expression to reference parameters. In the following example, .arg1 is equal t
o SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Profit]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true}
,{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression, ...)\"
,\"func-tooltip\": \"Returns a string result from an R expression\",\"help-conte
nts\": \"Returns a string result from a given R expression. The R expression is
passed directly to a running Rserve instance. Use .arg# in the R expression to r
eference parameters. In the following example, .arg1 is equal to ATTR([Region]).
\\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\",\"func
-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name
\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns 1 for a
positive number\",\"help-contents\": \"Returns the sign of a number: 1 if the nu
mber is positive, zero if the number is zero, or -1 if the number is negative.\\
n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angle)\",\"f
unc-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Returns the
sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/4) = 0.7
07106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tooltip\": \
"Returns the number of rows in the partition\",\"help-contents\": \"Returns the
number of rows in the partition.\\n\\nExample (partition has 5 rows):\\nSIZE( )
= 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{
\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"Returns
a string containing the specified number of spaces\",\"help-contents\": \"Return
s a string composed of the specified number of repeated spaces. \\n\\nExample: S

PACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"h


as-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string, delimit
er, token number)\",\"func-tooltip\": \"Extracts a substring from a string\",\"h
elp-contents\": \"Returns a substring from a string, as determined by a delimite
r extracting the characters from the beginning or end of the string. \\n\\nExamp
le: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-', -2) = 'c
'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"locint\"],\
"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)\",\"fun
c-tooltip\": \"Returns the square root of a number\",\"help-contents\": \"Return
s the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps\":[\"nu
m\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SQUARE\
",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the square of a n
umber\",\"help-contents\": \"Returns the square of a given number. \\n\\nExample
: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-v
ar-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(string, s
ubstring)\",\"func-tooltip\": \"Returns true if the specified string starts with
the specified substring\",\"help-contents\": \"Returns true if the string start
s with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\"Ca\\\")
is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-va
r-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\",\"func
-tooltip\": \"Returns the sample standard deviation for an expression\",\"help-c
ontents\": \"Returns the sample standard deviation of the expression.\\n\\nExamp
le: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"ha
s-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expression)\",
\"func-tooltip\": \"Returns the population standard deviation for an expression\
",\"help-contents\": \"Returns the population standard deviation of the expressi
on.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":
[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"STR(expre
ssion)\",\"func-tooltip\": \"Returns an expression as a string\",\"help-contents
\": \"Returns a string given an expression. \\n\\nExample: STR([Age]) returns a
ll of the values of the Age measure as strings.\",\"func-grps\":[\"cast\"],\"fun
c-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",\"func-s
ig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values in an ex
pression\",\"help-contents\": \"Returns the sum of all the values in the express
ion. SUM can be used with numeric fields only. Null values are ignored.\\n\\nExa
mple: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"ha
s-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"func-tool
tip\": \"Returns the tangent of an angle specified in radians\",\"help-contents\
": \"Returns the tangent of an angle. Specify the angle in radians.\\n\\nExample
: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"ha
s-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN <then> [
ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Perform
s a logical test and returns an appropriate value\",\"help-contents\": \"Tests a
series of expressions returning the <then> value for the first true <expr>. \\n
\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeve
n' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-a
rgs\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tooltip\": \
"Returns the current date\",\"help-contents\": \"Returns the current date. \\n\
\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-types\":[]
,\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(expression)
\",\"func-tooltip\": \"Returns the total for an expression within the partition\
",\"help-contents\": \"Returns the total for the given expression.\\n\\nExample:
TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribute to the
partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-va
r-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"func-toolt
ip\": \"Returns a string with leading and trailing spaces removed\",\"help-conte
nts\": \"Returns the string with both leading and trailing spaces removed. \\n\\
nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"str\"],\"f
unc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",\"func-s
ig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all uppercase ch

aracters\",\"help-contents\": \"Converts a text string to all uppercase letters.


\\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\":[\"str\
"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"USERDOMAIN
\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain for the
current user\",\"help-contents\": \"Returns the domain for the current user whe
n the user is signed on to Tableau Server. Returns the Windows domain if the Tab
leau Desktop user is on a domain. Otherwise this function returns a null string.
\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"na
me\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Returns the
user name for the current user\",\"help-contents\": \"Returns the username for t
he current user. This is the Tableau Server or Tableau Online username when the
user is signed in; otherwise it is the local or network username for the Tableau
Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\"
: false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-tooltip\":
\"Returns the sample variance for an expression\",\"help-contents\": \"Returns t
he sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"func-grps\
":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns the popula
tion variance for an expression\",\"help-contents\": \"Returns the population va
riance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[\"agg\"]
,\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHEN\",\"fu
nc-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"f
unc-tooltip\": \"Performs logical tests and returns the appropriate value\",\"he
lp-contents\": \"Finds the first <value> that matches <expr> and returns the cor
responding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN
1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\": \"WIN
DOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the average of t
he values within the window\",\"help-contents\": \"Returns the average of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the two previo
us rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"rea
l\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_COUNT\
",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-tooltip\": \"R
eturns the number of items within the window\",\"help-contents\": \"Returns the
count of the expression within the window. The window is defined as offsets fro
m the current row. Use FIRST()+n and LAST()-n for offsets from the first or last
row in the partition. If start and end are omitted, the entire partition is us
ed.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Profit) from
the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg
-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"func-too
ltip\": \"Returns the maximum within the window\",\"help-contents\": \"Returns t
he maximum of the expression within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Profit from
the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([Profit])
, -2, 0) = maximum of SUM(Profit) from the two previous rows to the current row\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"intege
r\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\": \"WINDO
W_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the median with
in the window\",\"help-contents\": \"Returns the median of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()
+n and LAST()-n for offsets from the first or last row in the partition. If sta
rt and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_MEDIA
N(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous rows to th
e current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer

\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"func-sig\":


\"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns the minimu
m within the window\",\"help-contents\": \"Returns the minimum of the expression
within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WINDO
W_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous rows to th
e current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum of SUM(Pr
ofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false
},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(expression,
number, [start, end])\",\"func-tooltip\": \"Returns the percentile value at the
specified number\",\"help-contents\": \"Returns the value corresponding to the
specified percentile within the window. The window is defined as offsets from t
he current row. Use FIRST()+n and LAST()-n for offsets from the first or last ro
w in the partition. If start and end are omitted, the entire partition is used.
\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th percentil
e of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[
\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integer\"],\"h
as-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW_STDEV(e
xpression, [start, end])\",\"func-tooltip\": \"Returns the sample standard devia
tion within the window\",\"help-contents\": \"Returns the sample standard deviat
ion of the expression within the window. The window is defined as offsets from
the current row. Use FIRST()+n and LAST()-n for offsets from the first or last r
ow in the partition. If start and end are omitted, the entire partition is used
.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) fr
om the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\"
: \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, end])\",\"
func-tooltip\": \"Returns the population standard deviation within the window\",
\"help-contents\": \"Returns the population standard deviation of the expression
within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WINDO
W_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two previous
rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"
,\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_SUM\",\"f
unc-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"Returns
the sum of values within the window\",\"help-contents\": \"Returns the sum of th
e expression within the window. The window is defined as offsets from the curre
nt row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the
partition. If start and end are omitted, the entire partition is used.\\n\\nEx
ample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the two previo
us rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"int
eger\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_VAR
\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip\": \"Re
turns the sample variance within the window\",\"help-contents\": \"Returns the s
ample variance of the expression within the window. The window is defined as of
fsets from the current row. Use FIRST()+n and LAST()-n for offsets from the firs
t or last row in the partition. If start and end are omitted, the entire partit
ion is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance of SUM(Pr
ofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{
\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start, end])\
",\"func-tooltip\": \"Returns the population variance within the window\",\"help
-contents\": \"Returns the population variance of the expression within the wind
ow. The window is defined as offsets from the current row. Use FIRST()+n and LA
ST()-n for offsets from the first or last row in the partition. If start and en
d are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(SUM([Prof
it]), -2, 0) = variance of SUM(Profit) from the two previous rows to the current

row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"inte
ger\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR(date)\"
,\"func-tooltip\": \"Returns the year of the specified date as an integer\",\"he
lp-contents\": \"Returns the year of a given date as an integer. \\n\\nExample:
YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"date
time\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(expression
)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"help-conten
ts\": \"Returns <expression> if it is not null, otherwise returns zero. \\n\\nE
xample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-types\":[\"i
nteger\"],\"has-var-args\": false}]},\"calculation-context\": \"calculation-dial
og\",\"use-parameters\": true} position=\"7\"","name":"tabdoc:calculation-auto-c
omplete"}}
{"ts":"2016-09-29T17:02:02.877","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED \"
calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l\",\"ca
lculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculation_54898
88009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{FIXED re\
",\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"folder-n
ame\": \"\",\"add-to-folder\": false,\"folder-role\": \"dimensions\",\"has-table
-calc-data\": false,\"table-calc-types-used\": 0,\"style-token-list\":[],\"error
-string\": \"Error in calculation:\\n\\nExpected comma or colon in the dimension
ality declaration.\\n\\nWould you like to correct the calculation?\",\"error-inf
o-list\":[{\"start-position-for-error\": 8,\"length-of-calc-of-error\": 1,\"erro
r-message\": \"Expected comma or colon in the dimensionality declaration.\"}],\"
expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func-sig\":
\"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a number\",\"
help-contents\": \"Returns the absolute value of the given number. \\n\\nExample
: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-varargs\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-tooltip
\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns the arc
cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) = 3.14159
265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args
\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN <then>
END\",\"func-tooltip\": \"Performs a logical conjunction on two expressions\",\
"help-contents\": \"Performs a logical conjunction on two expressions\",\"func-g
rps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"AS
CII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASCII code
for the first character in a string\",\"help-contents\": \"Returns the ASCII co
de value of the first character in a string. \\n\\nExample: ASCII(\\\"authors\\\
") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\":
false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\": \"R
eturns the arc sine of a number\",\"help-contents\": \"Returns the arc sine of a
number. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267949\",\
"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\
"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Returns the
arc tangent of a number\",\"help-contents\": \"Returns the arc tangent of a num
ber. The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408283942\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"
name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tooltip\":
\"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns the arc
tangent of two given numbers (x and y). The result is in radians. \\n\\nExample
: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-types\":[\
"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig\": \"A
TTR(expression)\",\"func-tooltip\": \"Returns the value of the expression if it
has one value for all rows\",\"help-contents\": \"Returns the value of the given
expression if it only has a single value for all rows in the group, otherwise i
t displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([Market]
)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": f
alse},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip\": \"R

eturns the average of the values in the expression\",\"help-contents\": \"Return


s the average of all the values in the expression. AVG can be used with numeric
fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"func-grps\
":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>
] END\",\"func-tooltip\": \"Performs logical tests and returns the appropriate v
alue\",\"help-contents\": \"Finds the first <value> that matches <expr> and retu
rns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\
u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"func-sig\
": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest intege
r of equal or greater value\",\"help-contents\": \"Rounds a number to the neares
t integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts an int
eger ASCII code into a character\",\"help-contents\": \"Converts the given integ
er ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-grps\":[\
"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CONT
AINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"Returns
true if a string contains the specified substring\",\"help-contents\": \"Return
s true if the string contains the substring. \\n\\nExample: CONTAINS(\\\"Calcula
tion\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"
str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\": \"COS(a
ngle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in radians\
",\"help-contents\": \"Returns the cosine of an angle. Specify the angle in radi
ans.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"f
unc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"func-si
g\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle specif
ied in radians\",\"help-contents\": \"Returns the cotangent of an angle. Specify
the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"num\"],\
"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\",\"fun
c-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of items i
n the expression\",\"help-contents\": \"Returns the number of items in a group.
NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func-grps\":
[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \
"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Returns the n
umber of distinct items in the expression\",\"help-contents\": \"Returns the num
ber of distinct items in a group. NULL values are not counted. Each unique valu
e is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"agg\"]
,\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"DATE\",\
"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from a numb
er\",\"help-contents\": \"Returns a date given a number, string, or date express
ion. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote that th
e quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\
"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"DATEADD(
date_part, interval, date)\",\"func-tooltip\": \"Returns the specified date incr
emented by the specified amount\",\"help-contents\": \"Adds an increment to the
specified date and returns the new date. The increment is defined by the interva
l and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2004-0715 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"integ
er\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"func-sig\"
: \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-tooltip\
": \"Returns the difference between two dates\",\"help-contents\": \"Returns the
difference between two dates where start_date is subtracted from end_date. The
difference is expressed in units of date_part. If start_of_week is omitted, the
week start day is determined by the start day configured for the data source.\\n
\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\",\"fun
c-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetime\",\"l
ocstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \"DATENA
ME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part of the

specified date as a string\",\"help-contents\": \"Returns a part of the given d


ate as a string, where the part is defined by date_part. If start_of_week is omi
tted, the week start day is determined by the start day configured for the data
source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"func-g
rps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-v
ar-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(format, str
ing)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents\": \"Co
nverts a string to a date in the specified format. \\n\\nExample: DATEPARSE (\\\
"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"func-grps
\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": false},{
\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_of_week]
)\",\"func-tooltip\": \"Returns the specified part of a date as an integer\",\"h
elp-contents\": \"Returns a part of the given date as an integer where the part
is defined by date_part. If start_of_week is omitted, the week start day is dete
rmined by the start day configured for the data source.\\n\\nExample: DATEPART('
month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locst
r\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETIME\",\"
func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datetime from
a number\",\"help-contents\": \"Returns a datetime given a number, string, or d
ate expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\") \\nNo
te that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-argtypes\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"func-sig\"
: \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Truncates
the specified date to the specified accuracy\",\"help-contents\": \"Truncates th
e specified date to the accuracy specified by the date_part and returns the new
date. If start_of_week is omitted, the week start day is determined by the start
day configured for the data source.\\n\\nExample: DATETRUNC('quarter', #2004-08
-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"
locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DAY\",\"
func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the specif
ied date as an integer\",\"help-contents\": \"Returns the day of the given date
as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"date\"]
,\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"DEGREES
\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value in rad
ians to degrees\",\"help-contents\": \"Converts a number in radians to degrees.\
\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"DIV(int
eger, integer)\",\"func-tooltip\": \"Returns the integer part of a division oper
ation\",\"help-contents\": \"Returns the integer part of a division.\\n\\nExampl
e: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer\",\"in
teger\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <expr>
THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip
\": \"Performs a logical test and returns an appropriate value\",\"help-contents
\": \"Tests a series of expressions returning the <then> value for the first tru
e <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 T
HEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[
],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \
"Performs a logical test and returns an appropriate value\",\"help-contents\": \
"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <then> [
ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Perform
s a logical test and returns an appropriate value\",\"help-contents\": \"Tests a
series of expressions returning the <then> value for the first true <expr>. \\n
\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeve
n' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-a
rgs\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, substring
)\",\"func-tooltip\": \"Returns true if the specified string ends with the speci

fied substring\",\"help-contents\": \"Returns true if the string ends with the s


ubstring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Calculati
on\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str
\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\": \"{ EX
CLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes
an aggregate excluding the specified dimensions if present in the view.\",\"help
-contents\": \"Computes an aggregate excluding the specified dimensions if prese
nt in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\"
: false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\": \"Re
turns e raised to the power of a number\",\"help-contents\": \"Returns e raised
to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FIN
D\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\": \"Retur
ns the position of a substring within a string\",\"help-contents\": \"Returns th
e position of a substring within a string, or 0 if the substring isn't found. If
the start argument is defined, any instances of substring that appear before th
e start position are ignored. The first character in the string is position 1. \
\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\":[\"str
\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"na
me\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\",\"fun
c-tooltip\": \"Returns the position of the nth occurrence a substring within a s
tring\",\"help-contents\": \"Returns the position of the nth occurrence of a sub
string within a string, or 0 if that occurrence of the substring isn't found. Th
e first character in the string is position 1. \\n\\nExample: FINDNTH(\\\"Calcul
ation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str
\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func-sig\":
\"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the first ro
w in the partition\",\"help-contents\": \"Returns the number of rows from the cu
rrent row to the first row in the partition.\\n\\nExample (current row index is
3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has
-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[, dim2]..
.] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate using on
ly the specified dimensions.\",\"help-contents\": \"Computes an aggregate using
only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\
"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expression)\"
,\"func-tooltip\": \"Returns a float from an expression\",\"help-contents\": \"R
eturns a float given an expression of any type. This function requires unformatt
ed numbers which means exclude commas and other symbols. \\n\\nExample: FLOAT(\
\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"h
as-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\",\"fun
c-tooltip\": \"Rounds a number to the nearest integer of equal or lesser value\"
,\"help-contents\": \"Rounds a number to the nearest integer of equal or lesser
value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-sig\": \
"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current user\",\
"help-contents\": \"Returns the full name for the current user. This is the Tabl
eau Server or Tableau Online full name when the user is signed in; otherwise it
is the local or network full name for the Tableau Desktop user.\",\"func-grps\":
[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HEXBINX\"
,\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns the x-coo
rdinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coord
inate to the x-coordinate of the nearest hexagonal bin. The bins have side lengt
h 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[\"num\"
],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"H
EXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Returns t
he y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,
y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins have si
de length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"nam
e\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> .

..] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and returns


an appropriate value\",\"help-contents\": \"Tests a series of expressions return
ing the <then> value for the first true <expr>. \\n\\nExample: IF [Profit] > 0 T
HEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-g
rps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IF
NULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns expres
sion1 if not null\",\"help-contents\": \"Returns <expr1> if it is not null, othe
rwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\":[\"lo
gic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"
name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func-toolti
p\": \"Evaluates a Boolean expression and returns one of two values\",\"help-con
tents\": \"Checks whether a condition is met, and returns one value if TRUE, ano
ther value if FALSE, and an optional third value or NULL if unknown. \\n\\nExamp
le: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"func-arg-t
ypes\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},{\"name
\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-expressi
on }\",\"func-tooltip\": \"Computes an aggregate using the specified dimensions
and the view dimensions.\",\"help-contents\": \"Computes an aggregate using the
specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\"func-a
rg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\": \"INDE
X()\",\"func-tooltip\": \"Returns the index of the current row in the partition\
",\"help-contents\": \"Returns the index of the current row in the partition.\\n
\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-grps\":[\
"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT\",\"fu
nc-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression and re
turns an integer\",\"help-contents\": \"Returns an integer given an expression.
This function truncates results to the closest integer toward zero. \\n\\nExampl
e: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-arg-type
s\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-sig\": \
"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a valid date
\",\"help-contents\": \"Returns true if a given string is a valid date. \\n\\nE
xample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date\",\"lo
gic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"ISFULL
NAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns true if
the current user's full name matches the specified name\",\"help-contents\": \"R
eturns true if the current user's full name matches the specified full name, or
false if it does not match. This function uses the Tableau Server or Tableau Onl
ine full name when the user is signed in; otherwise it uses the local or network
full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-t
ypes\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"func-si
g\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the current user
is a member of the specified group\",\"help-contents\": \"Returns true if the c
urrent user is a member of the given group, false otherwise. This uses the Tabl
eau Server to resolve group membership if logged on, otherwise it always returns
false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-arg
s\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"func-to
oltip\": \"Returns true if the specified expression is null\",\"help-contents\":
\"Returns true if the expression does not contain valid data (Null).\\n\\nExamp
le: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\"
],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUSERNAME(
string)\",\"func-tooltip\": \"Returns true if the current user's name matches th
e specified user name\",\"help-contents\": \"Returns true if the current user's
username matches the specified username, or false if it does not match. This fun
ction uses the Tableau Server or Tableau Online username when the user is signed
in; otherwise it uses the local or network username for the Tableau Desktop use
r.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\":
false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"Returns
the number of rows to the last row in the partition\",\"help-contents\": \"Retur
ns the number of rows from the current row to the last row in the partition.\\n\
\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[\"table

\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"func-si


g\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specified numbe
r of characters from the start of a string\",\"help-contents\": \"Returns the sp
ecified number of characters from the start of the given string. \\n\\nExample:
LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"func-ar
g-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",\"funcsig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of characters in a
string\",\"help-contents\": \"Returns the number of characters in the given str
ing. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\"],\"fu
nc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"func-sig\"
: \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a number\"
,\"help-contents\": \"Returns the natural logarithm of the given number. Returns
Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5)) = 5\",\
"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\
"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\": \"Retur
ns the logarithm of a number for the given base\",\"help-contents\": \"Returns t
he logarithm of a number for the given base. If the base value is omitted, base
10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"func-gr
ps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{
\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"func-toolt
ip\": \"Returns the value of the expression in a row offset from current row\",\
"help-contents\": \"Returns the value of the given expression in a target row, s
pecified as a relative offset from the current row. Use FIRST()+n and LAST()-n f
or a target relative to the first/last rows in the partition. If offset is omitt
ed, the Compare To row may be set on the field menu. Returns NULL if the target
row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) + 2) = S
UM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"],\"funcarg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"LOWE
R\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string in all
lowercase characters\",\"help-contents\": \"Converts a text string to all lowerc
ase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a string w
ith leading spaces removed\",\"help-contents\": \"Returns the string with any le
ading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\"\",\"f
unc-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"na
me\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-tooltip\"
: \"Returns a date value constructed from a year, a month and a day of the month
.\",\"help-contents\": \"Returns a date value constructed from a year, a month a
nd a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-grps\":[
\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-arg
s\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date, time)
\",\"func-tooltip\": \"Returns a datetime by combining a date and a time\",\"hel
p-contents\": \"Returns a date and time value given a date expression and a time
expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"func-grp
s\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\": fals
e},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)\",\"fu
nc-tooltip\": \"Returns a time value constructed from hours, minutes and seconds
.\",\"help-contents\": \"Returns a time value constructed from hours, minutes an
d seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast\"],\"f
unc-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{
\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",\"functooltip\": \"Returns the maximum of an expression\",\"help-contents\": \"Returns
the maximum of a single expression across all records or the maximum of two exp
ressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\"num\",
\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has
-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expression)\",\
"func-tooltip\": \"Returns the median of an expression\",\"help-contents\": \"Re
turns the median of a single expression. MEDIAN can be used with numeric fields
only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-grps\":[\

"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"MID\


",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Returns the c
haracters from the middle of a text string\",\"help-contents\": \"Returns the ch
aracters from the middle of a text string given a starting position and a length
. The first character in the string is position 1. If the length is not included
, all characters to the end of the string are returned. If the length is include
d, up to that many characters are returned. \\n\\nExample: MID(\\\"Tableau Softw
are\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\",2,4) =
\\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\",\"r
eal\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(expressio
n) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an expressi
on\",\"help-contents\": \"Returns the minimum of an expression across all record
s or the minimum of two expressions for each record. \\n\\nExample: MIN([Profit
])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types
\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"func-sig\
": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the specified d
ate as an integer\",\"help-contents\": \"Returns the month of a given date as an
integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date\"],\"f
unc-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\",\"fun
c-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs logical
negation on an expression\",\"help-contents\": \"Performs logical negation on an
expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Returns th
e current date and time\",\"help-contents\": \"Returns the current date and time
. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\": \"IF <
expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical disju
nction on two expressions\",\"help-contents\": \"Performs a logical disjunction
on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-a
rgs\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expression, n
umber)\",\"func-tooltip\": \"Returns the percentile value at the specified numbe
r\",\"help-contents\": \"Aggregate calculation that returns the percentile value
from the given expression corresponding to the specified number. Valid values f
or the number are 0 through 1. PERCENTILE([expression], 0.50) will always return
the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.90)\",\
"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-var-args\
": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Returns t
he numeric constant pi\",\"help-contents\": \"Returns the numeric constant pi.\\
n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(number,
power)\",\"func-tooltip\": \"Raises the number to the specified power\",\"help-c
ontents\": \"Returns the result of a number raised to the given power. \\n\\nExa
mple: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"func-sig\"
: \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of this c
alculation in the previous row\",\"help-contents\": \"Returns the value of this
calculation in the previous row. Returns the given expression if the current row
is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOUS_VALUE
(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(1) = ru
nning product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"i
nteger\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \"RADIAN
S(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\",\"help
-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":[\"num\"
],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RANK\",\"f
unc-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the
competition rank for the current partition row\",\"help-contents\": \"Returns th
e standard competition rank for the current row in the partition. Identical valu
es are assigned an identical rank. Use the optional 'asc' | 'desc' argument to s
pecify ascending or descending order. The default order is descending.\\n\\nWith
this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 4) in

ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"table\"]


,\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\":
\"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",\"functooltip\": \"Returns the dense rank for the current partition row\",\"help-conte
nts\": \"Returns the dense rank for the current row in the partition. Identical
values are assigned an identical rank, but no gaps are inserted into the number
sequence. Use the optional 'asc' | 'desc' argument to specify ascending or desce
nding order. The default order is descending.\\n\\nWith this function, the set o
f values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\n\\nExa
mple: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIED\",\"f
unc-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Ret
urns the modified competition rank for the current partition row\",\"help-conten
ts\": \"Returns the modified competition rank for the current row in the partiti
on. Identical values are assigned an identical rank. Use the optional 'asc' | 'd
esc' argument to specify ascending or descending order. The default order is des
cending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranke
d (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velocity]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-va
r-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERCENTILE(
expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile rank fo
r the current partition row\",\"help-contents\": \"Returns the percentile rank f
or the current row in the partition. Use the optional 'asc' | 'desc' argument to
specify ascending or descending order. The default order is ascending.\\n\\nWit
h this function, the set of values (6, 9, 9, 14) would be ranked (25, 75, 75, 10
0) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\",\"func
-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\"
: false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expression, ['as
c'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the current partit
ion row\",\"help-contents\": \"Returns the unique rank for the current row in th
e partition. Identical values are assigned different ranks. Use the optional 'as
c' | 'desc' argument to specify ascending or descending order. The default order
is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would b
e ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1 for th
e first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"i
nteger\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT\",\"fu
nc-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns the po
rtion of a string matching the capturing group in a regular expression\",\"helpcontents\": \"Returns a substring of the given string that matches the capturing
group within the regular expression pattern. The regular expression pattern re
quires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 123', '[a
-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str
\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"func-si
g\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"Returns
a substring of a string using a regular expression pattern\",\"help-contents\":
\"Returns a substring of the given string using the regular expression pattern.
The substring is matched to the nth capturing group, where n is the given index
. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)', 2) = '1
23'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locint\"],\"
has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP_MATCH(
string, pattern)\",\"func-tooltip\": \"Returns true if a string matches a regula
r expression\",\"help-contents\": \"Returns true if a substring of the provided
string matches the regular expression pattern. \\n\\nExample: REGEXP_MATCH('-([1
234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') = true\",
\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": f
alse},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string, patte
rn, replacement)\",\"func-tooltip\": \"Returns a string where substrings matchin
g a regular expression are replaced\",\"help-contents\": \"Returns a copy of the
given string where the matching pattern is substituted with the replacement str
ing. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'\",\"fu

nc-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\
": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substring, repl
acement)\",\"func-tooltip\": \"Replaces all instances of a substring within a st
ring\",\"help-contents\": \"Returns a string in which every occurrence of the su
bstring is replaced with the replacement string. If the substring is not found,
the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"ion\\\"
, \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":
[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\"func-s
ig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specified num
ber of characters from the end of a string\",\"help-contents\": \"Returns the sp
ecified number of characters from the end of the given string. \\n\\nExample: R
IGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\",\"func
-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number to the
specified number of places\",\"help-contents\": \"Rounds a number to the neares
t integer or to a specified number of decimal places. \\n\\nExample: ROUND(3.141
5, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"h
as-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\",\"fun
c-tooltip\": \"Returns a string with trailing spaces removed\",\"help-contents\"
: \"Returns the string with any trailing spaces removed. \\n\\nExample: RTRIM(\
\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\
"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\": \"RUNN
ING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of an expr
ession\",\"help-contents\": \"Returns the running average of the given expressio
n, from the first row in the partition to the current row.\\n\\nExample: RUNNING
_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING_COU
NT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Returns the
running count of an expression\",\"help-contents\": \"Returns the running count
of the given expression, from the first row in the partition to the current row
.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profit)\",\"
func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{
\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"func-toolt
ip\": \"Returns the running maximum of an expression\",\"help-contents\": \"Retu
rns the running maximum of the given expression, from the first row in the parti
tion to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = running maxi
mum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum of SUM(
Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expression)
\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"help-con
tents\": \"Returns the running minimum of the given expression, from the first r
ow in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Profit]))
= running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = running
minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer
\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"RUNNING_
SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expression\"
,\"help-contents\": \"Returns the running sum of the given expression, from the
first row in the partition to the current row.\\n\\nExample: RUNNING_SUM(SUM([Pr
ofit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])) = run
ning count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"
],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCRIPT_BOO
L(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result from a
n R expression\",\"help-contents\": \"Returns a Boolean result from a given R ex
pression. The R expression is passed directly to a running Rserve instance. Use
.arg# in the R expression to reference parameters. In the following example, .ar
g1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.arg1)\\\
", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has
-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(string,
expression, ...)\",\"func-tooltip\": \"Returns an integer result from an R expre
ssion\",\"help-contents\": \"Returns an integer result from a given R expression

. The R expression is passed directly to a running Rserve instance. Use .arg# in


the R expression to reference parameters. In the following example, .arg1 is eq
ual to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)\\\", S
UM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var
-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(string, ex
pression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R expressi
on\",\"help-contents\": \"Returns a numeric result from a given R expression. Th
e R expression is passed directly to a running Rserve instance. Use .arg# in the
R expression to reference parameters. In the following example, .arg1 is equal
to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Profit]))
\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true
},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression, ...)\
",\"func-tooltip\": \"Returns a string result from an R expression\",\"help-cont
ents\": \"Returns a string result from a given R expression. The R expression is
passed directly to a running Rserve instance. Use .arg# in the R expression to
reference parameters. In the following example, .arg1 is equal to ATTR([Region])
. \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\",\"fun
c-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"nam
e\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns 1 for a
positive number\",\"help-contents\": \"Returns the sign of a number: 1 if the n
umber is positive, zero if the number is zero, or -1 if the number is negative.\
\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angle)\",\"
func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Returns th
e sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/4) = 0.
707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tooltip\":
\"Returns the number of rows in the partition\",\"help-contents\": \"Returns the
number of rows in the partition.\\n\\nExample (partition has 5 rows):\\nSIZE( )
= 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},
{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"Returns
a string containing the specified number of spaces\",\"help-contents\": \"Retur
ns a string composed of the specified number of repeated spaces. \\n\\nExample:
SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string, delimi
ter, token number)\",\"func-tooltip\": \"Extracts a substring from a string\",\"
help-contents\": \"Returns a substring from a string, as determined by a delimit
er extracting the characters from the beginning or end of the string. \\n\\nExam
ple: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-', -2) = '
c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"locint\"],
\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)\",\"fu
nc-tooltip\": \"Returns the square root of a number\",\"help-contents\": \"Retur
ns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps\":[\"n
um\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SQUARE
\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the square of a
number\",\"help-contents\": \"Returns the square of a given number. \\n\\nExampl
e: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"hasvar-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(string,
substring)\",\"func-tooltip\": \"Returns true if the specified string starts wit
h the specified substring\",\"help-contents\": \"Returns true if the string star
ts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\"Ca\\\"
) is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-v
ar-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\",\"fun
c-tooltip\": \"Returns the sample standard deviation for an expression\",\"helpcontents\": \"Returns the sample standard deviation of the expression.\\n\\nExam
ple: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"h
as-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expression)\"
,\"func-tooltip\": \"Returns the population standard deviation for an expression
\",\"help-contents\": \"Returns the population standard deviation of the express
ion.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\"

:[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"STR(expr


ession)\",\"func-tooltip\": \"Returns an expression as a string\",\"help-content
s\": \"Returns a string given an expression. \\n\\nExample: STR([Age]) returns
all of the values of the Age measure as strings.\",\"func-grps\":[\"cast\"],\"fu
nc-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",\"funcsig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values in an e
xpression\",\"help-contents\": \"Returns the sum of all the values in the expres
sion. SUM can be used with numeric fields only. Null values are ignored.\\n\\nEx
ample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"h
as-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"func-too
ltip\": \"Returns the tangent of an angle specified in radians\",\"help-contents
\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\\nExampl
e: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"h
as-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN <then>
[ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Perfor
ms a logical test and returns an appropriate value\",\"help-contents\": \"Tests
a series of expressions returning the <then> value for the first true <expr>. \\
n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakev
en' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tooltip\":
\"Returns the current date\",\"help-contents\": \"Returns the current date. \\n
\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-types\":[
],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(expression
)\",\"func-tooltip\": \"Returns the total for an expression within the partition
\",\"help-contents\": \"Returns the total for the given expression.\\n\\nExample
: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribute to th
e partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-v
ar-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"func-tool
tip\": \"Returns a string with leading and trailing spaces removed\",\"help-cont
ents\": \"Returns the string with both leading and trailing spaces removed. \\n\
\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",\"funcsig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all uppercase c
haracters\",\"help-contents\": \"Converts a text string to all uppercase letters
. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\":[\"str
\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"USERDOMAI
N\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain for th
e current user\",\"help-contents\": \"Returns the domain for the current user wh
en the user is signed on to Tableau Server. Returns the Windows domain if the Ta
bleau Desktop user is on a domain. Otherwise this function returns a null string
.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"n
ame\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Returns the
user name for the current user\",\"help-contents\": \"Returns the username for
the current user. This is the Tableau Server or Tableau Online username when the
user is signed in; otherwise it is the local or network username for the Tablea
u Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-tooltip\":
\"Returns the sample variance for an expression\",\"help-contents\": \"Returns
the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"func-grps
\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns the popul
ation variance for an expression\",\"help-contents\": \"Returns the population v
ariance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[\"agg\"
],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHEN\",\"f
unc-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"
func-tooltip\": \"Performs logical tests and returns the appropriate value\",\"h
elp-contents\": \"Finds the first <value> that matches <expr> and returns the co
rresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN
1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\": \"WI

NDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the average of


the values within the window\",\"help-contents\": \"Returns the average of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the two previ
ous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"re
al\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_COUNT
\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-tooltip\": \"
Returns the number of items within the window\",\"help-contents\": \"Returns the
count of the expression within the window. The window is defined as offsets fr
om the current row. Use FIRST()+n and LAST()-n for offsets from the first or las
t row in the partition. If start and end are omitted, the entire partition is u
sed.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Profit) fro
m the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-ar
g-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"func-to
oltip\": \"Returns the maximum within the window\",\"help-contents\": \"Returns
the maximum of the expression within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Profit fro
m the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([Profit]
), -2, 0) = maximum of SUM(Profit) from the two previous rows to the current row
\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integ
er\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\": \"WIND
OW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the median wit
hin the window\",\"help-contents\": \"Returns the median of the expression withi
n the window. The window is defined as offsets from the current row. Use FIRST(
)+n and LAST()-n for offsets from the first or last row in the partition. If st
art and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_MEDI
AN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous rows to t
he current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"intege
r\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"func-sig\"
: \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns the minim
um within the window\",\"help-contents\": \"Returns the minimum of the expressio
n within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WIND
OW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous rows to t
he current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum of SUM(P
rofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": fals
e},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(expression
, number, [start, end])\",\"func-tooltip\": \"Returns the percentile value at th
e specified number\",\"help-contents\": \"Returns the value corresponding to the
specified percentile within the window. The window is defined as offsets from
the current row. Use FIRST()+n and LAST()-n for offsets from the first or last r
ow in the partition. If start and end are omitted, the entire partition is used
.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th percenti
le of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":
[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integer\"],\"
has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW_STDEV(
expression, [start, end])\",\"func-tooltip\": \"Returns the sample standard devi
ation within the window\",\"help-contents\": \"Returns the sample standard devia
tion of the expression within the window. The window is defined as offsets from
the current row. Use FIRST()+n and LAST()-n for offsets from the first or last
row in the partition. If start and end are omitted, the entire partition is use
d.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) f
rom the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-

arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\
": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, end])\",\
"func-tooltip\": \"Returns the population standard deviation within the window\"
,\"help-contents\": \"Returns the population standard deviation of the expressio
n within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WIND
OW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two previous
rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\
",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_SUM\",\"
func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"Returns
the sum of values within the window\",\"help-contents\": \"Returns the sum of t
he expression within the window. The window is defined as offsets from the curr
ent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in th
e partition. If start and end are omitted, the entire partition is used.\\n\\nE
xample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the two previ
ous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"in
teger\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_VA
R\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip\": \"R
eturns the sample variance within the window\",\"help-contents\": \"Returns the
sample variance of the expression within the window. The window is defined as o
ffsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fir
st or last row in the partition. If start and end are omitted, the entire parti
tion is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance of SUM(P
rofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},
{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start, end])
\",\"func-tooltip\": \"Returns the population variance within the window\",\"hel
p-contents\": \"Returns the population variance of the expression within the win
dow. The window is defined as offsets from the current row. Use FIRST()+n and L
AST()-n for offsets from the first or last row in the partition. If start and e
nd are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(SUM([Pro
fit]), -2, 0) = variance of SUM(Profit) from the two previous rows to the curren
t row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"int
eger\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR(date)\
",\"func-tooltip\": \"Returns the year of the specified date as an integer\",\"h
elp-contents\": \"Returns the year of a given date as an integer. \\n\\nExample
: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"dat
etime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(expressio
n)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"help-conte
nts\": \"Returns <expression> if it is not null, otherwise returns zero. \\n\\n
Example: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-types\":[\"
integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calculation-dia
log\",\"use-parameters\": true} position=\"7\"","name":"tabdoc:calculation-autocomplete"}}
{"ts":"2016-09-29T17:02:02.880","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED [Re
gion]\" calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l
\",\"calculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculatio
n_5489888009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{FI
XED re\",\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"f
older-name\": \"\",\"add-to-folder\": false,\"folder-role\": \"dimensions\",\"ha
s-table-calc-data\": false,\"table-calc-types-used\": 0,\"style-token-list\":[],
\"error-string\": \"Error in calculation:\\n\\nExpected comma or colon in the di
mensionality declaration.\\n\\nWould you like to correct the calculation?\",\"er
ror-info-list\":[{\"start-position-for-error\": 8,\"length-of-calc-of-error\": 1
,\"error-message\": \"Expected comma or colon in the dimensionality declaration.
\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func
-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a numb

er\",\"help-contents\": \"Returns the absolute value of the given number. \\n\\n


Example: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"h
as-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"functooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns t
he arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-v
ar-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN
<then> END\",\"func-tooltip\": \"Performs a logical conjunction on two expressi
ons\",\"help-contents\": \"Performs a logical conjunction on two expressions\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASC
II code for the first character in a string\",\"help-contents\": \"Returns the A
SCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"aut
hors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-varargs\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip
\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc si
ne of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267
949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Retu
rns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent o
f a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.56524082839
42\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tool
tip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns t
he arc tangent of two given numbers (x and y). The result is in radians. \\n\\n
Example: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig
\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expression
if it has one value for all rows\",\"help-contents\": \"Returns the value of th
e given expression if it only has a single value for all rows in the group, othe
rwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([
Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip
\": \"Returns the average of the values in the expression\",\"help-contents\": \
"Returns the average of all the values in the expression. AVG can be used with n
umeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"fun
c-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE
<else>] END\",\"func-tooltip\": \"Performs logical tests and returns the approp
riate value\",\"help-contents\": \"Finds the first <value> that matches <expr> a
nd returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \
u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"log
ic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"fu
nc-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest
integer of equal or greater value\",\"help-contents\": \"Rounds a number to the
nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts
an integer ASCII code into a character\",\"help-contents\": \"Converts the give
n integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"
Returns true if a string contains the specified substring\",\"help-contents\": \
"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\"
Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\":
\"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in r
adians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle
in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"

func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle


specified in radians\",\"help-contents\": \"Returns the cotangent of an angle.
Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"n
um\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\
",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of
items in the expression\",\"help-contents\": \"Returns the number of items in a
group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"na
me\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Return
s the number of distinct items in the expression\",\"help-contents\": \"Returns
the number of distinct items in a group. NULL values are not counted. Each uniq
ue value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"D
ATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from
a number\",\"help-contents\": \"Returns a date given a number, string, or date
expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote
that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"D
ATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified da
te incremented by the specified amount\",\"help-contents\": \"Adds an increment
to the specified date and returns the new date. The increment is defined by the
interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2
004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",
\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"fun
c-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-t
ooltip\": \"Returns the difference between two dates\",\"help-contents\": \"Retu
rns the difference between two dates where start_date is subtracted from end_dat
e. The difference is expressed in units of date_part. If start_of_week is omitte
d, the week start day is determined by the start day configured for the data sou
rce.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\
",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetim
e\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \
"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part
of the specified date as a string\",\"help-contents\": \"Returns a part of the
given date as a string, where the part is defined by date_part. If start_of_week
is omitted, the week start day is determined by the start day configured for th
e data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\
"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(form
at, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents\
": \"Converts a string to a date in the specified format. \\n\\nExample: DATEPAR
SE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"fu
nc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": f
alse},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_o
f_week])\",\"func-tooltip\": \"Returns the specified part of a date as an intege
r\",\"help-contents\": \"Returns a part of the given date as an integer where th
e part is defined by date_part. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DAT
EPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[
\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETI
ME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a dateti
me from a number\",\"help-contents\": \"Returns a datetime given a number, strin
g, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\")
\\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"fu
nc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"fun
c-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Tru
ncates the specified date to the specified accuracy\",\"help-contents\": \"Trunc
ates the specified date to the accuracy specified by the date_part and returns t
he new date. If start_of_week is omitted, the week start day is determined by th
e start day configured for the data source.\\n\\nExample: DATETRUNC('quarter', #

2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-type


s\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"D
AY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the
specified date as an integer\",\"help-contents\": \"Returns the day of the give
n date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"
date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"
DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value
in radians to degrees\",\"help-contents\": \"Converts a number in radians to de
grees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"
DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divisi
on operation\",\"help-contents\": \"Returns the integer part of a division.\\n\\
nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF
<expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"functooltip\": \"Performs a logical test and returns an appropriate value\",\"help-c
ontents\": \"Tests a series of expressions returning the <then> value for the fi
rst true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit
] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr
> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-toolt
ip\": \"Performs a logical test and returns an appropriate value\",\"help-conten
ts\": \"Tests a series of expressions returning the <then> value for the first t
rue <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0
THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <
then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"
Performs a logical test and returns an appropriate value\",\"help-contents\": \"
Tests a series of expressions returning the <then> value for the first true <exp
r>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'B
reakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, su
bstring)\",\"func-tooltip\": \"Returns true if the specified string ends with th
e specified substring\",\"help-contents\": \"Returns true if the string ends wit
h the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Ca
lculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\":
\"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Co
mputes an aggregate excluding the specified dimensions if present in the view.\"
,\"help-contents\": \"Computes an aggregate excluding the specified dimensions i
f present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\
": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns e
raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\":
\"Returns the position of a substring within a string\",\"help-contents\": \"Ret
urns the position of a substring within a string, or 0 if the substring isn't fo
und. If the start argument is defined, any instances of substring that appear be
fore the start position are ignored. The first character in the string is positi
on 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false
},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\
",\"func-tooltip\": \"Returns the position of the nth occurrence a substring wit
hin a string\",\"help-contents\": \"Returns the position of the nth occurrence o
f a substring within a string, or 0 if that occurrence of the substring isn't fo
und. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\\
"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func
-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the f

irst row in the partition\",\"help-contents\": \"Returns the number of rows from


the current row to the first row in the partition.\\n\\nExample (current row in
dex is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[
],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[,
dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate u
sing only the specified dimensions.\",\"help-contents\": \"Computes an aggregate
using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expres
sion)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-contents
\": \"Returns a float given an expression of any type. This function requires un
formatted numbers which means exclude commas and other symbols. \\n\\nExample:
FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean
\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\
",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser
value\",\"help-contents\": \"Rounds a number to the nearest integer of equal or
lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-s
ig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current u
ser\",\"help-contents\": \"Returns the full name for the current user. This is t
he Tableau Server or Tableau Online full name when the user is signed in; otherw
ise it is the local or network full name for the Tableau Desktop user.\",\"funcgrps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HE
XBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns th
e x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y
) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have sid
e length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name
\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Re
turns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps
an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <t
hen2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and r
eturns an appropriate value\",\"help-contents\": \"Tests a series of expressions
returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profit
] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns
expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not nul
l, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\
":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func
-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",\"h
elp-contents\": \"Checks whether a condition is met, and returns one value if TR
UE, another value if FALSE, and an optional third value or NULL if unknown. \\n\
\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},
{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-e
xpression }\",\"func-tooltip\": \"Computes an aggregate using the specified dime
nsions and the view dimensions.\",\"help-contents\": \"Computes an aggregate usi
ng the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\":
\"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the par
tition\",\"help-contents\": \"Returns the index of the current row in the partit
ion.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT
\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression
and returns an integer\",\"help-contents\": \"Returns an integer given an expre
ssion. This function truncates results to the closest integer toward zero. \\n\\

nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-a


rg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-s
ig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a val
id date\",\"help-contents\": \"Returns true if a given string is a valid date.
\\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date
\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \
"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns t
rue if the current user's full name matches the specified name\",\"help-contents
\": \"Returns true if the current user's full name matches the specified full na
me, or false if it does not match. This function uses the Tableau Server or Tabl
eau Online full name when the user is signed in; otherwise it uses the local or
network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fun
c-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"
func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the curre
nt user is a member of the specified group\",\"help-contents\": \"Returns true i
f the current user is a member of the given group, false otherwise. This uses t
he Tableau Server to resolve group membership if logged on, otherwise it always
returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"hasvar-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"
func-tooltip\": \"Returns true if the specified expression is null\",\"help-cont
ents\": \"Returns true if the expression does not contain valid data (Null).\\n\
\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"bo
olean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUS
ERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name mat
ches the specified user name\",\"help-contents\": \"Returns true if the current
user's username matches the specified username, or false if it does not match. T
his function uses the Tableau Server or Tableau Online username when the user is
signed in; otherwise it uses the local or network username for the Tableau Desk
top user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-a
rgs\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"R
eturns the number of rows to the last row in the partition\",\"help-contents\":
\"Returns the number of rows from the current row to the last row in the partiti
on.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[
\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"
func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specifie
d number of characters from the start of a string\",\"help-contents\": \"Returns
the specified number of characters from the start of the given string. \\n\\nE
xample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",
\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of characte
rs in a string\",\"help-contents\": \"Returns the number of characters in the gi
ven string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\
"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"fun
c-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a n
umber\",\"help-contents\": \"Returns the natural logarithm of the given number.
Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5))
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\":
\"Returns the logarithm of a number for the given base\",\"help-contents\": \"Re
turns the logarithm of a number for the given base. If the base value is omitted
, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"fun
c-tooltip\": \"Returns the value of the expression in a row offset from current
row\",\"help-contents\": \"Returns the value of the given expression in a target
row, specified as a relative offset from the current row. Use FIRST()+n and LAS
T()-n for a target relative to the first/last rows in the partition. If offset i
s omitted, the Compare To row may be set on the field menu. Returns NULL if the
target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) +
2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"],

\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string
in all lowercase characters\",\"help-contents\": \"Converts a text string to all
lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"
func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"n
ame\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a s
tring with leading spaces removed\",\"help-contents\": \"Returns the string with
any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\
"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false
},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-to
oltip\": \"Returns a date value constructed from a year, a month and a day of th
e month.\",\"help-contents\": \"Returns a date value constructed from a year, a
month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-g
rps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"hasvar-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date
, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time\
",\"help-contents\": \"Returns a date and time value given a date expression and
a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"f
unc-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\
": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)
\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes and
seconds.\",\"help-contents\": \"Returns a time value constructed from hours, min
utes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",
\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \"
Returns the maximum of a single expression across all records or the maximum of
two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\
"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"
],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expressi
on)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents\
": \"Returns the median of a single expression. MEDIAN can be used with numeric
fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-gr
ps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Return
s the characters from the middle of a text string\",\"help-contents\": \"Returns
the characters from the middle of a text string given a starting position and a
length. The first character in the string is position 1. If the length is not i
ncluded, all characters to the end of the string are returned. If the length is
included, up to that many characters are returned. \\n\\nExample: MID(\\\"Tablea
u Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\"
,2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"rea
l\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(ex
pression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an e
xpression\",\"help-contents\": \"Returns the minimum of an expression across all
records or the minimum of two expressions for each record. \\n\\nExample: MIN(
[Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-ar
g-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"fu
nc-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the spec
ified date as an integer\",\"help-contents\": \"Returns the month of a given dat
e as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date
\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\
",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs l
ogical negation on an expression\",\"help-contents\": \"Performs logical negatio
n on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-a
rgs\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Ret
urns the current date and time\",\"help-contents\": \"Returns the current date a
nd time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"
],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\":
\"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logica

l disjunction on two expressions\",\"help-contents\": \"Performs a logical disju


nction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expres
sion, number)\",\"func-tooltip\": \"Returns the percentile value at the specifie
d number\",\"help-contents\": \"Aggregate calculation that returns the percentil
e value from the given expression corresponding to the specified number. Valid v
alues for the number are 0 through 1. PERCENTILE([expression], 0.50) will always
return the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.
90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-va
r-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Re
turns the numeric constant pi\",\"help-contents\": \"Returns the numeric constan
t pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(
number,power)\",\"func-tooltip\": \"Raises the number to the specified power\",\
"help-contents\": \"Returns the result of a number raised to the given power. \\
n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":
[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"fun
c-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of
this calculation in the previous row\",\"help-contents\": \"Returns the value o
f this calculation in the previous row. Returns the given expression if the curr
ent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOU
S_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(
1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \
"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\"
,\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RAN
K\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retur
ns the competition rank for the current partition row\",\"help-contents\": \"Ret
urns the standard competition rank for the current row in the partition. Identic
al values are assigned an identical rank. Use the optional 'asc' | 'desc' argume
nt to specify ascending or descending order. The default order is descending.\\n
\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2,
4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"
name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",
\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"hel
p-contents\": \"Returns the dense rank for the current row in the partition. Ide
ntical values are assigned an identical rank, but no gaps are inserted into the
number sequence. Use the optional 'asc' | 'desc' argument to specify ascending o
r descending order. The default order is descending.\\n\\nWith this function, th
e set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\
n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIE
D\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\"
: \"Returns the modified competition rank for the current partition row\",\"help
-contents\": \"Returns the modified competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'as
c' | 'desc' argument to specify ascending or descending order. The default order
is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would b
e ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Veloc
ity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\
"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERC
ENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile
rank for the current partition row\",\"help-contents\": \"Returns the percentile
rank for the current row in the partition. Use the optional 'asc' | 'desc' argu
ment to specify ascending or descending order. The default order is ascending.\\
n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75,
75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var

-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expressio


n, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the current
partition row\",\"help-contents\": \"Returns the unique rank for the current ro
w in the partition. Identical values are assigned different ranks. Use the optio
nal 'asc' | 'desc' argument to specify ascending or descending order. The defaul
t order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1
for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT
\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns
the portion of a string matching the capturing group in a regular expression\",
\"help-contents\": \"Returns a substring of the given string that matches the ca
pturing group within the regular expression pattern. The regular expression pat
tern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 12
3', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"
func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"R
eturns a substring of a string using a regular expression pattern\",\"help-conte
nts\": \"Returns a substring of the given string using the regular expression pa
ttern. The substring is matched to the nth capturing group, where n is the give
n index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)',
2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locin
t\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP
_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches a
regular expression\",\"help-contents\": \"Returns true if a substring of the pr
ovided string matches the regular expression pattern. \\n\\nExample: REGEXP_MATC
H('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') =
true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-ar
gs\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string
, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrings
matching a regular expression are replaced\",\"help-contents\": \"Returns a copy
of the given string where the matching pattern is substituted with the replacem
ent string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'
\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-va
r-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substrin
g, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring with
in a string\",\"help-contents\": \"Returns a string in which every occurrence of
the substring is replaced with the replacement string. If the substring is not
found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"
ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-t
ypes\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\
"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specif
ied number of characters from the end of a string\",\"help-contents\": \"Returns
the specified number of characters from the end of the given string. \\n\\nExa
mple: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"f
unc-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\"
,\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number
to the specified number of places\",\"help-contents\": \"Rounds a number to the
nearest integer or to a specified number of decimal places. \\n\\nExample: ROUN
D(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real
\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\
",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-con
tents\": \"Returns the string with any trailing spaces removed. \\n\\nExample:
RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\":
\"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of
an expression\",\"help-contents\": \"Returns the running average of the given ex
pression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNN

ING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Retu


rns the running count of an expression\",\"help-contents\": \"Returns the runnin
g count of the given expression, from the first row in the partition to the curr
ent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profi
t)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"fun
c-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\":
\"Returns the running maximum of the given expression, from the first row in th
e partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = runni
ng maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum
of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expr
ession)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"h
elp-contents\": \"Returns the running minimum of the given expression, from the
first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Pr
ofit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = r
unning minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"R
UNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expre
ssion\",\"help-contents\": \"Returns the running sum of the given expression, fr
om the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM(
SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])
) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"in
teger\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCR
IPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result
from an R expression\",\"help-contents\": \"Returns a Boolean result from a giv
en R expression. The R expression is passed directly to a running Rserve instanc
e. Use .arg# in the R expression to reference parameters. In the following examp
le, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.a
rg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(s
tring, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an
R expression\",\"help-contents\": \"Returns an integer result from a given R exp
ression. The R expression is passed directly to a running Rserve instance. Use .
arg# in the R expression to reference parameters. In the following example, .arg
1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)
\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"
has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(str
ing, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R e
xpression\",\"help-contents\": \"Returns a numeric result from a given R express
ion. The R expression is passed directly to a running Rserve instance. Use .arg#
in the R expression to reference parameters. In the following example, .arg1 is
equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Pr
ofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression
, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"he
lp-contents\": \"Returns a string result from a given R expression. The R expres
sion is passed directly to a running Rserve instance. Use .arg# in the R express
ion to reference parameters. In the following example, .arg1 is equal to ATTR([R
egion]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true}
,{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns
1 for a positive number\",\"help-contents\": \"Returns the sign of a number: 1 i
f the number is positive, zero if the number is zero, or -1 if the number is neg
ative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angl
e)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Ret
urns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/
4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tool

tip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Retu


rns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\n
SIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"
Returns a string containing the specified number of spaces\",\"help-contents\":
\"Returns a string composed of the specified number of repeated spaces. \\n\\nEx
ample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string,
delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a stri
ng\",\"help-contents\": \"Returns a substring from a string, as determined by a
delimiter extracting the characters from the beginning or end of the string. \\n
\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-',
-2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"loc
int\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)
\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\":
\"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the squar
e of a number\",\"help-contents\": \"Returns the square of a given number. \\n\\
nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(s
tring, substring)\",\"func-tooltip\": \"Returns true if the specified string sta
rts with the specified substring\",\"help-contents\": \"Returns true if the stri
ng starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\
"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],
\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\
",\"func-tooltip\": \"Returns the sample standard deviation for an expression\",
\"help-contents\": \"Returns the sample standard deviation of the expression.\\n
\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expres
sion)\",\"func-tooltip\": \"Returns the population standard deviation for an exp
ression\",\"help-contents\": \"Returns the population standard deviation of the
expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"S
TR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"helpcontents\": \"Returns a string given an expression. \\n\\nExample: STR([Age]) r
eturns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast\
"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",
\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values
in an expression\",\"help-contents\": \"Returns the sum of all the values in the
expression. SUM can be used with numeric fields only. Null values are ignored.\
\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"f
unc-tooltip\": \"Returns the tangent of an angle specified in radians\",\"help-c
ontents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\\
nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \
"Performs a logical test and returns an appropriate value\",\"help-contents\": \
"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tool
tip\": \"Returns the current date\",\"help-contents\": \"Returns the current dat
e. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(exp
ression)\",\"func-tooltip\": \"Returns the total for an expression within the pa
rtition\",\"help-contents\": \"Returns the total for the given expression.\\n\\n
Example: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribut
e to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],

\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"fu


nc-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"he
lp-contents\": \"Returns the string with both leading and trailing spaces remove
d. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",
\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all uppe
rcase characters\",\"help-contents\": \"Converts a text string to all uppercase
letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"US
ERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain
for the current user\",\"help-contents\": \"Returns the domain for the current
user when the user is signed on to Tableau Server. Returns the Windows domain if
the Tableau Desktop user is on a domain. Otherwise this function returns a null
string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Retu
rns the user name for the current user\",\"help-contents\": \"Returns the userna
me for the current user. This is the Tableau Server or Tableau Online username w
hen the user is signed in; otherwise it is the local or network username for the
Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-too
ltip\": \"Returns the sample variance for an expression\",\"help-contents\": \"R
eturns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"fu
nc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns th
e population variance for an expression\",\"help-contents\": \"Returns the popul
ation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHE
N\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] E
ND\",\"func-tooltip\": \"Performs logical tests and returns the appropriate valu
e\",\"help-contents\": \"Finds the first <value> that matches <expr> and returns
the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u20
19 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\
": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the aver
age of the values within the window\",\"help-contents\": \"Returns the average o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDO
W_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-toolti
p\": \"Returns the number of items within the window\",\"help-contents\": \"Retu
rns the count of the expression within the window. The window is defined as off
sets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partiti
on is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Prof
it) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"
func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"
name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"
func-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"R
eturns the maximum of the expression within the window. The window is defined a
s offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire pa
rtition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Pro
fit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([
Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the curr
ent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\":
\"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the med

ian within the window\",\"help-contents\": \"Returns the median of the expressio


n within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WIND
OW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous ro
ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"fun
c-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns th
e minimum within the window\",\"help-contents\": \"Returns the minimum of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous ro
ws to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\
": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(exp
ression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile valu
e at the specified number\",\"help-contents\": \"Returns the value corresponding
to the specified percentile within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th p
ercentile of SUM(Profit) from the two previous rows to the current row\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"intege
r\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW
_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample standa
rd deviation within the window\",\"help-contents\": \"Returns the sample standar
d deviation of the expression within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Pr
ofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{
\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, en
d])\",\"func-tooltip\": \"Returns the population standard deviation within the w
indow\",\"help-contents\": \"Returns the population standard deviation of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two p
revious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_S
UM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"
Returns the sum of values within the window\",\"help-contents\": \"Returns the s
um of the expression within the window. The window is defined as offsets from t
he current row. Use FIRST()+n and LAST()-n for offsets from the first or last ro
w in the partition. If start and end are omitted, the entire partition is used.
\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WI
NDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip
\": \"Returns the sample variance within the window\",\"help-contents\": \"Retur
ns the sample variance of the expression within the window. The window is defin
ed as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the entir
e partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start

, end])\",\"func-tooltip\": \"Returns the population variance within the window\


",\"help-contents\": \"Returns the population variance of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()+
n and LAST()-n for offsets from the first or last row in the partition. If star
t and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(S
UM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to the
current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\
",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR
(date)\",\"func-tooltip\": \"Returns the year of the specified date as an intege
r\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\\n
Example: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\"
:[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(ex
pression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"hel
p-contents\": \"Returns <expression> if it is not null, otherwise returns zero.
\\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calculat
ion-dialog\",\"use-parameters\": true} position=\"15\"","name":"tabdoc:calculati
on-auto-complete"}}
{"ts":"2016-09-29T17:02:02.880","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED [R
egion]\" calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70
l\",\"calculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculati
on_5489888009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{F
IXED re\",\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"
folder-name\": \"\",\"add-to-folder\": false,\"folder-role\": \"dimensions\",\"h
as-table-calc-data\": false,\"table-calc-types-used\": 0,\"style-token-list\":[]
,\"error-string\": \"Error in calculation:\\n\\nExpected comma or colon in the d
imensionality declaration.\\n\\nWould you like to correct the calculation?\",\"e
rror-info-list\":[{\"start-position-for-error\": 8,\"length-of-calc-of-error\":
1,\"error-message\": \"Expected comma or colon in the dimensionality declaration
.\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"fun
c-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a num
ber\",\"help-contents\": \"Returns the absolute value of the given number. \\n\\
nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func
-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns
the arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"hasvar-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THE
N <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two express
ions\",\"help-contents\": \"Performs a logical conjunction on two expressions\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the AS
CII code for the first character in a string\",\"help-contents\": \"Returns the
ASCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"au
thors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var
-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-toolti
p\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc s
ine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.570796326
7949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Ret
urns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent
of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408283
942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-too
ltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns
the arc tangent of two given numbers (x and y). The result is in radians. \\n\\
nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-ty
pes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-si

g\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expressio


n if it has one value for all rows\",\"help-contents\": \"Returns the value of t
he given expression if it only has a single value for all rows in the group, oth
erwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR(
[Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-toolti
p\": \"Returns the average of the values in the expression\",\"help-contents\":
\"Returns the average of all the values in the expression. AVG can be used with
numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"fu
nc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELS
E <else>] END\",\"func-tooltip\": \"Performs logical tests and returns the appro
priate value\",\"help-contents\": \"Finds the first <value> that matches <expr>
and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN
\u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"lo
gic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"f
unc-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the neares
t integer of equal or greater value\",\"help-contents\": \"Rounds a number to th
e nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\
",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false}
,{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Convert
s an integer ASCII code into a character\",\"help-contents\": \"Converts the giv
en integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \
"Returns true if a string contains the specified substring\",\"help-contents\":
\"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\
"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\":
\"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in
radians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle
in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"nu
m\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\
"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angl
e specified in radians\",\"help-contents\": \"Returns the cotangent of an angle.
Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"
num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT
\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of
items in the expression\",\"help-contents\": \"Returns the number of items in a
group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"n
ame\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Retur
ns the number of distinct items in the expression\",\"help-contents\": \"Returns
the number of distinct items in a group. NULL values are not counted. Each uni
que value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"
DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date fro
m a number\",\"help-contents\": \"Returns a date given a number, string, or date
expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote
that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"
DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified d
ate incremented by the specified amount\",\"help-contents\": \"Adds an increment
to the specified date and returns the new date. The increment is defined by the
interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) =
2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\"
,\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"fu
nc-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"functooltip\": \"Returns the difference between two dates\",\"help-contents\": \"Ret
urns the difference between two dates where start_date is subtracted from end_da

te. The difference is expressed in units of date_part. If start_of_week is omitt


ed, the week start day is determined by the start day configured for the data so
urce.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3
\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"dateti
me\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\":
\"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a par
t of the specified date as a string\",\"help-contents\": \"Returns a part of the
given date as a string, where the part is defined by date_part. If start_of_wee
k is omitted, the week start day is determined by the start day configured for t
he data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",
\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"]
,\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(for
mat, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents
\": \"Converts a string to a date in the specified format. \\n\\nExample: DATEPA
RSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"f
unc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\":
false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_
of_week])\",\"func-tooltip\": \"Returns the specified part of a date as an integ
er\",\"help-contents\": \"Returns a part of the given date as an integer where t
he part is defined by date_part. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DA
TEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":
[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATET
IME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datet
ime from a number\",\"help-contents\": \"Returns a datetime given a number, stri
ng, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\"
) \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"f
unc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"fu
nc-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Tr
uncates the specified date to the specified accuracy\",\"help-contents\": \"Trun
cates the specified date to the accuracy specified by the date_part and returns
the new date. If start_of_week is omitted, the week start day is determined by t
he start day configured for the data source.\\n\\nExample: DATETRUNC('quarter',
#2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-typ
es\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"
DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of th
e specified date as an integer\",\"help-contents\": \"Returns the day of the giv
en date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\
"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \
"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a valu
e in radians to degrees\",\"help-contents\": \"Converts a number in radians to d
egrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \
"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divis
ion operation\",\"help-contents\": \"Returns the integer part of a division.\\n\
\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"intege
r\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF
<expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func
-tooltip\": \"Performs a logical test and returns an appropriate value\",\"helpcontents\": \"Tests a series of expressions returning the <then> value for the f
irst true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profi
t] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <exp
r> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tool
tip\": \"Performs a logical test and returns an appropriate value\",\"help-conte
nts\": \"Tests a series of expressions returning the <then> value for the first
true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =
0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \

"Performs a logical test and returns an appropriate value\",\"help-contents\": \


"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, s
ubstring)\",\"func-tooltip\": \"Returns true if the specified string ends with t
he specified substring\",\"help-contents\": \"Returns true if the string ends wi
th the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"C
alculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\"
: \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"C
omputes an aggregate excluding the specified dimensions if present in the view.\
",\"help-contents\": \"Computes an aggregate excluding the specified dimensions
if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip
\": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns e
raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\":
\"Returns the position of a substring within a string\",\"help-contents\": \"Re
turns the position of a substring within a string, or 0 if the substring isn't f
ound. If the start argument is defined, any instances of substring that appear b
efore the start position are ignored. The first character in the string is posit
ion 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": fals
e},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)
\",\"func-tooltip\": \"Returns the position of the nth occurrence a substring wi
thin a string\",\"help-contents\": \"Returns the position of the nth occurrence
of a substring within a string, or 0 if that occurrence of the substring isn't f
ound. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\
\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"fun
c-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the
first row in the partition\",\"help-contents\": \"Returns the number of rows fro
m the current row to the first row in the partition.\\n\\nExample (current row i
ndex is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":
[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[,
dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate
using only the specified dimensions.\",\"help-contents\": \"Computes an aggregat
e using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-type
s\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expre
ssion)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-content
s\": \"Returns a float given an expression of any type. This function requires u
nformatted numbers which means exclude commas and other symbols. \\n\\nExample:
FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolea
n\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)
\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser
value\",\"help-contents\": \"Rounds a number to the nearest integer of equal or
lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"funcsig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current
user\",\"help-contents\": \"Returns the full name for the current user. This is
the Tableau Server or Tableau Online full name when the user is signed in; other
wise it is the local or network full name for the Tableau Desktop user.\",\"func
-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"H
EXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns t
he x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,
y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have si
de length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"nam

e\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"R


eturns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Map
s an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false
},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <
then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and
returns an appropriate value\",\"help-contents\": \"Tests a series of expression
s returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profi
t] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Return
s expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not nu
ll, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps
\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": fa
lse},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"fun
c-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",\"
help-contents\": \"Checks whether a condition is met, and returns one value if T
RUE, another value if FALSE, and an optional third value or NULL if unknown. \\n
\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregateexpression }\",\"func-tooltip\": \"Computes an aggregate using the specified dim
ensions and the view dimensions.\",\"help-contents\": \"Computes an aggregate us
ing the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\"
: \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the pa
rtition\",\"help-contents\": \"Returns the index of the current row in the parti
tion.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IN
T\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expressio
n and returns an integer\",\"help-contents\": \"Returns an integer given an expr
ession. This function truncates results to the closest integer toward zero. \\n\
\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"funcarg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"funcsig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a va
lid date\",\"help-contents\": \"Returns true if a given string is a valid date.
\\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"dat
e\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns
true if the current user's full name matches the specified name\",\"help-content
s\": \"Returns true if the current user's full name matches the specified full n
ame, or false if it does not match. This function uses the Tableau Server or Tab
leau Online full name when the user is signed in; otherwise it uses the local or
network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fu
nc-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\
"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the curr
ent user is a member of the specified group\",\"help-contents\": \"Returns true
if the current user is a member of the given group, false otherwise. This uses
the Tableau Server to resolve group membership if logged on, otherwise it always
returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has
-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\
"func-tooltip\": \"Returns true if the specified expression is null\",\"help-con
tents\": \"Returns true if the expression does not contain valid data (Null).\\n
\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"b
oolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISU
SERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name ma
tches the specified user name\",\"help-contents\": \"Returns true if the current
user's username matches the specified username, or false if it does not match.
This function uses the Tableau Server or Tableau Online username when the user i

s signed in; otherwise it uses the local or network username for the Tableau Des
ktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-varargs\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"
Returns the number of rows to the last row in the partition\",\"help-contents\":
\"Returns the number of rows from the current row to the last row in the partit
ion.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":
[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\
"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specifi
ed number of characters from the start of a string\",\"help-contents\": \"Return
s the specified number of characters from the start of the given string. \\n\\n
Example: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\
"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\"
,\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of charact
ers in a string\",\"help-contents\": \"Returns the number of characters in the g
iven string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str
\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"fu
nc-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a
number\",\"help-contents\": \"Returns the natural logarithm of the given number.
Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5))
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\":
\"Returns the logarithm of a number for the given base\",\"help-contents\": \"R
eturns the logarithm of a number for the given base. If the base value is omitte
d, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\
"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\":
false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"fu
nc-tooltip\": \"Returns the value of the expression in a row offset from current
row\",\"help-contents\": \"Returns the value of the given expression in a targe
t row, specified as a relative offset from the current row. Use FIRST()+n and LA
ST()-n for a target relative to the first/last rows in the partition. If offset
is omitted, the Compare To row may be set on the field menu. Returns NULL if the
target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) +
2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\"
: \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string
in all lowercase characters\",\"help-contents\": \"Converts a text string to al
l lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"
name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a
string with leading spaces removed\",\"help-contents\": \"Returns the string wit
h any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\
\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fals
e},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-t
ooltip\": \"Returns a date value constructed from a year, a month and a day of t
he month.\",\"help-contents\": \"Returns a date value constructed from a year, a
month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"funcgrps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has
-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(dat
e, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time
\",\"help-contents\": \"Returns a date and time value given a date expression an
d a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"
func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args
\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second
)\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes and
seconds.\",\"help-contents\": \"Returns a time value constructed from hours, mi
nutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cas
t\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\"
,\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \
"Returns the maximum of a single expression across all records or the maximum of

two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[


\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\
"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(express
ion)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents
\": \"Returns the median of a single expression. MEDIAN can be used with numeric
fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-g
rps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Retur
ns the characters from the middle of a text string\",\"help-contents\": \"Return
s the characters from the middle of a text string given a starting position and
a length. The first character in the string is position 1. If the length is not
included, all characters to the end of the string are returned. If the length is
included, up to that many characters are returned. \\n\\nExample: MID(\\\"Table
au Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\
",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"re
al\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(e
xpression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an
expression\",\"help-contents\": \"Returns the minimum of an expression across al
l records or the minimum of two expressions for each record. \\n\\nExample: MIN
([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-a
rg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"f
unc-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the spe
cified date as an integer\",\"help-contents\": \"Returns the month of a given da
te as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"dat
e\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT
\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs
logical negation on an expression\",\"help-contents\": \"Performs logical negati
on on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Re
turns the current date and time\",\"help-contents\": \"Returns the current date
and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\
"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\"
: \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logic
al disjunction on two expressions\",\"help-contents\": \"Performs a logical disj
unction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expre
ssion, number)\",\"func-tooltip\": \"Returns the percentile value at the specifi
ed number\",\"help-contents\": \"Aggregate calculation that returns the percenti
le value from the given expression corresponding to the specified number. Valid
values for the number are 0 through 1. PERCENTILE([expression], 0.50) will alway
s return the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0
.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-v
ar-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"R
eturns the numeric constant pi\",\"help-contents\": \"Returns the numeric consta
nt pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER
(number,power)\",\"func-tooltip\": \"Raises the number to the specified power\",
\"help-contents\": \"Returns the result of a number raised to the given power. \
\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"fu
nc-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value o
f this calculation in the previous row\",\"help-contents\": \"Returns the value
of this calculation in the previous row. Returns the given expression if the cur
rent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIO
US_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE
(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\":
\"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\
",\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RA

NK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retu


rns the competition rank for the current partition row\",\"help-contents\": \"Re
turns the standard competition rank for the current row in the partition. Identi
cal values are assigned an identical rank. Use the optional 'asc' | 'desc' argum
ent to specify ascending or descending order. The default order is descending.\\
n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2
, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\
"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\"
,\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"he
lp-contents\": \"Returns the dense rank for the current row in the partition. Id
entical values are assigned an identical rank, but no gaps are inserted into the
number sequence. Use the optional 'asc' | 'desc' argument to specify ascending
or descending order. The default order is descending.\\n\\nWith this function, t
he set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\
\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFI
ED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\
": \"Returns the modified competition rank for the current partition row\",\"hel
p-contents\": \"Returns the modified competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'a
sc' | 'desc' argument to specify ascending or descending order. The default orde
r is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velo
city]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PER
CENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile
rank for the current partition row\",\"help-contents\": \"Returns the percentil
e rank for the current row in the partition. Use the optional 'asc' | 'desc' arg
ument to specify ascending or descending order. The default order is ascending.\
\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75
, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-va
r-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expressi
on, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the curren
t partition row\",\"help-contents\": \"Returns the unique rank for the current r
ow in the partition. Identical values are assigned different ranks. Use the opti
onal 'asc' | 'desc' argument to specify ascending or descending order. The defau
lt order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() =
1 for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRAC
T\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Return
s the portion of a string matching the capturing group in a regular expression\"
,\"help-contents\": \"Returns a substring of the given string that matches the c
apturing group within the regular expression pattern. The regular expression pa
ttern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 1
23', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\
"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"
Returns a substring of a string using a regular expression pattern\",\"help-cont
ents\": \"Returns a substring of the given string using the regular expression p
attern. The substring is matched to the nth capturing group, where n is the giv
en index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)',
2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"loci
nt\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEX
P_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches
a regular expression\",\"help-contents\": \"Returns true if a substring of the p
rovided string matches the regular expression pattern. \\n\\nExample: REGEXP_MAT
CH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') =

true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-a
rgs\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(strin
g, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrings
matching a regular expression are replaced\",\"help-contents\": \"Returns a cop
y of the given string where the matching pattern is substituted with the replace
ment string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123
'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-v
ar-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substri
ng, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring wit
hin a string\",\"help-contents\": \"Returns a string in which every occurrence o
f the substring is replaced with the replacement string. If the substring is not
found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\
"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",
\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the speci
fied number of characters from the end of a string\",\"help-contents\": \"Return
s the specified number of characters from the end of the given string. \\n\\nEx
ample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\
",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a numbe
r to the specified number of places\",\"help-contents\": \"Rounds a number to th
e nearest integer or to a specified number of decimal places. \\n\\nExample: ROU
ND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"rea
l\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)
\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-co
ntents\": \"Returns the string with any trailing spaces removed. \\n\\nExample:
RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\"
: \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of
an expression\",\"help-contents\": \"Returns the running average of the given e
xpression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUN
NING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Ret
urns the running count of an expression\",\"help-contents\": \"Returns the runni
ng count of the given expression, from the first row in the partition to the cur
rent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Prof
it)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"fu
nc-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\"
: \"Returns the running maximum of the given expression, from the first row in t
he partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = runn
ing maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum
of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"h
as-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(exp
ression)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"
help-contents\": \"Returns the running minimum of the given expression, from the
first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([P
rofit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) =
running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"
RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expr
ession\",\"help-contents\": \"Returns the running sum of the given expression, f
rom the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM
(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit]
)) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"i
nteger\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SC
RIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean resul
t from an R expression\",\"help-contents\": \"Returns a Boolean result from a gi
ven R expression. The R expression is passed directly to a running Rserve instan

ce. Use .arg# in the R expression to reference parameters. In the following exam
ple, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.
arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(
string, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an
R expression\",\"help-contents\": \"Returns an integer result from a given R ex
pression. The R expression is passed directly to a running Rserve instance. Use
.arg# in the R expression to reference parameters. In the following example, .ar
g1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5
)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\
"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(st
ring, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R
expression\",\"help-contents\": \"Returns a numeric result from a given R expres
sion. The R expression is passed directly to a running Rserve instance. Use .arg
# in the R expression to reference parameters. In the following example, .arg1 i
s equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([P
rofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args
\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expressio
n, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"h
elp-contents\": \"Returns a string result from a given R expression. The R expre
ssion is passed directly to a running Rserve instance. Use .arg# in the R expres
sion to reference parameters. In the following example, .arg1 is equal to ATTR([
Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))
\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true
},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns
1 for a positive number\",\"help-contents\": \"Returns the sign of a number: 1
if the number is positive, zero if the number is zero, or -1 if the number is ne
gative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(ang
le)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Re
turns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()
/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-too
ltip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Ret
urns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\
nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \
"Returns a string containing the specified number of spaces\",\"help-contents\":
\"Returns a string composed of the specified number of repeated spaces. \\n\\nE
xample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string
, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a str
ing\",\"help-contents\": \"Returns a substring from a string, as determined by a
delimiter extracting the characters from the beginning or end of the string. \\
n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-',
-2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"lo
cint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number
)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\":
\"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grp
s\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the squa
re of a number\",\"help-contents\": \"Returns the square of a given number. \\n\
\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"
],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(
string, substring)\",\"func-tooltip\": \"Returns true if the specified string st
arts with the specified substring\",\"help-contents\": \"Returns true if the str
ing starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\
\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"]
,\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)
\",\"func-tooltip\": \"Returns the sample standard deviation for an expression\"

,\"help-contents\": \"Returns the sample standard deviation of the expression.\\


n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expre
ssion)\",\"func-tooltip\": \"Returns the population standard deviation for an ex
pression\",\"help-contents\": \"Returns the population standard deviation of the
expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"
STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"help
-contents\": \"Returns a string given an expression. \\n\\nExample: STR([Age])
returns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\"
,\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values
in an expression\",\"help-contents\": \"Returns the sum of all the values in th
e expression. SUM can be used with numeric fields only. Null values are ignored.
\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"
func-tooltip\": \"Returns the tangent of an angle specified in radians\",\"helpcontents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\
\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\":
\"Performs a logical test and returns an appropriate value\",\"help-contents\":
\"Tests a series of expressions returning the <then> value for the first true <e
xpr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN
'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"
has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-too
ltip\": \"Returns the current date\",\"help-contents\": \"Returns the current da
te. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(ex
pression)\",\"func-tooltip\": \"Returns the total for an expression within the p
artition\",\"help-contents\": \"Returns the total for the given expression.\\n\\
nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribu
te to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"]
,\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"f
unc-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"h
elp-contents\": \"Returns the string with both leading and trailing spaces remov
ed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\"
,\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all upp
ercase characters\",\"help-contents\": \"Converts a text string to all uppercase
letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"U
SERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domai
n for the current user\",\"help-contents\": \"Returns the domain for the current
user when the user is signed on to Tableau Server. Returns the Windows domain i
f the Tableau Desktop user is on a domain. Otherwise this function returns a nul
l string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Ret
urns the user name for the current user\",\"help-contents\": \"Returns the usern
ame for the current user. This is the Tableau Server or Tableau Online username
when the user is signed in; otherwise it is the local or network username for th
e Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-to
oltip\": \"Returns the sample variance for an expression\",\"help-contents\": \"
Returns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"f
unc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n
ame\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns t
he population variance for an expression\",\"help-contents\": \"Returns the popu
lation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":
[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WH

EN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>]
END\",\"func-tooltip\": \"Performs logical tests and returns the appropriate val
ue\",\"help-contents\": \"Finds the first <value> that matches <expr> and return
s the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2
019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"f
unc-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig
\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the ave
rage of the values within the window\",\"help-contents\": \"Returns the average
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i
n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the t
wo previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIND
OW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-toolt
ip\": \"Returns the number of items within the window\",\"help-contents\": \"Ret
urns the count of the expression within the window. The window is defined as of
fsets from the current row. Use FIRST()+n and LAST()-n for offsets from the firs
t or last row in the partition. If start and end are omitted, the entire partit
ion is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Pro
fit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\
"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\
"func-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"
Returns the maximum of the expression within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire p
artition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Pr
ofit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM(
[Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the cur
rent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"
,\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\"
: \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the me
dian within the window\",\"help-contents\": \"Returns the median of the expressi
on within the window. The window is defined as offsets from the current row. Us
e FIRST()+n and LAST()-n for offsets from the first or last row in the partition
. If start and end are omitted, the entire partition is used.\\n\\nExample: WIN
DOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous r
ows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",
\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"fu
nc-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns t
he minimum within the window\",\"help-contents\": \"Returns the minimum of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous r
ows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args
\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(ex
pression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile val
ue at the specified number\",\"help-contents\": \"Returns the value correspondin
g to the specified percentile within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th
percentile of SUM(Profit) from the two previous rows to the current row\",\"func
-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integ
er\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDO
W_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample stand

ard deviation within the window\",\"help-contents\": \"Returns the sample standa


rd deviation of the expression within the window. The window is defined as offs
ets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partitio
n is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(P
rofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},
{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, e
nd])\",\"func-tooltip\": \"Returns the population standard deviation within the
window\",\"help-contents\": \"Returns the population standard deviation of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_
SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \
"Returns the sum of values within the window\",\"help-contents\": \"Returns the
sum of the expression within the window. The window is defined as offsets from
the current row. Use FIRST()+n and LAST()-n for offsets from the first or last r
ow in the partition. If start and end are omitted, the entire partition is used
.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the t
wo previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"W
INDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-toolti
p\": \"Returns the sample variance within the window\",\"help-contents\": \"Retu
rns the sample variance of the expression within the window. The window is defi
ned as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the enti
re partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [star
t, end])\",\"func-tooltip\": \"Returns the population variance within the window
\",\"help-contents\": \"Returns the population variance of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()
+n and LAST()-n for offsets from the first or last row in the partition. If sta
rt and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(
SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to th
e current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEA
R(date)\",\"func-tooltip\": \"Returns the year of the specified date as an integ
er\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\\
nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\
":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(e
xpression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"he
lp-contents\": \"Returns <expression> if it is not null, otherwise returns zero.
\\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-typ
es\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calcula
tion-dialog\",\"use-parameters\": true} position=\"15\"","name":"tabdoc:calculat
ion-auto-complete"}}
{"ts":"2016-09-29T17:02:02.882","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED [Re
gion]\" calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l
\",\"calculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculatio
n_5489888009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{FI
XED re\",\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"f
older-name\": \"\",\"add-to-folder\": false,\"folder-role\": \"dimensions\",\"ha
s-table-calc-data\": false,\"table-calc-types-used\": 0,\"style-token-list\":[],

\"error-string\": \"Error in calculation:\\n\\nExpected comma or colon in the di


mensionality declaration.\\n\\nWould you like to correct the calculation?\",\"er
ror-info-list\":[{\"start-position-for-error\": 8,\"length-of-calc-of-error\": 1
,\"error-message\": \"Expected comma or colon in the dimensionality declaration.
\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func
-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a numb
er\",\"help-contents\": \"Returns the absolute value of the given number. \\n\\n
Example: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"h
as-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"functooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns t
he arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-v
ar-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN
<then> END\",\"func-tooltip\": \"Performs a logical conjunction on two expressi
ons\",\"help-contents\": \"Performs a logical conjunction on two expressions\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASC
II code for the first character in a string\",\"help-contents\": \"Returns the A
SCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"aut
hors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-varargs\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip
\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc si
ne of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267
949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Retu
rns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent o
f a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.56524082839
42\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tool
tip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns t
he arc tangent of two given numbers (x and y). The result is in radians. \\n\\n
Example: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig
\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expression
if it has one value for all rows\",\"help-contents\": \"Returns the value of th
e given expression if it only has a single value for all rows in the group, othe
rwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([
Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip
\": \"Returns the average of the values in the expression\",\"help-contents\": \
"Returns the average of all the values in the expression. AVG can be used with n
umeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"fun
c-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE
<else>] END\",\"func-tooltip\": \"Performs logical tests and returns the approp
riate value\",\"help-contents\": \"Finds the first <value> that matches <expr> a
nd returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \
u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"log
ic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"fu
nc-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest
integer of equal or greater value\",\"help-contents\": \"Rounds a number to the
nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts
an integer ASCII code into a character\",\"help-contents\": \"Converts the give
n integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"
Returns true if a string contains the specified substring\",\"help-contents\": \
"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\"

Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-type


s\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\":
\"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in r
adians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle
in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"
func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle
specified in radians\",\"help-contents\": \"Returns the cotangent of an angle.
Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"n
um\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\
",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of
items in the expression\",\"help-contents\": \"Returns the number of items in a
group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"na
me\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Return
s the number of distinct items in the expression\",\"help-contents\": \"Returns
the number of distinct items in a group. NULL values are not counted. Each uniq
ue value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"D
ATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from
a number\",\"help-contents\": \"Returns a date given a number, string, or date
expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote
that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"D
ATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified da
te incremented by the specified amount\",\"help-contents\": \"Adds an increment
to the specified date and returns the new date. The increment is defined by the
interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2
004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",
\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"fun
c-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-t
ooltip\": \"Returns the difference between two dates\",\"help-contents\": \"Retu
rns the difference between two dates where start_date is subtracted from end_dat
e. The difference is expressed in units of date_part. If start_of_week is omitte
d, the week start day is determined by the start day configured for the data sou
rce.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\
",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetim
e\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \
"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part
of the specified date as a string\",\"help-contents\": \"Returns a part of the
given date as a string, where the part is defined by date_part. If start_of_week
is omitted, the week start day is determined by the start day configured for th
e data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\
"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(form
at, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents\
": \"Converts a string to a date in the specified format. \\n\\nExample: DATEPAR
SE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"fu
nc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": f
alse},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_o
f_week])\",\"func-tooltip\": \"Returns the specified part of a date as an intege
r\",\"help-contents\": \"Returns a part of the given date as an integer where th
e part is defined by date_part. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DAT
EPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[
\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETI
ME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a dateti
me from a number\",\"help-contents\": \"Returns a datetime given a number, strin
g, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\")
\\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"fu

nc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"fun


c-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Tru
ncates the specified date to the specified accuracy\",\"help-contents\": \"Trunc
ates the specified date to the accuracy specified by the date_part and returns t
he new date. If start_of_week is omitted, the week start day is determined by th
e start day configured for the data source.\\n\\nExample: DATETRUNC('quarter', #
2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-type
s\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"D
AY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the
specified date as an integer\",\"help-contents\": \"Returns the day of the give
n date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"
date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"
DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value
in radians to degrees\",\"help-contents\": \"Converts a number in radians to de
grees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"
DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divisi
on operation\",\"help-contents\": \"Returns the integer part of a division.\\n\\
nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF
<expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"functooltip\": \"Performs a logical test and returns an appropriate value\",\"help-c
ontents\": \"Tests a series of expressions returning the <then> value for the fi
rst true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit
] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr
> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-toolt
ip\": \"Performs a logical test and returns an appropriate value\",\"help-conten
ts\": \"Tests a series of expressions returning the <then> value for the first t
rue <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0
THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <
then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"
Performs a logical test and returns an appropriate value\",\"help-contents\": \"
Tests a series of expressions returning the <then> value for the first true <exp
r>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'B
reakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, su
bstring)\",\"func-tooltip\": \"Returns true if the specified string ends with th
e specified substring\",\"help-contents\": \"Returns true if the string ends wit
h the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Ca
lculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\":
\"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Co
mputes an aggregate excluding the specified dimensions if present in the view.\"
,\"help-contents\": \"Computes an aggregate excluding the specified dimensions i
f present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\
": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns e
raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\":
\"Returns the position of a substring within a string\",\"help-contents\": \"Ret
urns the position of a substring within a string, or 0 if the substring isn't fo
und. If the start argument is defined, any instances of substring that appear be
fore the start position are ignored. The first character in the string is positi
on 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false
},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\
",\"func-tooltip\": \"Returns the position of the nth occurrence a substring wit

hin a string\",\"help-contents\": \"Returns the position of the nth occurrence o


f a substring within a string, or 0 if that occurrence of the substring isn't fo
und. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\\
"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func
-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the f
irst row in the partition\",\"help-contents\": \"Returns the number of rows from
the current row to the first row in the partition.\\n\\nExample (current row in
dex is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[
],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[,
dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate u
sing only the specified dimensions.\",\"help-contents\": \"Computes an aggregate
using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expres
sion)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-contents
\": \"Returns a float given an expression of any type. This function requires un
formatted numbers which means exclude commas and other symbols. \\n\\nExample:
FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean
\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\
",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser
value\",\"help-contents\": \"Rounds a number to the nearest integer of equal or
lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-s
ig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current u
ser\",\"help-contents\": \"Returns the full name for the current user. This is t
he Tableau Server or Tableau Online full name when the user is signed in; otherw
ise it is the local or network full name for the Tableau Desktop user.\",\"funcgrps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HE
XBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns th
e x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y
) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have sid
e length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name
\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Re
turns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps
an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <t
hen2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and r
eturns an appropriate value\",\"help-contents\": \"Tests a series of expressions
returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profit
] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns
expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not nul
l, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\
":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func
-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",\"h
elp-contents\": \"Checks whether a condition is met, and returns one value if TR
UE, another value if FALSE, and an optional third value or NULL if unknown. \\n\
\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},
{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-e
xpression }\",\"func-tooltip\": \"Computes an aggregate using the specified dime
nsions and the view dimensions.\",\"help-contents\": \"Computes an aggregate usi
ng the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\":
\"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the par

tition\",\"help-contents\": \"Returns the index of the current row in the partit


ion.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT
\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression
and returns an integer\",\"help-contents\": \"Returns an integer given an expre
ssion. This function truncates results to the closest integer toward zero. \\n\\
nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-a
rg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-s
ig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a val
id date\",\"help-contents\": \"Returns true if a given string is a valid date.
\\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date
\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \
"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns t
rue if the current user's full name matches the specified name\",\"help-contents
\": \"Returns true if the current user's full name matches the specified full na
me, or false if it does not match. This function uses the Tableau Server or Tabl
eau Online full name when the user is signed in; otherwise it uses the local or
network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fun
c-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"
func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the curre
nt user is a member of the specified group\",\"help-contents\": \"Returns true i
f the current user is a member of the given group, false otherwise. This uses t
he Tableau Server to resolve group membership if logged on, otherwise it always
returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"hasvar-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"
func-tooltip\": \"Returns true if the specified expression is null\",\"help-cont
ents\": \"Returns true if the expression does not contain valid data (Null).\\n\
\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"bo
olean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUS
ERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name mat
ches the specified user name\",\"help-contents\": \"Returns true if the current
user's username matches the specified username, or false if it does not match. T
his function uses the Tableau Server or Tableau Online username when the user is
signed in; otherwise it uses the local or network username for the Tableau Desk
top user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-a
rgs\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"R
eturns the number of rows to the last row in the partition\",\"help-contents\":
\"Returns the number of rows from the current row to the last row in the partiti
on.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[
\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"
func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specifie
d number of characters from the start of a string\",\"help-contents\": \"Returns
the specified number of characters from the start of the given string. \\n\\nE
xample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",
\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of characte
rs in a string\",\"help-contents\": \"Returns the number of characters in the gi
ven string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\
"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"fun
c-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a n
umber\",\"help-contents\": \"Returns the natural logarithm of the given number.
Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5))
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\":
\"Returns the logarithm of a number for the given base\",\"help-contents\": \"Re
turns the logarithm of a number for the given base. If the base value is omitted
, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"fun
c-tooltip\": \"Returns the value of the expression in a row offset from current

row\",\"help-contents\": \"Returns the value of the given expression in a target


row, specified as a relative offset from the current row. Use FIRST()+n and LAS
T()-n for a target relative to the first/last rows in the partition. If offset i
s omitted, the Compare To row may be set on the field menu. Returns NULL if the
target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) +
2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string
in all lowercase characters\",\"help-contents\": \"Converts a text string to all
lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"
func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"n
ame\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a s
tring with leading spaces removed\",\"help-contents\": \"Returns the string with
any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\
"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false
},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-to
oltip\": \"Returns a date value constructed from a year, a month and a day of th
e month.\",\"help-contents\": \"Returns a date value constructed from a year, a
month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-g
rps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"hasvar-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date
, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time\
",\"help-contents\": \"Returns a date and time value given a date expression and
a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"f
unc-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\
": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)
\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes and
seconds.\",\"help-contents\": \"Returns a time value constructed from hours, min
utes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",
\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \"
Returns the maximum of a single expression across all records or the maximum of
two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\
"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"
],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expressi
on)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents\
": \"Returns the median of a single expression. MEDIAN can be used with numeric
fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-gr
ps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Return
s the characters from the middle of a text string\",\"help-contents\": \"Returns
the characters from the middle of a text string given a starting position and a
length. The first character in the string is position 1. If the length is not i
ncluded, all characters to the end of the string are returned. If the length is
included, up to that many characters are returned. \\n\\nExample: MID(\\\"Tablea
u Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\"
,2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"rea
l\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(ex
pression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an e
xpression\",\"help-contents\": \"Returns the minimum of an expression across all
records or the minimum of two expressions for each record. \\n\\nExample: MIN(
[Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-ar
g-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"fu
nc-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the spec
ified date as an integer\",\"help-contents\": \"Returns the month of a given dat
e as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date
\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\
",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs l
ogical negation on an expression\",\"help-contents\": \"Performs logical negatio

n on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-a
rgs\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Ret
urns the current date and time\",\"help-contents\": \"Returns the current date a
nd time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"
],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\":
\"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logica
l disjunction on two expressions\",\"help-contents\": \"Performs a logical disju
nction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expres
sion, number)\",\"func-tooltip\": \"Returns the percentile value at the specifie
d number\",\"help-contents\": \"Aggregate calculation that returns the percentil
e value from the given expression corresponding to the specified number. Valid v
alues for the number are 0 through 1. PERCENTILE([expression], 0.50) will always
return the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.
90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-va
r-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Re
turns the numeric constant pi\",\"help-contents\": \"Returns the numeric constan
t pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(
number,power)\",\"func-tooltip\": \"Raises the number to the specified power\",\
"help-contents\": \"Returns the result of a number raised to the given power. \\
n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":
[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"fun
c-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of
this calculation in the previous row\",\"help-contents\": \"Returns the value o
f this calculation in the previous row. Returns the given expression if the curr
ent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOU
S_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(
1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \
"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\"
,\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RAN
K\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retur
ns the competition rank for the current partition row\",\"help-contents\": \"Ret
urns the standard competition rank for the current row in the partition. Identic
al values are assigned an identical rank. Use the optional 'asc' | 'desc' argume
nt to specify ascending or descending order. The default order is descending.\\n
\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2,
4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"
name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",
\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"hel
p-contents\": \"Returns the dense rank for the current row in the partition. Ide
ntical values are assigned an identical rank, but no gaps are inserted into the
number sequence. Use the optional 'asc' | 'desc' argument to specify ascending o
r descending order. The default order is descending.\\n\\nWith this function, th
e set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\
n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIE
D\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\"
: \"Returns the modified competition rank for the current partition row\",\"help
-contents\": \"Returns the modified competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'as
c' | 'desc' argument to specify ascending or descending order. The default order
is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would b
e ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Veloc
ity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\
"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERC
ENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile

rank for the current partition row\",\"help-contents\": \"Returns the percentile


rank for the current row in the partition. Use the optional 'asc' | 'desc' argu
ment to specify ascending or descending order. The default order is ascending.\\
n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75,
75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var
-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expressio
n, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the current
partition row\",\"help-contents\": \"Returns the unique rank for the current ro
w in the partition. Identical values are assigned different ranks. Use the optio
nal 'asc' | 'desc' argument to specify ascending or descending order. The defaul
t order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1
for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT
\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns
the portion of a string matching the capturing group in a regular expression\",
\"help-contents\": \"Returns a substring of the given string that matches the ca
pturing group within the regular expression pattern. The regular expression pat
tern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 12
3', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"
func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"R
eturns a substring of a string using a regular expression pattern\",\"help-conte
nts\": \"Returns a substring of the given string using the regular expression pa
ttern. The substring is matched to the nth capturing group, where n is the give
n index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)',
2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locin
t\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP
_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches a
regular expression\",\"help-contents\": \"Returns true if a substring of the pr
ovided string matches the regular expression pattern. \\n\\nExample: REGEXP_MATC
H('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') =
true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-ar
gs\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string
, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrings
matching a regular expression are replaced\",\"help-contents\": \"Returns a copy
of the given string where the matching pattern is substituted with the replacem
ent string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'
\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-va
r-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substrin
g, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring with
in a string\",\"help-contents\": \"Returns a string in which every occurrence of
the substring is replaced with the replacement string. If the substring is not
found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"
ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-t
ypes\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\
"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specif
ied number of characters from the end of a string\",\"help-contents\": \"Returns
the specified number of characters from the end of the given string. \\n\\nExa
mple: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"f
unc-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\"
,\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number
to the specified number of places\",\"help-contents\": \"Rounds a number to the
nearest integer or to a specified number of decimal places. \\n\\nExample: ROUN
D(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real
\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\
",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-con
tents\": \"Returns the string with any trailing spaces removed. \\n\\nExample:
RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-typ

es\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\":


\"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of
an expression\",\"help-contents\": \"Returns the running average of the given ex
pression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNN
ING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Retu
rns the running count of an expression\",\"help-contents\": \"Returns the runnin
g count of the given expression, from the first row in the partition to the curr
ent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profi
t)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"fun
c-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\":
\"Returns the running maximum of the given expression, from the first row in th
e partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = runni
ng maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum
of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expr
ession)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"h
elp-contents\": \"Returns the running minimum of the given expression, from the
first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Pr
ofit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = r
unning minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"R
UNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expre
ssion\",\"help-contents\": \"Returns the running sum of the given expression, fr
om the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM(
SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])
) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"in
teger\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCR
IPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result
from an R expression\",\"help-contents\": \"Returns a Boolean result from a giv
en R expression. The R expression is passed directly to a running Rserve instanc
e. Use .arg# in the R expression to reference parameters. In the following examp
le, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.a
rg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(s
tring, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an
R expression\",\"help-contents\": \"Returns an integer result from a given R exp
ression. The R expression is passed directly to a running Rserve instance. Use .
arg# in the R expression to reference parameters. In the following example, .arg
1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)
\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"
has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(str
ing, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R e
xpression\",\"help-contents\": \"Returns a numeric result from a given R express
ion. The R expression is passed directly to a running Rserve instance. Use .arg#
in the R expression to reference parameters. In the following example, .arg1 is
equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Pr
ofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression
, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"he
lp-contents\": \"Returns a string result from a given R expression. The R expres
sion is passed directly to a running Rserve instance. Use .arg# in the R express
ion to reference parameters. In the following example, .arg1 is equal to ATTR([R
egion]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true}
,{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns
1 for a positive number\",\"help-contents\": \"Returns the sign of a number: 1 i
f the number is positive, zero if the number is zero, or -1 if the number is neg

ative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angl
e)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Ret
urns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/
4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tool
tip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Retu
rns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\n
SIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"
Returns a string containing the specified number of spaces\",\"help-contents\":
\"Returns a string composed of the specified number of repeated spaces. \\n\\nEx
ample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string,
delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a stri
ng\",\"help-contents\": \"Returns a substring from a string, as determined by a
delimiter extracting the characters from the beginning or end of the string. \\n
\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-',
-2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"loc
int\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)
\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\":
\"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the squar
e of a number\",\"help-contents\": \"Returns the square of a given number. \\n\\
nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(s
tring, substring)\",\"func-tooltip\": \"Returns true if the specified string sta
rts with the specified substring\",\"help-contents\": \"Returns true if the stri
ng starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\
"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],
\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\
",\"func-tooltip\": \"Returns the sample standard deviation for an expression\",
\"help-contents\": \"Returns the sample standard deviation of the expression.\\n
\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expres
sion)\",\"func-tooltip\": \"Returns the population standard deviation for an exp
ression\",\"help-contents\": \"Returns the population standard deviation of the
expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"S
TR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"helpcontents\": \"Returns a string given an expression. \\n\\nExample: STR([Age]) r
eturns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast\
"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",
\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values
in an expression\",\"help-contents\": \"Returns the sum of all the values in the
expression. SUM can be used with numeric fields only. Null values are ignored.\
\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"f
unc-tooltip\": \"Returns the tangent of an angle specified in radians\",\"help-c
ontents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\\
nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \
"Performs a logical test and returns an appropriate value\",\"help-contents\": \
"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tool
tip\": \"Returns the current date\",\"help-contents\": \"Returns the current dat

e. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-ty


pes\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(exp
ression)\",\"func-tooltip\": \"Returns the total for an expression within the pa
rtition\",\"help-contents\": \"Returns the total for the given expression.\\n\\n
Example: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribut
e to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],
\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"fu
nc-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"he
lp-contents\": \"Returns the string with both leading and trailing spaces remove
d. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",
\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all uppe
rcase characters\",\"help-contents\": \"Converts a text string to all uppercase
letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"US
ERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain
for the current user\",\"help-contents\": \"Returns the domain for the current
user when the user is signed on to Tableau Server. Returns the Windows domain if
the Tableau Desktop user is on a domain. Otherwise this function returns a null
string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Retu
rns the user name for the current user\",\"help-contents\": \"Returns the userna
me for the current user. This is the Tableau Server or Tableau Online username w
hen the user is signed in; otherwise it is the local or network username for the
Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-too
ltip\": \"Returns the sample variance for an expression\",\"help-contents\": \"R
eturns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"fu
nc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns th
e population variance for an expression\",\"help-contents\": \"Returns the popul
ation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHE
N\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] E
ND\",\"func-tooltip\": \"Performs logical tests and returns the appropriate valu
e\",\"help-contents\": \"Finds the first <value> that matches <expr> and returns
the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u20
19 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\
": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the aver
age of the values within the window\",\"help-contents\": \"Returns the average o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDO
W_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-toolti
p\": \"Returns the number of items within the window\",\"help-contents\": \"Retu
rns the count of the expression within the window. The window is defined as off
sets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partiti
on is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Prof
it) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"
func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"
name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"
func-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"R
eturns the maximum of the expression within the window. The window is defined a
s offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire pa

rtition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Pro


fit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([
Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the curr
ent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\":
\"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the med
ian within the window\",\"help-contents\": \"Returns the median of the expressio
n within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WIND
OW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous ro
ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"fun
c-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns th
e minimum within the window\",\"help-contents\": \"Returns the minimum of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous ro
ws to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\
": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(exp
ression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile valu
e at the specified number\",\"help-contents\": \"Returns the value corresponding
to the specified percentile within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th p
ercentile of SUM(Profit) from the two previous rows to the current row\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"intege
r\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW
_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample standa
rd deviation within the window\",\"help-contents\": \"Returns the sample standar
d deviation of the expression within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Pr
ofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{
\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, en
d])\",\"func-tooltip\": \"Returns the population standard deviation within the w
indow\",\"help-contents\": \"Returns the population standard deviation of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two p
revious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_S
UM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"
Returns the sum of values within the window\",\"help-contents\": \"Returns the s
um of the expression within the window. The window is defined as offsets from t
he current row. Use FIRST()+n and LAST()-n for offsets from the first or last ro
w in the partition. If start and end are omitted, the entire partition is used.
\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WI
NDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip
\": \"Returns the sample variance within the window\",\"help-contents\": \"Retur
ns the sample variance of the expression within the window. The window is defin

ed as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the entir
e partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start
, end])\",\"func-tooltip\": \"Returns the population variance within the window\
",\"help-contents\": \"Returns the population variance of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()+
n and LAST()-n for offsets from the first or last row in the partition. If star
t and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(S
UM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to the
current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\
",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR
(date)\",\"func-tooltip\": \"Returns the year of the specified date as an intege
r\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\\n
Example: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\"
:[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(ex
pression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"hel
p-contents\": \"Returns <expression> if it is not null, otherwise returns zero.
\\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calculat
ion-dialog\",\"use-parameters\": true} position=\"15\"","name":"tabdoc:calculati
on-auto-complete"}}
{"ts":"2016-09-29T17:02:02.882","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED [R
egion]\" calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70
l\",\"calculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculati
on_5489888009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{F
IXED re\",\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"
folder-name\": \"\",\"add-to-folder\": false,\"folder-role\": \"dimensions\",\"h
as-table-calc-data\": false,\"table-calc-types-used\": 0,\"style-token-list\":[]
,\"error-string\": \"Error in calculation:\\n\\nExpected comma or colon in the d
imensionality declaration.\\n\\nWould you like to correct the calculation?\",\"e
rror-info-list\":[{\"start-position-for-error\": 8,\"length-of-calc-of-error\":
1,\"error-message\": \"Expected comma or colon in the dimensionality declaration
.\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"fun
c-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a num
ber\",\"help-contents\": \"Returns the absolute value of the given number. \\n\\
nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func
-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns
the arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"hasvar-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THE
N <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two express
ions\",\"help-contents\": \"Performs a logical conjunction on two expressions\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the AS
CII code for the first character in a string\",\"help-contents\": \"Returns the
ASCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"au
thors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var
-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-toolti
p\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc s
ine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.570796326
7949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Ret
urns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent
of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408283

942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-too
ltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns
the arc tangent of two given numbers (x and y). The result is in radians. \\n\\
nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-ty
pes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-si
g\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expressio
n if it has one value for all rows\",\"help-contents\": \"Returns the value of t
he given expression if it only has a single value for all rows in the group, oth
erwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR(
[Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-toolti
p\": \"Returns the average of the values in the expression\",\"help-contents\":
\"Returns the average of all the values in the expression. AVG can be used with
numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"fu
nc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELS
E <else>] END\",\"func-tooltip\": \"Performs logical tests and returns the appro
priate value\",\"help-contents\": \"Finds the first <value> that matches <expr>
and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN
\u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"lo
gic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"f
unc-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the neares
t integer of equal or greater value\",\"help-contents\": \"Rounds a number to th
e nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\
",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false}
,{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Convert
s an integer ASCII code into a character\",\"help-contents\": \"Converts the giv
en integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \
"Returns true if a string contains the specified substring\",\"help-contents\":
\"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\
"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\":
\"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in
radians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle
in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"nu
m\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\
"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angl
e specified in radians\",\"help-contents\": \"Returns the cotangent of an angle.
Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"
num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT
\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of
items in the expression\",\"help-contents\": \"Returns the number of items in a
group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"n
ame\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Retur
ns the number of distinct items in the expression\",\"help-contents\": \"Returns
the number of distinct items in a group. NULL values are not counted. Each uni
que value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"
DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date fro
m a number\",\"help-contents\": \"Returns a date given a number, string, or date
expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote
that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"
DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified d
ate incremented by the specified amount\",\"help-contents\": \"Adds an increment
to the specified date and returns the new date. The increment is defined by the

interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) =


2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\"
,\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"fu
nc-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"functooltip\": \"Returns the difference between two dates\",\"help-contents\": \"Ret
urns the difference between two dates where start_date is subtracted from end_da
te. The difference is expressed in units of date_part. If start_of_week is omitt
ed, the week start day is determined by the start day configured for the data so
urce.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3
\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"dateti
me\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\":
\"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a par
t of the specified date as a string\",\"help-contents\": \"Returns a part of the
given date as a string, where the part is defined by date_part. If start_of_wee
k is omitted, the week start day is determined by the start day configured for t
he data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",
\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"]
,\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(for
mat, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents
\": \"Converts a string to a date in the specified format. \\n\\nExample: DATEPA
RSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"f
unc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\":
false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_
of_week])\",\"func-tooltip\": \"Returns the specified part of a date as an integ
er\",\"help-contents\": \"Returns a part of the given date as an integer where t
he part is defined by date_part. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DA
TEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":
[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATET
IME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datet
ime from a number\",\"help-contents\": \"Returns a datetime given a number, stri
ng, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\"
) \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"f
unc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"fu
nc-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Tr
uncates the specified date to the specified accuracy\",\"help-contents\": \"Trun
cates the specified date to the accuracy specified by the date_part and returns
the new date. If start_of_week is omitted, the week start day is determined by t
he start day configured for the data source.\\n\\nExample: DATETRUNC('quarter',
#2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-typ
es\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"
DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of th
e specified date as an integer\",\"help-contents\": \"Returns the day of the giv
en date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\
"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \
"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a valu
e in radians to degrees\",\"help-contents\": \"Converts a number in radians to d
egrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \
"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divis
ion operation\",\"help-contents\": \"Returns the integer part of a division.\\n\
\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"intege
r\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF
<expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func
-tooltip\": \"Performs a logical test and returns an appropriate value\",\"helpcontents\": \"Tests a series of expressions returning the <then> value for the f
irst true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profi
t] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <exp
r> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tool

tip\": \"Performs a logical test and returns an appropriate value\",\"help-conte


nts\": \"Tests a series of expressions returning the <then> value for the first
true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =
0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \
"Performs a logical test and returns an appropriate value\",\"help-contents\": \
"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, s
ubstring)\",\"func-tooltip\": \"Returns true if the specified string ends with t
he specified substring\",\"help-contents\": \"Returns true if the string ends wi
th the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"C
alculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\"
: \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"C
omputes an aggregate excluding the specified dimensions if present in the view.\
",\"help-contents\": \"Computes an aggregate excluding the specified dimensions
if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip
\": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns e
raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\":
\"Returns the position of a substring within a string\",\"help-contents\": \"Re
turns the position of a substring within a string, or 0 if the substring isn't f
ound. If the start argument is defined, any instances of substring that appear b
efore the start position are ignored. The first character in the string is posit
ion 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": fals
e},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)
\",\"func-tooltip\": \"Returns the position of the nth occurrence a substring wi
thin a string\",\"help-contents\": \"Returns the position of the nth occurrence
of a substring within a string, or 0 if that occurrence of the substring isn't f
ound. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\
\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"fun
c-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the
first row in the partition\",\"help-contents\": \"Returns the number of rows fro
m the current row to the first row in the partition.\\n\\nExample (current row i
ndex is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":
[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[,
dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate
using only the specified dimensions.\",\"help-contents\": \"Computes an aggregat
e using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-type
s\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expre
ssion)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-content
s\": \"Returns a float given an expression of any type. This function requires u
nformatted numbers which means exclude commas and other symbols. \\n\\nExample:
FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolea
n\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)
\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser
value\",\"help-contents\": \"Rounds a number to the nearest integer of equal or
lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"funcsig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current
user\",\"help-contents\": \"Returns the full name for the current user. This is
the Tableau Server or Tableau Online full name when the user is signed in; other
wise it is the local or network full name for the Tableau Desktop user.\",\"func

-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"H


EXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns t
he x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,
y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have si
de length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"nam
e\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"R
eturns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Map
s an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false
},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <
then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and
returns an appropriate value\",\"help-contents\": \"Tests a series of expression
s returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profi
t] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Return
s expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not nu
ll, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps
\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": fa
lse},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"fun
c-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",\"
help-contents\": \"Checks whether a condition is met, and returns one value if T
RUE, another value if FALSE, and an optional third value or NULL if unknown. \\n
\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregateexpression }\",\"func-tooltip\": \"Computes an aggregate using the specified dim
ensions and the view dimensions.\",\"help-contents\": \"Computes an aggregate us
ing the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\"
: \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the pa
rtition\",\"help-contents\": \"Returns the index of the current row in the parti
tion.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IN
T\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expressio
n and returns an integer\",\"help-contents\": \"Returns an integer given an expr
ession. This function truncates results to the closest integer toward zero. \\n\
\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"funcarg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"funcsig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a va
lid date\",\"help-contents\": \"Returns true if a given string is a valid date.
\\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"dat
e\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns
true if the current user's full name matches the specified name\",\"help-content
s\": \"Returns true if the current user's full name matches the specified full n
ame, or false if it does not match. This function uses the Tableau Server or Tab
leau Online full name when the user is signed in; otherwise it uses the local or
network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fu
nc-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\
"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the curr
ent user is a member of the specified group\",\"help-contents\": \"Returns true
if the current user is a member of the given group, false otherwise. This uses
the Tableau Server to resolve group membership if logged on, otherwise it always
returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has
-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\
"func-tooltip\": \"Returns true if the specified expression is null\",\"help-con
tents\": \"Returns true if the expression does not contain valid data (Null).\\n

\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"b
oolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISU
SERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name ma
tches the specified user name\",\"help-contents\": \"Returns true if the current
user's username matches the specified username, or false if it does not match.
This function uses the Tableau Server or Tableau Online username when the user i
s signed in; otherwise it uses the local or network username for the Tableau Des
ktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-varargs\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"
Returns the number of rows to the last row in the partition\",\"help-contents\":
\"Returns the number of rows from the current row to the last row in the partit
ion.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":
[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\
"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specifi
ed number of characters from the start of a string\",\"help-contents\": \"Return
s the specified number of characters from the start of the given string. \\n\\n
Example: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\
"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\"
,\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of charact
ers in a string\",\"help-contents\": \"Returns the number of characters in the g
iven string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str
\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"fu
nc-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a
number\",\"help-contents\": \"Returns the natural logarithm of the given number.
Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5))
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\":
\"Returns the logarithm of a number for the given base\",\"help-contents\": \"R
eturns the logarithm of a number for the given base. If the base value is omitte
d, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\
"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\":
false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"fu
nc-tooltip\": \"Returns the value of the expression in a row offset from current
row\",\"help-contents\": \"Returns the value of the given expression in a targe
t row, specified as a relative offset from the current row. Use FIRST()+n and LA
ST()-n for a target relative to the first/last rows in the partition. If offset
is omitted, the Compare To row may be set on the field menu. Returns NULL if the
target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) +
2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\"
: \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string
in all lowercase characters\",\"help-contents\": \"Converts a text string to al
l lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"
name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a
string with leading spaces removed\",\"help-contents\": \"Returns the string wit
h any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\
\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fals
e},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-t
ooltip\": \"Returns a date value constructed from a year, a month and a day of t
he month.\",\"help-contents\": \"Returns a date value constructed from a year, a
month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"funcgrps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has
-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(dat
e, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time
\",\"help-contents\": \"Returns a date and time value given a date expression an
d a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"
func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args
\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second
)\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes and

seconds.\",\"help-contents\": \"Returns a time value constructed from hours, mi


nutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cas
t\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\"
,\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \
"Returns the maximum of a single expression across all records or the maximum of
two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[
\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\
"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(express
ion)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents
\": \"Returns the median of a single expression. MEDIAN can be used with numeric
fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-g
rps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Retur
ns the characters from the middle of a text string\",\"help-contents\": \"Return
s the characters from the middle of a text string given a starting position and
a length. The first character in the string is position 1. If the length is not
included, all characters to the end of the string are returned. If the length is
included, up to that many characters are returned. \\n\\nExample: MID(\\\"Table
au Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\
",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"re
al\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(e
xpression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an
expression\",\"help-contents\": \"Returns the minimum of an expression across al
l records or the minimum of two expressions for each record. \\n\\nExample: MIN
([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-a
rg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"f
unc-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the spe
cified date as an integer\",\"help-contents\": \"Returns the month of a given da
te as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"dat
e\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT
\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs
logical negation on an expression\",\"help-contents\": \"Performs logical negati
on on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Re
turns the current date and time\",\"help-contents\": \"Returns the current date
and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\
"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\"
: \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logic
al disjunction on two expressions\",\"help-contents\": \"Performs a logical disj
unction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expre
ssion, number)\",\"func-tooltip\": \"Returns the percentile value at the specifi
ed number\",\"help-contents\": \"Aggregate calculation that returns the percenti
le value from the given expression corresponding to the specified number. Valid
values for the number are 0 through 1. PERCENTILE([expression], 0.50) will alway
s return the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0
.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-v
ar-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"R
eturns the numeric constant pi\",\"help-contents\": \"Returns the numeric consta
nt pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER
(number,power)\",\"func-tooltip\": \"Raises the number to the specified power\",
\"help-contents\": \"Returns the result of a number raised to the given power. \
\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"fu
nc-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value o
f this calculation in the previous row\",\"help-contents\": \"Returns the value
of this calculation in the previous row. Returns the given expression if the cur
rent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIO

US_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE


(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\":
\"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\
",\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RA
NK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retu
rns the competition rank for the current partition row\",\"help-contents\": \"Re
turns the standard competition rank for the current row in the partition. Identi
cal values are assigned an identical rank. Use the optional 'asc' | 'desc' argum
ent to specify ascending or descending order. The default order is descending.\\
n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2
, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\
"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\"
,\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"he
lp-contents\": \"Returns the dense rank for the current row in the partition. Id
entical values are assigned an identical rank, but no gaps are inserted into the
number sequence. Use the optional 'asc' | 'desc' argument to specify ascending
or descending order. The default order is descending.\\n\\nWith this function, t
he set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\
\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFI
ED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\
": \"Returns the modified competition rank for the current partition row\",\"hel
p-contents\": \"Returns the modified competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'a
sc' | 'desc' argument to specify ascending or descending order. The default orde
r is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velo
city]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PER
CENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile
rank for the current partition row\",\"help-contents\": \"Returns the percentil
e rank for the current row in the partition. Use the optional 'asc' | 'desc' arg
ument to specify ascending or descending order. The default order is ascending.\
\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75
, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-va
r-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expressi
on, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the curren
t partition row\",\"help-contents\": \"Returns the unique rank for the current r
ow in the partition. Identical values are assigned different ranks. Use the opti
onal 'asc' | 'desc' argument to specify ascending or descending order. The defau
lt order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() =
1 for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRAC
T\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Return
s the portion of a string matching the capturing group in a regular expression\"
,\"help-contents\": \"Returns a substring of the given string that matches the c
apturing group within the regular expression pattern. The regular expression pa
ttern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 1
23', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\
"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"
Returns a substring of a string using a regular expression pattern\",\"help-cont
ents\": \"Returns a substring of the given string using the regular expression p
attern. The substring is matched to the nth capturing group, where n is the giv
en index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)',

2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"loci
nt\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEX
P_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches
a regular expression\",\"help-contents\": \"Returns true if a substring of the p
rovided string matches the regular expression pattern. \\n\\nExample: REGEXP_MAT
CH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') =
true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-a
rgs\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(strin
g, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrings
matching a regular expression are replaced\",\"help-contents\": \"Returns a cop
y of the given string where the matching pattern is substituted with the replace
ment string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123
'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-v
ar-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substri
ng, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring wit
hin a string\",\"help-contents\": \"Returns a string in which every occurrence o
f the substring is replaced with the replacement string. If the substring is not
found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\
"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",
\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the speci
fied number of characters from the end of a string\",\"help-contents\": \"Return
s the specified number of characters from the end of the given string. \\n\\nEx
ample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\
",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a numbe
r to the specified number of places\",\"help-contents\": \"Rounds a number to th
e nearest integer or to a specified number of decimal places. \\n\\nExample: ROU
ND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"rea
l\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)
\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-co
ntents\": \"Returns the string with any trailing spaces removed. \\n\\nExample:
RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\"
: \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of
an expression\",\"help-contents\": \"Returns the running average of the given e
xpression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUN
NING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Ret
urns the running count of an expression\",\"help-contents\": \"Returns the runni
ng count of the given expression, from the first row in the partition to the cur
rent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Prof
it)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"fu
nc-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\"
: \"Returns the running maximum of the given expression, from the first row in t
he partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = runn
ing maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum
of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"h
as-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(exp
ression)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"
help-contents\": \"Returns the running minimum of the given expression, from the
first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([P
rofit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) =
running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"
RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expr
ession\",\"help-contents\": \"Returns the running sum of the given expression, f
rom the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM

(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit]


)) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"i
nteger\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SC
RIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean resul
t from an R expression\",\"help-contents\": \"Returns a Boolean result from a gi
ven R expression. The R expression is passed directly to a running Rserve instan
ce. Use .arg# in the R expression to reference parameters. In the following exam
ple, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.
arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(
string, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an
R expression\",\"help-contents\": \"Returns an integer result from a given R ex
pression. The R expression is passed directly to a running Rserve instance. Use
.arg# in the R expression to reference parameters. In the following example, .ar
g1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5
)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\
"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(st
ring, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R
expression\",\"help-contents\": \"Returns a numeric result from a given R expres
sion. The R expression is passed directly to a running Rserve instance. Use .arg
# in the R expression to reference parameters. In the following example, .arg1 i
s equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([P
rofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args
\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expressio
n, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"h
elp-contents\": \"Returns a string result from a given R expression. The R expre
ssion is passed directly to a running Rserve instance. Use .arg# in the R expres
sion to reference parameters. In the following example, .arg1 is equal to ATTR([
Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))
\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true
},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns
1 for a positive number\",\"help-contents\": \"Returns the sign of a number: 1
if the number is positive, zero if the number is zero, or -1 if the number is ne
gative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(ang
le)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Re
turns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()
/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-too
ltip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Ret
urns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\
nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \
"Returns a string containing the specified number of spaces\",\"help-contents\":
\"Returns a string composed of the specified number of repeated spaces. \\n\\nE
xample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string
, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a str
ing\",\"help-contents\": \"Returns a substring from a string, as determined by a
delimiter extracting the characters from the beginning or end of the string. \\
n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-',
-2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"lo
cint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number
)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\":
\"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grp
s\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the squa
re of a number\",\"help-contents\": \"Returns the square of a given number. \\n\
\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"
],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(

string, substring)\",\"func-tooltip\": \"Returns true if the specified string st


arts with the specified substring\",\"help-contents\": \"Returns true if the str
ing starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\
\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"]
,\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)
\",\"func-tooltip\": \"Returns the sample standard deviation for an expression\"
,\"help-contents\": \"Returns the sample standard deviation of the expression.\\
n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expre
ssion)\",\"func-tooltip\": \"Returns the population standard deviation for an ex
pression\",\"help-contents\": \"Returns the population standard deviation of the
expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"
STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"help
-contents\": \"Returns a string given an expression. \\n\\nExample: STR([Age])
returns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\"
,\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values
in an expression\",\"help-contents\": \"Returns the sum of all the values in th
e expression. SUM can be used with numeric fields only. Null values are ignored.
\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"
func-tooltip\": \"Returns the tangent of an angle specified in radians\",\"helpcontents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\
\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\":
\"Performs a logical test and returns an appropriate value\",\"help-contents\":
\"Tests a series of expressions returning the <then> value for the first true <e
xpr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN
'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"
has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-too
ltip\": \"Returns the current date\",\"help-contents\": \"Returns the current da
te. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(ex
pression)\",\"func-tooltip\": \"Returns the total for an expression within the p
artition\",\"help-contents\": \"Returns the total for the given expression.\\n\\
nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribu
te to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"]
,\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"f
unc-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"h
elp-contents\": \"Returns the string with both leading and trailing spaces remov
ed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\"
,\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all upp
ercase characters\",\"help-contents\": \"Converts a text string to all uppercase
letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"U
SERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domai
n for the current user\",\"help-contents\": \"Returns the domain for the current
user when the user is signed on to Tableau Server. Returns the Windows domain i
f the Tableau Desktop user is on a domain. Otherwise this function returns a nul
l string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Ret
urns the user name for the current user\",\"help-contents\": \"Returns the usern
ame for the current user. This is the Tableau Server or Tableau Online username
when the user is signed in; otherwise it is the local or network username for th
e Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-to
oltip\": \"Returns the sample variance for an expression\",\"help-contents\": \"

Returns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"f


unc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n
ame\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns t
he population variance for an expression\",\"help-contents\": \"Returns the popu
lation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":
[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WH
EN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>]
END\",\"func-tooltip\": \"Performs logical tests and returns the appropriate val
ue\",\"help-contents\": \"Finds the first <value> that matches <expr> and return
s the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2
019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"f
unc-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig
\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the ave
rage of the values within the window\",\"help-contents\": \"Returns the average
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i
n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the t
wo previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIND
OW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-toolt
ip\": \"Returns the number of items within the window\",\"help-contents\": \"Ret
urns the count of the expression within the window. The window is defined as of
fsets from the current row. Use FIRST()+n and LAST()-n for offsets from the firs
t or last row in the partition. If start and end are omitted, the entire partit
ion is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Pro
fit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\
"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\
"func-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"
Returns the maximum of the expression within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire p
artition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Pr
ofit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM(
[Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the cur
rent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"
,\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\"
: \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the me
dian within the window\",\"help-contents\": \"Returns the median of the expressi
on within the window. The window is defined as offsets from the current row. Us
e FIRST()+n and LAST()-n for offsets from the first or last row in the partition
. If start and end are omitted, the entire partition is used.\\n\\nExample: WIN
DOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous r
ows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",
\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"fu
nc-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns t
he minimum within the window\",\"help-contents\": \"Returns the minimum of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous r
ows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args
\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(ex
pression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile val
ue at the specified number\",\"help-contents\": \"Returns the value correspondin
g to the specified percentile within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o

r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th
percentile of SUM(Profit) from the two previous rows to the current row\",\"func
-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integ
er\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDO
W_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample stand
ard deviation within the window\",\"help-contents\": \"Returns the sample standa
rd deviation of the expression within the window. The window is defined as offs
ets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partitio
n is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(P
rofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},
{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, e
nd])\",\"func-tooltip\": \"Returns the population standard deviation within the
window\",\"help-contents\": \"Returns the population standard deviation of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_
SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \
"Returns the sum of values within the window\",\"help-contents\": \"Returns the
sum of the expression within the window. The window is defined as offsets from
the current row. Use FIRST()+n and LAST()-n for offsets from the first or last r
ow in the partition. If start and end are omitted, the entire partition is used
.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the t
wo previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"W
INDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-toolti
p\": \"Returns the sample variance within the window\",\"help-contents\": \"Retu
rns the sample variance of the expression within the window. The window is defi
ned as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the enti
re partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [star
t, end])\",\"func-tooltip\": \"Returns the population variance within the window
\",\"help-contents\": \"Returns the population variance of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()
+n and LAST()-n for offsets from the first or last row in the partition. If sta
rt and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(
SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to th
e current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEA
R(date)\",\"func-tooltip\": \"Returns the year of the specified date as an integ
er\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\\
nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\
":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(e
xpression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"he
lp-contents\": \"Returns <expression> if it is not null, otherwise returns zero.
\\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-typ
es\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calcula
tion-dialog\",\"use-parameters\": true} position=\"15\"","name":"tabdoc:calculat
ion-auto-complete"}}
{"ts":"2016-09-29T17:02:02.887","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED [Re

gion]\" calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70l


\",\"calculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculatio
n_5489888009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{FI
XED re\",\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"f
older-name\": \"\",\"add-to-folder\": false,\"folder-role\": \"dimensions\",\"ha
s-table-calc-data\": false,\"table-calc-types-used\": 0,\"style-token-list\":[],
\"error-string\": \"Error in calculation:\\n\\nExpected comma or colon in the di
mensionality declaration.\\n\\nWould you like to correct the calculation?\",\"er
ror-info-list\":[{\"start-position-for-error\": 8,\"length-of-calc-of-error\": 1
,\"error-message\": \"Expected comma or colon in the dimensionality declaration.
\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func
-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a numb
er\",\"help-contents\": \"Returns the absolute value of the given number. \\n\\n
Example: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"h
as-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"functooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns t
he arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-v
ar-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN
<then> END\",\"func-tooltip\": \"Performs a logical conjunction on two expressi
ons\",\"help-contents\": \"Performs a logical conjunction on two expressions\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASC
II code for the first character in a string\",\"help-contents\": \"Returns the A
SCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"aut
hors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-varargs\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip
\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc si
ne of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267
949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Retu
rns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent o
f a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.56524082839
42\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tool
tip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns t
he arc tangent of two given numbers (x and y). The result is in radians. \\n\\n
Example: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig
\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expression
if it has one value for all rows\",\"help-contents\": \"Returns the value of th
e given expression if it only has a single value for all rows in the group, othe
rwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([
Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip
\": \"Returns the average of the values in the expression\",\"help-contents\": \
"Returns the average of all the values in the expression. AVG can be used with n
umeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"fun
c-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE
<else>] END\",\"func-tooltip\": \"Performs logical tests and returns the approp
riate value\",\"help-contents\": \"Finds the first <value> that matches <expr> a
nd returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \
u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"log
ic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"fu
nc-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest
integer of equal or greater value\",\"help-contents\": \"Rounds a number to the
nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts

an integer ASCII code into a character\",\"help-contents\": \"Converts the give


n integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-gr
ps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"
Returns true if a string contains the specified substring\",\"help-contents\": \
"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\"
Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\":
\"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in r
adians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle
in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num
\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"
func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle
specified in radians\",\"help-contents\": \"Returns the cotangent of an angle.
Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"n
um\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\
",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of
items in the expression\",\"help-contents\": \"Returns the number of items in a
group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"na
me\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Return
s the number of distinct items in the expression\",\"help-contents\": \"Returns
the number of distinct items in a group. NULL values are not counted. Each uniq
ue value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"D
ATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from
a number\",\"help-contents\": \"Returns a date given a number, string, or date
expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote
that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"D
ATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified da
te incremented by the specified amount\",\"help-contents\": \"Adds an increment
to the specified date and returns the new date. The increment is defined by the
interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2
004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",
\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"fun
c-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-t
ooltip\": \"Returns the difference between two dates\",\"help-contents\": \"Retu
rns the difference between two dates where start_date is subtracted from end_dat
e. The difference is expressed in units of date_part. If start_of_week is omitte
d, the week start day is determined by the start day configured for the data sou
rce.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\
",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetim
e\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \
"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part
of the specified date as a string\",\"help-contents\": \"Returns a part of the
given date as a string, where the part is defined by date_part. If start_of_week
is omitted, the week start day is determined by the start day configured for th
e data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\
"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(form
at, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents\
": \"Converts a string to a date in the specified format. \\n\\nExample: DATEPAR
SE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"fu
nc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": f
alse},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_o
f_week])\",\"func-tooltip\": \"Returns the specified part of a date as an intege
r\",\"help-contents\": \"Returns a part of the given date as an integer where th
e part is defined by date_part. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DAT

EPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[


\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETI
ME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a dateti
me from a number\",\"help-contents\": \"Returns a datetime given a number, strin
g, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\")
\\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"fu
nc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"fun
c-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Tru
ncates the specified date to the specified accuracy\",\"help-contents\": \"Trunc
ates the specified date to the accuracy specified by the date_part and returns t
he new date. If start_of_week is omitted, the week start day is determined by th
e start day configured for the data source.\\n\\nExample: DATETRUNC('quarter', #
2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-type
s\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"D
AY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the
specified date as an integer\",\"help-contents\": \"Returns the day of the give
n date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"
date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"
DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value
in radians to degrees\",\"help-contents\": \"Converts a number in radians to de
grees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"
DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divisi
on operation\",\"help-contents\": \"Returns the integer part of a division.\\n\\
nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF
<expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"functooltip\": \"Performs a logical test and returns an appropriate value\",\"help-c
ontents\": \"Tests a series of expressions returning the <then> value for the fi
rst true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit
] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr
> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-toolt
ip\": \"Performs a logical test and returns an appropriate value\",\"help-conten
ts\": \"Tests a series of expressions returning the <then> value for the first t
rue <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0
THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <
then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"
Performs a logical test and returns an appropriate value\",\"help-contents\": \"
Tests a series of expressions returning the <then> value for the first true <exp
r>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'B
reakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, su
bstring)\",\"func-tooltip\": \"Returns true if the specified string ends with th
e specified substring\",\"help-contents\": \"Returns true if the string ends wit
h the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Ca
lculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\":
\"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Co
mputes an aggregate excluding the specified dimensions if present in the view.\"
,\"help-contents\": \"Computes an aggregate excluding the specified dimensions i
f present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\
": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns e
raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\":
\"Returns the position of a substring within a string\",\"help-contents\": \"Ret
urns the position of a substring within a string, or 0 if the substring isn't fo

und. If the start argument is defined, any instances of substring that appear be
fore the start position are ignored. The first character in the string is positi
on 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false
},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\
",\"func-tooltip\": \"Returns the position of the nth occurrence a substring wit
hin a string\",\"help-contents\": \"Returns the position of the nth occurrence o
f a substring within a string, or 0 if that occurrence of the substring isn't fo
und. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\\
"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func
-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the f
irst row in the partition\",\"help-contents\": \"Returns the number of rows from
the current row to the first row in the partition.\\n\\nExample (current row in
dex is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[
],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[,
dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate u
sing only the specified dimensions.\",\"help-contents\": \"Computes an aggregate
using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expres
sion)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-contents
\": \"Returns a float given an expression of any type. This function requires un
formatted numbers which means exclude commas and other symbols. \\n\\nExample:
FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean
\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\
",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser
value\",\"help-contents\": \"Rounds a number to the nearest integer of equal or
lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-s
ig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current u
ser\",\"help-contents\": \"Returns the full name for the current user. This is t
he Tableau Server or Tableau Online full name when the user is signed in; otherw
ise it is the local or network full name for the Tableau Desktop user.\",\"funcgrps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HE
XBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns th
e x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y
) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have sid
e length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name
\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Re
turns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps
an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <t
hen2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and r
eturns an appropriate value\",\"help-contents\": \"Tests a series of expressions
returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profit
] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\
"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns
expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not nul
l, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\
":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func
-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",\"h
elp-contents\": \"Checks whether a condition is met, and returns one value if TR
UE, another value if FALSE, and an optional third value or NULL if unknown. \\n\
\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},

{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-e


xpression }\",\"func-tooltip\": \"Computes an aggregate using the specified dime
nsions and the view dimensions.\",\"help-contents\": \"Computes an aggregate usi
ng the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\":
\"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the par
tition\",\"help-contents\": \"Returns the index of the current row in the partit
ion.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT
\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression
and returns an integer\",\"help-contents\": \"Returns an integer given an expre
ssion. This function truncates results to the closest integer toward zero. \\n\\
nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-a
rg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-s
ig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a val
id date\",\"help-contents\": \"Returns true if a given string is a valid date.
\\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date
\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \
"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns t
rue if the current user's full name matches the specified name\",\"help-contents
\": \"Returns true if the current user's full name matches the specified full na
me, or false if it does not match. This function uses the Tableau Server or Tabl
eau Online full name when the user is signed in; otherwise it uses the local or
network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fun
c-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"
func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the curre
nt user is a member of the specified group\",\"help-contents\": \"Returns true i
f the current user is a member of the given group, false otherwise. This uses t
he Tableau Server to resolve group membership if logged on, otherwise it always
returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"hasvar-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"
func-tooltip\": \"Returns true if the specified expression is null\",\"help-cont
ents\": \"Returns true if the expression does not contain valid data (Null).\\n\
\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"bo
olean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUS
ERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name mat
ches the specified user name\",\"help-contents\": \"Returns true if the current
user's username matches the specified username, or false if it does not match. T
his function uses the Tableau Server or Tableau Online username when the user is
signed in; otherwise it uses the local or network username for the Tableau Desk
top user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-a
rgs\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"R
eturns the number of rows to the last row in the partition\",\"help-contents\":
\"Returns the number of rows from the current row to the last row in the partiti
on.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[
\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"
func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specifie
d number of characters from the start of a string\",\"help-contents\": \"Returns
the specified number of characters from the start of the given string. \\n\\nE
xample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",
\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of characte
rs in a string\",\"help-contents\": \"Returns the number of characters in the gi
ven string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\
"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"fun
c-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a n
umber\",\"help-contents\": \"Returns the natural logarithm of the given number.
Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5))
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\":

\"Returns the logarithm of a number for the given base\",\"help-contents\": \"Re


turns the logarithm of a number for the given base. If the base value is omitted
, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": f
alse},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"fun
c-tooltip\": \"Returns the value of the expression in a row offset from current
row\",\"help-contents\": \"Returns the value of the given expression in a target
row, specified as a relative offset from the current row. Use FIRST()+n and LAS
T()-n for a target relative to the first/last rows in the partition. If offset i
s omitted, the Compare To row may be set on the field menu. Returns NULL if the
target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) +
2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string
in all lowercase characters\",\"help-contents\": \"Converts a text string to all
lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"
func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"n
ame\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a s
tring with leading spaces removed\",\"help-contents\": \"Returns the string with
any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\
"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false
},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-to
oltip\": \"Returns a date value constructed from a year, a month and a day of th
e month.\",\"help-contents\": \"Returns a date value constructed from a year, a
month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-g
rps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"hasvar-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date
, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time\
",\"help-contents\": \"Returns a date and time value given a date expression and
a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"f
unc-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\
": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)
\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes and
seconds.\",\"help-contents\": \"Returns a time value constructed from hours, min
utes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",
\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \"
Returns the maximum of a single expression across all records or the maximum of
two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\
"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"
],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expressi
on)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents\
": \"Returns the median of a single expression. MEDIAN can be used with numeric
fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-gr
ps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Return
s the characters from the middle of a text string\",\"help-contents\": \"Returns
the characters from the middle of a text string given a starting position and a
length. The first character in the string is position 1. If the length is not i
ncluded, all characters to the end of the string are returned. If the length is
included, up to that many characters are returned. \\n\\nExample: MID(\\\"Tablea
u Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\"
,2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"rea
l\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(ex
pression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an e
xpression\",\"help-contents\": \"Returns the minimum of an expression across all
records or the minimum of two expressions for each record. \\n\\nExample: MIN(
[Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-ar
g-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"fu

nc-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the spec


ified date as an integer\",\"help-contents\": \"Returns the month of a given dat
e as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date
\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\
",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs l
ogical negation on an expression\",\"help-contents\": \"Performs logical negatio
n on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-a
rgs\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Ret
urns the current date and time\",\"help-contents\": \"Returns the current date a
nd time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"
],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\":
\"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logica
l disjunction on two expressions\",\"help-contents\": \"Performs a logical disju
nction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expres
sion, number)\",\"func-tooltip\": \"Returns the percentile value at the specifie
d number\",\"help-contents\": \"Aggregate calculation that returns the percentil
e value from the given expression corresponding to the specified number. Valid v
alues for the number are 0 through 1. PERCENTILE([expression], 0.50) will always
return the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.
90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-va
r-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Re
turns the numeric constant pi\",\"help-contents\": \"Returns the numeric constan
t pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(
number,power)\",\"func-tooltip\": \"Raises the number to the specified power\",\
"help-contents\": \"Returns the result of a number raised to the given power. \\
n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":
[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"fun
c-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of
this calculation in the previous row\",\"help-contents\": \"Returns the value o
f this calculation in the previous row. Returns the given expression if the curr
ent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOU
S_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(
1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \
"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\"
,\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RAN
K\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retur
ns the competition rank for the current partition row\",\"help-contents\": \"Ret
urns the standard competition rank for the current row in the partition. Identic
al values are assigned an identical rank. Use the optional 'asc' | 'desc' argume
nt to specify ascending or descending order. The default order is descending.\\n
\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2,
4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"
name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",
\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"hel
p-contents\": \"Returns the dense rank for the current row in the partition. Ide
ntical values are assigned an identical rank, but no gaps are inserted into the
number sequence. Use the optional 'asc' | 'desc' argument to specify ascending o
r descending order. The default order is descending.\\n\\nWith this function, th
e set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\
n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIE
D\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\"
: \"Returns the modified competition rank for the current partition row\",\"help
-contents\": \"Returns the modified competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'as

c' | 'desc' argument to specify ascending or descending order. The default order
is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would b
e ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Veloc
ity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\
"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERC
ENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile
rank for the current partition row\",\"help-contents\": \"Returns the percentile
rank for the current row in the partition. Use the optional 'asc' | 'desc' argu
ment to specify ascending or descending order. The default order is ascending.\\
n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75,
75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var
-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expressio
n, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the current
partition row\",\"help-contents\": \"Returns the unique rank for the current ro
w in the partition. Identical values are assigned different ranks. Use the optio
nal 'asc' | 'desc' argument to specify ascending or descending order. The defaul
t order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1
for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT
\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns
the portion of a string matching the capturing group in a regular expression\",
\"help-contents\": \"Returns a substring of the given string that matches the ca
pturing group within the regular expression pattern. The regular expression pat
tern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 12
3', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"
func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"R
eturns a substring of a string using a regular expression pattern\",\"help-conte
nts\": \"Returns a substring of the given string using the regular expression pa
ttern. The substring is matched to the nth capturing group, where n is the give
n index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)',
2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locin
t\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP
_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches a
regular expression\",\"help-contents\": \"Returns true if a substring of the pr
ovided string matches the regular expression pattern. \\n\\nExample: REGEXP_MATC
H('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') =
true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-ar
gs\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string
, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrings
matching a regular expression are replaced\",\"help-contents\": \"Returns a copy
of the given string where the matching pattern is substituted with the replacem
ent string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'
\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-va
r-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substrin
g, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring with
in a string\",\"help-contents\": \"Returns a string in which every occurrence of
the substring is replaced with the replacement string. If the substring is not
found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"
ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-t
ypes\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\
"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specif
ied number of characters from the end of a string\",\"help-contents\": \"Returns
the specified number of characters from the end of the given string. \\n\\nExa
mple: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"f
unc-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\"
,\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number
to the specified number of places\",\"help-contents\": \"Rounds a number to the

nearest integer or to a specified number of decimal places. \\n\\nExample: ROUN


D(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real
\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\
",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-con
tents\": \"Returns the string with any trailing spaces removed. \\n\\nExample:
RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\":
\"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of
an expression\",\"help-contents\": \"Returns the running average of the given ex
pression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNN
ING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Retu
rns the running count of an expression\",\"help-contents\": \"Returns the runnin
g count of the given expression, from the first row in the partition to the curr
ent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profi
t)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"fun
c-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\":
\"Returns the running maximum of the given expression, from the first row in th
e partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = runni
ng maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum
of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expr
ession)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"h
elp-contents\": \"Returns the running minimum of the given expression, from the
first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Pr
ofit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = r
unning minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"R
UNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expre
ssion\",\"help-contents\": \"Returns the running sum of the given expression, fr
om the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM(
SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])
) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"in
teger\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCR
IPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result
from an R expression\",\"help-contents\": \"Returns a Boolean result from a giv
en R expression. The R expression is passed directly to a running Rserve instanc
e. Use .arg# in the R expression to reference parameters. In the following examp
le, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.a
rg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"
],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(s
tring, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an
R expression\",\"help-contents\": \"Returns an integer result from a given R exp
ression. The R expression is passed directly to a running Rserve instance. Use .
arg# in the R expression to reference parameters. In the following example, .arg
1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)
\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"
has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(str
ing, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R e
xpression\",\"help-contents\": \"Returns a numeric result from a given R express
ion. The R expression is passed directly to a running Rserve instance. Use .arg#
in the R expression to reference parameters. In the following example, .arg1 is
equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Pr
ofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression
, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"he
lp-contents\": \"Returns a string result from a given R expression. The R expres
sion is passed directly to a running Rserve instance. Use .arg# in the R express

ion to reference parameters. In the following example, .arg1 is equal to ATTR([R


egion]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true}
,{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns
1 for a positive number\",\"help-contents\": \"Returns the sign of a number: 1 i
f the number is positive, zero if the number is zero, or -1 if the number is neg
ative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angl
e)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Ret
urns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/
4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\
"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tool
tip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Retu
rns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\n
SIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"
Returns a string containing the specified number of spaces\",\"help-contents\":
\"Returns a string composed of the specified number of repeated spaces. \\n\\nEx
ample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string,
delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a stri
ng\",\"help-contents\": \"Returns a substring from a string, as determined by a
delimiter extracting the characters from the beginning or end of the string. \\n
\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-',
-2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"loc
int\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)
\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\":
\"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the squar
e of a number\",\"help-contents\": \"Returns the square of a given number. \\n\\
nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(s
tring, substring)\",\"func-tooltip\": \"Returns true if the specified string sta
rts with the specified substring\",\"help-contents\": \"Returns true if the stri
ng starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\
"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],
\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\
",\"func-tooltip\": \"Returns the sample standard deviation for an expression\",
\"help-contents\": \"Returns the sample standard deviation of the expression.\\n
\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expres
sion)\",\"func-tooltip\": \"Returns the population standard deviation for an exp
ression\",\"help-contents\": \"Returns the population standard deviation of the
expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"S
TR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"helpcontents\": \"Returns a string given an expression. \\n\\nExample: STR([Age]) r
eturns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast\
"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",
\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values
in an expression\",\"help-contents\": \"Returns the sum of all the values in the
expression. SUM can be used with numeric fields only. Null values are ignored.\
\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"f
unc-tooltip\": \"Returns the tangent of an angle specified in radians\",\"help-c
ontents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\\
nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \

"Performs a logical test and returns an appropriate value\",\"help-contents\": \


"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tool
tip\": \"Returns the current date\",\"help-contents\": \"Returns the current dat
e. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(exp
ression)\",\"func-tooltip\": \"Returns the total for an expression within the pa
rtition\",\"help-contents\": \"Returns the total for the given expression.\\n\\n
Example: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribut
e to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],
\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"fu
nc-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"he
lp-contents\": \"Returns the string with both leading and trailing spaces remove
d. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",
\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all uppe
rcase characters\",\"help-contents\": \"Converts a text string to all uppercase
letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"US
ERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain
for the current user\",\"help-contents\": \"Returns the domain for the current
user when the user is signed on to Tableau Server. Returns the Windows domain if
the Tableau Desktop user is on a domain. Otherwise this function returns a null
string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Retu
rns the user name for the current user\",\"help-contents\": \"Returns the userna
me for the current user. This is the Tableau Server or Tableau Online username w
hen the user is signed in; otherwise it is the local or network username for the
Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-too
ltip\": \"Returns the sample variance for an expression\",\"help-contents\": \"R
eturns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"fu
nc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns th
e population variance for an expression\",\"help-contents\": \"Returns the popul
ation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHE
N\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] E
ND\",\"func-tooltip\": \"Performs logical tests and returns the appropriate valu
e\",\"help-contents\": \"Finds the first <value> that matches <expr> and returns
the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u20
19 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\
": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the aver
age of the values within the window\",\"help-contents\": \"Returns the average o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the tw
o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDO
W_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-toolti
p\": \"Returns the number of items within the window\",\"help-contents\": \"Retu
rns the count of the expression within the window. The window is defined as off
sets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partiti
on is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Prof
it) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"

func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"
name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"
func-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"R
eturns the maximum of the expression within the window. The window is defined a
s offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire pa
rtition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Pro
fit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([
Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the curr
ent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\":
\"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the med
ian within the window\",\"help-contents\": \"Returns the median of the expressio
n within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WIND
OW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous ro
ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"fun
c-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns th
e minimum within the window\",\"help-contents\": \"Returns the minimum of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous ro
ws to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\
": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(exp
ression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile valu
e at the specified number\",\"help-contents\": \"Returns the value corresponding
to the specified percentile within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th p
ercentile of SUM(Profit) from the two previous rows to the current row\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"intege
r\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW
_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample standa
rd deviation within the window\",\"help-contents\": \"Returns the sample standar
d deviation of the expression within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Pr
ofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{
\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, en
d])\",\"func-tooltip\": \"Returns the population standard deviation within the w
indow\",\"help-contents\": \"Returns the population standard deviation of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two p
revious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_S
UM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"
Returns the sum of values within the window\",\"help-contents\": \"Returns the s
um of the expression within the window. The window is defined as offsets from t
he current row. Use FIRST()+n and LAST()-n for offsets from the first or last ro
w in the partition. If start and end are omitted, the entire partition is used.

\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the tw


o previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WI
NDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip
\": \"Returns the sample variance within the window\",\"help-contents\": \"Retur
ns the sample variance of the expression within the window. The window is defin
ed as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the entir
e partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start
, end])\",\"func-tooltip\": \"Returns the population variance within the window\
",\"help-contents\": \"Returns the population variance of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()+
n and LAST()-n for offsets from the first or last row in the partition. If star
t and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(S
UM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to the
current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\
",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR
(date)\",\"func-tooltip\": \"Returns the year of the specified date as an intege
r\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\\n
Example: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\"
:[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(ex
pression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"hel
p-contents\": \"Returns <expression> if it is not null, otherwise returns zero.
\\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calculat
ion-dialog\",\"use-parameters\": true} position=\"15\"","name":"tabdoc:calculati
on-auto-complete"}}
{"ts":"2016-09-29T17:02:02.887","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED [R
egion]\" calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70
l\",\"calculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculati
on_5489888009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{F
IXED re\",\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencies\": \"\",\"
folder-name\": \"\",\"add-to-folder\": false,\"folder-role\": \"dimensions\",\"h
as-table-calc-data\": false,\"table-calc-types-used\": 0,\"style-token-list\":[]
,\"error-string\": \"Error in calculation:\\n\\nExpected comma or colon in the d
imensionality declaration.\\n\\nWould you like to correct the calculation?\",\"e
rror-info-list\":[{\"start-position-for-error\": 8,\"length-of-calc-of-error\":
1,\"error-message\": \"Expected comma or colon in the dimensionality declaration
.\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"fun
c-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a num
ber\",\"help-contents\": \"Returns the absolute value of the given number. \\n\\
nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func
-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns
the arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"hasvar-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THE
N <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two express
ions\",\"help-contents\": \"Performs a logical conjunction on two expressions\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the AS
CII code for the first character in a string\",\"help-contents\": \"Returns the
ASCII code value of the first character in a string. \\n\\nExample: ASCII(\\\"au
thors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var
-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-toolti

p\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc s


ine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.570796326
7949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Ret
urns the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent
of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408283
942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fa
lse},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-too
ltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns
the arc tangent of two given numbers (x and y). The result is in radians. \\n\\
nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-ty
pes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-si
g\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expressio
n if it has one value for all rows\",\"help-contents\": \"Returns the value of t
he given expression if it only has a single value for all rows in the group, oth
erwise it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR(
[Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-toolti
p\": \"Returns the average of the values in the expression\",\"help-contents\":
\"Returns the average of all the values in the expression. AVG can be used with
numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"fu
nc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELS
E <else>] END\",\"func-tooltip\": \"Performs logical tests and returns the appro
priate value\",\"help-contents\": \"Finds the first <value> that matches <expr>
and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN
\u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"lo
gic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"f
unc-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the neares
t integer of equal or greater value\",\"help-contents\": \"Rounds a number to th
e nearest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\
",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false}
,{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Convert
s an integer ASCII code into a character\",\"help-contents\": \"Converts the giv
en integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \
"Returns true if a string contains the specified substring\",\"help-contents\":
\"Returns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\
"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-typ
es\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\":
\"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in
radians\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle
in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"nu
m\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\
"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angl
e specified in radians\",\"help-contents\": \"Returns the cotangent of an angle.
Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"
num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT
\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of
items in the expression\",\"help-contents\": \"Returns the number of items in a
group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"n
ame\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Retur
ns the number of distinct items in the expression\",\"help-contents\": \"Returns
the number of distinct items in a group. NULL values are not counted. Each uni
que value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[
\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"
DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date fro
m a number\",\"help-contents\": \"Returns a date given a number, string, or date

expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote


that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"
DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified d
ate incremented by the specified amount\",\"help-contents\": \"Adds an increment
to the specified date and returns the new date. The increment is defined by the
interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) =
2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\"
,\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"fu
nc-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"functooltip\": \"Returns the difference between two dates\",\"help-contents\": \"Ret
urns the difference between two dates where start_date is subtracted from end_da
te. The difference is expressed in units of date_part. If start_of_week is omitt
ed, the week start day is determined by the start day configured for the data so
urce.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3
\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"dateti
me\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\":
\"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a par
t of the specified date as a string\",\"help-contents\": \"Returns a part of the
given date as a string, where the part is defined by date_part. If start_of_wee
k is omitted, the week start day is determined by the start day configured for t
he data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",
\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"]
,\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(for
mat, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents
\": \"Converts a string to a date in the specified format. \\n\\nExample: DATEPA
RSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"f
unc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\":
false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_
of_week])\",\"func-tooltip\": \"Returns the specified part of a date as an integ
er\",\"help-contents\": \"Returns a part of the given date as an integer where t
he part is defined by date_part. If start_of_week is omitted, the week start day
is determined by the start day configured for the data source.\\n\\nExample: DA
TEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":
[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATET
IME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datet
ime from a number\",\"help-contents\": \"Returns a datetime given a number, stri
ng, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\"
) \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"f
unc-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"fu
nc-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Tr
uncates the specified date to the specified accuracy\",\"help-contents\": \"Trun
cates the specified date to the accuracy specified by the date_part and returns
the new date. If start_of_week is omitted, the week start day is determined by t
he start day configured for the data source.\\n\\nExample: DATETRUNC('quarter',
#2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-typ
es\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"
DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of th
e specified date as an integer\",\"help-contents\": \"Returns the day of the giv
en date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\
"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \
"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a valu
e in radians to degrees\",\"help-contents\": \"Converts a number in radians to d
egrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \
"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a divis
ion operation\",\"help-contents\": \"Returns the integer part of a division.\\n\
\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"intege
r\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF
<expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func

-tooltip\": \"Performs a logical test and returns an appropriate value\",\"helpcontents\": \"Tests a series of expressions returning the <then> value for the f
irst true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profi
t] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <exp
r> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tool
tip\": \"Performs a logical test and returns an appropriate value\",\"help-conte
nts\": \"Tests a series of expressions returning the <then> value for the first
true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =
0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \
"Performs a logical test and returns an appropriate value\",\"help-contents\": \
"Tests a series of expressions returning the <then> value for the first true <ex
pr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN '
Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, s
ubstring)\",\"func-tooltip\": \"Returns true if the specified string ends with t
he specified substring\",\"help-contents\": \"Returns true if the string ends wi
th the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"C
alculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\"
: \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"C
omputes an aggregate excluding the specified dimensions if present in the view.\
",\"help-contents\": \"Computes an aggregate excluding the specified dimensions
if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip
\": \"Returns e raised to the power of a number\",\"help-contents\": \"Returns e
raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\":
\"Returns the position of a substring within a string\",\"help-contents\": \"Re
turns the position of a substring within a string, or 0 if the substring isn't f
ound. If the start argument is defined, any instances of substring that appear b
efore the start position are ignored. The first character in the string is posit
ion 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": fals
e},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)
\",\"func-tooltip\": \"Returns the position of the nth occurrence a substring wi
thin a string\",\"help-contents\": \"Returns the position of the nth occurrence
of a substring within a string, or 0 if that occurrence of the substring isn't f
ound. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\
\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"fun
c-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the
first row in the partition\",\"help-contents\": \"Returns the number of rows fro
m the current row to the first row in the partition.\\n\\nExample (current row i
ndex is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":
[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[,
dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate
using only the specified dimensions.\",\"help-contents\": \"Computes an aggregat
e using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-type
s\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expre
ssion)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-content
s\": \"Returns a float given an expression of any type. This function requires u
nformatted numbers which means exclude commas and other symbols. \\n\\nExample:
FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolea
n\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)
\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser
value\",\"help-contents\": \"Rounds a number to the nearest integer of equal or

lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func


-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"funcsig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current
user\",\"help-contents\": \"Returns the full name for the current user. This is
the Tableau Server or Tableau Online full name when the user is signed in; other
wise it is the local or network full name for the Tableau Desktop user.\",\"func
-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"H
EXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns t
he x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,
y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins have si
de length 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"nam
e\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"R
eturns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Map
s an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false
},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <
then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and
returns an appropriate value\",\"help-contents\": \"Tests a series of expression
s returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profi
t] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Return
s expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not nu
ll, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps
\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": fa
lse},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"fun
c-tooltip\": \"Evaluates a Boolean expression and returns one of two values\",\"
help-contents\": \"Checks whether a condition is met, and returns one value if T
RUE, another value if FALSE, and an optional third value or NULL if unknown. \\n
\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregateexpression }\",\"func-tooltip\": \"Computes an aggregate using the specified dim
ensions and the view dimensions.\",\"help-contents\": \"Computes an aggregate us
ing the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],
\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\"
: \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the pa
rtition\",\"help-contents\": \"Returns the index of the current row in the parti
tion.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-g
rps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IN
T\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expressio
n and returns an integer\",\"help-contents\": \"Returns an integer given an expr
ession. This function truncates results to the closest integer toward zero. \\n\
\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"funcarg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"funcsig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a va
lid date\",\"help-contents\": \"Returns true if a given string is a valid date.
\\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"dat
e\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\":
\"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns
true if the current user's full name matches the specified name\",\"help-content
s\": \"Returns true if the current user's full name matches the specified full n
ame, or false if it does not match. This function uses the Tableau Server or Tab
leau Online full name when the user is signed in; otherwise it uses the local or
network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"fu
nc-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\
"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the curr
ent user is a member of the specified group\",\"help-contents\": \"Returns true

if the current user is a member of the given group, false otherwise. This uses
the Tableau Server to resolve group membership if logged on, otherwise it always
returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has
-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\
"func-tooltip\": \"Returns true if the specified expression is null\",\"help-con
tents\": \"Returns true if the expression does not contain valid data (Null).\\n
\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"b
oolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISU
SERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's name ma
tches the specified user name\",\"help-contents\": \"Returns true if the current
user's username matches the specified username, or false if it does not match.
This function uses the Tableau Server or Tableau Online username when the user i
s signed in; otherwise it uses the local or network username for the Tableau Des
ktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-varargs\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"
Returns the number of rows to the last row in the partition\",\"help-contents\":
\"Returns the number of rows from the current row to the last row in the partit
ion.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":
[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\
"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specifi
ed number of characters from the start of a string\",\"help-contents\": \"Return
s the specified number of characters from the start of the given string. \\n\\n
Example: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\
"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\"
,\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of charact
ers in a string\",\"help-contents\": \"Returns the number of characters in the g
iven string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str
\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"fu
nc-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a
number\",\"help-contents\": \"Returns the natural logarithm of the given number.
Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5))
= 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": f
alse},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\":
\"Returns the logarithm of a number for the given base\",\"help-contents\": \"R
eturns the logarithm of a number for the given base. If the base value is omitte
d, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\
"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\":
false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"fu
nc-tooltip\": \"Returns the value of the expression in a row offset from current
row\",\"help-contents\": \"Returns the value of the given expression in a targe
t row, specified as a relative offset from the current row. Use FIRST()+n and LA
ST()-n for a target relative to the first/last rows in the partition. If offset
is omitted, the Compare To row may be set on the field menu. Returns NULL if the
target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) +
2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\"
: \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string
in all lowercase characters\",\"help-contents\": \"Converts a text string to al
l lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"
name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a
string with leading spaces removed\",\"help-contents\": \"Returns the string wit
h any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\
\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fals
e},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-t
ooltip\": \"Returns a date value constructed from a year, a month and a day of t
he month.\",\"help-contents\": \"Returns a date value constructed from a year, a
month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"funcgrps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has
-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(dat

e, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time


\",\"help-contents\": \"Returns a date and time value given a date expression an
d a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"
func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args
\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second
)\",\"func-tooltip\": \"Returns a time value constructed from hours, minutes and
seconds.\",\"help-contents\": \"Returns a time value constructed from hours, mi
nutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cas
t\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\"
,\"func-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \
"Returns the maximum of a single expression across all records or the maximum of
two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[
\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\
"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(express
ion)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents
\": \"Returns the median of a single expression. MEDIAN can be used with numeric
fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-g
rps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Retur
ns the characters from the middle of a text string\",\"help-contents\": \"Return
s the characters from the middle of a text string given a starting position and
a length. The first character in the string is position 1. If the length is not
included, all characters to the end of the string are returned. If the length is
included, up to that many characters are returned. \\n\\nExample: MID(\\\"Table
au Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\
",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"re
al\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(e
xpression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an
expression\",\"help-contents\": \"Returns the minimum of an expression across al
l records or the minimum of two expressions for each record. \\n\\nExample: MIN
([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-a
rg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"f
unc-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the spe
cified date as an integer\",\"help-contents\": \"Returns the month of a given da
te as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"dat
e\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT
\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs
logical negation on an expression\",\"help-contents\": \"Performs logical negati
on on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Re
turns the current date and time\",\"help-contents\": \"Returns the current date
and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\
"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\"
: \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logic
al disjunction on two expressions\",\"help-contents\": \"Performs a logical disj
unction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expre
ssion, number)\",\"func-tooltip\": \"Returns the percentile value at the specifi
ed number\",\"help-contents\": \"Aggregate calculation that returns the percenti
le value from the given expression corresponding to the specified number. Valid
values for the number are 0 through 1. PERCENTILE([expression], 0.50) will alway
s return the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0
.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-v
ar-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"R
eturns the numeric constant pi\",\"help-contents\": \"Returns the numeric consta
nt pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER
(number,power)\",\"func-tooltip\": \"Raises the number to the specified power\",
\"help-contents\": \"Returns the result of a number raised to the given power. \

\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\"


:[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"fu
nc-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value o
f this calculation in the previous row\",\"help-contents\": \"Returns the value
of this calculation in the previous row. Returns the given expression if the cur
rent row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIO
US_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE
(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\":
\"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\
",\"help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RA
NK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Retu
rns the competition rank for the current partition row\",\"help-contents\": \"Re
turns the standard competition rank for the current row in the partition. Identi
cal values are assigned an identical rank. Use the optional 'asc' | 'desc' argum
ent to specify ascending or descending order. The default order is descending.\\
n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2
, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\
"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\"
,\"func-tooltip\": \"Returns the dense rank for the current partition row\",\"he
lp-contents\": \"Returns the dense rank for the current row in the partition. Id
entical values are assigned an identical rank, but no gaps are inserted into the
number sequence. Use the optional 'asc' | 'desc' argument to specify ascending
or descending order. The default order is descending.\\n\\nWith this function, t
he set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\
\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFI
ED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\
": \"Returns the modified competition rank for the current partition row\",\"hel
p-contents\": \"Returns the modified competition rank for the current row in the
partition. Identical values are assigned an identical rank. Use the optional 'a
sc' | 'desc' argument to specify ascending or descending order. The default orde
r is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would
be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velo
city]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PER
CENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile
rank for the current partition row\",\"help-contents\": \"Returns the percentil
e rank for the current row in the partition. Use the optional 'asc' | 'desc' arg
ument to specify ascending or descending order. The default order is ascending.\
\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75
, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-va
r-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expressi
on, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the curren
t partition row\",\"help-contents\": \"Returns the unique rank for the current r
ow in the partition. Identical values are assigned different ranks. Use the opti
onal 'asc' | 'desc' argument to specify ascending or descending order. The defau
lt order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() =
1 for the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRAC
T\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Return
s the portion of a string matching the capturing group in a regular expression\"
,\"help-contents\": \"Returns a substring of the given string that matches the c
apturing group within the regular expression pattern. The regular expression pa
ttern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 1
23', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\

":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\


"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"
Returns a substring of a string using a regular expression pattern\",\"help-cont
ents\": \"Returns a substring of the given string using the regular expression p
attern. The substring is matched to the nth capturing group, where n is the giv
en index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)',
2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"loci
nt\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEX
P_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches
a regular expression\",\"help-contents\": \"Returns true if a substring of the p
rovided string matches the regular expression pattern. \\n\\nExample: REGEXP_MAT
CH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') =
true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-a
rgs\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(strin
g, pattern, replacement)\",\"func-tooltip\": \"Returns a string where substrings
matching a regular expression are replaced\",\"help-contents\": \"Returns a cop
y of the given string where the matching pattern is substituted with the replace
ment string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123
'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-v
ar-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substri
ng, replacement)\",\"func-tooltip\": \"Replaces all instances of a substring wit
hin a string\",\"help-contents\": \"Returns a string in which every occurrence o
f the substring is replaced with the replacement string. If the substring is not
found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\
"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-argtypes\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",
\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the speci
fied number of characters from the end of a string\",\"help-contents\": \"Return
s the specified number of characters from the end of the given string. \\n\\nEx
ample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"
func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\
",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a numbe
r to the specified number of places\",\"help-contents\": \"Rounds a number to th
e nearest integer or to a specified number of decimal places. \\n\\nExample: ROU
ND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"rea
l\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)
\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-co
ntents\": \"Returns the string with any trailing spaces removed. \\n\\nExample:
RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\"
: \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of
an expression\",\"help-contents\": \"Returns the running average of the given e
xpression, from the first row in the partition to the current row.\\n\\nExample:
RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUN
NING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Ret
urns the running count of an expression\",\"help-contents\": \"Returns the runni
ng count of the given expression, from the first row in the partition to the cur
rent row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Prof
it)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"fu
nc-tooltip\": \"Returns the running maximum of an expression\",\"help-contents\"
: \"Returns the running maximum of the given expression, from the first row in t
he partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = runn
ing maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum
of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"h
as-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(exp
ression)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"
help-contents\": \"Returns the running minimum of the given expression, from the
first row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([P

rofit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) =


running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"
RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expr
ession\",\"help-contents\": \"Returns the running sum of the given expression, f
rom the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM
(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit]
)) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"i
nteger\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SC
RIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean resul
t from an R expression\",\"help-contents\": \"Returns a Boolean result from a gi
ven R expression. The R expression is passed directly to a running Rserve instan
ce. Use .arg# in the R expression to reference parameters. In the following exam
ple, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.
arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\
"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(
string, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an
R expression\",\"help-contents\": \"Returns an integer result from a given R ex
pression. The R expression is passed directly to a running Rserve instance. Use
.arg# in the R expression to reference parameters. In the following example, .ar
g1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5
)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\
"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(st
ring, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R
expression\",\"help-contents\": \"Returns a numeric result from a given R expres
sion. The R expression is passed directly to a running Rserve instance. Use .arg
# in the R expression to reference parameters. In the following example, .arg1 i
s equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([P
rofit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args
\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expressio
n, ...)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"h
elp-contents\": \"Returns a string result from a given R expression. The R expre
ssion is passed directly to a running Rserve instance. Use .arg# in the R expres
sion to reference parameters. In the following example, .arg1 is equal to ATTR([
Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))
\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true
},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns
1 for a positive number\",\"help-contents\": \"Returns the sign of a number: 1
if the number is positive, zero if the number is zero, or -1 if the number is ne
gative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(ang
le)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Re
turns the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()
/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-too
ltip\": \"Returns the number of rows in the partition\",\"help-contents\": \"Ret
urns the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\
nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \
"Returns a string containing the specified number of spaces\",\"help-contents\":
\"Returns a string composed of the specified number of repeated spaces. \\n\\nE
xample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string
, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring from a str
ing\",\"help-contents\": \"Returns a substring from a string, as determined by a
delimiter extracting the characters from the beginning or end of the string. \\
n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-',
-2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"lo
cint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number
)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\":

\"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grp


s\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the squa
re of a number\",\"help-contents\": \"Returns the square of a given number. \\n\
\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"
],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(
string, substring)\",\"func-tooltip\": \"Returns true if the specified string st
arts with the specified substring\",\"help-contents\": \"Returns true if the str
ing starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\
\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"]
,\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)
\",\"func-tooltip\": \"Returns the sample standard deviation for an expression\"
,\"help-contents\": \"Returns the sample standard deviation of the expression.\\
n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expre
ssion)\",\"func-tooltip\": \"Returns the population standard deviation for an ex
pression\",\"help-contents\": \"Returns the population standard deviation of the
expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"
STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"help
-contents\": \"Returns a string given an expression. \\n\\nExample: STR([Age])
returns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\"
,\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values
in an expression\",\"help-contents\": \"Returns the sum of all the values in th
e expression. SUM can be used with numeric fields only. Null values are ignored.
\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"
func-tooltip\": \"Returns the tangent of an angle specified in radians\",\"helpcontents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\
\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN
<then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\":
\"Performs a logical test and returns an appropriate value\",\"help-contents\":
\"Tests a series of expressions returning the <then> value for the first true <e
xpr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN
'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"
has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-too
ltip\": \"Returns the current date\",\"help-contents\": \"Returns the current da
te. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(ex
pression)\",\"func-tooltip\": \"Returns the total for an expression within the p
artition\",\"help-contents\": \"Returns the total for the given expression.\\n\\
nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribu
te to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"]
,\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"f
unc-tooltip\": \"Returns a string with leading and trailing spaces removed\",\"h
elp-contents\": \"Returns the string with both leading and trailing spaces remov
ed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\"
,\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all upp
ercase characters\",\"help-contents\": \"Converts a text string to all uppercase
letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"U
SERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domai
n for the current user\",\"help-contents\": \"Returns the domain for the current
user when the user is signed on to Tableau Server. Returns the Windows domain i
f the Tableau Desktop user is on a domain. Otherwise this function returns a nul
l string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Ret

urns the user name for the current user\",\"help-contents\": \"Returns the usern
ame for the current user. This is the Tableau Server or Tableau Online username
when the user is signed in; otherwise it is the local or network username for th
e Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-to
oltip\": \"Returns the sample variance for an expression\",\"help-contents\": \"
Returns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"f
unc-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n
ame\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns t
he population variance for an expression\",\"help-contents\": \"Returns the popu
lation variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":
[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WH
EN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>]
END\",\"func-tooltip\": \"Performs logical tests and returns the appropriate val
ue\",\"help-contents\": \"Finds the first <value> that matches <expr> and return
s the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2
019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"f
unc-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig
\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the ave
rage of the values within the window\",\"help-contents\": \"Returns the average
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i
n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the t
wo previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIND
OW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-toolt
ip\": \"Returns the number of items within the window\",\"help-contents\": \"Ret
urns the count of the expression within the window. The window is defined as of
fsets from the current row. Use FIRST()+n and LAST()-n for offsets from the firs
t or last row in the partition. If start and end are omitted, the entire partit
ion is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Pro
fit) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\
"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\
"func-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"
Returns the maximum of the expression within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire p
artition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Pr
ofit from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM(
[Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the cur
rent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\"
,\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\"
: \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the me
dian within the window\",\"help-contents\": \"Returns the median of the expressi
on within the window. The window is defined as offsets from the current row. Us
e FIRST()+n and LAST()-n for offsets from the first or last row in the partition
. If start and end are omitted, the entire partition is used.\\n\\nExample: WIN
DOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous r
ows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",
\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"fu
nc-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns t
he minimum within the window\",\"help-contents\": \"Returns the minimum of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous r
ows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"

table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args
\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(ex
pression, number, [start, end])\",\"func-tooltip\": \"Returns the percentile val
ue at the specified number\",\"help-contents\": \"Returns the value correspondin
g to the specified percentile within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th
percentile of SUM(Profit) from the two previous rows to the current row\",\"func
-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integ
er\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDO
W_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample stand
ard deviation within the window\",\"help-contents\": \"Returns the sample standa
rd deviation of the expression within the window. The window is defined as offs
ets from the current row. Use FIRST()+n and LAST()-n for offsets from the first
or last row in the partition. If start and end are omitted, the entire partitio
n is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(P
rofit) from the two previous rows to the current row\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},
{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, e
nd])\",\"func-tooltip\": \"Returns the population standard deviation within the
window\",\"help-contents\": \"Returns the population standard deviation of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_
SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \
"Returns the sum of values within the window\",\"help-contents\": \"Returns the
sum of the expression within the window. The window is defined as offsets from
the current row. Use FIRST()+n and LAST()-n for offsets from the first or last r
ow in the partition. If start and end are omitted, the entire partition is used
.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the t
wo previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"W
INDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-toolti
p\": \"Returns the sample variance within the window\",\"help-contents\": \"Retu
rns the sample variance of the expression within the window. The window is defi
ned as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the enti
re partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [star
t, end])\",\"func-tooltip\": \"Returns the population variance within the window
\",\"help-contents\": \"Returns the population variance of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()
+n and LAST()-n for offsets from the first or last row in the partition. If sta
rt and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(
SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to th
e current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer
\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEA
R(date)\",\"func-tooltip\": \"Returns the year of the specified date as an integ
er\",\"help-contents\": \"Returns the year of a given date as an integer. \\n\\
nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\
":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(e
xpression)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"he
lp-contents\": \"Returns <expression> if it is not null, otherwise returns zero.
\\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-typ

es\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calcula


tion-dialog\",\"use-parameters\": true} position=\"15\"","name":"tabdoc:calculat
ion-auto-complete"}}
{"ts":"2016-09-29T17:02:04.507","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED [Re
gion]:\" calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70
l\",\"calculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculati
on_5489888009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{F
IXED [Region]\",\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencies\": \
"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-role\": \"dimensions
\",\"has-table-calc-data\": false,\"table-calc-types-used\": 0,\"style-token-lis
t\":[],\"error-string\": \"Error in calculation:\\n\\nExpected comma or colon in
the dimensionality declaration.\\n\\nWould you like to correct the calculation?
\",\"error-info-list\":[{\"start-position-for-error\": 14,\"length-of-calc-of-er
ror\": 1,\"error-message\": \"Expected comma or colon in the dimensionality decl
aration.\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\
",\"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value o
f a number\",\"help-contents\": \"Returns the absolute value of the given number
. \\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\"
,\"func-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"R
eturns the arc cosine of a number. The result is in radians. \\n\\nExample: ACO
S(-1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <exp
r2> THEN <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two
expressions\",\"help-contents\": \"Performs a logical conjunction on two express
ions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},
{\"name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns
the ASCII code for the first character in a string\",\"help-contents\": \"Retur
ns the ASCII code value of the first character in a string. \\n\\nExample: ASCII
(\\\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"
has-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func
-tooltip\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns th
e arc sine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.57
07963267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\"
: \"Returns the arc tangent of a number\",\"help-contents\": \"Returns the arc t
angent of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.565
2408283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-arg
s\": false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"f
unc-tooltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"R
eturns the arc tangent of two given numbers (x and y). The result is in radians.
\\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"
func-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the ex
pression if it has one value for all rows\",\"help-contents\": \"Returns the val
ue of the given expression if it only has a single value for all rows in the gro
up, otherwise it displays an asterisk (*). Null values are ignored.\\n\\nExample
: ATTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func
-tooltip\": \"Returns the average of the values in the expression\",\"help-conte
nts\": \"Returns the average of all the values in the expression. AVG can be use
d with numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])
\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> .
.. [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns th
e appropriate value\",\"help-contents\": \"Finds the first <value> that matches
<expr> and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral
] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\

":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILIN


G\",\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the
nearest integer of equal or greater value\",\"help-contents\": \"Rounds a numbe
r to the nearest integer of equal or greater value. \\n\\nExample: CEILING(3.141
5) = 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"
Converts an integer ASCII code into a character\",\"help-contents\": \"Converts
the given integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\
"name\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-toolt
ip\": \"Returns true if a string contains the specified substring\",\"help-conte
nts\": \"Returns true if the string contains the substring. \\n\\nExample: CONTA
INS(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"funcarg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func
-sig\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specif
ied in radians\",\"help-contents\": \"Returns the cosine of an angle. Specify th
e angle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\
":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
COT\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of
an angle specified in radians\",\"help-contents\": \"Returns the cotangent of an
angle. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grp
s\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"COUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the nu
mber of items in the expression\",\"help-contents\": \"Returns the number of ite
ms in a group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\"
,\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": fals
e},{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\":
\"Returns the number of distinct items in the expression\",\"help-contents\": \"
Returns the number of distinct items in a group. NULL values are not counted. E
ach unique value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-g
rps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"nam
e\": \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a d
ate from a number\",\"help-contents\": \"Returns a date given a number, string,
or date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15
\\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func
-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-si
g\": \"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the spec
ified date incremented by the specified amount\",\"help-contents\": \"Adds an in
crement to the specified date and returns the new date. The increment is defined
by the interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-0415#) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"l
ocstr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF
\",\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",
\"func-tooltip\": \"Returns the difference between two dates\",\"help-contents\"
: \"Returns the difference between two dates where start_date is subtracted from
end_date. The difference is expressed in units of date_part. If start_of_week i
s omitted, the week start day is determined by the start day configured for the
data source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday
') = -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\
"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"funcsig\": \"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Return
s a part of the specified date as a string\",\"help-contents\": \"Returns a part
of the given date as a string, where the part is defined by date_part. If start
_of_week is omitted, the week start day is determined by the start day configure
d for the data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April
\\\"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"lo
cstr\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPA
RSE(format, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-c
ontents\": \"Converts a string to a date in the specified format. \\n\\nExample:
DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 A

M\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-a
rgs\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date,
[start_of_week])\",\"func-tooltip\": \"Returns the specified part of a date as a
n integer\",\"help-contents\": \"Returns a part of the given date as an integer
where the part is defined by date_part. If start_of_week is omitted, the week st
art day is determined by the start day configured for the data source.\\n\\nExam
ple: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-t
ypes\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\":
\"DATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns
a datetime from a number\",\"help-contents\": \"Returns a datetime given a numbe
r, string, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59
:00\\\") \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC
\",\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\
": \"Truncates the specified date to the specified accuracy\",\"help-contents\":
\"Truncates the specified date to the accuracy specified by the date_part and r
eturns the new date. If start_of_week is omitted, the week start day is determin
ed by the start day configured for the data source.\\n\\nExample: DATETRUNC('qua
rter', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"funcarg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"nam
e\": \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day par
t of the specified date as an integer\",\"help-contents\": \"Returns the day of
the given date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-gr
ps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"na
me\": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts
a value in radians to degrees\",\"help-contents\": \"Converts a number in radia
ns to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"
func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-s
ig\": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of
a division operation\",\"help-contents\": \"Returns the integer part of a divisi
on.\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\
": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\"
,\"func-tooltip\": \"Performs a logical test and returns an appropriate value\",
\"help-contents\": \"Tests a series of expressions returning the <then> value fo
r the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF
[Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"
IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"fu
nc-tooltip\": \"Performs a logical test and returns an appropriate value\",\"hel
p-contents\": \"Tests a series of expressions returning the <then> value for the
first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Pro
fit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr
> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-toolt
ip\": \"Performs a logical test and returns an appropriate value\",\"help-conten
ts\": \"Tests a series of expressions returning the <then> value for the first t
rue <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0
THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(st
ring, substring)\",\"func-tooltip\": \"Returns true if the specified string ends
with the specified substring\",\"help-contents\": \"Returns true if the string
ends with the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWIT
H(\\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"fun
c-sig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip
\": \"Computes an aggregate excluding the specified dimensions if present in the
view.\",\"help-contents\": \"Computes an aggregate excluding the specified dime
nsions if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\
"has-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-

tooltip\": \"Returns e raised to the power of a number\",\"help-contents\": \"Re


turns e raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",
\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{
\"name\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-too
ltip\": \"Returns the position of a substring within a string\",\"help-contents\
": \"Returns the position of a substring within a string, or 0 if the substring
isn't found. If the start argument is defined, any instances of substring that a
ppear before the start position are ignored. The first character in the string i
s position 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"fun
c-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\
": false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occu
rrence)\",\"func-tooltip\": \"Returns the position of the nth occurrence a subst
ring within a string\",\"help-contents\": \"Returns the position of the nth occu
rrence of a substring within a string, or 0 if that occurrence of the substring
isn't found. The first character in the string is position 1. \\n\\nExample: FIN
DNTH(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\
",\"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from
to the first row in the partition\",\"help-contents\": \"Returns the number of r
ows from the current row to the first row in the partition.\\n\\nExample (curren
t row index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED
[dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an agg
regate using only the specified dimensions.\",\"help-contents\": \"Computes an a
ggregate using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-a
rg-types\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOA
T(expression)\",\"func-tooltip\": \"Returns a float from an expression\",\"helpcontents\": \"Returns a float given an expression of any type. This function req
uires unformatted numbers which means exclude commas and other symbols. \\n\\nE
xample: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\
"boolean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(
number)\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or
lesser value\",\"help-contents\": \"Rounds a number to the nearest integer of e
qual or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"]
,\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",
\"func-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the c
urrent user\",\"help-contents\": \"Returns the full name for the current user. T
his is the Tableau Server or Tableau Online full name when the user is signed in
; otherwise it is the local or network full name for the Tableau Desktop user.\"
,\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Re
turns the x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps
an (x,y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip
\": \"Returns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\"
: \"Maps an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. T
he bins have side length 1, so the inputs may need to be scaled appropriately.\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\"
: false},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2>
THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical te
st and returns an appropriate value\",\"help-contents\": \"Tests a series of exp
ressions returning the <then> value for the first true <expr>. \\n\\nExample: IF
[Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss'
END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},
{\"name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \
"Returns expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is
not null, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"fu
nc-grps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-arg

s\": false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\


",\"func-tooltip\": \"Evaluates a Boolean expression and returns one of two valu
es\",\"help-contents\": \"Checks whether a condition is met, and returns one val
ue if TRUE, another value if FALSE, and an optional third value or NULL if unkno
wn. \\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\
"],\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\":
false},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : agg
regate-expression }\",\"func-tooltip\": \"Computes an aggregate using the specif
ied dimensions and the view dimensions.\",\"help-contents\": \"Computes an aggre
gate using the specified dimensions and the view dimensions.\",\"func-grps\":[\"
agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"fun
c-sig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in
the partition\",\"help-contents\": \"Returns the index of the current row in th
e partition.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\
"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an ex
pression and returns an integer\",\"help-contents\": \"Returns an integer given
an expression. This function truncates results to the closest integer toward zer
o. \\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],
\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",
\"func-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string
is a valid date\",\"help-contents\": \"Returns true if a given string is a valid
date. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\
",\"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"n
ame\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"R
eturns true if the current user's full name matches the specified name\",\"helpcontents\": \"Returns true if the current user's full name matches the specified
full name, or false if it does not match. This function uses the Tableau Server
or Tableau Online full name when the user is signed in; otherwise it uses the l
ocal or network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\
"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBE
ROF\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if t
he current user is a member of the specified group\",\"help-contents\": \"Return
s true if the current user is a member of the given group, false otherwise. Thi
s uses the Tableau Server to resolve group membership if logged on, otherwise it
always returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"
],\"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expressi
on)\",\"func-tooltip\": \"Returns true if the specified expression is null\",\"h
elp-contents\": \"Returns true if the expression does not contain valid data (Nu
ll).\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types
\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\"
: \"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's
name matches the specified user name\",\"help-contents\": \"Returns true if the
current user's username matches the specified username, or false if it does not
match. This function uses the Tableau Server or Tableau Online username when the
user is signed in; otherwise it uses the local or network username for the Tabl
eau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"h
as-var-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-toolti
p\": \"Returns the number of rows to the last row in the partition\",\"help-cont
ents\": \"Returns the number of rows from the current row to the last row in the
partition.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"funcgrps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"L
EFT\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the
specified number of characters from the start of a string\",\"help-contents\": \
"Returns the specified number of characters from the start of the given string.
\\n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\":
\"LEN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of
characters in a string\",\"help-contents\": \"Returns the number of characters i
n the given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\"

:[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN


\",\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarith
m of a number\",\"help-contents\": \"Returns the natural logarithm of the given
number. Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(
EXP(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-too
ltip\": \"Returns the logarithm of a number for the given base\",\"help-contents
\": \"Returns the logarithm of a number for the given base. If the base value is
omitted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2)
= 8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-a
rgs\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])
\",\"func-tooltip\": \"Returns the value of the expression in a row offset from
current row\",\"help-contents\": \"Returns the value of the given expression in
a target row, specified as a relative offset from the current row. Use FIRST()+n
and LAST()-n for a target relative to the first/last rows in the partition. If
offset is omitted, the Compare To row may be set on the field menu. Returns NULL
if the target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIR
ST( ) + 2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a
string in all lowercase characters\",\"help-contents\": \"Converts a text strin
g to all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\
\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fal
se},{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Ret
urns a string with leading spaces removed\",\"help-contents\": \"Returns the str
ing with any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"
Sales\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\
"func-tooltip\": \"Returns a date value constructed from a year, a month and a d
ay of the month.\",\"help-contents\": \"Returns a date value constructed from a
year, a month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",
\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"
],\"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATET
IME(date, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and
a time\",\"help-contents\": \"Returns a date and time value given a date expres
sion and a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00
#)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-v
ar-args\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute,
second)\",\"func-tooltip\": \"Returns a time value constructed from hours, minu
tes and seconds.\",\"help-contents\": \"Returns a time value constructed from ho
urs, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\"
:[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, e
xpr2)\",\"func-tooltip\": \"Returns the maximum of an expression\",\"help-conten
ts\": \"Returns the maximum of a single expression across all records or the max
imum of two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-g
rps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",
\"real\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(
expression)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-c
ontents\": \"Returns the median of a single expression. MEDIAN can be used with
numeric fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\
"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\
"name\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\":
\"Returns the characters from the middle of a text string\",\"help-contents\": \
"Returns the characters from the middle of a text string given a starting positi
on and a length. The first character in the string is position 1. If the length
is not included, all characters to the end of the string are returned. If the le
ngth is included, up to that many characters are returned. \\n\\nExample: MID(\\
\"Tableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Soft
ware\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str

\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\":


\"MIN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum
of an expression\",\"help-contents\": \"Returns the minimum of an expression ac
ross all records or the minimum of two expressions for each record. \\n\\nExamp
le: MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\
"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONT
H\",\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of
the specified date as an integer\",\"help-contents\": \"Returns the month of a g
iven date as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\"
:[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\"
: \"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Pe
rforms logical negation on an expression\",\"help-contents\": \"Performs logical
negation on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\
": \"Returns the current date and time\",\"help-contents\": \"Returns the curren
t date and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[
\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"fun
c-sig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs
a logical disjunction on two expressions\",\"help-contents\": \"Performs a logic
al disjunction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTIL
E(expression, number)\",\"func-tooltip\": \"Returns the percentile value at the
specified number\",\"help-contents\": \"Aggregate calculation that returns the p
ercentile value from the given expression corresponding to the specified number.
Valid values for the number are 0 through 1. PERCENTILE([expression], 0.50) wil
l always return the median value in the expression.\\n\\nExample: PERCENTILE([Sa
les], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],
\"has-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip
\": \"Returns the numeric constant pi\",\"help-contents\": \"Returns the numeric
constant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"
func-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\":
\"POWER(number,power)\",\"func-tooltip\": \"Raises the number to the specified p
ower\",\"help-contents\": \"Returns the result of a number raised to the given p
ower. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-argtypes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE
\",\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the
value of this calculation in the previous row\",\"help-contents\": \"Returns the
value of this calculation in the previous row. Returns the given expression if
the current row is the first row of the partition.\\n\\nExample: SUM([Profit]) +
PREVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOU
S_VALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"funcsig\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to r
adians\",\"help-contents\": \"Converts a number in degrees to radians.\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\":
\"Returns the competition rank for the current partition row\",\"help-contents\
": \"Returns the standard competition rank for the current row in the partition.
Identical values are assigned an identical rank. Use the optional 'asc' | 'desc
' argument to specify ascending or descending order. The default order is descen
ding.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (
1, 2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": fa
lse},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'de
sc'])\",\"func-tooltip\": \"Returns the dense rank for the current partition row
\",\"help-contents\": \"Returns the dense rank for the current row in the partit
ion. Identical values are assigned an identical rank, but no gaps are inserted i
nto the number sequence. Use the optional 'asc' | 'desc' argument to specify asc
ending or descending order. The default order is descending.\\n\\nWith this func
tion, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending

order.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func
-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK
_MODIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-t
ooltip\": \"Returns the modified competition rank for the current partition row\
",\"help-contents\": \"Returns the modified competition rank for the current row
in the partition. Identical values are assigned an identical rank. Use the opti
onal 'asc' | 'desc' argument to specify ascending or descending order. The defau
lt order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AV
G([Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"loc
str\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"R
ANK_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the per
centile rank for the current partition row\",\"help-contents\": \"Returns the pe
rcentile rank for the current row in the partition. Use the optional 'asc' | 'de
sc' argument to specify ascending or descending order. The default order is asce
nding.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked
(25, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Sc
ore]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\
"has-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(e
xpression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the
current partition row\",\"help-contents\": \"Returns the unique rank for the cu
rrent row in the partition. Identical values are assigned different ranks. Use t
he optional 'asc' | 'desc' argument to specify ascending or descending order. Th
e default order is descending.\\n\\nWith this function, the set of values (6, 9,
9, 14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQ
UE() = 1 for the first row in the partition\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP
_EXTRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \
"Returns the portion of a string matching the capturing group in a regular expre
ssion\",\"help-contents\": \"Returns a substring of the given string that matche
s the capturing group within the regular expression pattern. The regular expres
sion pattern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT
('abc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_
NTH\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-toolti
p\": \"Returns a substring of a string using a regular expression pattern\",\"he
lp-contents\": \"Returns a substring of the given string using the regular expre
ssion pattern. The substring is matched to the nth capturing group, where n is
the given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\
\\d+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"
,\"locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\":
\"REGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string m
atches a regular expression\",\"help-contents\": \"Returns true if a substring o
f the provided string matches the regular expression pattern. \\n\\nExample: REG
EXP_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\
\])') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"ha
s-var-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLAC
E(string, pattern, replacement)\",\"func-tooltip\": \"Returns a string where sub
strings matching a regular expression are replaced\",\"help-contents\": \"Return
s a copy of the given string where the matching pattern is substituted with the
replacement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'a
bc--123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],
\"has-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string,
substring, replacement)\",\"func-tooltip\": \"Replaces all instances of a substr
ing within a string\",\"help-contents\": \"Returns a string in which every occur
rence of the substring is replaced with the replacement string. If the substring
is not found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\
\", \\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"fu
nc-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"R
IGHT\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns th

e specified number of characters from the end of a string\",\"help-contents\": \


"Returns the specified number of characters from the end of the given string. \
\n\\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \
"ROUND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds
a number to the specified number of places\",\"help-contents\": \"Rounds a numbe
r to the nearest integer or to a specified number of decimal places. \\n\\nExamp
le: ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\
",\"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(
string)\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"
help-contents\": \"Returns the string with any trailing spaces removed. \\n\\nE
xample: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func
-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"fun
c-sig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running ave
rage of an expression\",\"help-contents\": \"Returns the running average of the
given expression, from the first row in the partition to the current row.\\n\\nE
xample: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\"
: \"Returns the running count of an expression\",\"help-contents\": \"Returns th
e running count of the given expression, from the first row in the partition to
the current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of S
UM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)
\",\"func-tooltip\": \"Returns the running maximum of an expression\",\"help-con
tents\": \"Returns the running maximum of the given expression, from the first r
ow in the partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit]))
= running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running
maximum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer
\"],\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_
MIN(expression)\",\"func-tooltip\": \"Returns the running minimum of an expressi
on\",\"help-contents\": \"Returns the running minimum of the given expression, f
rom the first row in the partition to the current row.\\n\\nExample: RUNNING_MIN
(MIN([Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profi
t])) = running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-si
g\": \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of
an expression\",\"help-contents\": \"Returns the running sum of the given expres
sion, from the first row in the partition to the current row.\\n\\nExample: RUNN
ING_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([
Profit])) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\
": \"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolea
n result from an R expression\",\"help-contents\": \"Returns a Boolean result fr
om a given R expression. The R expression is passed directly to a running Rserve
instance. Use .arg# in the R expression to reference parameters. In the followi
ng example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.f
inite(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRI
PT_INT(string, expression, ...)\",\"func-tooltip\": \"Returns an integer result
from an R expression\",\"help-contents\": \"Returns an integer result from a giv
en R expression. The R expression is passed directly to a running Rserve instanc
e. Use .arg# in the R expression to reference parameters. In the following examp
le, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.a
rg1 * 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"s
tr\"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_
REAL(string, expression, ...)\",\"func-tooltip\": \"Returns a numeric result fro
m an R expression\",\"help-contents\": \"Returns a numeric result from a given R
expression. The R expression is passed directly to a running Rserve instance. U
se .arg# in the R expression to reference parameters. In the following example,

.arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\",


SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-v
ar-args\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, ex
pression, ...)\",\"func-tooltip\": \"Returns a string result from an R expressio
n\",\"help-contents\": \"Returns a string result from a given R expression. The
R expression is passed directly to a running Rserve instance. Use .arg# in the R
expression to reference parameters. In the following example, .arg1 is equal to
ATTR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Re
gion]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"
Returns 1 for a positive number\",\"help-contents\": \"Returns the sign of a num
ber: 1 if the number is positive, zero if the number is zero, or -1 if the numbe
r is negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"
SIN(angle)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\
": \"Returns the sine of an angle. Specify the angle in radians.\\n\\nExample: S
IN(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"f
unc-tooltip\": \"Returns the number of rows in the partition\",\"help-contents\"
: \"Returns the number of rows in the partition.\\n\\nExample (partition has 5 r
ows):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-toolt
ip\": \"Returns a string containing the specified number of spaces\",\"help-cont
ents\": \"Returns a string composed of the specified number of repeated spaces.
\\n\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT
(string, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring fro
m a string\",\"help-contents\": \"Returns a substring from a string, as determin
ed by a delimiter extracting the characters from the beginning or end of the str
ing. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d
', '-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr
\",\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT
(number)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-cont
ents\": \"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"f
unc-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n
ame\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns t
he square of a number\",\"help-contents\": \"Returns the square of a given numbe
r. \\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\
"real\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STAR
TSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the specified st
ring starts with the specified substring\",\"help-contents\": \"Returns true if
the string starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\
\\", \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\
"str\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expr
ession)\",\"func-tooltip\": \"Returns the sample standard deviation for an expre
ssion\",\"help-contents\": \"Returns the sample standard deviation of the expres
sion.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEV
P(expression)\",\"func-tooltip\": \"Returns the population standard deviation fo
r an expression\",\"help-contents\": \"Returns the population standard deviation
of the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"f
unc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-si
g\": \"STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\"
,\"help-contents\": \"Returns a string given an expression. \\n\\nExample: STR(
[Age]) returns all of the values of the Age measure as strings.\",\"func-grps\":
[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\":
\"SUM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of
values in an expression\",\"help-contents\": \"Returns the sum of all the value
s in the expression. SUM can be used with numeric fields only. Null values are i
gnored.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\"

:[\"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angl


e)\",\"func-tooltip\": \"Returns the tangent of an angle specified in radians\",
\"help-contents\": \"Returns the tangent of an angle. Specify the angle in radia
ns.\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <exp
r> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tool
tip\": \"Performs a logical test and returns an appropriate value\",\"help-conte
nts\": \"Tests a series of expressions returning the <then> value for the first
true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =
0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"f
unc-tooltip\": \"Returns the current date\",\"help-contents\": \"Returns the cur
rent date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"T
OTAL(expression)\",\"func-tooltip\": \"Returns the total for an expression withi
n the partition\",\"help-contents\": \"Returns the total for the given expressio
n.\\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that c
ontribute to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"int
eger\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string
)\",\"func-tooltip\": \"Returns a string with leading and trailing spaces remove
d\",\"help-contents\": \"Returns the string with both leading and trailing space
s removed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps
\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"
UPPER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in
all uppercase characters\",\"help-contents\": \"Converts a text string to all up
percase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"fun
c-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name
\": \"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns th
e domain for the current user\",\"help-contents\": \"Returns the domain for the
current user when the user is signed on to Tableau Server. Returns the Windows d
omain if the Tableau Desktop user is on a domain. Otherwise this function return
s a null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args
\": false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\"
: \"Returns the user name for the current user\",\"help-contents\": \"Returns th
e username for the current user. This is the Tableau Server or Tableau Online us
ername when the user is signed in; otherwise it is the local or network username
for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"
func-tooltip\": \"Returns the sample variance for an expression\",\"help-content
s\": \"Returns the sample variance of the expression.\\n\\nExample: VAR([Profit]
)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Re
turns the population variance for an expression\",\"help-contents\": \"Returns t
he population variance of the expression.\\n\\nExample: VARP([Profit])\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <
else>] END\",\"func-tooltip\": \"Performs logical tests and returns the appropri
ate value\",\"help-contents\": \"Finds the first <value> that matches <expr> and
returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2
018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic
\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"f
unc-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns
the average of the values within the window\",\"help-contents\": \"Returns the a
verage of the expression within the window. The window is defined as offsets fr
om the current row. Use FIRST()+n and LAST()-n for offsets from the first or las
t row in the partition. If start and end are omitted, the entire partition is u
sed.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) fro
m the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-ar
g-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"fun

c-tooltip\": \"Returns the number of items within the window\",\"help-contents\"


: \"Returns the count of the expression within the window. The window is define
d as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from t
he first or last row in the partition. If start and end are omitted, the entire
partition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"tab
le\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": fa
lse},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, en
d])\",\"func-tooltip\": \"Returns the maximum within the window\",\"help-content
s\": \"Returns the maximum of the expression within the window. The window is d
efined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets f
rom the first or last row in the partition. If start and end are omitted, the e
ntire partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximu
m of Profit from the two previous rows to the current row\\n\\nExample: WINDOW_M
AX(SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to
the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"in
teger\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"fun
c-sig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns
the median within the window\",\"help-contents\": \"Returns the median of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two pre
vious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN
\",\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Re
turns the minimum within the window\",\"help-contents\": \"Returns the minimum o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two pre
vious rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = m
inimum of SUM(Profit) from the two previous rows to the current row\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-v
ar-args\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCEN
TILE(expression, number, [start, end])\",\"func-tooltip\": \"Returns the percent
ile value at the specified number\",\"help-contents\": \"Returns the value corre
sponding to the specified percentile within the window. The window is defined a
s offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire pa
rtition is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) =
75th percentile of SUM(Profit) from the two previous rows to the current row\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\":
\"WINDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sampl
e standard deviation within the window\",\"help-contents\": \"Returns the sample
standard deviation of the expression within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire p
artition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [s
tart, end])\",\"func-tooltip\": \"Returns the population standard deviation with
in the window\",\"help-contents\": \"Returns the population standard deviation o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from t
he two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-t

ypes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"


WINDOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-toolt
ip\": \"Returns the sum of values within the window\",\"help-contents\": \"Retur
ns the sum of the expression within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) fro
m the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-ar
g-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name
\": \"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func
-tooltip\": \"Returns the sample variance within the window\",\"help-contents\":
\"Returns the sample variance of the expression within the window. The window
is defined as offsets from the current row. Use FIRST()+n and LAST()-n for offse
ts from the first or last row in the partition. If start and end are omitted, t
he entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = va
riance of SUM(Profit) from the two previous rows to the current row\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-varargs\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression
, [start, end])\",\"func-tooltip\": \"Returns the population variance within the
window\",\"help-contents\": \"Returns the population variance of the expression
within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WINDO
W_VARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous row
s to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"
integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\"
: \"YEAR(date)\",\"func-tooltip\": \"Returns the year of the specified date as a
n integer\",\"help-contents\": \"Returns the year of a given date as an integer.
\\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg
-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\":
\"ZN(expression)\",\"func-tooltip\": \"Returns the expression if it is not null
\",\"help-contents\": \"Returns <expression> if it is not null, otherwise return
s zero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"funcarg-types\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"
calculation-dialog\",\"use-parameters\": true} position=\"16\"","name":"tabdoc:c
alculation-auto-complete"}}
{"ts":"2016-09-29T17:02:04.507","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED [R
egion]:\" calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj7
0l\",\"calculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculat
ion_5489888009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{
FIXED [Region]\",\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencies\":
\"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-role\": \"dimension
s\",\"has-table-calc-data\": false,\"table-calc-types-used\": 0,\"style-token-li
st\":[],\"error-string\": \"Error in calculation:\\n\\nExpected comma or colon i
n the dimensionality declaration.\\n\\nWould you like to correct the calculation
?\",\"error-info-list\":[{\"start-position-for-error\": 14,\"length-of-calc-of-e
rror\": 1,\"error-message\": \"Expected comma or colon in the dimensionality dec
laration.\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS
\",\"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value
of a number\",\"help-contents\": \"Returns the absolute value of the given numbe
r. \\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\
",\"func-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"
Returns the arc cosine of a number. The result is in radians. \\n\\nExample: AC
OS(-1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"
],\"has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <ex
pr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two
expressions\",\"help-contents\": \"Performs a logical conjunction on two expres

sions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false}
,{\"name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Return
s the ASCII code for the first character in a string\",\"help-contents\": \"Retu
rns the ASCII code value of the first character in a string. \\n\\nExample: ASCI
I(\\\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\
"has-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"fun
c-tooltip\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns t
he arc sine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.5
707963267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\
": \"Returns the arc tangent of a number\",\"help-contents\": \"Returns the arc
tangent of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.56
52408283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"
func-tooltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"
Returns the arc tangent of two given numbers (x and y). The result is in radians
. \\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"fun
c-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\
"func-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the e
xpression if it has one value for all rows\",\"help-contents\": \"Returns the va
lue of the given expression if it only has a single value for all rows in the gr
oup, otherwise it displays an asterisk (*). Null values are ignored.\\n\\nExampl
e: ATTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"h
as-var-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"fun
c-tooltip\": \"Returns the average of the values in the expression\",\"help-cont
ents\": \"Returns the average of all the values in the expression. AVG can be us
ed with numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit]
)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1>
... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns t
he appropriate value\",\"help-contents\": \"Finds the first <value> that matches
<expr> and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumera
l] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps
\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILI
NG\",\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to th
e nearest integer of equal or greater value\",\"help-contents\": \"Rounds a numb
er to the nearest integer of equal or greater value. \\n\\nExample: CEILING(3.14
15) = 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \
"Converts an integer ASCII code into a character\",\"help-contents\": \"Converts
the given integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",
\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{
\"name\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tool
tip\": \"Returns true if a string contains the specified substring\",\"help-cont
ents\": \"Returns true if the string contains the substring. \\n\\nExample: CONT
AINS(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func
-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"fun
c-sig\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle speci
fied in radians\",\"help-contents\": \"Returns the cosine of an angle. Specify t
he angle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"COT\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of
an angle specified in radians\",\"help-contents\": \"Returns the cotangent of a
n angle. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-gr
ps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"COUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the n
umber of items in the expression\",\"help-contents\": \"Returns the number of it
ems in a group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\
",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": fal
se},{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\":

\"Returns the number of distinct items in the expression\",\"help-contents\": \


"Returns the number of distinct items in a group. NULL values are not counted.
Each unique value is counted only once.\\n\\nExample: COUNTD([Region])\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"na
me\": \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a
date from a number\",\"help-contents\": \"Returns a date given a number, string,
or date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15
\\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"fun
c-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-s
ig\": \"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the spe
cified date incremented by the specified amount\",\"help-contents\": \"Adds an i
ncrement to the specified date and returns the new date. The increment is define
d by the interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04
-15#) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"
locstr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIF
F\",\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\"
,\"func-tooltip\": \"Returns the difference between two dates\",\"help-contents\
": \"Returns the difference between two dates where start_date is subtracted fro
m end_date. The difference is expressed in units of date_part. If start_of_week
is omitted, the week start day is determined by the start day configured for the
data source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunda
y') = -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",
\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func
-sig\": \"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Retur
ns a part of the specified date as a string\",\"help-contents\": \"Returns a par
t of the given date as a string, where the part is defined by date_part. If star
t_of_week is omitted, the week start day is determined by the start day configur
ed for the data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"Apri
l\\\"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"l
ocstr\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEP
ARSE(format, string)\",\"func-tooltip\": \"Converts a string to a date\",\"helpcontents\": \"Converts a string to a date in the specified format. \\n\\nExample
: DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00
AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-varargs\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date,
[start_of_week])\",\"func-tooltip\": \"Returns the specified part of a date as
an integer\",\"help-contents\": \"Returns a part of the given date as an integer
where the part is defined by date_part. If start_of_week is omitted, the week s
tart day is determined by the start day configured for the data source.\\n\\nExa
mple: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-argtypes\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\":
\"DATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns
a datetime from a number\",\"help-contents\": \"Returns a datetime given a numb
er, string, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:5
9:00\\\") \\nNote that the quotation marks are required.\",\"func-grps\":[\"cas
t\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUN
C\",\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip
\": \"Truncates the specified date to the specified accuracy\",\"help-contents\"
: \"Truncates the specified date to the accuracy specified by the date_part and
returns the new date. If start_of_week is omitted, the week start day is determi
ned by the start day configured for the data source.\\n\\nExample: DATETRUNC('qu
arter', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func
-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"na
me\": \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day pa
rt of the specified date as an integer\",\"help-contents\": \"Returns the day of
the given date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-g
rps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"n
ame\": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Convert
s a value in radians to degrees\",\"help-contents\": \"Converts a number in radi
ans to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\

"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"funcsig\": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of


a division operation\",\"help-contents\": \"Returns the integer part of a divis
ion.\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[
\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig
\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\
",\"func-tooltip\": \"Performs a logical test and returns an appropriate value\"
,\"help-contents\": \"Tests a series of expressions returning the <then> value f
or the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEI
F [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \
"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"f
unc-tooltip\": \"Performs a logical test and returns an appropriate value\",\"he
lp-contents\": \"Tests a series of expressions returning the <then> value for th
e first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Pr
ofit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-ar
g-types\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <exp
r> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tool
tip\": \"Performs a logical test and returns an appropriate value\",\"help-conte
nts\": \"Tests a series of expressions returning the <then> value for the first
true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =
0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(s
tring, substring)\",\"func-tooltip\": \"Returns true if the specified string end
s with the specified substring\",\"help-contents\": \"Returns true if the string
ends with the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWI
TH(\\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-ar
g-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"fu
nc-sig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-toolti
p\": \"Computes an aggregate excluding the specified dimensions if present in th
e view.\",\"help-contents\": \"Computes an aggregate excluding the specified dim
ensions if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func
-tooltip\": \"Returns e raised to the power of a number\",\"help-contents\": \"R
eturns e raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-to
oltip\": \"Returns the position of a substring within a string\",\"help-contents
\": \"Returns the position of a substring within a string, or 0 if the substring
isn't found. If the start argument is defined, any instances of substring that
appear before the start position are ignored. The first character in the string
is position 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"fu
nc-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args
\": false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occ
urrence)\",\"func-tooltip\": \"Returns the position of the nth occurrence a subs
tring within a string\",\"help-contents\": \"Returns the position of the nth occ
urrence of a substring within a string, or 0 if that occurrence of the substring
isn't found. The first character in the string is position 1. \\n\\nExample: FI
NDNTH(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-ar
g-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST
\",\"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from
to the first row in the partition\",\"help-contents\": \"Returns the number of
rows from the current row to the first row in the partition.\\n\\nExample (curre
nt row index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED
[dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an ag
gregate using only the specified dimensions.\",\"help-contents\": \"Computes an
aggregate using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"funcarg-types\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLO
AT(expression)\",\"func-tooltip\": \"Returns a float from an expression\",\"help

-contents\": \"Returns a float given an expression of any type. This function re


quires unformatted numbers which means exclude commas and other symbols. \\n\\n
Example: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[
\"boolean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR
(number)\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal o
r lesser value\",\"help-contents\": \"Rounds a number to the nearest integer of
equal or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"
],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\"
,\"func-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the
current user\",\"help-contents\": \"Returns the full name for the current user.
This is the Tableau Server or Tableau Online full name when the user is signed i
n; otherwise it is the local or network full name for the Tableau Desktop user.\
",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"nam
e\": \"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"R
eturns the x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Map
s an (x,y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false
},{\"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-toolti
p\": \"Returns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\
": \"Maps an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin.
The bins have side length 1, so the inputs may need to be scaled appropriately.\
",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\
": false},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2
> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical t
est and returns an appropriate value\",\"help-contents\": \"Tests a series of ex
pressions returning the <then> value for the first true <expr>. \\n\\nExample: I
F [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss
' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false}
,{\"name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\":
\"Returns expression1 if not null\",\"help-contents\": \"Returns <expr1> if it i
s not null, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"f
unc-grps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])
\",\"func-tooltip\": \"Evaluates a Boolean expression and returns one of two val
ues\",\"help-contents\": \"Checks whether a condition is met, and returns one va
lue if TRUE, another value if FALSE, and an optional third value or NULL if unkn
own. \\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic
\"],\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\"
: false},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : ag
gregate-expression }\",\"func-tooltip\": \"Computes an aggregate using the speci
fied dimensions and the view dimensions.\",\"help-contents\": \"Computes an aggr
egate using the specified dimensions and the view dimensions.\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"fu
nc-sig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row i
n the partition\",\"help-contents\": \"Returns the index of the current row in t
he partition.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",
\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an e
xpression and returns an integer\",\"help-contents\": \"Returns an integer given
an expression. This function truncates results to the closest integer toward ze
ro. \\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"]
,\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\"
,\"func-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string
is a valid date\",\"help-contents\": \"Returns true if a given string is a vali
d date. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str
\",\"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"
name\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"
Returns true if the current user's full name matches the specified name\",\"help
-contents\": \"Returns true if the current user's full name matches the specifie

d full name, or false if it does not match. This function uses the Tableau Serve
r or Tableau Online full name when the user is signed in; otherwise it uses the
local or network full name for the Tableau Desktop user.\",\"func-grps\":[\"user
\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMB
EROF\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if
the current user is a member of the specified group\",\"help-contents\": \"Retur
ns true if the current user is a member of the given group, false otherwise. Th
is uses the Tableau Server to resolve group membership if logged on, otherwise i
t always returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\
"],\"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(express
ion)\",\"func-tooltip\": \"Returns true if the specified expression is null\",\"
help-contents\": \"Returns true if the expression does not contain valid data (N
ull).\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-type
s\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\
": \"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's
name matches the specified user name\",\"help-contents\": \"Returns true if the
current user's username matches the specified username, or false if it does not
match. This function uses the Tableau Server or Tableau Online username when th
e user is signed in; otherwise it uses the local or network username for the Tab
leau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"
has-var-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-toolt
ip\": \"Returns the number of rows to the last row in the partition\",\"help-con
tents\": \"Returns the number of rows from the current row to the last row in th
e partition.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func
-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"
LEFT\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the
specified number of characters from the start of a string\",\"help-contents\":
\"Returns the specified number of characters from the start of the given string.
\\n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\":
\"LEN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of
characters in a string\",\"help-contents\": \"Returns the number of characters
in the given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"L
N\",\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarit
hm of a number\",\"help-contents\": \"Returns the natural logarithm of the given
number. Returns Null if the number is less than or equal to 0.\\n\\nExample: LN
(EXP(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-to
oltip\": \"Returns the logarithm of a number for the given base\",\"help-content
s\": \"Returns the logarithm of a number for the given base. If the base value i
s omitted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2)
= 8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-varargs\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset]
)\",\"func-tooltip\": \"Returns the value of the expression in a row offset from
current row\",\"help-contents\": \"Returns the value of the given expression in
a target row, specified as a relative offset from the current row. Use FIRST()+
n and LAST()-n for a target relative to the first/last rows in the partition. If
offset is omitted, the Compare To row may be set on the field menu. Returns NUL
L if the target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FI
RST( ) + 2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{
\"name\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns
a string in all lowercase characters\",\"help-contents\": \"Converts a text stri
ng to all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product
\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fa
lse},{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Re
turns a string with leading spaces removed\",\"help-contents\": \"Returns the st
ring with any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\
"Sales\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args

\": false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",


\"func-tooltip\": \"Returns a date value constructed from a year, a month and a
day of the month.\",\"help-contents\": \"Returns a date value constructed from a
year, a month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\"
,\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\
"],\"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATE
TIME(date, time)\",\"func-tooltip\": \"Returns a datetime by combining a date an
d a time\",\"help-contents\": \"Returns a date and time value given a date expre
ssion and a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:0
0#)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"hasvar-args\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute
, second)\",\"func-tooltip\": \"Returns a time value constructed from hours, min
utes and seconds.\",\"help-contents\": \"Returns a time value constructed from h
ours, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\
":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-varargs\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1,
expr2)\",\"func-tooltip\": \"Returns the maximum of an expression\",\"help-conte
nts\": \"Returns the maximum of a single expression across all records or the ma
ximum of two expressions for each record. \\n\\nExample: MAX([Sales])\",\"funcgrps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\"
,\"real\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN
(expression)\",\"func-tooltip\": \"Returns the median of an expression\",\"helpcontents\": \"Returns the median of a single expression. MEDIAN can be used with
numeric fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",
\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{
\"name\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\":
\"Returns the characters from the middle of a text string\",\"help-contents\":
\"Returns the characters from the middle of a text string given a starting posit
ion and a length. The first character in the string is position 1. If the length
is not included, all characters to the end of the string are returned. If the l
ength is included, up to that many characters are returned. \\n\\nExample: MID(\
\\"Tableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Sof
tware\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"st
r\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\":
\"MIN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimu
m of an expression\",\"help-contents\": \"Returns the minimum of an expression a
cross all records or the minimum of two expressions for each record. \\n\\nExam
ple: MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],
\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MON
TH\",\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of
the specified date as an integer\",\"help-contents\": \"Returns the month of a
given date as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\
":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\
": \"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"P
erforms logical negation on an expression\",\"help-contents\": \"Performs logica
l negation on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"
has-var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip
\": \"Returns the current date and time\",\"help-contents\": \"Returns the curre
nt date and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":
[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"fu
nc-sig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs
a logical disjunction on two expressions\",\"help-contents\": \"Performs a logi
cal disjunction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTI
LE(expression, number)\",\"func-tooltip\": \"Returns the percentile value at the
specified number\",\"help-contents\": \"Aggregate calculation that returns the
percentile value from the given expression corresponding to the specified number
. Valid values for the number are 0 through 1. PERCENTILE([expression], 0.50) wi
ll always return the median value in the expression.\\n\\nExample: PERCENTILE([S
ales], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"]

,\"has-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-toolti


p\": \"Returns the numeric constant pi\",\"help-contents\": \"Returns the numeri
c constant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\":
\"POWER(number,power)\",\"func-tooltip\": \"Raises the number to the specified
power\",\"help-contents\": \"Returns the result of a number raised to the given
power. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALU
E\",\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the
value of this calculation in the previous row\",\"help-contents\": \"Returns th
e value of this calculation in the previous row. Returns the given expression if
the current row is the first row of the partition.\\n\\nExample: SUM([Profit])
+ PREVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIO
US_VALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"funcarg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func
-sig\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to
radians\",\"help-contents\": \"Converts a number in degrees to radians.\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\"
: \"Returns the competition rank for the current partition row\",\"help-contents
\": \"Returns the standard competition rank for the current row in the partition
. Identical values are assigned an identical rank. Use the optional 'asc' | 'des
c' argument to specify ascending or descending order. The default order is desce
nding.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked
(1, 2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": f
alse},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'d
esc'])\",\"func-tooltip\": \"Returns the dense rank for the current partition ro
w\",\"help-contents\": \"Returns the dense rank for the current row in the parti
tion. Identical values are assigned an identical rank, but no gaps are inserted
into the number sequence. Use the optional 'asc' | 'desc' argument to specify as
cending or descending order. The default order is descending.\\n\\nWith this fun
ction, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending
order.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RAN
K_MODIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"functooltip\": \"Returns the modified competition rank for the current partition row
\",\"help-contents\": \"Returns the modified competition rank for the current ro
w in the partition. Identical values are assigned an identical rank. Use the opt
ional 'asc' | 'desc' argument to specify ascending or descending order. The defa
ult order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14
) would be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(A
VG([Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"lo
cstr\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"
RANK_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the pe
rcentile rank for the current partition row\",\"help-contents\": \"Returns the p
ercentile rank for the current row in the partition. Use the optional 'asc' | 'd
esc' argument to specify ascending or descending order. The default order is asc
ending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked
(25, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test S
core]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(
expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for th
e current partition row\",\"help-contents\": \"Returns the unique rank for the c
urrent row in the partition. Identical values are assigned different ranks. Use
the optional 'asc' | 'desc' argument to specify ascending or descending order. T
he default order is descending.\\n\\nWith this function, the set of values (6, 9
, 9, 14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNI
QUE() = 1 for the first row in the partition\",\"func-grps\":[\"table\"],\"funcarg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEX

P_EXTRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\":


\"Returns the portion of a string matching the capturing group in a regular expr
ession\",\"help-contents\": \"Returns a substring of the given string that match
es the capturing group within the regular expression pattern. The regular expre
ssion pattern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRAC
T('abc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-ar
g-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT
_NTH\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-toolt
ip\": \"Returns a substring of a string using a regular expression pattern\",\"h
elp-contents\": \"Returns a substring of the given string using the regular expr
ession pattern. The substring is matched to the nth capturing group, where n is
the given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\
\\\d+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\
",\"locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\":
\"REGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string
matches a regular expression\",\"help-contents\": \"Returns true if a substring
of the provided string matches the regular expression pattern. \\n\\nExample: RE
GEXP_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\
\\])') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"h
as-var-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLA
CE(string, pattern, replacement)\",\"func-tooltip\": \"Returns a string where su
bstrings matching a regular expression are replaced\",\"help-contents\": \"Retur
ns a copy of the given string where the matching pattern is substituted with the
replacement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = '
abc--123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"]
,\"has-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string,
substring, replacement)\",\"func-tooltip\": \"Replaces all instances of a subst
ring within a string\",\"help-contents\": \"Returns a string in which every occu
rrence of the substring is replaced with the replacement string. If the substrin
g is not found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\
\\", \\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"f
unc-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"
RIGHT\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns t
he specified number of characters from the end of a string\",\"help-contents\":
\"Returns the specified number of characters from the end of the given string.
\\n\\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\":
\"ROUND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds
a number to the specified number of places\",\"help-contents\": \"Rounds a numb
er to the nearest integer or to a specified number of decimal places. \\n\\nExam
ple: ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\",\"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM
(string)\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\
"help-contents\": \"Returns the string with any trailing spaces removed. \\n\\n
Example: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"fun
c-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"fu
nc-sig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running av
erage of an expression\",\"help-contents\": \"Returns the running average of the
given expression, from the first row in the partition to the current row.\\n\\n
Example: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\
": \"Returns the running count of an expression\",\"help-contents\": \"Returns t
he running count of the given expression, from the first row in the partition to
the current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of
SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-varargs\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression
)\",\"func-tooltip\": \"Returns the running maximum of an expression\",\"help-co
ntents\": \"Returns the running maximum of the given expression, from the first
row in the partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])

) = running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running


maximum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"intege
r\"],\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING
_MIN(expression)\",\"func-tooltip\": \"Returns the running minimum of an express
ion\",\"help-contents\": \"Returns the running minimum of the given expression,
from the first row in the partition to the current row.\\n\\nExample: RUNNING_MI
N(MIN([Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Prof
it])) = running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-s
ig\": \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of
an expression\",\"help-contents\": \"Returns the running sum of the given expre
ssion, from the first row in the partition to the current row.\\n\\nExample: RUN
NING_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT(
[Profit])) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig
\": \"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boole
an result from an R expression\",\"help-contents\": \"Returns a Boolean result f
rom a given R expression. The R expression is passed directly to a running Rserv
e instance. Use .arg# in the R expression to reference parameters. In the follow
ing example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.
finite(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCR
IPT_INT(string, expression, ...)\",\"func-tooltip\": \"Returns an integer result
from an R expression\",\"help-contents\": \"Returns an integer result from a gi
ven R expression. The R expression is passed directly to a running Rserve instan
ce. Use .arg# in the R expression to reference parameters. In the following exam
ple, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.
arg1 * 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT
_REAL(string, expression, ...)\",\"func-tooltip\": \"Returns a numeric result fr
om an R expression\",\"help-contents\": \"Returns a numeric result from a given
R expression. The R expression is passed directly to a running Rserve instance.
Use .arg# in the R expression to reference parameters. In the following example,
.arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\"
, SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"hasvar-args\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, e
xpression, ...)\",\"func-tooltip\": \"Returns a string result from an R expressi
on\",\"help-contents\": \"Returns a string result from a given R expression. The
R expression is passed directly to a running Rserve instance. Use .arg# in the
R expression to reference parameters. In the following example, .arg1 is equal t
o ATTR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([R
egion]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args
\": true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \
"Returns 1 for a positive number\",\"help-contents\": \"Returns the sign of a nu
mber: 1 if the number is positive, zero if the number is zero, or -1 if the numb
er is negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \
"SIN(angle)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents
\": \"Returns the sine of an angle. Specify the angle in radians.\\n\\nExample:
SIN(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"
real\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"
func-tooltip\": \"Returns the number of rows in the partition\",\"help-contents\
": \"Returns the number of rows in the partition.\\n\\nExample (partition has 5
rows):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tool
tip\": \"Returns a string containing the specified number of spaces\",\"help-con
tents\": \"Returns a string composed of the specified number of repeated spaces.
\\n\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types
\":[\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLI
T(string, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring fr

om a string\",\"help-contents\": \"Returns a substring from a string, as determi


ned by a delimiter extracting the characters from the beginning or end of the st
ring. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-cd', '-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locst
r\",\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQR
T(number)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-con
tents\": \"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"
name\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns
the square of a number\",\"help-contents\": \"Returns the square of a given numb
er. \\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[
\"real\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STA
RTSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the specified s
tring starts with the specified substring\",\"help-contents\": \"Returns true if
the string starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation
\\\", \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",
\"str\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(exp
ression)\",\"func-tooltip\": \"Returns the sample standard deviation for an expr
ession\",\"help-contents\": \"Returns the sample standard deviation of the expre
ssion.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDE
VP(expression)\",\"func-tooltip\": \"Returns the population standard deviation f
or an expression\",\"help-contents\": \"Returns the population standard deviatio
n of the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"
func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-s
ig\": \"STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\
",\"help-contents\": \"Returns a string given an expression. \\n\\nExample: STR
([Age]) returns all of the values of the Age measure as strings.\",\"func-grps\"
:[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\":
\"SUM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum o
f values in an expression\",\"help-contents\": \"Returns the sum of all the valu
es in the expression. SUM can be used with numeric fields only. Null values are
ignored.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(ang
le)\",\"func-tooltip\": \"Returns the tangent of an angle specified in radians\"
,\"help-contents\": \"Returns the tangent of an angle. Specify the angle in radi
ans.\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <ex
pr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-too
ltip\": \"Performs a logical test and returns an appropriate value\",\"help-cont
ents\": \"Tests a series of expressions returning the <then> value for the first
true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =
0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"
func-tooltip\": \"Returns the current date\",\"help-contents\": \"Returns the cu
rrent date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"
TOTAL(expression)\",\"func-tooltip\": \"Returns the total for an expression with
in the partition\",\"help-contents\": \"Returns the total for the given expressi
on.\\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that
contribute to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"in
teger\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(strin
g)\",\"func-tooltip\": \"Returns a string with leading and trailing spaces remov
ed\",\"help-contents\": \"Returns the string with both leading and trailing spac
es removed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grp
s\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \
"UPPER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in
all uppercase characters\",\"help-contents\": \"Converts a text string to all u
ppercase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"fu
nc-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"nam

e\": \"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns t


he domain for the current user\",\"help-contents\": \"Returns the domain for the
current user when the user is signed on to Tableau Server. Returns the Windows
domain if the Tableau Desktop user is on a domain. Otherwise this function retur
ns a null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-arg
s\": false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\
": \"Returns the user name for the current user\",\"help-contents\": \"Returns t
he username for the current user. This is the Tableau Server or Tableau Online u
sername when the user is signed in; otherwise it is the local or network usernam
e for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[]
,\"has-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\
"func-tooltip\": \"Returns the sample variance for an expression\",\"help-conten
ts\": \"Returns the sample variance of the expression.\\n\\nExample: VAR([Profit
])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"R
eturns the population variance for an expression\",\"help-contents\": \"Returns
the population variance of the expression.\\n\\nExample: VARP([Profit])\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE
<else>] END\",\"func-tooltip\": \"Performs logical tests and returns the appropr
iate value\",\"help-contents\": \"Finds the first <value> that matches <expr> an
d returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u
2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logi
c\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"
func-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns
the average of the values within the window\",\"help-contents\": \"Returns the
average of the expression within the window. The window is defined as offsets f
rom the current row. Use FIRST()+n and LAST()-n for offsets from the first or la
st row in the partition. If start and end are omitted, the entire partition is
used.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) fr
om the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\"
: \"WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"fu
nc-tooltip\": \"Returns the number of items within the window\",\"help-contents\
": \"Returns the count of the expression within the window. The window is defin
ed as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the entir
e partition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"ta
ble\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, e
nd])\",\"func-tooltip\": \"Returns the maximum within the window\",\"help-conten
ts\": \"Returns the maximum of the expression within the window. The window is
defined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets
from the first or last row in the partition. If start and end are omitted, the
entire partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maxim
um of Profit from the two previous rows to the current row\\n\\nExample: WINDOW_
MAX(SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to
the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"i
nteger\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"fu
nc-sig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Return
s the median within the window\",\"help-contents\": \"Returns the median of the
expression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the p
artition. If start and end are omitted, the entire partition is used.\\n\\nExam
ple: WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two pr
evious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MI
N\",\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"R
eturns the minimum within the window\",\"help-contents\": \"Returns the minimum

of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i
n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two pr
evious rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) =
minimum of SUM(Profit) from the two previous rows to the current row\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"hasvar-args\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCE
NTILE(expression, number, [start, end])\",\"func-tooltip\": \"Returns the percen
tile value at the specified number\",\"help-contents\": \"Returns the value corr
esponding to the specified percentile within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire p
artition is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0))
= 75th percentile of SUM(Profit) from the two previous rows to the current row\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\"
,\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\":
\"WINDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the samp
le standard deviation within the window\",\"help-contents\": \"Returns the sampl
e standard deviation of the expression within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from th
e first or last row in the partition. If start and end are omitted, the entire
partition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev.
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [
start, end])\",\"func-tooltip\": \"Returns the population standard deviation wit
hin the window\",\"help-contents\": \"Returns the population standard deviation
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i
n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from
the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-argtypes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \
"WINDOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tool
tip\": \"Returns the sum of values within the window\",\"help-contents\": \"Retu
rns the sum of the expression within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) fr
om the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"nam
e\": \"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"fun
c-tooltip\": \"Returns the sample variance within the window\",\"help-contents\"
: \"Returns the sample variance of the expression within the window. The window
is defined as offsets from the current row. Use FIRST()+n and LAST()-n for offs
ets from the first or last row in the partition. If start and end are omitted,
the entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = v
ariance of SUM(Profit) from the two previous rows to the current row\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var
-args\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expressio
n, [start, end])\",\"func-tooltip\": \"Returns the population variance within th
e window\",\"help-contents\": \"Returns the population variance of the expressio
n within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WIND
OW_VARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous ro
ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\
": \"YEAR(date)\",\"func-tooltip\": \"Returns the year of the specified date as

an integer\",\"help-contents\": \"Returns the year of a given date as an integer


. \\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-ar
g-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\"
: \"ZN(expression)\",\"func-tooltip\": \"Returns the expression if it is not nul
l\",\"help-contents\": \"Returns <expression> if it is not null, otherwise retur
ns zero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func
-arg-types\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \
"calculation-dialog\",\"use-parameters\": true} position=\"16\"","name":"tabdoc:
calculation-auto-complete"}}
{"ts":"2016-09-29T17:02:04.509","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED [Re
gion]:\" calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70
l\",\"calculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculati
on_5489888009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{F
IXED [Region]\",\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencies\": \
"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-role\": \"dimensions
\",\"has-table-calc-data\": false,\"table-calc-types-used\": 0,\"style-token-lis
t\":[],\"error-string\": \"Error in calculation:\\n\\nExpected comma or colon in
the dimensionality declaration.\\n\\nWould you like to correct the calculation?
\",\"error-info-list\":[{\"start-position-for-error\": 14,\"length-of-calc-of-er
ror\": 1,\"error-message\": \"Expected comma or colon in the dimensionality decl
aration.\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\
",\"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value o
f a number\",\"help-contents\": \"Returns the absolute value of the given number
. \\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"rea
l\"],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\"
,\"func-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"R
eturns the arc cosine of a number. The result is in radians. \\n\\nExample: ACO
S(-1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <exp
r2> THEN <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two
expressions\",\"help-contents\": \"Performs a logical conjunction on two express
ions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},
{\"name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns
the ASCII code for the first character in a string\",\"help-contents\": \"Retur
ns the ASCII code value of the first character in a string. \\n\\nExample: ASCII
(\\\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"
has-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func
-tooltip\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns th
e arc sine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.57
07963267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\"
: \"Returns the arc tangent of a number\",\"help-contents\": \"Returns the arc t
angent of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.565
2408283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-arg
s\": false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"f
unc-tooltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"R
eturns the arc tangent of two given numbers (x and y). The result is in radians.
\\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"
func-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the ex
pression if it has one value for all rows\",\"help-contents\": \"Returns the val
ue of the given expression if it only has a single value for all rows in the gro
up, otherwise it displays an asterisk (*). Null values are ignored.\\n\\nExample
: ATTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func
-tooltip\": \"Returns the average of the values in the expression\",\"help-conte
nts\": \"Returns the average of all the values in the expression. AVG can be use
d with numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])

\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> .
.. [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns th
e appropriate value\",\"help-contents\": \"Finds the first <value> that matches
<expr> and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral
] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\
":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILIN
G\",\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the
nearest integer of equal or greater value\",\"help-contents\": \"Rounds a numbe
r to the nearest integer of equal or greater value. \\n\\nExample: CEILING(3.141
5) = 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\":
false},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"
Converts an integer ASCII code into a character\",\"help-contents\": \"Converts
the given integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\
"name\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-toolt
ip\": \"Returns true if a string contains the specified substring\",\"help-conte
nts\": \"Returns true if the string contains the substring. \\n\\nExample: CONTA
INS(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"funcarg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func
-sig\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specif
ied in radians\",\"help-contents\": \"Returns the cosine of an angle. Specify th
e angle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\
":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
COT\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of
an angle specified in radians\",\"help-contents\": \"Returns the cotangent of an
angle. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grp
s\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"COUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the nu
mber of items in the expression\",\"help-contents\": \"Returns the number of ite
ms in a group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\"
,\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": fals
e},{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\":
\"Returns the number of distinct items in the expression\",\"help-contents\": \"
Returns the number of distinct items in a group. NULL values are not counted. E
ach unique value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-g
rps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"nam
e\": \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a d
ate from a number\",\"help-contents\": \"Returns a date given a number, string,
or date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15
\\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func
-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-si
g\": \"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the spec
ified date incremented by the specified amount\",\"help-contents\": \"Adds an in
crement to the specified date and returns the new date. The increment is defined
by the interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-0415#) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"l
ocstr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF
\",\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",
\"func-tooltip\": \"Returns the difference between two dates\",\"help-contents\"
: \"Returns the difference between two dates where start_date is subtracted from
end_date. The difference is expressed in units of date_part. If start_of_week i
s omitted, the week start day is determined by the start day configured for the
data source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday
') = -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\
"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"funcsig\": \"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Return
s a part of the specified date as a string\",\"help-contents\": \"Returns a part
of the given date as a string, where the part is defined by date_part. If start
_of_week is omitted, the week start day is determined by the start day configure

d for the data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April


\\\"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"lo
cstr\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPA
RSE(format, string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-c
ontents\": \"Converts a string to a date in the specified format. \\n\\nExample:
DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 A
M\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-a
rgs\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date,
[start_of_week])\",\"func-tooltip\": \"Returns the specified part of a date as a
n integer\",\"help-contents\": \"Returns a part of the given date as an integer
where the part is defined by date_part. If start_of_week is omitted, the week st
art day is determined by the start day configured for the data source.\\n\\nExam
ple: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-t
ypes\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\":
\"DATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns
a datetime from a number\",\"help-contents\": \"Returns a datetime given a numbe
r, string, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59
:00\\\") \\nNote that the quotation marks are required.\",\"func-grps\":[\"cast
\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC
\",\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\
": \"Truncates the specified date to the specified accuracy\",\"help-contents\":
\"Truncates the specified date to the accuracy specified by the date_part and r
eturns the new date. If start_of_week is omitted, the week start day is determin
ed by the start day configured for the data source.\\n\\nExample: DATETRUNC('qua
rter', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"funcarg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"nam
e\": \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day par
t of the specified date as an integer\",\"help-contents\": \"Returns the day of
the given date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-gr
ps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"na
me\": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts
a value in radians to degrees\",\"help-contents\": \"Converts a number in radia
ns to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"
func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-s
ig\": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of
a division operation\",\"help-contents\": \"Returns the integer part of a divisi
on.\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\
": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\"
,\"func-tooltip\": \"Performs a logical test and returns an appropriate value\",
\"help-contents\": \"Tests a series of expressions returning the <then> value fo
r the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF
[Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"
IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"fu
nc-tooltip\": \"Performs a logical test and returns an appropriate value\",\"hel
p-contents\": \"Tests a series of expressions returning the <then> value for the
first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Pro
fit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr
> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-toolt
ip\": \"Performs a logical test and returns an appropriate value\",\"help-conten
ts\": \"Tests a series of expressions returning the <then> value for the first t
rue <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0
THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(st
ring, substring)\",\"func-tooltip\": \"Returns true if the specified string ends
with the specified substring\",\"help-contents\": \"Returns true if the string
ends with the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWIT
H(\\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg

-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"fun


c-sig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip
\": \"Computes an aggregate excluding the specified dimensions if present in the
view.\",\"help-contents\": \"Computes an aggregate excluding the specified dime
nsions if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\
"has-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"functooltip\": \"Returns e raised to the power of a number\",\"help-contents\": \"Re
turns e raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\",
\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{
\"name\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-too
ltip\": \"Returns the position of a substring within a string\",\"help-contents\
": \"Returns the position of a substring within a string, or 0 if the substring
isn't found. If the start argument is defined, any instances of substring that a
ppear before the start position are ignored. The first character in the string i
s position 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"fun
c-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\
": false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occu
rrence)\",\"func-tooltip\": \"Returns the position of the nth occurrence a subst
ring within a string\",\"help-contents\": \"Returns the position of the nth occu
rrence of a substring within a string, or 0 if that occurrence of the substring
isn't found. The first character in the string is position 1. \\n\\nExample: FIN
DNTH(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\
",\"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from
to the first row in the partition\",\"help-contents\": \"Returns the number of r
ows from the current row to the first row in the partition.\\n\\nExample (curren
t row index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED
[dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an agg
regate using only the specified dimensions.\",\"help-contents\": \"Computes an a
ggregate using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-a
rg-types\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOA
T(expression)\",\"func-tooltip\": \"Returns a float from an expression\",\"helpcontents\": \"Returns a float given an expression of any type. This function req
uires unformatted numbers which means exclude commas and other symbols. \\n\\nE
xample: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\
"boolean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(
number)\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or
lesser value\",\"help-contents\": \"Rounds a number to the nearest integer of e
qual or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"]
,\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",
\"func-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the c
urrent user\",\"help-contents\": \"Returns the full name for the current user. T
his is the Tableau Server or Tableau Online full name when the user is signed in
; otherwise it is the local or network full name for the Tableau Desktop user.\"
,\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Re
turns the x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps
an (x,y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip
\": \"Returns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\"
: \"Maps an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin. T
he bins have side length 1, so the inputs may need to be scaled appropriately.\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\"
: false},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2>
THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical te
st and returns an appropriate value\",\"help-contents\": \"Tests a series of exp
ressions returning the <then> value for the first true <expr>. \\n\\nExample: IF

[Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss'
END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},
{\"name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \
"Returns expression1 if not null\",\"help-contents\": \"Returns <expr1> if it is
not null, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"fu
nc-grps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-arg
s\": false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\
",\"func-tooltip\": \"Evaluates a Boolean expression and returns one of two valu
es\",\"help-contents\": \"Checks whether a condition is met, and returns one val
ue if TRUE, another value if FALSE, and an optional third value or NULL if unkno
wn. \\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\
"],\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\":
false},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : agg
regate-expression }\",\"func-tooltip\": \"Computes an aggregate using the specif
ied dimensions and the view dimensions.\",\"help-contents\": \"Computes an aggre
gate using the specified dimensions and the view dimensions.\",\"func-grps\":[\"
agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"fun
c-sig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row in
the partition\",\"help-contents\": \"Returns the index of the current row in th
e partition.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\
"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\
": \"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an ex
pression and returns an integer\",\"help-contents\": \"Returns an integer given
an expression. This function truncates results to the closest integer toward zer
o. \\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],
\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",
\"func-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string
is a valid date\",\"help-contents\": \"Returns true if a given string is a valid
date. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\
",\"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"n
ame\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"R
eturns true if the current user's full name matches the specified name\",\"helpcontents\": \"Returns true if the current user's full name matches the specified
full name, or false if it does not match. This function uses the Tableau Server
or Tableau Online full name when the user is signed in; otherwise it uses the l
ocal or network full name for the Tableau Desktop user.\",\"func-grps\":[\"user\
"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBE
ROF\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if t
he current user is a member of the specified group\",\"help-contents\": \"Return
s true if the current user is a member of the given group, false otherwise. Thi
s uses the Tableau Server to resolve group membership if logged on, otherwise it
always returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"
],\"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expressi
on)\",\"func-tooltip\": \"Returns true if the specified expression is null\",\"h
elp-contents\": \"Returns true if the expression does not contain valid data (Nu
ll).\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types
\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\"
: \"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's
name matches the specified user name\",\"help-contents\": \"Returns true if the
current user's username matches the specified username, or false if it does not
match. This function uses the Tableau Server or Tableau Online username when the
user is signed in; otherwise it uses the local or network username for the Tabl
eau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"h
as-var-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-toolti
p\": \"Returns the number of rows to the last row in the partition\",\"help-cont
ents\": \"Returns the number of rows from the current row to the last row in the
partition.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"funcgrps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"L
EFT\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the
specified number of characters from the start of a string\",\"help-contents\": \

"Returns the specified number of characters from the start of the given string.
\\n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\":
\"LEN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of
characters in a string\",\"help-contents\": \"Returns the number of characters i
n the given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN
\",\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarith
m of a number\",\"help-contents\": \"Returns the natural logarithm of the given
number. Returns Null if the number is less than or equal to 0.\\n\\nExample: LN(
EXP(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-too
ltip\": \"Returns the logarithm of a number for the given base\",\"help-contents
\": \"Returns the logarithm of a number for the given base. If the base value is
omitted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2)
= 8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-a
rgs\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])
\",\"func-tooltip\": \"Returns the value of the expression in a row offset from
current row\",\"help-contents\": \"Returns the value of the given expression in
a target row, specified as a relative offset from the current row. Use FIRST()+n
and LAST()-n for a target relative to the first/last rows in the partition. If
offset is omitted, the Compare To row may be set on the field menu. Returns NULL
if the target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIR
ST( ) + 2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\
"name\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a
string in all lowercase characters\",\"help-contents\": \"Converts a text strin
g to all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\
\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fal
se},{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Ret
urns a string with leading spaces removed\",\"help-contents\": \"Returns the str
ing with any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"
Sales\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\
"func-tooltip\": \"Returns a date value constructed from a year, a month and a d
ay of the month.\",\"help-contents\": \"Returns a date value constructed from a
year, a month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",
\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"
],\"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATET
IME(date, time)\",\"func-tooltip\": \"Returns a datetime by combining a date and
a time\",\"help-contents\": \"Returns a date and time value given a date expres
sion and a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00
#)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-v
ar-args\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute,
second)\",\"func-tooltip\": \"Returns a time value constructed from hours, minu
tes and seconds.\",\"help-contents\": \"Returns a time value constructed from ho
urs, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\"
:[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, e
xpr2)\",\"func-tooltip\": \"Returns the maximum of an expression\",\"help-conten
ts\": \"Returns the maximum of a single expression across all records or the max
imum of two expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-g
rps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",
\"real\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(
expression)\",\"func-tooltip\": \"Returns the median of an expression\",\"help-c
ontents\": \"Returns the median of a single expression. MEDIAN can be used with
numeric fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\
"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\
"name\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\":
\"Returns the characters from the middle of a text string\",\"help-contents\": \

"Returns the characters from the middle of a text string given a starting positi
on and a length. The first character in the string is position 1. If the length
is not included, all characters to the end of the string are returned. If the le
ngth is included, up to that many characters are returned. \\n\\nExample: MID(\\
\"Tableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Soft
ware\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str
\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\":
\"MIN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum
of an expression\",\"help-contents\": \"Returns the minimum of an expression ac
ross all records or the minimum of two expressions for each record. \\n\\nExamp
le: MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\
"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONT
H\",\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of
the specified date as an integer\",\"help-contents\": \"Returns the month of a g
iven date as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\"
:[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\"
: \"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Pe
rforms logical negation on an expression\",\"help-contents\": \"Performs logical
negation on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\
": \"Returns the current date and time\",\"help-contents\": \"Returns the curren
t date and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[
\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"fun
c-sig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs
a logical disjunction on two expressions\",\"help-contents\": \"Performs a logic
al disjunction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\"
:[],\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTIL
E(expression, number)\",\"func-tooltip\": \"Returns the percentile value at the
specified number\",\"help-contents\": \"Aggregate calculation that returns the p
ercentile value from the given expression corresponding to the specified number.
Valid values for the number are 0 through 1. PERCENTILE([expression], 0.50) wil
l always return the median value in the expression.\\n\\nExample: PERCENTILE([Sa
les], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],
\"has-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip
\": \"Returns the numeric constant pi\",\"help-contents\": \"Returns the numeric
constant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"
func-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\":
\"POWER(number,power)\",\"func-tooltip\": \"Raises the number to the specified p
ower\",\"help-contents\": \"Returns the result of a number raised to the given p
ower. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-argtypes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE
\",\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the
value of this calculation in the previous row\",\"help-contents\": \"Returns the
value of this calculation in the previous row. Returns the given expression if
the current row is the first row of the partition.\\n\\nExample: SUM([Profit]) +
PREVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOU
S_VALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"funcsig\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to r
adians\",\"help-contents\": \"Converts a number in degrees to radians.\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\":
\"Returns the competition rank for the current partition row\",\"help-contents\
": \"Returns the standard competition rank for the current row in the partition.
Identical values are assigned an identical rank. Use the optional 'asc' | 'desc
' argument to specify ascending or descending order. The default order is descen
ding.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked (
1, 2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": fa
lse},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'de

sc'])\",\"func-tooltip\": \"Returns the dense rank for the current partition row
\",\"help-contents\": \"Returns the dense rank for the current row in the partit
ion. Identical values are assigned an identical rank, but no gaps are inserted i
nto the number sequence. Use the optional 'asc' | 'desc' argument to specify asc
ending or descending order. The default order is descending.\\n\\nWith this func
tion, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending
order.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func
-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK
_MODIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-t
ooltip\": \"Returns the modified competition rank for the current partition row\
",\"help-contents\": \"Returns the modified competition rank for the current row
in the partition. Identical values are assigned an identical rank. Use the opti
onal 'asc' | 'desc' argument to specify ascending or descending order. The defau
lt order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14)
would be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AV
G([Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"loc
str\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"R
ANK_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the per
centile rank for the current partition row\",\"help-contents\": \"Returns the pe
rcentile rank for the current row in the partition. Use the optional 'asc' | 'de
sc' argument to specify ascending or descending order. The default order is asce
nding.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked
(25, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Sc
ore]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\
"has-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(e
xpression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the
current partition row\",\"help-contents\": \"Returns the unique rank for the cu
rrent row in the partition. Identical values are assigned different ranks. Use t
he optional 'asc' | 'desc' argument to specify ascending or descending order. Th
e default order is descending.\\n\\nWith this function, the set of values (6, 9,
9, 14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQ
UE() = 1 for the first row in the partition\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP
_EXTRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \
"Returns the portion of a string matching the capturing group in a regular expre
ssion\",\"help-contents\": \"Returns a substring of the given string that matche
s the capturing group within the regular expression pattern. The regular expres
sion pattern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT
('abc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg
-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_
NTH\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-toolti
p\": \"Returns a substring of a string using a regular expression pattern\",\"he
lp-contents\": \"Returns a substring of the given string using the regular expre
ssion pattern. The substring is matched to the nth capturing group, where n is
the given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\
\\d+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"
,\"locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\":
\"REGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string m
atches a regular expression\",\"help-contents\": \"Returns true if a substring o
f the provided string matches the regular expression pattern. \\n\\nExample: REG
EXP_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\
\])') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"ha
s-var-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLAC
E(string, pattern, replacement)\",\"func-tooltip\": \"Returns a string where sub
strings matching a regular expression are replaced\",\"help-contents\": \"Return
s a copy of the given string where the matching pattern is substituted with the
replacement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'a
bc--123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],
\"has-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string,
substring, replacement)\",\"func-tooltip\": \"Replaces all instances of a substr

ing within a string\",\"help-contents\": \"Returns a string in which every occur


rence of the substring is replaced with the replacement string. If the substring
is not found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\
\", \\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"fu
nc-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"R
IGHT\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns th
e specified number of characters from the end of a string\",\"help-contents\": \
"Returns the specified number of characters from the end of the given string. \
\n\\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"st
r\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \
"ROUND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds
a number to the specified number of places\",\"help-contents\": \"Rounds a numbe
r to the nearest integer or to a specified number of decimal places. \\n\\nExamp
le: ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\
",\"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(
string)\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\"
help-contents\": \"Returns the string with any trailing spaces removed. \\n\\nE
xample: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func
-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"fun
c-sig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running ave
rage of an expression\",\"help-contents\": \"Returns the running average of the
given expression, from the first row in the partition to the current row.\\n\\nE
xample: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\"
: \"Returns the running count of an expression\",\"help-contents\": \"Returns th
e running count of the given expression, from the first row in the partition to
the current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of S
UM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)
\",\"func-tooltip\": \"Returns the running maximum of an expression\",\"help-con
tents\": \"Returns the running maximum of the given expression, from the first r
ow in the partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit]))
= running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running
maximum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer
\"],\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_
MIN(expression)\",\"func-tooltip\": \"Returns the running minimum of an expressi
on\",\"help-contents\": \"Returns the running minimum of the given expression, f
rom the first row in the partition to the current row.\\n\\nExample: RUNNING_MIN
(MIN([Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profi
t])) = running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-typ
es\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-si
g\": \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of
an expression\",\"help-contents\": \"Returns the running sum of the given expres
sion, from the first row in the partition to the current row.\\n\\nExample: RUNN
ING_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([
Profit])) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types
\":[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\
": \"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolea
n result from an R expression\",\"help-contents\": \"Returns a Boolean result fr
om a given R expression. The R expression is passed directly to a running Rserve
instance. Use .arg# in the R expression to reference parameters. In the followi
ng example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.f
inite(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRI
PT_INT(string, expression, ...)\",\"func-tooltip\": \"Returns an integer result
from an R expression\",\"help-contents\": \"Returns an integer result from a giv
en R expression. The R expression is passed directly to a running Rserve instanc
e. Use .arg# in the R expression to reference parameters. In the following examp
le, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.a

rg1 * 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"s


tr\"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_
REAL(string, expression, ...)\",\"func-tooltip\": \"Returns a numeric result fro
m an R expression\",\"help-contents\": \"Returns a numeric result from a given R
expression. The R expression is passed directly to a running Rserve instance. U
se .arg# in the R expression to reference parameters. In the following example,
.arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\",
SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-v
ar-args\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, ex
pression, ...)\",\"func-tooltip\": \"Returns a string result from an R expressio
n\",\"help-contents\": \"Returns a string result from a given R expression. The
R expression is passed directly to a running Rserve instance. Use .arg# in the R
expression to reference parameters. In the following example, .arg1 is equal to
ATTR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Re
gion]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"
Returns 1 for a positive number\",\"help-contents\": \"Returns the sign of a num
ber: 1 if the number is positive, zero if the number is zero, or -1 if the numbe
r is negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"
SIN(angle)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\
": \"Returns the sine of an angle. Specify the angle in radians.\\n\\nExample: S
IN(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"f
unc-tooltip\": \"Returns the number of rows in the partition\",\"help-contents\"
: \"Returns the number of rows in the partition.\\n\\nExample (partition has 5 r
ows):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-toolt
ip\": \"Returns a string containing the specified number of spaces\",\"help-cont
ents\": \"Returns a string composed of the specified number of repeated spaces.
\\n\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT
(string, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring fro
m a string\",\"help-contents\": \"Returns a substring from a string, as determin
ed by a delimiter extracting the characters from the beginning or end of the str
ing. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d
', '-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr
\",\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT
(number)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-cont
ents\": \"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"f
unc-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n
ame\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns t
he square of a number\",\"help-contents\": \"Returns the square of a given numbe
r. \\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\
"real\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STAR
TSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the specified st
ring starts with the specified substring\",\"help-contents\": \"Returns true if
the string starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\
\\", \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\
"str\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expr
ession)\",\"func-tooltip\": \"Returns the sample standard deviation for an expre
ssion\",\"help-contents\": \"Returns the sample standard deviation of the expres
sion.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEV
P(expression)\",\"func-tooltip\": \"Returns the population standard deviation fo
r an expression\",\"help-contents\": \"Returns the population standard deviation
of the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"f
unc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-si
g\": \"STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\"
,\"help-contents\": \"Returns a string given an expression. \\n\\nExample: STR(

[Age]) returns all of the values of the Age measure as strings.\",\"func-grps\":


[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\":
\"SUM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of
values in an expression\",\"help-contents\": \"Returns the sum of all the value
s in the expression. SUM can be used with numeric fields only. Null values are i
gnored.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angl
e)\",\"func-tooltip\": \"Returns the tangent of an angle specified in radians\",
\"help-contents\": \"Returns the tangent of an angle. Specify the angle in radia
ns.\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <exp
r> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tool
tip\": \"Performs a logical test and returns an appropriate value\",\"help-conte
nts\": \"Tests a series of expressions returning the <then> value for the first
true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =
0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"f
unc-tooltip\": \"Returns the current date\",\"help-contents\": \"Returns the cur
rent date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"T
OTAL(expression)\",\"func-tooltip\": \"Returns the total for an expression withi
n the partition\",\"help-contents\": \"Returns the total for the given expressio
n.\\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that c
ontribute to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"int
eger\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string
)\",\"func-tooltip\": \"Returns a string with leading and trailing spaces remove
d\",\"help-contents\": \"Returns the string with both leading and trailing space
s removed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps
\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"
UPPER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in
all uppercase characters\",\"help-contents\": \"Converts a text string to all up
percase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"fun
c-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name
\": \"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns th
e domain for the current user\",\"help-contents\": \"Returns the domain for the
current user when the user is signed on to Tableau Server. Returns the Windows d
omain if the Tableau Desktop user is on a domain. Otherwise this function return
s a null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args
\": false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\"
: \"Returns the user name for the current user\",\"help-contents\": \"Returns th
e username for the current user. This is the Tableau Server or Tableau Online us
ername when the user is signed in; otherwise it is the local or network username
for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"
func-tooltip\": \"Returns the sample variance for an expression\",\"help-content
s\": \"Returns the sample variance of the expression.\\n\\nExample: VAR([Profit]
)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Re
turns the population variance for an expression\",\"help-contents\": \"Returns t
he population variance of the expression.\\n\\nExample: VARP([Profit])\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <
else>] END\",\"func-tooltip\": \"Performs logical tests and returns the appropri
ate value\",\"help-contents\": \"Finds the first <value> that matches <expr> and
returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2
018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic
\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"f
unc-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns
the average of the values within the window\",\"help-contents\": \"Returns the a
verage of the expression within the window. The window is defined as offsets fr

om the current row. Use FIRST()+n and LAST()-n for offsets from the first or las
t row in the partition. If start and end are omitted, the entire partition is u
sed.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) fro
m the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-ar
g-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\":
\"WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"fun
c-tooltip\": \"Returns the number of items within the window\",\"help-contents\"
: \"Returns the count of the expression within the window. The window is define
d as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from t
he first or last row in the partition. If start and end are omitted, the entire
partition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"tab
le\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": fa
lse},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, en
d])\",\"func-tooltip\": \"Returns the maximum within the window\",\"help-content
s\": \"Returns the maximum of the expression within the window. The window is d
efined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets f
rom the first or last row in the partition. If start and end are omitted, the e
ntire partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximu
m of Profit from the two previous rows to the current row\\n\\nExample: WINDOW_M
AX(SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to
the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"in
teger\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"fun
c-sig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns
the median within the window\",\"help-contents\": \"Returns the median of the e
xpression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two pre
vious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN
\",\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Re
turns the minimum within the window\",\"help-contents\": \"Returns the minimum o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two pre
vious rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = m
inimum of SUM(Profit) from the two previous rows to the current row\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-v
ar-args\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCEN
TILE(expression, number, [start, end])\",\"func-tooltip\": \"Returns the percent
ile value at the specified number\",\"help-contents\": \"Returns the value corre
sponding to the specified percentile within the window. The window is defined a
s offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire pa
rtition is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) =
75th percentile of SUM(Profit) from the two previous rows to the current row\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\":
\"WINDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sampl
e standard deviation within the window\",\"help-contents\": \"Returns the sample
standard deviation of the expression within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire p
artition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [s
tart, end])\",\"func-tooltip\": \"Returns the population standard deviation with

in the window\",\"help-contents\": \"Returns the population standard deviation o


f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from t
he two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-t
ypes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"
WINDOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-toolt
ip\": \"Returns the sum of values within the window\",\"help-contents\": \"Retur
ns the sum of the expression within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) fro
m the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-ar
g-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name
\": \"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func
-tooltip\": \"Returns the sample variance within the window\",\"help-contents\":
\"Returns the sample variance of the expression within the window. The window
is defined as offsets from the current row. Use FIRST()+n and LAST()-n for offse
ts from the first or last row in the partition. If start and end are omitted, t
he entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = va
riance of SUM(Profit) from the two previous rows to the current row\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-varargs\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression
, [start, end])\",\"func-tooltip\": \"Returns the population variance within the
window\",\"help-contents\": \"Returns the population variance of the expression
within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WINDO
W_VARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous row
s to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"
integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\"
: \"YEAR(date)\",\"func-tooltip\": \"Returns the year of the specified date as a
n integer\",\"help-contents\": \"Returns the year of a given date as an integer.
\\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg
-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\":
\"ZN(expression)\",\"func-tooltip\": \"Returns the expression if it is not null
\",\"help-contents\": \"Returns <expression> if it is not null, otherwise return
s zero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"funcarg-types\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"
calculation-dialog\",\"use-parameters\": true} position=\"16\"","name":"tabdoc:c
alculation-auto-complete"}}
{"ts":"2016-09-29T17:02:04.509","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED [R
egion]:\" calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj7
0l\",\"calculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculat
ion_5489888009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{
FIXED [Region]\",\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencies\":
\"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-role\": \"dimension
s\",\"has-table-calc-data\": false,\"table-calc-types-used\": 0,\"style-token-li
st\":[],\"error-string\": \"Error in calculation:\\n\\nExpected comma or colon i
n the dimensionality declaration.\\n\\nWould you like to correct the calculation
?\",\"error-info-list\":[{\"start-position-for-error\": 14,\"length-of-calc-of-e
rror\": 1,\"error-message\": \"Expected comma or colon in the dimensionality dec
laration.\"}],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS
\",\"func-sig\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value
of a number\",\"help-contents\": \"Returns the absolute value of the given numbe
r. \\n\\nExample: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\

",\"func-tooltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"


Returns the arc cosine of a number. The result is in radians. \\n\\nExample: AC
OS(-1) = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"
],\"has-var-args\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <ex
pr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical conjunction on two
expressions\",\"help-contents\": \"Performs a logical conjunction on two expres
sions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false}
,{\"name\": \"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Return
s the ASCII code for the first character in a string\",\"help-contents\": \"Retu
rns the ASCII code value of the first character in a string. \\n\\nExample: ASCI
I(\\\"authors\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\
"has-var-args\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"fun
c-tooltip\": \"Returns the arc sine of a number\",\"help-contents\": \"Returns t
he arc sine of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.5
707963267949\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\
": \"Returns the arc tangent of a number\",\"help-contents\": \"Returns the arc
tangent of a number. The result is in radians. \\n\\nExample: ATAN(180) = 1.56
52408283942\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-ar
gs\": false},{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"
func-tooltip\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"
Returns the arc tangent of two given numbers (x and y). The result is in radians
. \\n\\nExample: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"fun
c-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\
"func-sig\": \"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the e
xpression if it has one value for all rows\",\"help-contents\": \"Returns the va
lue of the given expression if it only has a single value for all rows in the gr
oup, otherwise it displays an asterisk (*). Null values are ignored.\\n\\nExampl
e: ATTR([Market])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"h
as-var-args\": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"fun
c-tooltip\": \"Returns the average of the values in the expression\",\"help-cont
ents\": \"Returns the average of all the values in the expression. AVG can be us
ed with numeric fields only. Null values are ignored.\\n\\nExample: AVG([Profit]
)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1>
... [ELSE <else>] END\",\"func-tooltip\": \"Performs logical tests and returns t
he appropriate value\",\"help-contents\": \"Finds the first <value> that matches
<expr> and returns the corresponding <return>. \\n\\nExample: CASE [RomanNumera
l] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps
\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILI
NG\",\"func-sig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to th
e nearest integer of equal or greater value\",\"help-contents\": \"Rounds a numb
er to the nearest integer of equal or greater value. \\n\\nExample: CEILING(3.14
15) = 4\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \
"Converts an integer ASCII code into a character\",\"help-contents\": \"Converts
the given integer ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",
\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{
\"name\": \"CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tool
tip\": \"Returns true if a string contains the specified substring\",\"help-cont
ents\": \"Returns true if the string contains the substring. \\n\\nExample: CONT
AINS(\\\"Calculation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func
-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"fun
c-sig\": \"COS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle speci
fied in radians\",\"help-contents\": \"Returns the cosine of an angle. Specify t
he angle in radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"COT\",\"func-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of
an angle specified in radians\",\"help-contents\": \"Returns the cotangent of a
n angle. Specify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-gr

ps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"COUNT\",\"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the n
umber of items in the expression\",\"help-contents\": \"Returns the number of it
ems in a group. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\
",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": fal
se},{\"name\": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\":
\"Returns the number of distinct items in the expression\",\"help-contents\": \
"Returns the number of distinct items in a group. NULL values are not counted.
Each unique value is counted only once.\\n\\nExample: COUNTD([Region])\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"na
me\": \"DATE\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a
date from a number\",\"help-contents\": \"Returns a date given a number, string,
or date expression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15
\\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"fun
c-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-s
ig\": \"DATEADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the spe
cified date incremented by the specified amount\",\"help-contents\": \"Adds an i
ncrement to the specified date and returns the new date. The increment is define
d by the interval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04
-15#) = 2004-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"
locstr\",\"integer\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIF
F\",\"func-sig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\"
,\"func-tooltip\": \"Returns the difference between two dates\",\"help-contents\
": \"Returns the difference between two dates where start_date is subtracted fro
m end_date. The difference is expressed in units of date_part. If start_of_week
is omitted, the week start day is determined by the start day configured for the
data source.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunda
y') = -3\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",
\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func
-sig\": \"DATENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Retur
ns a part of the specified date as a string\",\"help-contents\": \"Returns a par
t of the given date as a string, where the part is defined by date_part. If star
t_of_week is omitted, the week start day is determined by the start day configur
ed for the data source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"Apri
l\\\"\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"l
ocstr\"],\"has-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEP
ARSE(format, string)\",\"func-tooltip\": \"Converts a string to a date\",\"helpcontents\": \"Converts a string to a date in the specified format. \\n\\nExample
: DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00
AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-varargs\": false},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date,
[start_of_week])\",\"func-tooltip\": \"Returns the specified part of a date as
an integer\",\"help-contents\": \"Returns a part of the given date as an integer
where the part is defined by date_part. If start_of_week is omitted, the week s
tart day is determined by the start day configured for the data source.\\n\\nExa
mple: DATEPART('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-argtypes\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\":
\"DATETIME\",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns
a datetime from a number\",\"help-contents\": \"Returns a datetime given a numb
er, string, or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:5
9:00\\\") \\nNote that the quotation marks are required.\",\"func-grps\":[\"cas
t\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUN
C\",\"func-sig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip
\": \"Truncates the specified date to the specified accuracy\",\"help-contents\"
: \"Truncates the specified date to the accuracy specified by the date_part and
returns the new date. If start_of_week is omitted, the week start day is determi
ned by the start day configured for the data source.\\n\\nExample: DATETRUNC('qu
arter', #2004-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func
-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"na
me\": \"DAY\",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day pa

rt of the specified date as an integer\",\"help-contents\": \"Returns the day of


the given date as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-g
rps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"n
ame\": \"DEGREES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Convert
s a value in radians to degrees\",\"help-contents\": \"Converts a number in radi
ans to degrees.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\
"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"funcsig\": \"DIV(integer, integer)\",\"func-tooltip\": \"Returns the integer part of
a division operation\",\"help-contents\": \"Returns the integer part of a divis
ion.\\n\\nExample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[
\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig
\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\
",\"func-tooltip\": \"Performs a logical test and returns an appropriate value\"
,\"help-contents\": \"Tests a series of expressions returning the <then> value f
or the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEI
F [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \
"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"f
unc-tooltip\": \"Performs a logical test and returns an appropriate value\",\"he
lp-contents\": \"Tests a series of expressions returning the <then> value for th
e first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Pr
ofit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-ar
g-types\":[],\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <exp
r> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tool
tip\": \"Performs a logical test and returns an appropriate value\",\"help-conte
nts\": \"Tests a series of expressions returning the <then> value for the first
true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =
0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(s
tring, substring)\",\"func-tooltip\": \"Returns true if the specified string end
s with the specified substring\",\"help-contents\": \"Returns true if the string
ends with the substring (trailing whitespace is ignored). \\n\\nExample: ENDSWI
TH(\\\"Calculation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-ar
g-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"fu
nc-sig\": \"{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-toolti
p\": \"Computes an aggregate excluding the specified dimensions if present in th
e view.\",\"help-contents\": \"Computes an aggregate excluding the specified dim
ensions if present in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func
-tooltip\": \"Returns e raised to the power of a number\",\"help-contents\": \"R
eturns e raised to the power of the given number. \\n\\nExample: EXP(5) = e^5\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-to
oltip\": \"Returns the position of a substring within a string\",\"help-contents
\": \"Returns the position of a substring within a string, or 0 if the substring
isn't found. If the start argument is defined, any instances of substring that
appear before the start position are ignored. The first character in the string
is position 1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"fu
nc-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args
\": false},{\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occ
urrence)\",\"func-tooltip\": \"Returns the position of the nth occurrence a subs
tring within a string\",\"help-contents\": \"Returns the position of the nth occ
urrence of a substring within a string, or 0 if that occurrence of the substring
isn't found. The first character in the string is position 1. \\n\\nExample: FI
NDNTH(\\\"Calculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-ar
g-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST
\",\"func-sig\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from
to the first row in the partition\",\"help-contents\": \"Returns the number of
rows from the current row to the first row in the partition.\\n\\nExample (curre
nt row index is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-

types\":[],\"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED


[dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an ag
gregate using only the specified dimensions.\",\"help-contents\": \"Computes an
aggregate using only the specified dimensions.\",\"func-grps\":[\"agg\"],\"funcarg-types\":[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLO
AT(expression)\",\"func-tooltip\": \"Returns a float from an expression\",\"help
-contents\": \"Returns a float given an expression of any type. This function re
quires unformatted numbers which means exclude commas and other symbols. \\n\\n
Example: FLOAT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[
\"boolean\"],\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR
(number)\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal o
r lesser value\",\"help-contents\": \"Rounds a number to the nearest integer of
equal or lesser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"
],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\"
,\"func-sig\": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the
current user\",\"help-contents\": \"Returns the full name for the current user.
This is the Tableau Server or Tableau Online full name when the user is signed i
n; otherwise it is the local or network full name for the Tableau Desktop user.\
",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"nam
e\": \"HEXBINX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"R
eturns the x-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Map
s an (x,y) coordinate to the x-coordinate of the nearest hexagonal bin. The bins
have side length 1, so the inputs may need to be scaled appropriately.\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false
},{\"name\": \"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-toolti
p\": \"Returns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\
": \"Maps an (x,y) coordinate to the y-coordinate of the nearest hexagonal bin.
The bins have side length 1, so the inputs may need to be scaled appropriately.\
",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\
": false},{\"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2
> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical t
est and returns an appropriate value\",\"help-contents\": \"Tests a series of ex
pressions returning the <then> value for the first true <expr>. \\n\\nExample: I
F [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss
' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false}
,{\"name\": \"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\":
\"Returns expression1 if not null\",\"help-contents\": \"Returns <expr1> if it i
s not null, otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"f
unc-grps\":[\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])
\",\"func-tooltip\": \"Evaluates a Boolean expression and returns one of two val
ues\",\"help-contents\": \"Checks whether a condition is met, and returns one va
lue if TRUE, another value if FALSE, and an optional third value or NULL if unkn
own. \\n\\nExample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic
\"],\"func-arg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\"
: false},{\"name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : ag
gregate-expression }\",\"func-tooltip\": \"Computes an aggregate using the speci
fied dimensions and the view dimensions.\",\"help-contents\": \"Computes an aggr
egate using the specified dimensions and the view dimensions.\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"fu
nc-sig\": \"INDEX()\",\"func-tooltip\": \"Returns the index of the current row i
n the partition\",\"help-contents\": \"Returns the index of the current row in t
he partition.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",
\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"INT\",\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an e
xpression and returns an integer\",\"help-contents\": \"Returns an integer given
an expression. This function truncates results to the closest integer toward ze
ro. \\n\\nExample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"]
,\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\"
,\"func-sig\": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string

is a valid date\",\"help-contents\": \"Returns true if a given string is a vali


d date. \\n\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str
\",\"date\",\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"
name\": \"ISFULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"
Returns true if the current user's full name matches the specified name\",\"help
-contents\": \"Returns true if the current user's full name matches the specifie
d full name, or false if it does not match. This function uses the Tableau Serve
r or Tableau Online full name when the user is signed in; otherwise it uses the
local or network full name for the Tableau Desktop user.\",\"func-grps\":[\"user
\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMB
EROF\",\"func-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if
the current user is a member of the specified group\",\"help-contents\": \"Retur
ns true if the current user is a member of the given group, false otherwise. Th
is uses the Tableau Server to resolve group membership if logged on, otherwise i
t always returns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\
"],\"has-var-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(express
ion)\",\"func-tooltip\": \"Returns true if the specified expression is null\",\"
help-contents\": \"Returns true if the expression does not contain valid data (N
ull).\\n\\nExample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-type
s\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\
": \"ISUSERNAME(string)\",\"func-tooltip\": \"Returns true if the current user's
name matches the specified user name\",\"help-contents\": \"Returns true if the
current user's username matches the specified username, or false if it does not
match. This function uses the Tableau Server or Tableau Online username when th
e user is signed in; otherwise it uses the local or network username for the Tab
leau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"
has-var-args\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-toolt
ip\": \"Returns the number of rows to the last row in the partition\",\"help-con
tents\": \"Returns the number of rows from the current row to the last row in th
e partition.\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func
-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"
LEFT\",\"func-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the
specified number of characters from the start of a string\",\"help-contents\":
\"Returns the specified number of characters from the start of the given string.
\\n\\nExample: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\":
\"LEN\",\"func-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of
characters in a string\",\"help-contents\": \"Returns the number of characters
in the given string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"L
N\",\"func-sig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarit
hm of a number\",\"help-contents\": \"Returns the natural logarithm of the given
number. Returns Null if the number is less than or equal to 0.\\n\\nExample: LN
(EXP(5)) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-to
oltip\": \"Returns the logarithm of a number for the given base\",\"help-content
s\": \"Returns the logarithm of a number for the given base. If the base value i
s omitted, base 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2)
= 8\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-varargs\": false},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset]
)\",\"func-tooltip\": \"Returns the value of the expression in a row offset from
current row\",\"help-contents\": \"Returns the value of the given expression in
a target row, specified as a relative offset from the current row. Use FIRST()+
n and LAST()-n for a target relative to the first/last rows in the partition. If
offset is omitted, the Compare To row may be set on the field menu. Returns NUL
L if the target row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FI
RST( ) + 2) = SUM(Profit) in the third row of the partition\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{
\"name\": \"LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns
a string in all lowercase characters\",\"help-contents\": \"Converts a text stri

ng to all lowercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product


\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": fa
lse},{\"name\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Re
turns a string with leading spaces removed\",\"help-contents\": \"Returns the st
ring with any leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\
"Sales\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args
\": false},{\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",
\"func-tooltip\": \"Returns a date value constructed from a year, a month and a
day of the month.\",\"help-contents\": \"Returns a date value constructed from a
year, a month and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\"
,\"func-grps\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\
"],\"has-var-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATE
TIME(date, time)\",\"func-tooltip\": \"Returns a datetime by combining a date an
d a time\",\"help-contents\": \"Returns a date and time value given a date expre
ssion and a time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:0
0#)\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"hasvar-args\": false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute
, second)\",\"func-tooltip\": \"Returns a time value constructed from hours, min
utes and seconds.\",\"help-contents\": \"Returns a time value constructed from h
ours, minutes and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\
":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-varargs\": false},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1,
expr2)\",\"func-tooltip\": \"Returns the maximum of an expression\",\"help-conte
nts\": \"Returns the maximum of a single expression across all records or the ma
ximum of two expressions for each record. \\n\\nExample: MAX([Sales])\",\"funcgrps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\"
,\"real\"],\"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN
(expression)\",\"func-tooltip\": \"Returns the median of an expression\",\"helpcontents\": \"Returns the median of a single expression. MEDIAN can be used with
numeric fields only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",
\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{
\"name\": \"MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\":
\"Returns the characters from the middle of a text string\",\"help-contents\":
\"Returns the characters from the middle of a text string given a starting posit
ion and a length. The first character in the string is position 1. If the length
is not included, all characters to the end of the string are returned. If the l
ength is included, up to that many characters are returned. \\n\\nExample: MID(\
\\"Tableau Software\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Sof
tware\\\",2,4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"st
r\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\":
\"MIN(expression) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimu
m of an expression\",\"help-contents\": \"Returns the minimum of an expression a
cross all records or the minimum of two expressions for each record. \\n\\nExam
ple: MIN([Profit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],
\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MON
TH\",\"func-sig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of
the specified date as an integer\",\"help-contents\": \"Returns the month of a
given date as an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\
":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\
": \"NOT\",\"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"P
erforms logical negation on an expression\",\"help-contents\": \"Performs logica
l negation on an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"
has-var-args\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip
\": \"Returns the current date and time\",\"help-contents\": \"Returns the curre
nt date and time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":
[\"date\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"fu
nc-sig\": \"IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs
a logical disjunction on two expressions\",\"help-contents\": \"Performs a logi
cal disjunction on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTI

LE(expression, number)\",\"func-tooltip\": \"Returns the percentile value at the


specified number\",\"help-contents\": \"Aggregate calculation that returns the
percentile value from the given expression corresponding to the specified number
. Valid values for the number are 0 through 1. PERCENTILE([expression], 0.50) wi
ll always return the median value in the expression.\\n\\nExample: PERCENTILE([S
ales], 0.90)\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"]
,\"has-var-args\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-toolti
p\": \"Returns the numeric constant pi\",\"help-contents\": \"Returns the numeri
c constant pi.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\
"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\":
\"POWER(number,power)\",\"func-tooltip\": \"Raises the number to the specified
power\",\"help-contents\": \"Returns the result of a number raised to the given
power. \\n\\nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALU
E\",\"func-sig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the
value of this calculation in the previous row\",\"help-contents\": \"Returns th
e value of this calculation in the previous row. Returns the given expression if
the current row is the first row of the partition.\\n\\nExample: SUM([Profit])
+ PREVIOUS_VALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIO
US_VALUE(1) = running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"funcarg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func
-sig\": \"RADIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to
radians\",\"help-contents\": \"Converts a number in degrees to radians.\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"RANK\",\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\"
: \"Returns the competition rank for the current partition row\",\"help-contents
\": \"Returns the standard competition rank for the current row in the partition
. Identical values are assigned an identical rank. Use the optional 'asc' | 'des
c' argument to specify ascending or descending order. The default order is desce
nding.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked
(1, 2, 2, 4) in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": f
alse},{\"name\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'d
esc'])\",\"func-tooltip\": \"Returns the dense rank for the current partition ro
w\",\"help-contents\": \"Returns the dense rank for the current row in the parti
tion. Identical values are assigned an identical rank, but no gaps are inserted
into the number sequence. Use the optional 'asc' | 'desc' argument to specify as
cending or descending order. The default order is descending.\\n\\nWith this fun
ction, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending
order.\\n\\nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RAN
K_MODIFIED\",\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"functooltip\": \"Returns the modified competition rank for the current partition row
\",\"help-contents\": \"Returns the modified competition rank for the current ro
w in the partition. Identical values are assigned an identical rank. Use the opt
ional 'asc' | 'desc' argument to specify ascending or descending order. The defa
ult order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14
) would be ranked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(A
VG([Velocity]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"lo
cstr\"],\"has-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"
RANK_PERCENTILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the pe
rcentile rank for the current partition row\",\"help-contents\": \"Returns the p
ercentile rank for the current row in the partition. Use the optional 'asc' | 'd
esc' argument to specify ascending or descending order. The default order is asc
ending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ranked
(25, 75, 75, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test S
core]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(
expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for th
e current partition row\",\"help-contents\": \"Returns the unique rank for the c

urrent row in the partition. Identical values are assigned different ranks. Use
the optional 'asc' | 'desc' argument to specify ascending or descending order. T
he default order is descending.\\n\\nWith this function, the set of values (6, 9
, 9, 14) would be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNI
QUE() = 1 for the first row in the partition\",\"func-grps\":[\"table\"],\"funcarg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEX
P_EXTRACT\",\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\":
\"Returns the portion of a string matching the capturing group in a regular expr
ession\",\"help-contents\": \"Returns a substring of the given string that match
es the capturing group within the regular expression pattern. The regular expre
ssion pattern requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRAC
T('abc 123', '[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-ar
g-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT
_NTH\",\"func-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-toolt
ip\": \"Returns a substring of a string using a regular expression pattern\",\"h
elp-contents\": \"Returns a substring of the given string using the regular expr
ession pattern. The substring is matched to the nth capturing group, where n is
the given index. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\
\\\d+)', 2) = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\
",\"locint\"],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\":
\"REGEXP_MATCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string
matches a regular expression\",\"help-contents\": \"Returns true if a substring
of the provided string matches the regular expression pattern. \\n\\nExample: RE
GEXP_MATCH('-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\
\\])') = true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"h
as-var-args\": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLA
CE(string, pattern, replacement)\",\"func-tooltip\": \"Returns a string where su
bstrings matching a regular expression are replaced\",\"help-contents\": \"Retur
ns a copy of the given string where the matching pattern is substituted with the
replacement string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = '
abc--123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"]
,\"has-var-args\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string,
substring, replacement)\",\"func-tooltip\": \"Replaces all instances of a subst
ring within a string\",\"help-contents\": \"Returns a string in which every occu
rrence of the substring is replaced with the replacement string. If the substrin
g is not found, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\
\\", \\\"ion\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"f
unc-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"
RIGHT\",\"func-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns t
he specified number of characters from the end of a string\",\"help-contents\":
\"Returns the specified number of characters from the end of the given string.
\\n\\nExample: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"s
tr\"],\"func-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\":
\"ROUND\",\"func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds
a number to the specified number of places\",\"help-contents\": \"Rounds a numb
er to the nearest integer or to a specified number of decimal places. \\n\\nExam
ple: ROUND(3.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\",\"real\"],\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM
(string)\",\"func-tooltip\": \"Returns a string with trailing spaces removed\",\
"help-contents\": \"Returns the string with any trailing spaces removed. \\n\\n
Example: RTRIM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"fun
c-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"fu
nc-sig\": \"RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running av
erage of an expression\",\"help-contents\": \"Returns the running average of the
given expression, from the first row in the partition to the current row.\\n\\n
Example: RUNNING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"RUNNING_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\
": \"Returns the running count of an expression\",\"help-contents\": \"Returns t
he running count of the given expression, from the first row in the partition to

the current row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of


SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-varargs\": false},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression
)\",\"func-tooltip\": \"Returns the running maximum of an expression\",\"help-co
ntents\": \"Returns the running maximum of the given expression, from the first
row in the partition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])
) = running maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running
maximum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"intege
r\"],\"has-var-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING
_MIN(expression)\",\"func-tooltip\": \"Returns the running minimum of an express
ion\",\"help-contents\": \"Returns the running minimum of the given expression,
from the first row in the partition to the current row.\\n\\nExample: RUNNING_MI
N(MIN([Profit])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Prof
it])) = running minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-ty
pes\":[\"integer\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-s
ig\": \"RUNNING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of
an expression\",\"help-contents\": \"Returns the running sum of the given expre
ssion, from the first row in the partition to the current row.\\n\\nExample: RUN
NING_SUM(SUM([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT(
[Profit])) = running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-type
s\":[\"integer\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig
\": \"SCRIPT_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boole
an result from an R expression\",\"help-contents\": \"Returns a Boolean result f
rom a given R expression. The R expression is passed directly to a running Rserv
e instance. Use .arg# in the R expression to reference parameters. In the follow
ing example, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.
finite(.arg1)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCR
IPT_INT(string, expression, ...)\",\"func-tooltip\": \"Returns an integer result
from an R expression\",\"help-contents\": \"Returns an integer result from a gi
ven R expression. The R expression is passed directly to a running Rserve instan
ce. Use .arg# in the R expression to reference parameters. In the following exam
ple, .arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.
arg1 * 5)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"
str\"],\"has-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT
_REAL(string, expression, ...)\",\"func-tooltip\": \"Returns a numeric result fr
om an R expression\",\"help-contents\": \"Returns a numeric result from a given
R expression. The R expression is passed directly to a running Rserve instance.
Use .arg# in the R expression to reference parameters. In the following example,
.arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\"
, SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"hasvar-args\": true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, e
xpression, ...)\",\"func-tooltip\": \"Returns a string result from an R expressi
on\",\"help-contents\": \"Returns a string result from a given R expression. The
R expression is passed directly to a running Rserve instance. Use .arg# in the
R expression to reference parameters. In the following example, .arg1 is equal t
o ATTR([Region]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([R
egion]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args
\": true},{\"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \
"Returns 1 for a positive number\",\"help-contents\": \"Returns the sign of a nu
mber: 1 if the number is positive, zero if the number is zero, or -1 if the numb
er is negative.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \
"SIN(angle)\",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents
\": \"Returns the sine of an angle. Specify the angle in radians.\\n\\nExample:
SIN(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"
real\"],\"has-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"
func-tooltip\": \"Returns the number of rows in the partition\",\"help-contents\
": \"Returns the number of rows in the partition.\\n\\nExample (partition has 5
rows):\\nSIZE( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var

-args\": false},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tool


tip\": \"Returns a string containing the specified number of spaces\",\"help-con
tents\": \"Returns a string composed of the specified number of repeated spaces.
\\n\\nExample: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types
\":[\"real\"],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLI
T(string, delimiter, token number)\",\"func-tooltip\": \"Extracts a substring fr
om a string\",\"help-contents\": \"Returns a substring from a string, as determi
ned by a delimiter extracting the characters from the beginning or end of the st
ring. \\n\\nExample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-cd', '-', -2) = 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locst
r\",\"locint\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQR
T(number)\",\"func-tooltip\": \"Returns the square root of a number\",\"help-con
tents\": \"Returns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"
name\": \"SQUARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns
the square of a number\",\"help-contents\": \"Returns the square of a given numb
er. \\n\\nExample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[
\"real\"],\"has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STA
RTSWITH(string, substring)\",\"func-tooltip\": \"Returns true if the specified s
tring starts with the specified substring\",\"help-contents\": \"Returns true if
the string starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation
\\\", \\\"Ca\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",
\"str\"],\"has-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(exp
ression)\",\"func-tooltip\": \"Returns the sample standard deviation for an expr
ession\",\"help-contents\": \"Returns the sample standard deviation of the expre
ssion.\\n\\nExample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDE
VP(expression)\",\"func-tooltip\": \"Returns the population standard deviation f
or an expression\",\"help-contents\": \"Returns the population standard deviatio
n of the expression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"
func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-s
ig\": \"STR(expression)\",\"func-tooltip\": \"Returns an expression as a string\
",\"help-contents\": \"Returns a string given an expression. \\n\\nExample: STR
([Age]) returns all of the values of the Age measure as strings.\",\"func-grps\"
:[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\":
\"SUM\",\"func-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum o
f values in an expression\",\"help-contents\": \"Returns the sum of all the valu
es in the expression. SUM can be used with numeric fields only. Null values are
ignored.\\n\\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(ang
le)\",\"func-tooltip\": \"Returns the tangent of an angle specified in radians\"
,\"help-contents\": \"Returns the tangent of an angle. Specify the angle in radi
ans.\\n\\nExample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\"],\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <ex
pr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-too
ltip\": \"Performs a logical test and returns an appropriate value\",\"help-cont
ents\": \"Tests a series of expressions returning the <then> value for the first
true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =
0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"
func-tooltip\": \"Returns the current date\",\"help-contents\": \"Returns the cu
rrent date. \\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"
TOTAL(expression)\",\"func-tooltip\": \"Returns the total for an expression with
in the partition\",\"help-contents\": \"Returns the total for the given expressi
on.\\n\\nExample: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that
contribute to the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"in
teger\"],\"has-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(strin
g)\",\"func-tooltip\": \"Returns a string with leading and trailing spaces remov
ed\",\"help-contents\": \"Returns the string with both leading and trailing spac

es removed. \\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grp


s\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \
"UPPER\",\"func-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in
all uppercase characters\",\"help-contents\": \"Converts a text string to all u
ppercase letters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"fu
nc-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"nam
e\": \"USERDOMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns t
he domain for the current user\",\"help-contents\": \"Returns the domain for the
current user when the user is signed on to Tableau Server. Returns the Windows
domain if the Tableau Desktop user is on a domain. Otherwise this function retur
ns a null string.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-arg
s\": false},{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\
": \"Returns the user name for the current user\",\"help-contents\": \"Returns t
he username for the current user. This is the Tableau Server or Tableau Online u
sername when the user is signed in; otherwise it is the local or network usernam
e for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[]
,\"has-var-args\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\
"func-tooltip\": \"Returns the sample variance for an expression\",\"help-conten
ts\": \"Returns the sample variance of the expression.\\n\\nExample: VAR([Profit
])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fal
se},{\"name\": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"R
eturns the population variance for an expression\",\"help-contents\": \"Returns
the population variance of the expression.\\n\\nExample: VARP([Profit])\",\"func
-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name
\": \"WHEN\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE
<else>] END\",\"func-tooltip\": \"Performs logical tests and returns the appropr
iate value\",\"help-contents\": \"Finds the first <value> that matches <expr> an
d returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u
2018I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logi
c\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"
func-sig\": \"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns
the average of the values within the window\",\"help-contents\": \"Returns the
average of the expression within the window. The window is defined as offsets f
rom the current row. Use FIRST()+n and LAST()-n for offsets from the first or la
st row in the partition. If start and end are omitted, the entire partition is
used.\\n\\nExample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) fr
om the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\"
: \"WINDOW_COUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"fu
nc-tooltip\": \"Returns the number of items within the window\",\"help-contents\
": \"Returns the count of the expression within the window. The window is defin
ed as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from
the first or last row in the partition. If start and end are omitted, the entir
e partition is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of
SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"ta
ble\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, e
nd])\",\"func-tooltip\": \"Returns the maximum within the window\",\"help-conten
ts\": \"Returns the maximum of the expression within the window. The window is
defined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets
from the first or last row in the partition. If start and end are omitted, the
entire partition is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maxim
um of Profit from the two previous rows to the current row\\n\\nExample: WINDOW_
MAX(SUM([Profit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to
the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"i
nteger\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"fu
nc-sig\": \"WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Return
s the median within the window\",\"help-contents\": \"Returns the median of the
expression within the window. The window is defined as offsets from the current
row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the p

artition. If start and end are omitted, the entire partition is used.\\n\\nExam
ple: WINDOW_MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two pr
evious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MI
N\",\"func-sig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"R
eturns the minimum within the window\",\"help-contents\": \"Returns the minimum
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i
n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two pr
evious rows to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) =
minimum of SUM(Profit) from the two previous rows to the current row\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"hasvar-args\": false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCE
NTILE(expression, number, [start, end])\",\"func-tooltip\": \"Returns the percen
tile value at the specified number\",\"help-contents\": \"Returns the value corr
esponding to the specified percentile within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire p
artition is used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0))
= 75th percentile of SUM(Profit) from the two previous rows to the current row\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\"
,\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\":
\"WINDOW_STDEV(expression, [start, end])\",\"func-tooltip\": \"Returns the samp
le standard deviation within the window\",\"help-contents\": \"Returns the sampl
e standard deviation of the expression within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from th
e first or last row in the partition. If start and end are omitted, the entire
partition is used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev.
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [
start, end])\",\"func-tooltip\": \"Returns the population standard deviation wit
hin the window\",\"help-contents\": \"Returns the population standard deviation
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i
n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from
the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-argtypes\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \
"WINDOW_SUM\",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tool
tip\": \"Returns the sum of values within the window\",\"help-contents\": \"Retu
rns the sum of the expression within the window. The window is defined as offse
ts from the current row. Use FIRST()+n and LAST()-n for offsets from the first o
r last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) fr
om the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"nam
e\": \"WINDOW_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"fun
c-tooltip\": \"Returns the sample variance within the window\",\"help-contents\"
: \"Returns the sample variance of the expression within the window. The window
is defined as offsets from the current row. Use FIRST()+n and LAST()-n for offs
ets from the first or last row in the partition. If start and end are omitted,
the entire partition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = v
ariance of SUM(Profit) from the two previous rows to the current row\",\"func-gr
ps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var
-args\": false},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expressio
n, [start, end])\",\"func-tooltip\": \"Returns the population variance within th
e window\",\"help-contents\": \"Returns the population variance of the expressio
n within the window. The window is defined as offsets from the current row. Use

FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WIND
OW_VARP(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two previous ro
ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\
": \"YEAR(date)\",\"func-tooltip\": \"Returns the year of the specified date as
an integer\",\"help-contents\": \"Returns the year of a given date as an integer
. \\n\\nExample: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-ar
g-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\"
: \"ZN(expression)\",\"func-tooltip\": \"Returns the expression if it is not nul
l\",\"help-contents\": \"Returns <expression> if it is not null, otherwise retur
ns zero. \\n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func
-arg-types\":[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \
"calculation-dialog\",\"use-parameters\": true} position=\"16\"","name":"tabdoc:
calculation-auto-complete"}}
{"ts":"2016-09-29T17:02:06.534","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED [Re
gion]:s\" calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj7
0l\",\"calculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculat
ion_5489888009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{
FIXED [Region]:\",\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencies\":
\"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-role\": \"dimensio
ns\",\"has-table-calc-data\": false,\"table-calc-types-used\": 0,\"style-token-l
ist\":[],\"error-string\": \"Error in calculation:\\n\\nSyntax error (maybe you
are missing an identifier).\\n\\nWould you like to correct the calculation?\",\"
error-info-list\":[{\"start-position-for-error\": 15,\"length-of-calc-of-error\"
: 1,\"error-message\": \"Syntax error (maybe you are missing an identifier).\"}]
,\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func-sig
\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a number\"
,\"help-contents\": \"Returns the absolute value of the given number. \\n\\nExam
ple: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-v
ar-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-tool
tip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns the a
rc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) = 3.14
159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-a
rgs\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN <th
en> END\",\"func-tooltip\": \"Performs a logical conjunction on two expressions\
",\"help-contents\": \"Performs a logical conjunction on two expressions\",\"fun
c-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \
"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASCII c
ode for the first character in a string\",\"help-contents\": \"Returns the ASCII
code value of the first character in a string. \\n\\nExample: ASCII(\\\"authors
\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args
\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\":
\"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc sine o
f a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267949\
",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false}
,{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Returns
the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent of a
number. The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408283942\"
,\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},
{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tooltip\
": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns the a
rc tangent of two given numbers (x and y). The result is in radians. \\n\\nExam
ple: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig\":
\"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expression if
it has one value for all rows\",\"help-contents\": \"Returns the value of the gi
ven expression if it only has a single value for all rows in the group, otherwis

e it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([Mark


et])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-args\"
: false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip\":
\"Returns the average of the values in the expression\",\"help-contents\": \"Ret
urns the average of all the values in the expression. AVG can be used with numer
ic fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"func-gr
ps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <el
se>] END\",\"func-tooltip\": \"Performs logical tests and returns the appropriat
e value\",\"help-contents\": \"Finds the first <value> that matches <expr> and r
eturns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u201
8I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"
],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"func-s
ig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest int
eger of equal or greater value\",\"help-contents\": \"Rounds a number to the nea
rest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\",\"f
unc-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n
ame\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts an
integer ASCII code into a character\",\"help-contents\": \"Converts the given in
teger ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"C
ONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"Retu
rns true if a string contains the specified substring\",\"help-contents\": \"Ret
urns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\"Calc
ulation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":
[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\": \"CO
S(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in radia
ns\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle in r
adians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],
\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"func
-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle spe
cified in radians\",\"help-contents\": \"Returns the cotangent of an angle. Spec
ify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"num\"
],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\",\"
func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of item
s in the expression\",\"help-contents\": \"Returns the number of items in a grou
p. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func-grps
\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\"
: \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Returns th
e number of distinct items in the expression\",\"help-contents\": \"Returns the
number of distinct items in a group. NULL values are not counted. Each unique v
alue is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"agg
\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"DATE\
",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from a n
umber\",\"help-contents\": \"Returns a date given a number, string, or date expr
ession. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote that
the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\"
:[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"DATEA
DD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified date i
ncremented by the specified amount\",\"help-contents\": \"Adds an increment to t
he specified date and returns the new date. The increment is defined by the inte
rval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 200407-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"in
teger\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"func-si
g\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-toolt
ip\": \"Returns the difference between two dates\",\"help-contents\": \"Returns
the difference between two dates where start_date is subtracted from end_date. T
he difference is expressed in units of date_part. If start_of_week is omitted, t
he week start day is determined by the start day configured for the data source.
\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\",\"

func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetime\",
\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \"DAT
ENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part of
the specified date as a string\",\"help-contents\": \"Returns a part of the give
n date as a string, where the part is defined by date_part. If start_of_week is
omitted, the week start day is determined by the start day configured for the da
ta source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"fun
c-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"ha
s-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(format,
string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents\": \
"Converts a string to a date in the specified format. \\n\\nExample: DATEPARSE (
\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"func-g
rps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": false
},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_of_we
ek])\",\"func-tooltip\": \"Returns the specified part of a date as an integer\",
\"help-contents\": \"Returns a part of the given date as an integer where the pa
rt is defined by date_part. If start_of_week is omitted, the week start day is d
etermined by the start day configured for the data source.\\n\\nExample: DATEPAR
T('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"lo
cstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETIME\"
,\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datetime f
rom a number\",\"help-contents\": \"Returns a datetime given a number, string, o
r date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\") \\
nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-a
rg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"func-si
g\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Truncat
es the specified date to the specified accuracy\",\"help-contents\": \"Truncates
the specified date to the accuracy specified by the date_part and returns the n
ew date. If start_of_week is omitted, the week start day is determined by the st
art day configured for the data source.\\n\\nExample: DATETRUNC('quarter', #2004
-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":
[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DAY\"
,\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the spe
cified date as an integer\",\"help-contents\": \"Returns the day of the given da
te as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"date
\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"DEGR
EES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value in
radians to degrees\",\"help-contents\": \"Converts a number in radians to degree
s.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"DIV(
integer, integer)\",\"func-tooltip\": \"Returns the integer part of a division o
peration\",\"help-contents\": \"Returns the integer part of a division.\\n\\nExa
mple: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer\",\
"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <exp
r> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tool
tip\": \"Performs a logical test and returns an appropriate value\",\"help-conte
nts\": \"Tests a series of expressions returning the <then> value for the first
true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =
0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr> TH
EN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\"
: \"Performs a logical test and returns an appropriate value\",\"help-contents\"
: \"Tests a series of expressions returning the <then> value for the first true
<expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THE
N 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <then
> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Perf
orms a logical test and returns an appropriate value\",\"help-contents\": \"Test
s a series of expressions returning the <then> value for the first true <expr>.
\\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Break

even' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-va


r-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, substr
ing)\",\"func-tooltip\": \"Returns true if the specified string ends with the sp
ecified substring\",\"help-contents\": \"Returns true if the string ends with th
e substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Calcul
ation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"
str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\": \"{
EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Comput
es an aggregate excluding the specified dimensions if present in the view.\",\"h
elp-contents\": \"Computes an aggregate excluding the specified dimensions if pr
esent in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-arg
s\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\": \
"Returns e raised to the power of a number\",\"help-contents\": \"Returns e rais
ed to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-grps\
":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\": \"Re
turns the position of a substring within a string\",\"help-contents\": \"Returns
the position of a substring within a string, or 0 if the substring isn't found.
If the start argument is defined, any instances of substring that appear before
the start position are ignored. The first character in the string is position 1
. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\
"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\",\"
func-tooltip\": \"Returns the position of the nth occurrence a substring within
a string\",\"help-contents\": \"Returns the position of the nth occurrence of a
substring within a string, or 0 if that occurrence of the substring isn't found.
The first character in the string is position 1. \\n\\nExample: FINDNTH(\\\"Cal
culation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"
str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func-sig
\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the first
row in the partition\",\"help-contents\": \"Returns the number of rows from the
current row to the first row in the partition.\\n\\nExample (current row index
is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"
has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[, dim2
]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate using
only the specified dimensions.\",\"help-contents\": \"Computes an aggregate usi
ng only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[
],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expression
)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-contents\":
\"Returns a float given an expression of any type. This function requires unform
atted numbers which means exclude commas and other symbols. \\n\\nExample: FLOA
T(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],
\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\",\"
func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser valu
e\",\"help-contents\": \"Rounds a number to the nearest integer of equal or less
er value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-sig\"
: \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current user\
",\"help-contents\": \"Returns the full name for the current user. This is the T
ableau Server or Tableau Online full name when the user is signed in; otherwise
it is the local or network full name for the Tableau Desktop user.\",\"func-grps
\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HEXBIN
X\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns the xcoordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) co
ordinate to the x-coordinate of the nearest hexagonal bin. The bins have side le
ngth 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[\"nu
m\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\":
\"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Return
s the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an
(x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins have

side length 1, so the inputs may need to be scaled appropriately.\",\"func-grps


\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"
name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2
> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and retur
ns an appropriate value\",\"help-contents\": \"Tests a series of expressions ret
urning the <then> value for the first true <expr>. \\n\\nExample: IF [Profit] >
0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"fun
c-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \
"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns exp
ression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not null, o
therwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\":[\
"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},
{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func-too
ltip\": \"Evaluates a Boolean expression and returns one of two values\",\"helpcontents\": \"Checks whether a condition is met, and returns one value if TRUE,
another value if FALSE, and an optional third value or NULL if unknown. \\n\\nEx
ample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"func-ar
g-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},{\"n
ame\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-expre
ssion }\",\"func-tooltip\": \"Computes an aggregate using the specified dimensio
ns and the view dimensions.\",\"help-contents\": \"Computes an aggregate using t
he specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\": \"I
NDEX()\",\"func-tooltip\": \"Returns the index of the current row in the partiti
on\",\"help-contents\": \"Returns the index of the current row in the partition.
\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-grps\"
:[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT\",\
"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression and
returns an integer\",\"help-contents\": \"Returns an integer given an expressio
n. This function truncates results to the closest integer toward zero. \\n\\nExa
mple: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-arg-t
ypes\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-sig\"
: \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a valid d
ate\",\"help-contents\": \"Returns true if a given string is a valid date. \\n\
\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date\",\
"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"ISF
ULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns true
if the current user's full name matches the specified name\",\"help-contents\":
\"Returns true if the current user's full name matches the specified full name,
or false if it does not match. This function uses the Tableau Server or Tableau
Online full name when the user is signed in; otherwise it uses the local or netw
ork full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-ar
g-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"func
-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the current u
ser is a member of the specified group\",\"help-contents\": \"Returns true if th
e current user is a member of the given group, false otherwise. This uses the T
ableau Server to resolve group membership if logged on, otherwise it always retu
rns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-varargs\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"func
-tooltip\": \"Returns true if the specified expression is null\",\"help-contents
\": \"Returns true if the expression does not contain valid data (Null).\\n\\nEx
ample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolea
n\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUSERNA
ME(string)\",\"func-tooltip\": \"Returns true if the current user's name matches
the specified user name\",\"help-contents\": \"Returns true if the current user
's username matches the specified username, or false if it does not match. This
function uses the Tableau Server or Tableau Online username when the user is sig
ned in; otherwise it uses the local or network username for the Tableau Desktop
user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\
": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"Retur

ns the number of rows to the last row in the partition\",\"help-contents\": \"Re


turns the number of rows from the current row to the last row in the partition.\
\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[\"ta
ble\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"func
-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specified nu
mber of characters from the start of a string\",\"help-contents\": \"Returns the
specified number of characters from the start of the given string. \\n\\nExamp
le: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"func
-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",\"fu
nc-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of characters i
n a string\",\"help-contents\": \"Returns the number of characters in the given
string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\"],\
"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"func-si
g\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a numbe
r\",\"help-contents\": \"Returns the natural logarithm of the given number. Retu
rns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5)) = 5\
",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false}
,{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\": \"Re
turns the logarithm of a number for the given base\",\"help-contents\": \"Return
s the logarithm of a number for the given base. If the base value is omitted, ba
se 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false
},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"func-to
oltip\": \"Returns the value of the expression in a row offset from current row\
",\"help-contents\": \"Returns the value of the given expression in a target row
, specified as a relative offset from the current row. Use FIRST()+n and LAST()n for a target relative to the first/last rows in the partition. If offset is om
itted, the Compare To row may be set on the field menu. Returns NULL if the targ
et row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) + 2)
= SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"L
OWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string in a
ll lowercase characters\",\"help-contents\": \"Converts a text string to all low
ercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"func
-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\
": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a strin
g with leading spaces removed\",\"help-contents\": \"Returns the string with any
leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\"\",
\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\
"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-toolti
p\": \"Returns a date value constructed from a year, a month and a day of the mo
nth.\",\"help-contents\": \"Returns a date value constructed from a year, a mont
h and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-grps\
":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-varargs\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date, ti
me)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time\",\"
help-contents\": \"Returns a date and time value given a date expression and a t
ime expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"funcgrps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\": f
alse},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)\",\
"func-tooltip\": \"Returns a time value constructed from hours, minutes and seco
nds.\",\"help-contents\": \"Returns a time value constructed from hours, minutes
and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast\"],
\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false
},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",\"fu
nc-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \"Retu
rns the maximum of a single expression across all records or the maximum of two
expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\"num
\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"
has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expression)\

",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents\": \


"Returns the median of a single expression. MEDIAN can be used with numeric fiel
ds only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-grps\"
:[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"M
ID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Returns th
e characters from the middle of a text string\",\"help-contents\": \"Returns the
characters from the middle of a text string given a starting position and a len
gth. The first character in the string is position 1. If the length is not inclu
ded, all characters to the end of the string are returned. If the length is incl
uded, up to that many characters are returned. \\n\\nExample: MID(\\\"Tableau So
ftware\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\",2,4
) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\",
\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(expres
sion) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an expre
ssion\",\"help-contents\": \"Returns the minimum of an expression across all rec
ords or the minimum of two expressions for each record. \\n\\nExample: MIN([Pro
fit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-ty
pes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"func-s
ig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the specifie
d date as an integer\",\"help-contents\": \"Returns the month of a given date as
an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date\"],
\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\",\"
func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs logic
al negation on an expression\",\"help-contents\": \"Performs logical negation on
an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Returns
the current date and time\",\"help-contents\": \"Returns the current date and t
ime. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"],\"
func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\": \"I
F <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical di
sjunction on two expressions\",\"help-contents\": \"Performs a logical disjuncti
on on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-va
r-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expression
, number)\",\"func-tooltip\": \"Returns the percentile value at the specified nu
mber\",\"help-contents\": \"Aggregate calculation that returns the percentile va
lue from the given expression corresponding to the specified number. Valid value
s for the number are 0 through 1. PERCENTILE([expression], 0.50) will always ret
urn the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.90)\
",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-var-ar
gs\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Return
s the numeric constant pi\",\"help-contents\": \"Returns the numeric constant pi
.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(numb
er,power)\",\"func-tooltip\": \"Raises the number to the specified power\",\"hel
p-contents\": \"Returns the result of a number raised to the given power. \\n\\n
Example: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"r
eal\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"func-si
g\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of thi
s calculation in the previous row\",\"help-contents\": \"Returns the value of th
is calculation in the previous row. Returns the given expression if the current
row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOUS_VA
LUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(1) =
running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \"RAD
IANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\",\"h
elp-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":[\"nu
m\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RANK\",
\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns t
he competition rank for the current partition row\",\"help-contents\": \"Returns
the standard competition rank for the current row in the partition. Identical v

alues are assigned an identical rank. Use the optional 'asc' | 'desc' argument t
o specify ascending or descending order. The default order is descending.\\n\\nW
ith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 4)
in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"table
\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name
\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",\"fu
nc-tooltip\": \"Returns the dense rank for the current partition row\",\"help-co
ntents\": \"Returns the dense rank for the current row in the partition. Identic
al values are assigned an identical rank, but no gaps are inserted into the numb
er sequence. Use the optional 'asc' | 'desc' argument to specify ascending or de
scending order. The default order is descending.\\n\\nWith this function, the se
t of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\n\\n
Example: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-types\"
:[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIED\",
\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\": \"
Returns the modified competition rank for the current partition row\",\"help-con
tents\": \"Returns the modified competition rank for the current row in the part
ition. Identical values are assigned an identical rank. Use the optional 'asc' |
'desc' argument to specify ascending or descending order. The default order is
descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be ra
nked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velocity]
))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has
-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERCENTI
LE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile rank
for the current partition row\",\"help-contents\": \"Returns the percentile ran
k for the current row in the partition. Use the optional 'asc' | 'desc' argument
to specify ascending or descending order. The default order is ascending.\\n\\n
With this function, the set of values (6, 9, 9, 14) would be ranked (25, 75, 75,
100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\",\"f
unc-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-arg
s\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expression, [
'asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the current par
tition row\",\"help-contents\": \"Returns the unique rank for the current row in
the partition. Identical values are assigned different ranks. Use the optional
'asc' | 'desc' argument to specify ascending or descending order. The default or
der is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) woul
d be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1 for
the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT\",\
"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns the
portion of a string matching the capturing group in a regular expression\",\"he
lp-contents\": \"Returns a substring of the given string that matches the captur
ing group within the regular expression pattern. The regular expression pattern
requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 123',
'[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"
str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"func
-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"Retur
ns a substring of a string using a regular expression pattern\",\"help-contents\
": \"Returns a substring of the given string using the regular expression patter
n. The substring is matched to the nth capturing group, where n is the given in
dex. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)', 2) =
'123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locint\"]
,\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP_MAT
CH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches a reg
ular expression\",\"help-contents\": \"Returns true if a substring of the provid
ed string matches the regular expression pattern. \\n\\nExample: REGEXP_MATCH('([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') = true
\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\"
: false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string, pa
ttern, replacement)\",\"func-tooltip\": \"Returns a string where substrings matc

hing a regular expression are replaced\",\"help-contents\": \"Returns a copy of


the given string where the matching pattern is substituted with the replacement
string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'\",\
"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-ar
gs\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substring, r
eplacement)\",\"func-tooltip\": \"Replaces all instances of a substring within a
string\",\"help-contents\": \"Returns a string in which every occurrence of the
substring is replaced with the replacement string. If the substring is not foun
d, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"ion\
\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-types
\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\"fun
c-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specified
number of characters from the end of a string\",\"help-contents\": \"Returns the
specified number of characters from the end of the given string. \\n\\nExample
: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"funcarg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\",\"f
unc-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number to
the specified number of places\",\"help-contents\": \"Rounds a number to the nea
rest integer or to a specified number of decimal places. \\n\\nExample: ROUND(3.
1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],
\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\",\"
func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-content
s\": \"Returns the string with any trailing spaces removed. \\n\\nExample: RTRI
M(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\": \"R
UNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of an e
xpression\",\"help-contents\": \"Returns the running average of the given expres
sion, from the first row in the partition to the current row.\\n\\nExample: RUNN
ING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"table
\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING_
COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Returns
the running count of an expression\",\"help-contents\": \"Returns the running co
unt of the given expression, from the first row in the partition to the current
row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profit)\"
,\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"func-to
oltip\": \"Returns the running maximum of an expression\",\"help-contents\": \"R
eturns the running maximum of the given expression, from the first row in the pa
rtition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = running m
aximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum of S
UM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-va
r-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expressi
on)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"helpcontents\": \"Returns the running minimum of the given expression, from the firs
t row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Profit
])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = runni
ng minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"inte
ger\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"RUNNI
NG_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expressio
n\",\"help-contents\": \"Returns the running sum of the given expression, from t
he first row in the partition to the current row.\\n\\nExample: RUNNING_SUM(SUM(
[Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])) =
running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"intege
r\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCRIPT_
BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result fro
m an R expression\",\"help-contents\": \"Returns a Boolean result from a given R
expression. The R expression is passed directly to a running Rserve instance. U
se .arg# in the R expression to reference parameters. In the following example,
.arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.arg1)
\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"

has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(strin


g, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an R ex
pression\",\"help-contents\": \"Returns an integer result from a given R express
ion. The R expression is passed directly to a running Rserve instance. Use .arg#
in the R expression to reference parameters. In the following example, .arg1 is
equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)\\\"
, SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"hasvar-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(string,
expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R expre
ssion\",\"help-contents\": \"Returns a numeric result from a given R expression.
The R expression is passed directly to a running Rserve instance. Use .arg# in
the R expression to reference parameters. In the following example, .arg1 is equ
al to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Profit
]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": t
rue},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression, ..
.)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"help-c
ontents\": \"Returns a string result from a given R expression. The R expression
is passed directly to a running Rserve instance. Use .arg# in the R expression
to reference parameters. In the following example, .arg1 is equal to ATTR([Regio
n]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\",\"
func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"
name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns 1 fo
r a positive number\",\"help-contents\": \"Returns the sign of a number: 1 if th
e number is positive, zero if the number is zero, or -1 if the number is negativ
e.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"
real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angle)\"
,\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Returns
the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/4) =
0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has
-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tooltip\
": \"Returns the number of rows in the partition\",\"help-contents\": \"Returns
the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\nSIZE
( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"Retu
rns a string containing the specified number of spaces\",\"help-contents\": \"Re
turns a string composed of the specified number of repeated spaces. \\n\\nExampl
e: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string, del
imiter, token number)\",\"func-tooltip\": \"Extracts a substring from a string\"
,\"help-contents\": \"Returns a substring from a string, as determined by a deli
miter extracting the characters from the beginning or end of the string. \\n\\nE
xample: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-', -2)
= 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"locint\
"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)\",\
"func-tooltip\": \"Returns the square root of a number\",\"help-contents\": \"Re
turns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps\":[
\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SQU
ARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the square of
a number\",\"help-contents\": \"Returns the square of a given number. \\n\\nExa
mple: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"h
as-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(strin
g, substring)\",\"func-tooltip\": \"Returns true if the specified string starts
with the specified substring\",\"help-contents\": \"Returns true if the string s
tarts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\"Ca\
\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"ha
s-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\",\"
func-tooltip\": \"Returns the sample standard deviation for an expression\",\"he
lp-contents\": \"Returns the sample standard deviation of the expression.\\n\\nE
xample: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expression

)\",\"func-tooltip\": \"Returns the population standard deviation for an express


ion\",\"help-contents\": \"Returns the population standard deviation of the expr
ession.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-type
s\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"STR(e
xpression)\",\"func-tooltip\": \"Returns an expression as a string\",\"help-cont
ents\": \"Returns a string given an expression. \\n\\nExample: STR([Age]) retur
ns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast\"],\
"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",\"fu
nc-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values in a
n expression\",\"help-contents\": \"Returns the sum of all the values in the exp
ression. SUM can be used with numeric fields only. Null values are ignored.\\n\\
nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"functooltip\": \"Returns the tangent of an angle specified in radians\",\"help-conte
nts\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\\nExa
mple: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],
\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN <the
n> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Per
forms a logical test and returns an appropriate value\",\"help-contents\": \"Tes
ts a series of expressions returning the <then> value for the first true <expr>.
\\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Brea
keven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tooltip\
": \"Returns the current date\",\"help-contents\": \"Returns the current date.
\\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(express
ion)\",\"func-tooltip\": \"Returns the total for an expression within the partit
ion\",\"help-contents\": \"Returns the total for the given expression.\\n\\nExam
ple: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribute to
the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"ha
s-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"func-t
ooltip\": \"Returns a string with leading and trailing spaces removed\",\"help-c
ontents\": \"Returns the string with both leading and trailing spaces removed. \
\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",\"fu
nc-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all uppercas
e characters\",\"help-contents\": \"Converts a text string to all uppercase lett
ers. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\":[\"
str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"USERDO
MAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain for
the current user\",\"help-contents\": \"Returns the domain for the current user
when the user is signed on to Tableau Server. Returns the Windows domain if the
Tableau Desktop user is on a domain. Otherwise this function returns a null str
ing.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{
\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Returns
the user name for the current user\",\"help-contents\": \"Returns the username f
or the current user. This is the Tableau Server or Tableau Online username when
the user is signed in; otherwise it is the local or network username for the Tab
leau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-ar
gs\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-tooltip
\": \"Returns the sample variance for an expression\",\"help-contents\": \"Retur
ns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"func-g
rps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns the po
pulation variance for an expression\",\"help-contents\": \"Returns the populatio
n variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[\"ag
g\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHEN\",
\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\"
,\"func-tooltip\": \"Performs logical tests and returns the appropriate value\",
\"help-contents\": \"Finds the first <value> that matches <expr> and returns the

corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 T


HEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-a
rg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\": \
"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the average
of the values within the window\",\"help-contents\": \"Returns the average of th
e expression within the window. The window is defined as offsets from the curre
nt row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the
partition. If start and end are omitted, the entire partition is used.\\n\\nEx
ample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the two pr
evious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_CO
UNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-tooltip\":
\"Returns the number of items within the window\",\"help-contents\": \"Returns
the count of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition i
s used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Profit)
from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func
-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name
\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"func
-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"Retur
ns the maximum of the expression within the window. The window is defined as of
fsets from the current row. Use FIRST()+n and LAST()-n for offsets from the firs
t or last row in the partition. If start and end are omitted, the entire partit
ion is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Profit
from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([Prof
it]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the current
row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"in
teger\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\": \"W
INDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the median
within the window\",\"help-contents\": \"Returns the median of the expression wi
thin the window. The window is defined as offsets from the current row. Use FIR
ST()+n and LAST()-n for offsets from the first or last row in the partition. If
start and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_M
EDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous rows t
o the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"int
eger\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"func-si
g\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns the mi
nimum within the window\",\"help-contents\": \"Returns the minimum of the expres
sion within the window. The window is defined as offsets from the current row.
Use FIRST()+n and LAST()-n for offsets from the first or last row in the partiti
on. If start and end are omitted, the entire partition is used.\\n\\nExample: W
INDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous rows t
o the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum of SU
M(Profit) from the two previous rows to the current row\",\"func-grps\":[\"table
\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": f
alse},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(express
ion, number, [start, end])\",\"func-tooltip\": \"Returns the percentile value at
the specified number\",\"help-contents\": \"Returns the value corresponding to
the specified percentile within the window. The window is defined as offsets fr
om the current row. Use FIRST()+n and LAST()-n for offsets from the first or las
t row in the partition. If start and end are omitted, the entire partition is u
sed.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th perce
ntile of SUM(Profit) from the two previous rows to the current row\",\"func-grps
\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integer\"]
,\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW_STD
EV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample standard d
eviation within the window\",\"help-contents\": \"Returns the sample standard de
viation of the expression within the window. The window is defined as offsets f
rom the current row. Use FIRST()+n and LAST()-n for offsets from the first or la

st row in the partition. If start and end are omitted, the entire partition is
used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit
) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fu
nc-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"na
me\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, end])\
",\"func-tooltip\": \"Returns the population standard deviation within the windo
w\",\"help-contents\": \"Returns the population standard deviation of the expres
sion within the window. The window is defined as offsets from the current row.
Use FIRST()+n and LAST()-n for offsets from the first or last row in the partiti
on. If start and end are omitted, the entire partition is used.\\n\\nExample: W
INDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two previ
ous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"re
al\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_SUM\"
,\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"Retu
rns the sum of values within the window\",\"help-contents\": \"Returns the sum o
f the expression within the window. The window is defined as offsets from the c
urrent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in
the partition. If start and end are omitted, the entire partition is used.\\n\
\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the two pr
evious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\
"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW
_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip\":
\"Returns the sample variance within the window\",\"help-contents\": \"Returns t
he sample variance of the expression within the window. The window is defined a
s offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire pa
rtition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance of SU
M(Profit) from the two previous rows to the current row\",\"func-grps\":[\"table
\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": fals
e},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start, en
d])\",\"func-tooltip\": \"Returns the population variance within the window\",\"
help-contents\": \"Returns the population variance of the expression within the
window. The window is defined as offsets from the current row. Use FIRST()+n an
d LAST()-n for offsets from the first or last row in the partition. If start an
d end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(SUM([
Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to the cur
rent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"
integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR(dat
e)\",\"func-tooltip\": \"Returns the year of the specified date as an integer\",
\"help-contents\": \"Returns the year of a given date as an integer. \\n\\nExam
ple: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"
datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(expres
sion)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"help-co
ntents\": \"Returns <expression> if it is not null, otherwise returns zero. \\n
\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-types\":
[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calculationdialog\",\"use-parameters\": true} position=\"17\"","name":"tabdoc:calculation-a
uto-complete"}}
{"ts":"2016-09-29T17:02:06.535","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED [R
egion]:s\" calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj
70l\",\"calculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calcula
tion_5489888009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"
{FIXED [Region]:\",\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencies\"
: \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-role\": \"dimensi
ons\",\"has-table-calc-data\": false,\"table-calc-types-used\": 0,\"style-tokenlist\":[],\"error-string\": \"Error in calculation:\\n\\nSyntax error (maybe you
are missing an identifier).\\n\\nWould you like to correct the calculation?\",\
"error-info-list\":[{\"start-position-for-error\": 15,\"length-of-calc-of-error\

": 1,\"error-message\": \"Syntax error (maybe you are missing an identifier).\"}


],\"expression-func-pm\":{\"expression-func-list\":[{\"name\": \"ABS\",\"func-si
g\": \"ABS(number)\",\"func-tooltip\": \"Returns the absolute value of a number\
",\"help-contents\": \"Returns the absolute value of the given number. \\n\\nExa
mple: ABS(-7) = 7\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"hasvar-args\": false},{\"name\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-too
ltip\": \"Returns the arc cosine of a number\",\"help-contents\": \"Returns the
arc cosine of a number. The result is in radians. \\n\\nExample: ACOS(-1) = 3.1
4159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-varargs\": false},{\"name\": \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN <t
hen> END\",\"func-tooltip\": \"Performs a logical conjunction on two expressions
\",\"help-contents\": \"Performs a logical conjunction on two expressions\",\"fu
nc-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"ASCII\",\"func-sig\": \"ASCII(string)\",\"func-tooltip\": \"Returns the ASCII
code for the first character in a string\",\"help-contents\": \"Returns the ASCI
I code value of the first character in a string. \\n\\nExample: ASCII(\\\"author
s\\\") = 97\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-arg
s\": false},{\"name\": \"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\":
\"Returns the arc sine of a number\",\"help-contents\": \"Returns the arc sine
of a number. The result is in radians. \\n\\nExample: ASIN(1) = 1.5707963267949
\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"ATAN\",\"func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Returns
the arc tangent of a number\",\"help-contents\": \"Returns the arc tangent of a
number. The result is in radians. \\n\\nExample: ATAN(180) = 1.5652408283942\
",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false}
,{\"name\": \"ATAN2\",\"func-sig\": \"ATAN2(y number, x number)\",\"func-tooltip
\": \"Returns the arc tangent of two numbers\",\"help-contents\": \"Returns the
arc tangent of two given numbers (x and y). The result is in radians. \\n\\nExa
mple: ATAN2(2, 1) = 1.10714871779409\",\"func-grps\":[\"num\"],\"func-arg-types\
":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"ATTR\",\"func-sig\":
\"ATTR(expression)\",\"func-tooltip\": \"Returns the value of the expression if
it has one value for all rows\",\"help-contents\": \"Returns the value of the g
iven expression if it only has a single value for all rows in the group, otherwi
se it displays an asterisk (*). Null values are ignored.\\n\\nExample: ATTR([Mar
ket])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-args\
": false},{\"name\": \"AVG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip\":
\"Returns the average of the values in the expression\",\"help-contents\": \"Re
turns the average of all the values in the expression. AVG can be used with nume
ric fields only. Null values are ignored.\\n\\nExample: AVG([Profit])\",\"func-g
rps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"CASE\",\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <e
lse>] END\",\"func-tooltip\": \"Performs logical tests and returns the appropria
te value\",\"help-contents\": \"Finds the first <value> that matches <expr> and
returns the corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u20
18I\u2019 THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\
"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"CEILING\",\"funcsig\": \"CEILING(number)\",\"func-tooltip\": \"Rounds a number to the nearest in
teger of equal or greater value\",\"help-contents\": \"Rounds a number to the ne
arest integer of equal or greater value. \\n\\nExample: CEILING(3.1415) = 4\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"
name\": \"CHAR\",\"func-sig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts an
integer ASCII code into a character\",\"help-contents\": \"Converts the given i
nteger ASCII code into a character. \\n\\nExample: CHAR(65) = 'A'\",\"func-grps\
":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
CONTAINS\",\"func-sig\": \"CONTAINS(string, substring)\",\"func-tooltip\": \"Ret
urns true if a string contains the specified substring\",\"help-contents\": \"Re
turns true if the string contains the substring. \\n\\nExample: CONTAINS(\\\"Cal
culation\\\", \\\"alcu\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\"
:[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"COS\",\"func-sig\": \"C
OS(angle)\",\"func-tooltip\": \"Returns the cosine of an angle specified in radi

ans\",\"help-contents\": \"Returns the cosine of an angle. Specify the angle in


radians.\\n\\nExample: COS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"]
,\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COT\",\"fun
c-sig\": \"COT(angle)\",\"func-tooltip\": \"Returns the cotangent of an angle sp
ecified in radians\",\"help-contents\": \"Returns the cotangent of an angle. Spe
cify the angle in radians.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"num\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"COUNT\",\
"func-sig\": \"COUNT(expression)\",\"func-tooltip\": \"Returns the number of ite
ms in the expression\",\"help-contents\": \"Returns the number of items in a gro
up. NULL values are not counted.\\n\\nExample: COUNT([Customer ID])\",\"func-grp
s\":[\"agg\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\
": \"COUNTD\",\"func-sig\": \"COUNTD(expression)\",\"func-tooltip\": \"Returns t
he number of distinct items in the expression\",\"help-contents\": \"Returns the
number of distinct items in a group. NULL values are not counted. Each unique
value is counted only once.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"ag
g\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"DATE
\",\"func-sig\": \"DATE(expression)\",\"func-tooltip\": \"Returns a date from a
number\",\"help-contents\": \"Returns a date given a number, string, or date exp
ression. \\n\\nExample: DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote tha
t the quotation marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\
":[\"str\"],\"has-var-args\": false},{\"name\": \"DATEADD\",\"func-sig\": \"DATE
ADD(date_part, interval, date)\",\"func-tooltip\": \"Returns the specified date
incremented by the specified amount\",\"help-contents\": \"Adds an increment to
the specified date and returns the new date. The increment is defined by the int
erval and the date_part. \\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2004
-07-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"i
nteger\",\"datetime\"],\"has-var-args\": false},{\"name\": \"DATEDIFF\",\"func-s
ig\": \"DATEDIFF(date_part, start_date, end_date, [start_of_week])\",\"func-tool
tip\": \"Returns the difference between two dates\",\"help-contents\": \"Returns
the difference between two dates where start_date is subtracted from end_date.
The difference is expressed in units of date_part. If start_of_week is omitted,
the week start day is determined by the start day configured for the data source
.\\n\\nExample: DATEDIFF('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\",\
"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"datetime\"
,\"locstr\"],\"has-var-args\": false},{\"name\": \"DATENAME\",\"func-sig\": \"DA
TENAME(date_part, date, [start_of_week])\",\"func-tooltip\": \"Returns a part of
the specified date as a string\",\"help-contents\": \"Returns a part of the giv
en date as a string, where the part is defined by date_part. If start_of_week is
omitted, the week start day is determined by the start day configured for the d
ata source.\\n\\nExample: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"fu
nc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"h
as-var-args\": false},{\"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(format,
string)\",\"func-tooltip\": \"Converts a string to a date\",\"help-contents\":
\"Converts a string to a date in the specified format. \\n\\nExample: DATEPARSE
(\\\"dd.MMMM.yyyy\\\", \\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"funcgrps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": fals
e},{\"name\": \"DATEPART\",\"func-sig\": \"DATEPART(date_part, date, [start_of_w
eek])\",\"func-tooltip\": \"Returns the specified part of a date as an integer\"
,\"help-contents\": \"Returns a part of the given date as an integer where the p
art is defined by date_part. If start_of_week is omitted, the week start day is
determined by the start day configured for the data source.\\n\\nExample: DATEPA
RT('month', #2004-04-15#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"l
ocstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DATETIME\
",\"func-sig\": \"DATETIME(expression)\",\"func-tooltip\": \"Returns a datetime
from a number\",\"help-contents\": \"Returns a datetime given a number, string,
or date expression. \\n\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\") \
\nNote that the quotation marks are required.\",\"func-grps\":[\"cast\"],\"funcarg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"DATETRUNC\",\"func-s
ig\": \"DATETRUNC(date_part, date, [start_of_week])\",\"func-tooltip\": \"Trunca
tes the specified date to the specified accuracy\",\"help-contents\": \"Truncate

s the specified date to the accuracy specified by the date_part and returns the
new date. If start_of_week is omitted, the week start day is determined by the s
tart day configured for the data source.\\n\\nExample: DATETRUNC('quarter', #200
4-08-15#) = 2004-07-01 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\"
:[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"name\": \"DAY\
",\"func-sig\": \"DAY(date)\",\"func-tooltip\": \"Returns the day part of the sp
ecified date as an integer\",\"help-contents\": \"Returns the day of the given d
ate as an integer. \\n\\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"dat
e\"],\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"DEG
REES\",\"func-sig\": \"DEGREES(number)\",\"func-tooltip\": \"Converts a value in
radians to degrees\",\"help-contents\": \"Converts a number in radians to degre
es.\\n\\nExample: DEGREES(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg-ty
pes\":[\"real\"],\"has-var-args\": false},{\"name\": \"DIV\",\"func-sig\": \"DIV
(integer, integer)\",\"func-tooltip\": \"Returns the integer part of a division
operation\",\"help-contents\": \"Returns the integer part of a division.\\n\\nEx
ample: DIV(11, 2) = 5\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <ex
pr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-too
ltip\": \"Performs a logical test and returns an appropriate value\",\"help-cont
ents\": \"Tests a series of expressions returning the <then> value for the first
true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] =
0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr> T
HEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\
": \"Performs a logical test and returns an appropriate value\",\"help-contents\
": \"Tests a series of expressions returning the <then> value for the first true
<expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 TH
EN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[]
,\"has-var-args\": false},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <the
n> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Per
forms a logical test and returns an appropriate value\",\"help-contents\": \"Tes
ts a series of expressions returning the <then> value for the first true <expr>.
\\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Brea
keven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, subst
ring)\",\"func-tooltip\": \"Returns true if the specified string ends with the s
pecified substring\",\"help-contents\": \"Returns true if the string ends with t
he substring (trailing whitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Calcu
lation\\\", \\\"ion\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\
"str\",\"str\"],\"has-var-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\": \"
{ EXCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip\": \"Compu
tes an aggregate excluding the specified dimensions if present in the view.\",\"
help-contents\": \"Computes an aggregate excluding the specified dimensions if p
resent in the view.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-ar
gs\": false},{\"name\": \"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\":
\"Returns e raised to the power of a number\",\"help-contents\": \"Returns e rai
sed to the power of the given number. \\n\\nExample: EXP(5) = e^5\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"FIND\",\"func-sig\": \"FIND(string, substring, [start])\",\"func-tooltip\": \"R
eturns the position of a substring within a string\",\"help-contents\": \"Return
s the position of a substring within a string, or 0 if the substring isn't found
. If the start argument is defined, any instances of substring that appear befor
e the start position are ignored. The first character in the string is position
1. \\n\\nExample: FIND(\\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\":[\
"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{
\"name\": \"FINDNTH\",\"func-sig\": \"FINDNTH(string, substring, occurrence)\",\
"func-tooltip\": \"Returns the position of the nth occurrence a substring within
a string\",\"help-contents\": \"Returns the position of the nth occurrence of a
substring within a string, or 0 if that occurrence of the substring isn't found
. The first character in the string is position 1. \\n\\nExample: FINDNTH(\\\"Ca

lculation\\\", \\\"a\\\", 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\


"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FIRST\",\"func-si
g\": \"FIRST()\",\"func-tooltip\": \"Returns the number of rows from to the firs
t row in the partition\",\"help-contents\": \"Returns the number of rows from th
e current row to the first row in the partition.\\n\\nExample (current row index
is 3 of 7):\\nFIRST( ) = -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\
"has-var-args\": false},{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[, dim
2]...] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate usin
g only the specified dimensions.\",\"help-contents\": \"Computes an aggregate us
ing only the specified dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":
[],\"has-var-args\": false},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expressio
n)\",\"func-tooltip\": \"Returns a float from an expression\",\"help-contents\":
\"Returns a float given an expression of any type. This function requires unfor
matted numbers which means exclude commas and other symbols. \\n\\nExample: FLO
AT(\\\"3\\\")= 3.000\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"]
,\"has-var-args\": false},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\",\
"func-tooltip\": \"Rounds a number to the nearest integer of equal or lesser val
ue\",\"help-contents\": \"Rounds a number to the nearest integer of equal or les
ser value. \\n\\nExample: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"FULLNAME\",\"func-sig\
": \"FULLNAME()\",\"func-tooltip\": \"Returns the full name for the current user
\",\"help-contents\": \"Returns the full name for the current user. This is the
Tableau Server or Tableau Online full name when the user is signed in; otherwise
it is the local or network full name for the Tableau Desktop user.\",\"func-grp
s\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"HEXBI
NX\",\"func-sig\": \"HEXBINX(number, number)\",\"func-tooltip\": \"Returns the x
-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) c
oordinate to the x-coordinate of the nearest hexagonal bin. The bins have side l
ength 1, so the inputs may need to be scaled appropriately.\",\"func-grps\":[\"n
um\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\":
\"HEXBINY\",\"func-sig\": \"HEXBINY(number, number)\",\"func-tooltip\": \"Retur
ns the y-coordinate of the nearest hexagonal bin.\",\"help-contents\": \"Maps an
(x,y) coordinate to the y-coordinate of the nearest hexagonal bin. The bins hav
e side length 1, so the inputs may need to be scaled appropriately.\",\"func-grp
s\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\
"name\": \"IF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then
2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and retu
rns an appropriate value\",\"help-contents\": \"Tests a series of expressions re
turning the <then> value for the first true <expr>. \\n\\nExample: IF [Profit] >
0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"fu
nc-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"IFNULL\",\"func-sig\": \"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns ex
pression1 if not null\",\"help-contents\": \"Returns <expr1> if it is not null,
otherwise returns <expr2>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\":[
\"logic\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false}
,{\"name\": \"IIF\",\"func-sig\": \"IIF(test, then, else, [unknown])\",\"func-to
oltip\": \"Evaluates a Boolean expression and returns one of two values\",\"help
-contents\": \"Checks whether a condition is met, and returns one value if TRUE,
another value if FALSE, and an optional third value or NULL if unknown. \\n\\nE
xample: IIF([Profit] > 0, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"func-a
rg-types\":[\"boolean\",\"real\",\"real\",\"real\"],\"has-var-args\": false},{\"
name\": \"INCLUDE\",\"func-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-expr
ession }\",\"func-tooltip\": \"Computes an aggregate using the specified dimensi
ons and the view dimensions.\",\"help-contents\": \"Computes an aggregate using
the specified dimensions and the view dimensions.\",\"func-grps\":[\"agg\"],\"fu
nc-arg-types\":[],\"has-var-args\": false},{\"name\": \"INDEX\",\"func-sig\": \"
INDEX()\",\"func-tooltip\": \"Returns the index of the current row in the partit
ion\",\"help-contents\": \"Returns the index of the current row in the partition
.\\n\\nExample (for the first row in the partition): INDEX( ) = 1\",\"func-grps\
":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"INT\",

\"func-sig\": \"INT(expression)\",\"func-tooltip\": \"Evaluates an expression an


d returns an integer\",\"help-contents\": \"Returns an integer given an expressi
on. This function truncates results to the closest integer toward zero. \\n\\nEx
ample: INT(8.0/3.0) = 2 or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-argtypes\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"ISDATE\",\"func-sig\
": \"ISDATE(string)\",\"func-tooltip\": \"Returns true if the string is a valid
date\",\"help-contents\": \"Returns true if a given string is a valid date. \\n
\\nExample: ISDATE(\\\"2004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date\",
\"logic\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"IS
FULLNAME\",\"func-sig\": \"ISFULLNAME(string)\",\"func-tooltip\": \"Returns true
if the current user's full name matches the specified name\",\"help-contents\":
\"Returns true if the current user's full name matches the specified full name,
or false if it does not match. This function uses the Tableau Server or Tableau
Online full name when the user is signed in; otherwise it uses the local or net
work full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-a
rg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"fun
c-sig\": \"ISMEMBEROF(string)\",\"func-tooltip\": \"Returns true if the current
user is a member of the specified group\",\"help-contents\": \"Returns true if t
he current user is a member of the given group, false otherwise. This uses the
Tableau Server to resolve group membership if logged on, otherwise it always ret
urns false.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var
-args\": false},{\"name\": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"fun
c-tooltip\": \"Returns true if the specified expression is null\",\"help-content
s\": \"Returns true if the expression does not contain valid data (Null).\\n\\nE
xample: ISNULL([Profit])\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boole
an\"],\"has-var-args\": false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUSERN
AME(string)\",\"func-tooltip\": \"Returns true if the current user's name matche
s the specified user name\",\"help-contents\": \"Returns true if the current use
r's username matches the specified username, or false if it does not match. This
function uses the Tableau Server or Tableau Online username when the user is si
gned in; otherwise it uses the local or network username for the Tableau Desktop
user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args
\": false},{\"name\": \"LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"Retu
rns the number of rows to the last row in the partition\",\"help-contents\": \"R
eturns the number of rows from the current row to the last row in the partition.
\\n\\nExample (current row is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"fun
c-sig\": \"LEFT(string, num_chars)\",\"func-tooltip\": \"Returns the specified n
umber of characters from the start of a string\",\"help-contents\": \"Returns th
e specified number of characters from the start of the given string. \\n\\nExam
ple: LEFT(\\\"Calculation\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"fun
c-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"LEN\",\"f
unc-sig\": \"LEN(string)\",\"func-tooltip\": \"Returns the number of characters
in a string\",\"help-contents\": \"Returns the number of characters in the given
string. \\n\\nExample: LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\"],
\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LN\",\"func-s
ig\": \"LN(number)\",\"func-tooltip\": \"Returns the natural logarithm of a numb
er\",\"help-contents\": \"Returns the natural logarithm of the given number. Ret
urns Null if the number is less than or equal to 0.\\n\\nExample: LN(EXP(5)) = 5
\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"LOG\",\"func-sig\": \"LOG(number, [base])\",\"func-tooltip\": \"R
eturns the logarithm of a number for the given base\",\"help-contents\": \"Retur
ns the logarithm of a number for the given base. If the base value is omitted, b
ase 10 is used.\\n\\nExample: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"fun
c-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": fals
e},{\"name\": \"LOOKUP\",\"func-sig\": \"LOOKUP(expression, [offset])\",\"func-t
ooltip\": \"Returns the value of the expression in a row offset from current row
\",\"help-contents\": \"Returns the value of the given expression in a target ro
w, specified as a relative offset from the current row. Use FIRST()+n and LAST()
-n for a target relative to the first/last rows in the partition. If offset is o

mitted, the Compare To row may be set on the field menu. Returns NULL if the tar
get row cannot be determined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) + 2)
= SUM(Profit) in the third row of the partition\",\"func-grps\":[\"table\"],\"f
unc-arg-types\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"
LOWER\",\"func-sig\": \"LOWER(string)\",\"func-tooltip\": \"Returns a string in
all lowercase characters\",\"help-contents\": \"Converts a text string to all lo
wercase letters. \\n\\nExample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"fun
c-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name
\": \"LTRIM\",\"func-sig\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a stri
ng with leading spaces removed\",\"help-contents\": \"Returns the string with an
y leading spaces removed. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\"\"
,\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{
\"name\": \"MAKEDATE\",\"func-sig\": \"MAKEDATE(year, month, day)\",\"func-toolt
ip\": \"Returns a date value constructed from a year, a month and a day of the m
onth.\",\"help-contents\": \"Returns a date value constructed from a year, a mon
th and a day of the month. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-grps
\":[\"cast\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var
-args\": false},{\"name\": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date, t
ime)\",\"func-tooltip\": \"Returns a datetime by combining a date and a time\",\
"help-contents\": \"Returns a date and time value given a date expression and a
time expression. \\n\\nExample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"func
-grps\":[\"cast\"],\"func-arg-types\":[\"date\",\"datetime\"],\"has-var-args\":
false},{\"name\": \"MAKETIME\",\"func-sig\": \"MAKETIME(hour, minute, second)\",
\"func-tooltip\": \"Returns a time value constructed from hours, minutes and sec
onds.\",\"help-contents\": \"Returns a time value constructed from hours, minute
s and seconds. \\n\\nExample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast\"]
,\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": fals
e},{\"name\": \"MAX\",\"func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",\"f
unc-tooltip\": \"Returns the maximum of an expression\",\"help-contents\": \"Ret
urns the maximum of a single expression across all records or the maximum of two
expressions for each record. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\"nu
m\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\
"has-var-args\": false},{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expression)
\",\"func-tooltip\": \"Returns the median of an expression\",\"help-contents\":
\"Returns the median of a single expression. MEDIAN can be used with numeric fie
lds only. Null values are ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-grps\
":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"
MID\",\"func-sig\": \"MID(string,start,[length])\",\"func-tooltip\": \"Returns t
he characters from the middle of a text string\",\"help-contents\": \"Returns th
e characters from the middle of a text string given a starting position and a le
ngth. The first character in the string is position 1. If the length is not incl
uded, all characters to the end of the string are returned. If the length is inc
luded, up to that many characters are returned. \\n\\nExample: MID(\\\"Tableau S
oftware\\\",9) = \\\"Software\\\" \\n\\nExample: MID(\\\"Tableau Software\\\",2,
4) = \\\"able\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\"
,\"real\"],\"has-var-args\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(expre
ssion) or MIN(expr1, expr2)\",\"func-tooltip\": \"Returns the minimum of an expr
ession\",\"help-contents\": \"Returns the minimum of an expression across all re
cords or the minimum of two expressions for each record. \\n\\nExample: MIN([Pr
ofit])\",\"func-grps\":[\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-t
ypes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"MONTH\",\"funcsig\": \"MONTH(date)\",\"func-tooltip\": \"Returns the month part of the specifi
ed date as an integer\",\"help-contents\": \"Returns the month of a given date a
s an integer. \\n\\nExample: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date\"]
,\"func-arg-types\":[\"datetime\"],\"has-var-args\": false},{\"name\": \"NOT\",\
"func-sig\": \"IF NOT <expr> THEN <then> END\",\"func-tooltip\": \"Performs logi
cal negation on an expression\",\"help-contents\": \"Performs logical negation o
n an expression\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args
\": false},{\"name\": \"NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Return
s the current date and time\",\"help-contents\": \"Returns the current date and

time. \\n\\nExample: NOW() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"],\


"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"OR\",\"func-sig\": \"
IF <expr1> OR <expr2> THEN <then> END\",\"func-tooltip\": \"Performs a logical d
isjunction on two expressions\",\"help-contents\": \"Performs a logical disjunct
ion on two expressions\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expressio
n, number)\",\"func-tooltip\": \"Returns the percentile value at the specified n
umber\",\"help-contents\": \"Aggregate calculation that returns the percentile v
alue from the given expression corresponding to the specified number. Valid valu
es for the number are 0 through 1. PERCENTILE([expression], 0.50) will always re
turn the median value in the expression.\\n\\nExample: PERCENTILE([Sales], 0.90)
\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-var-a
rgs\": false},{\"name\": \"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Retur
ns the numeric constant pi\",\"help-contents\": \"Returns the numeric constant p
i.\\n\\nExample: PI() = 3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-ty
pes\":[],\"has-var-args\": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(num
ber,power)\",\"func-tooltip\": \"Raises the number to the specified power\",\"he
lp-contents\": \"Returns the result of a number raised to the given power. \\n\\
nExample: POWER(5,2) = 5^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"
real\",\"real\"],\"has-var-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"func-s
ig\": \"PREVIOUS_VALUE(expression)\",\"func-tooltip\": \"Returns the value of th
is calculation in the previous row\",\"help-contents\": \"Returns the value of t
his calculation in the previous row. Returns the given expression if the current
row is the first row of the partition.\\n\\nExample: SUM([Profit]) + PREVIOUS_V
ALUE(0) = running sum of Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(1)
= running product of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"integer\"],\"has-var-args\": false},{\"name\": \"RADIANS\",\"func-sig\": \"RA
DIANS(number)\",\"func-tooltip\": \"Converts a number in degrees to radians\",\"
help-contents\": \"Converts a number in degrees to radians.\",\"func-grps\":[\"n
um\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RANK\"
,\"func-sig\": \"RANK(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns
the competition rank for the current partition row\",\"help-contents\": \"Return
s the standard competition rank for the current row in the partition. Identical
values are assigned an identical rank. Use the optional 'asc' | 'desc' argument
to specify ascending or descending order. The default order is descending.\\n\\n
With this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 4)
in ascending order.\\n\\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"nam
e\": \"RANK_DENSE\",\"func-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",\"f
unc-tooltip\": \"Returns the dense rank for the current partition row\",\"help-c
ontents\": \"Returns the dense rank for the current row in the partition. Identi
cal values are assigned an identical rank, but no gaps are inserted into the num
ber sequence. Use the optional 'asc' | 'desc' argument to specify ascending or d
escending order. The default order is descending.\\n\\nWith this function, the s
et of values (6, 9, 9, 14) would be ranked (1, 2, 2, 3) in ascending order.\\n\\
nExample: RANK_DENSE(SUM([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-types\
":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIED\"
,\"func-sig\": \"RANK_MODIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\": \
"Returns the modified competition rank for the current partition row\",\"help-co
ntents\": \"Returns the modified competition rank for the current row in the par
tition. Identical values are assigned an identical rank. Use the optional 'asc'
| 'desc' argument to specify ascending or descending order. The default order is
descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) would be r
anked (1, 3, 3, 4) in ascending order.\\n\\nExample: RANK_MODIFIED(AVG([Velocity
]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"ha
s-var-args\": false},{\"name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERCENT
ILE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the percentile ran
k for the current partition row\",\"help-contents\": \"Returns the percentile ra
nk for the current row in the partition. Use the optional 'asc' | 'desc' argumen
t to specify ascending or descending order. The default order is ascending.\\n\\

nWith this function, the set of values (6, 9, 9, 14) would be ranked (25, 75, 75
, 100) in ascending order.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\",\"
func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-ar
gs\": false},{\"name\": \"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expression,
['asc'|'desc'])\",\"func-tooltip\": \"Returns the unique rank for the current pa
rtition row\",\"help-contents\": \"Returns the unique rank for the current row i
n the partition. Identical values are assigned different ranks. Use the optional
'asc' | 'desc' argument to specify ascending or descending order. The default o
rder is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14) wou
ld be ranked (1, 2, 3, 4) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1 fo
r the first row in the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT\",
\"func-sig\": \"REGEXP_EXTRACT(string, pattern)\",\"func-tooltip\": \"Returns th
e portion of a string matching the capturing group in a regular expression\",\"h
elp-contents\": \"Returns a substring of the given string that matches the captu
ring group within the regular expression pattern. The regular expression patter
n requires exactly one capturing group. \\n\\nExample: REGEXP_EXTRACT('abc 123',
'[a-z]+\\\\s+(\\\\d+)') = '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\
"str\",\"str\"],\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"fun
c-sig\": \"REGEXP_EXTRACT_NTH(string, pattern, index)\",\"func-tooltip\": \"Retu
rns a substring of a string using a regular expression pattern\",\"help-contents
\": \"Returns a substring of the given string using the regular expression patte
rn. The substring is matched to the nth capturing group, where n is the given i
ndex. \\n\\nExample: REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)', 2)
= '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locint\"
],\"has-var-args\": false},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP_MA
TCH(string, pattern)\",\"func-tooltip\": \"Returns true if a string matches a re
gular expression\",\"help-contents\": \"Returns true if a substring of the provi
ded string matches the regular expression pattern. \\n\\nExample: REGEXP_MATCH('
-([1234].[ The.Market ])-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') = tru
e\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\
": false},{\"name\": \"REGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string, p
attern, replacement)\",\"func-tooltip\": \"Returns a string where substrings mat
ching a regular expression are replaced\",\"help-contents\": \"Returns a copy of
the given string where the matching pattern is substituted with the replacement
string. \\n\\nExample: REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'\",
\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-a
rgs\": false},{\"name\": \"REPLACE\",\"func-sig\": \"REPLACE(string, substring,
replacement)\",\"func-tooltip\": \"Replaces all instances of a substring within
a string\",\"help-contents\": \"Returns a string in which every occurrence of th
e substring is replaced with the replacement string. If the substring is not fou
nd, the string is unchanged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"ion
\\\", \\\"ed\\\") = \\\"Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\"fu
nc-sig\": \"RIGHT(string, num_chars)\",\"func-tooltip\": \"Returns the specified
number of characters from the end of a string\",\"help-contents\": \"Returns th
e specified number of characters from the end of the given string. \\n\\nExampl
e: RIGHT(\\\"Calculation\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"func
-arg-types\":[\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"ROUND\",\"
func-sig\": \"ROUND(number, [decimals])\",\"func-tooltip\": \"Rounds a number to
the specified number of places\",\"help-contents\": \"Rounds a number to the ne
arest integer or to a specified number of decimal places. \\n\\nExample: ROUND(3
.1415, 1) = 3.1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"]
,\"has-var-args\": false},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\",\
"func-tooltip\": \"Returns a string with trailing spaces removed\",\"help-conten
ts\": \"Returns the string with any trailing spaces removed. \\n\\nExample: RTR
IM(\\\"Market \\\") = \\\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\"],\"has-var-args\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\": \"
RUNNING_AVG(expression)\",\"func-tooltip\": \"Returns the running average of an
expression\",\"help-contents\": \"Returns the running average of the given expre

ssion, from the first row in the partition to the current row.\\n\\nExample: RUN
NING_AVG(SUM([Profit])) = running average of SUM(Profit)\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING
_COUNT\",\"func-sig\": \"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Returns
the running count of an expression\",\"help-contents\": \"Returns the running c
ount of the given expression, from the first row in the partition to the current
row.\\n\\nExample: RUNNING_COUNT(SUM([Profit])) = running count of SUM(Profit)\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"RUNNING_MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"func-t
ooltip\": \"Returns the running maximum of an expression\",\"help-contents\": \"
Returns the running maximum of the given expression, from the first row in the p
artition to the current row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = running
maximum of Profit\\n\\nExample: RUNNING_MAX(SUM([Profit])) = running maximum of
SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-v
ar-args\": false},{\"name\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(express
ion)\",\"func-tooltip\": \"Returns the running minimum of an expression\",\"help
-contents\": \"Returns the running minimum of the given expression, from the fir
st row in the partition to the current row.\\n\\nExample: RUNNING_MIN(MIN([Profi
t])) = running minimum of Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = runn
ing minimum of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"int
eger\"],\"has-var-args\": false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"RUNN
ING_SUM(expression)\",\"func-tooltip\": \"Returns the running sum of an expressi
on\",\"help-contents\": \"Returns the running sum of the given expression, from
the first row in the partition to the current row.\\n\\nExample: RUNNING_SUM(SUM
([Profit])) = running sum of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])) =
running count of Profit\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integ
er\"],\"has-var-args\": false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCRIPT
_BOOL(string, expression, ...)\",\"func-tooltip\": \"Returns a Boolean result fr
om an R expression\",\"help-contents\": \"Returns a Boolean result from a given
R expression. The R expression is passed directly to a running Rserve instance.
Use .arg# in the R expression to reference parameters. In the following example,
.arg1 is equal to SUM([Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.arg1
)\\\", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\
"has-var-args\": true},{\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(stri
ng, expression, ...)\",\"func-tooltip\": \"Returns an integer result from an R e
xpression\",\"help-contents\": \"Returns an integer result from a given R expres
sion. The R expression is passed directly to a running Rserve instance. Use .arg
# in the R expression to reference parameters. In the following example, .arg1 i
s equal to SUM([Profit]). \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)\\\
", SUM([Profit]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has
-var-args\": true},{\"name\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(string
, expression, ...)\",\"func-tooltip\": \"Returns a numeric result from an R expr
ession\",\"help-contents\": \"Returns a numeric result from a given R expression
. The R expression is passed directly to a running Rserve instance. Use .arg# in
the R expression to reference parameters. In the following example, .arg1 is eq
ual to SUM([Profit]). \\n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Profi
t]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\":
true},{\"name\": \"SCRIPT_STR\",\"func-sig\": \"SCRIPT_STR(string, expression, .
..)\",\"func-tooltip\": \"Returns a string result from an R expression\",\"helpcontents\": \"Returns a string result from a given R expression. The R expressio
n is passed directly to a running Rserve instance. Use .arg# in the R expression
to reference parameters. In the following example, .arg1 is equal to ATTR([Regi
on]). \\n\\nExample: SCRIPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\",\
"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\
"name\": \"SIGN\",\"func-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns 1 f
or a positive number\",\"help-contents\": \"Returns the sign of a number: 1 if t
he number is positive, zero if the number is zero, or -1 if the number is negati
ve.\\n\\nExample: SIGN([Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\":[\
"real\"],\"has-var-args\": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angle)\
",\"func-tooltip\": \"Returns the sine of a number\",\"help-contents\": \"Return

s the sine of an angle. Specify the angle in radians.\\n\\nExample: SIN(PI()/4)


= 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"ha
s-var-args\": false},{\"name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tooltip
\": \"Returns the number of rows in the partition\",\"help-contents\": \"Returns
the number of rows in the partition.\\n\\nExample (partition has 5 rows):\\nSIZ
E( ) = 5\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"SPACE\",\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"Ret
urns a string containing the specified number of spaces\",\"help-contents\": \"R
eturns a string composed of the specified number of repeated spaces. \\n\\nExamp
le: SPACE(2) = \\\" \\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"
],\"has-var-args\": false},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string, de
limiter, token number)\",\"func-tooltip\": \"Extracts a substring from a string\
",\"help-contents\": \"Returns a substring from a string, as determined by a del
imiter extracting the characters from the beginning or end of the string. \\n\\n
Example: SPLIT('a-b-c-d', '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-', -2)
= 'c'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"locint
\"],\"has-var-args\": false},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)\",
\"func-tooltip\": \"Returns the square root of a number\",\"help-contents\": \"R
eturns the square root of a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps\":
[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"SQ
UARE\",\"func-sig\": \"SQUARE(number)\",\"func-tooltip\": \"Returns the square o
f a number\",\"help-contents\": \"Returns the square of a given number. \\n\\nEx
ample: SQUARE(5) = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"
has-var-args\": false},{\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(stri
ng, substring)\",\"func-tooltip\": \"Returns true if the specified string starts
with the specified substring\",\"help-contents\": \"Returns true if the string
starts with the substring. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\"Ca
\\\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"h
as-var-args\": false},{\"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\",\
"func-tooltip\": \"Returns the sample standard deviation for an expression\",\"h
elp-contents\": \"Returns the sample standard deviation of the expression.\\n\\n
Example: STDEV([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expressio
n)\",\"func-tooltip\": \"Returns the population standard deviation for an expres
sion\",\"help-contents\": \"Returns the population standard deviation of the exp
ression.\\n\\nExample: STDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-typ
es\":[\"real\"],\"has-var-args\": false},{\"name\": \"STR\",\"func-sig\": \"STR(
expression)\",\"func-tooltip\": \"Returns an expression as a string\",\"help-con
tents\": \"Returns a string given an expression. \\n\\nExample: STR([Age]) retu
rns all of the values of the Age measure as strings.\",\"func-grps\":[\"cast\"],
\"func-arg-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"SUM\",\"f
unc-sig\": \"SUM(expression)\",\"func-tooltip\": \"Returns the sum of values in
an expression\",\"help-contents\": \"Returns the sum of all the values in the ex
pression. SUM can be used with numeric fields only. Null values are ignored.\\n\
\nExample: SUM([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"func
-tooltip\": \"Returns the tangent of an angle specified in radians\",\"help-cont
ents\": \"Returns the tangent of an angle. Specify the angle in radians.\\n\\nEx
ample: TAN(PI()/4) = 1.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"]
,\"has-var-args\": false},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN <th
en> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Pe
rforms a logical test and returns an appropriate value\",\"help-contents\": \"Te
sts a series of expressions returning the <then> value for the first true <expr>
. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Bre
akeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"hasvar-args\": false},{\"name\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tooltip
\": \"Returns the current date\",\"help-contents\": \"Returns the current date.
\\n\\nExample: TODAY() = 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(expres
sion)\",\"func-tooltip\": \"Returns the total for an expression within the parti

tion\",\"help-contents\": \"Returns the total for the given expression.\\n\\nExa


mple: TOTAL(AVG([Profit])) = AVG(Profit) for all database rows that contribute t
o the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"h
as-var-args\": false},{\"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"functooltip\": \"Returns a string with leading and trailing spaces removed\",\"helpcontents\": \"Returns the string with both leading and trailing spaces removed.
\\n\\nExample: TRIM(\\\" Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"str\"
],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"UPPER\",\"f
unc-sig\": \"UPPER(string)\",\"func-tooltip\": \"Returns a string in all upperca
se characters\",\"help-contents\": \"Converts a text string to all uppercase let
ters. \\n\\nExample: UPPER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\":[\
"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"USERD
OMAIN\",\"func-sig\": \"USERDOMAIN()\",\"func-tooltip\": \"Returns the domain fo
r the current user\",\"help-contents\": \"Returns the domain for the current use
r when the user is signed on to Tableau Server. Returns the Windows domain if th
e Tableau Desktop user is on a domain. Otherwise this function returns a null st
ring.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},
{\"name\": \"USERNAME\",\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Returns
the user name for the current user\",\"help-contents\": \"Returns the username
for the current user. This is the Tableau Server or Tableau Online username when
the user is signed in; otherwise it is the local or network username for the Ta
bleau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-a
rgs\": false},{\"name\": \"VAR\",\"func-sig\": \"VAR(expression)\",\"func-toolti
p\": \"Returns the sample variance for an expression\",\"help-contents\": \"Retu
rns the sample variance of the expression.\\n\\nExample: VAR([Profit])\",\"funcgrps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"VARP\",\"func-sig\": \"VARP(expression)\",\"func-tooltip\": \"Returns the p
opulation variance for an expression\",\"help-contents\": \"Returns the populati
on variance of the expression.\\n\\nExample: VARP([Profit])\",\"func-grps\":[\"a
gg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"WHEN\"
,\"func-sig\": \"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\
",\"func-tooltip\": \"Performs logical tests and returns the appropriate value\"
,\"help-contents\": \"Finds the first <value> that matches <expr> and returns th
e corresponding <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019
THEN 1 WHEN \u2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"funcarg-types\":[],\"has-var-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\":
\"WINDOW_AVG(expression, [start, end])\",\"func-tooltip\": \"Returns the average
of the values within the window\",\"help-contents\": \"Returns the average of t
he expression within the window. The window is defined as offsets from the curr
ent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in th
e partition. If start and end are omitted, the entire partition is used.\\n\\nE
xample: WINDOW_AVG(SUM([Profit]), -2, 0) = average of SUM(Profit) from the two p
revious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_C
OUNT\",\"func-sig\": \"WINDOW_COUNT(expression, [start, end])\",\"func-tooltip\"
: \"Returns the number of items within the window\",\"help-contents\": \"Returns
the count of the expression within the window. The window is defined as offset
s from the current row. Use FIRST()+n and LAST()-n for offsets from the first or
last row in the partition. If start and end are omitted, the entire partition
is used.\\n\\nExample: WINDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Profit)
from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"fun
c-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"nam
e\": \"WINDOW_MAX\",\"func-sig\": \"WINDOW_MAX(expression, [start, end])\",\"fun
c-tooltip\": \"Returns the maximum within the window\",\"help-contents\": \"Retu
rns the maximum of the expression within the window. The window is defined as o
ffsets from the current row. Use FIRST()+n and LAST()-n for offsets from the fir
st or last row in the partition. If start and end are omitted, the entire parti
tion is used.\\n\\nExample: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Profit
from the two previous rows to the current row\\n\\nExample: WINDOW_MAX(SUM([Pro
fit]), -2, 0) = maximum of SUM(Profit) from the two previous rows to the current

row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\"i
nteger\"],\"has-var-args\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\": \"
WINDOW_MEDIAN(expression, [start, end])\",\"func-tooltip\": \"Returns the median
within the window\",\"help-contents\": \"Returns the median of the expression w
ithin the window. The window is defined as offsets from the current row. Use FI
RST()+n and LAST()-n for offsets from the first or last row in the partition. I
f start and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_
MEDIAN(SUM([Profit]), -2, 0) = median of SUM(Profit) from the two previous rows
to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"in
teger\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MIN\",\"func-s
ig\": \"WINDOW_MIN(expression, [start, end])\",\"func-tooltip\": \"Returns the m
inimum within the window\",\"help-contents\": \"Returns the minimum of the expre
ssion within the window. The window is defined as offsets from the current row.
Use FIRST()+n and LAST()-n for offsets from the first or last row in the partit
ion. If start and end are omitted, the entire partition is used.\\n\\nExample:
WINDOW_MIN(MIN([Profit]), -2, 0) = minimum of Profit from the two previous rows
to the current row\\n\\nExample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum of S
UM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"tabl
e\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\":
false},{\"name\": \"WINDOW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(expres
sion, number, [start, end])\",\"func-tooltip\": \"Returns the percentile value a
t the specified number\",\"help-contents\": \"Returns the value corresponding to
the specified percentile within the window. The window is defined as offsets f
rom the current row. Use FIRST()+n and LAST()-n for offsets from the first or la
st row in the partition. If start and end are omitted, the entire partition is
used.\\n\\nExample: WINDOW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th perc
entile of SUM(Profit) from the two previous rows to the current row\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"real\",\"locreal\",\"integer\",\"integer\"
],\"has-var-args\": false},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW_ST
DEV(expression, [start, end])\",\"func-tooltip\": \"Returns the sample standard
deviation within the window\",\"help-contents\": \"Returns the sample standard d
eviation of the expression within the window. The window is defined as offsets
from the current row. Use FIRST()+n and LAST()-n for offsets from the first or l
ast row in the partition. If start and end are omitted, the entire partition is
used.\\n\\nExample: WINDOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Profi
t) from the two previous rows to the current row\",\"func-grps\":[\"table\"],\"f
unc-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"n
ame\": \"WINDOW_STDEVP\",\"func-sig\": \"WINDOW_STDEVP(expression, [start, end])
\",\"func-tooltip\": \"Returns the population standard deviation within the wind
ow\",\"help-contents\": \"Returns the population standard deviation of the expre
ssion within the window. The window is defined as offsets from the current row.
Use FIRST()+n and LAST()-n for offsets from the first or last row in the partit
ion. If start and end are omitted, the entire partition is used.\\n\\nExample:
WINDOW_STDEVP(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two prev
ious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"r
eal\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_SUM\
",\"func-sig\": \"WINDOW_SUM(expression, [start, end])\",\"func-tooltip\": \"Ret
urns the sum of values within the window\",\"help-contents\": \"Returns the sum
of the expression within the window. The window is defined as offsets from the
current row. Use FIRST()+n and LAST()-n for offsets from the first or last row i
n the partition. If start and end are omitted, the entire partition is used.\\n
\\nExample: WINDOW_SUM(SUM([Profit]), -2, 0) = sum of SUM(Profit) from the two p
revious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDO
W_VAR\",\"func-sig\": \"WINDOW_VAR(expression, [start, end])\",\"func-tooltip\":
\"Returns the sample variance within the window\",\"help-contents\": \"Returns
the sample variance of the expression within the window. The window is defined
as offsets from the current row. Use FIRST()+n and LAST()-n for offsets from the
first or last row in the partition. If start and end are omitted, the entire p
artition is used.\\n\\nExample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance of S

UM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"tabl


e\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-args\": fal
se},{\"name\": \"WINDOW_VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start, e
nd])\",\"func-tooltip\": \"Returns the population variance within the window\",\
"help-contents\": \"Returns the population variance of the expression within the
window. The window is defined as offsets from the current row. Use FIRST()+n a
nd LAST()-n for offsets from the first or last row in the partition. If start a
nd end are omitted, the entire partition is used.\\n\\nExample: WINDOW_VARP(SUM(
[Profit]), -2, 0) = variance of SUM(Profit) from the two previous rows to the cu
rrent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\
"integer\"],\"has-var-args\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR(da
te)\",\"func-tooltip\": \"Returns the year of the specified date as an integer\"
,\"help-contents\": \"Returns the year of a given date as an integer. \\n\\nExa
mple: YEAR(#2004-04-12#) = 2004\",\"func-grps\":[\"date\"],\"func-arg-types\":[\
"datetime\"],\"has-var-args\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(expre
ssion)\",\"func-tooltip\": \"Returns the expression if it is not null\",\"help-c
ontents\": \"Returns <expression> if it is not null, otherwise returns zero. \\
n\\nExample: ZN([Profit])\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-types\"
:[\"integer\"],\"has-var-args\": false}]},\"calculation-context\": \"calculation
-dialog\",\"use-parameters\": true} position=\"17\"","name":"tabdoc:calculationauto-complete"}}
{"ts":"2016-09-29T17:02:11.794","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED [Re
gion]:su\" calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj
70l\",\"calculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calcula
tion_5489888009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"
{FIXED [Region]:s\",\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencies\
": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-role\": \"dimens
ions\",\"has-table-calc-data\": false,\"table-calc-types-used\": 0,\"style-token
-list\":[],\"error-string\": \"Error in calculation:\\n\\nExpected '}' following
the expression.\\n\\nWould you like to correct the calculation?\",\"error-infolist\":[{\"start-position-for-error\": 16,\"length-of-calc-of-error\": 1,\"error
-message\": \"Expected '}' following the expression.\"}],\"expression-func-pm\":
{\"expression-func-list\":[{\"name\": \"ABS\",\"func-sig\": \"ABS(number)\",\"fu
nc-tooltip\": \"Returns the absolute value of a number\",\"help-contents\": \"Re
turns the absolute value of the given number. \\n\\nExample: ABS(-7) = 7\",\"fun
c-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"nam
e\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-tooltip\": \"Returns the arc
cosine of a number\",\"help-contents\": \"Returns the arc cosine of a number.
The result is in radians. \\n\\nExample: ACOS(-1) = 3.14159265358979\",\"func-gr
ps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\":
\"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN <then> END\",\"func-tooltip
\": \"Performs a logical conjunction on two expressions\",\"help-contents\": \"P
erforms a logical conjunction on two expressions\",\"func-grps\":[\"logic\"],\"f
unc-arg-types\":[],\"has-var-args\": false},{\"name\": \"ASCII\",\"func-sig\": \
"ASCII(string)\",\"func-tooltip\": \"Returns the ASCII code for the first charac
ter in a string\",\"help-contents\": \"Returns the ASCII code value of the first
character in a string. \\n\\nExample: ASCII(\\\"authors\\\") = 97\",\"func-grps
\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"
ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\": \"Returns the arc sine o
f a number\",\"help-contents\": \"Returns the arc sine of a number. The result
is in radians. \\n\\nExample: ASIN(1) = 1.5707963267949\",\"func-grps\":[\"num\"
],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ATAN\",\"f
unc-sig\": \"ATAN(number)\",\"func-tooltip\": \"Returns the arc tangent of a num
ber\",\"help-contents\": \"Returns the arc tangent of a number. The result is i
n radians. \\n\\nExample: ATAN(180) = 1.5652408283942\",\"func-grps\":[\"num\"]
,\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ATAN2\",\"f
unc-sig\": \"ATAN2(y number, x number)\",\"func-tooltip\": \"Returns the arc tan
gent of two numbers\",\"help-contents\": \"Returns the arc tangent of two given

numbers (x and y). The result is in radians. \\n\\nExample: ATAN2(2, 1) = 1.107


14871779409\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"h
as-var-args\": false},{\"name\": \"ATTR\",\"func-sig\": \"ATTR(expression)\",\"f
unc-tooltip\": \"Returns the value of the expression if it has one value for all
rows\",\"help-contents\": \"Returns the value of the given expression if it onl
y has a single value for all rows in the group, otherwise it displays an asteris
k (*). Null values are ignored.\\n\\nExample: ATTR([Market])\",\"func-grps\":[\"
agg\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"AV
G\",\"func-sig\": \"AVG(expression)\",\"func-tooltip\": \"Returns the average of
the values in the expression\",\"help-contents\": \"Returns the average of all
the values in the expression. AVG can be used with numeric fields only. Null val
ues are ignored.\\n\\nExample: AVG([Profit])\",\"func-grps\":[\"agg\"],\"func-ar
g-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CASE\",\"func-sig\":
\"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"func-toolti
p\": \"Performs logical tests and returns the appropriate value\",\"help-content
s\": \"Finds the first <value> that matches <expr> and returns the corresponding
<return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2
018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],
\"has-var-args\": false},{\"name\": \"CEILING\",\"func-sig\": \"CEILING(number)\
",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or greater
value\",\"help-contents\": \"Rounds a number to the nearest integer of equal or
greater value. \\n\\nExample: CEILING(3.1415) = 4\",\"func-grps\":[\"num\"],\"f
unc-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CHAR\",\"func-s
ig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts an integer ASCII code into
a character\",\"help-contents\": \"Converts the given integer ASCII code into a
character. \\n\\nExample: CHAR(65) = 'A'\",\"func-grps\":[\"str\"],\"func-arg-ty
pes\":[\"real\"],\"has-var-args\": false},{\"name\": \"CONTAINS\",\"func-sig\":
\"CONTAINS(string, substring)\",\"func-tooltip\": \"Returns true if a string con
tains the specified substring\",\"help-contents\": \"Returns true if the string
contains the substring. \\n\\nExample: CONTAINS(\\\"Calculation\\\", \\\"alcu\\\
") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"hasvar-args\": false},{\"name\": \"COS\",\"func-sig\": \"COS(angle)\",\"func-toolti
p\": \"Returns the cosine of an angle specified in radians\",\"help-contents\":
\"Returns the cosine of an angle. Specify the angle in radians.\\n\\nExample: CO
S(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"COT\",\"func-sig\": \"COT(angle)\",\
"func-tooltip\": \"Returns the cotangent of an angle specified in radians\",\"he
lp-contents\": \"Returns the cotangent of an angle. Specify the angle in radians
.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"
real\"],\"has-var-args\": false},{\"name\": \"COUNT\",\"func-sig\": \"COUNT(expr
ession)\",\"func-tooltip\": \"Returns the number of items in the expression\",\"
help-contents\": \"Returns the number of items in a group. NULL values are not c
ounted.\\n\\nExample: COUNT([Customer ID])\",\"func-grps\":[\"agg\"],\"func-argtypes\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"COUNTD\",\"func-sig\
": \"COUNTD(expression)\",\"func-tooltip\": \"Returns the number of distinct ite
ms in the expression\",\"help-contents\": \"Returns the number of distinct items
in a group. NULL values are not counted. Each unique value is counted only onc
e.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[
\"boolean\"],\"has-var-args\": false},{\"name\": \"DATE\",\"func-sig\": \"DATE(e
xpression)\",\"func-tooltip\": \"Returns a date from a number\",\"help-contents\
": \"Returns a date given a number, string, or date expression. \\n\\nExample:
DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote that the quotation marks are
required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-arg
s\": false},{\"name\": \"DATEADD\",\"func-sig\": \"DATEADD(date_part, interval,
date)\",\"func-tooltip\": \"Returns the specified date incremented by the specif
ied amount\",\"help-contents\": \"Adds an increment to the specified date and re
turns the new date. The increment is defined by the interval and the date_part.
\\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM\",\"fu
nc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"integer\",\"datetime\"],\"
has-var-args\": false},{\"name\": \"DATEDIFF\",\"func-sig\": \"DATEDIFF(date_par

t, start_date, end_date, [start_of_week])\",\"func-tooltip\": \"Returns the diff


erence between two dates\",\"help-contents\": \"Returns the difference between t
wo dates where start_date is subtracted from end_date. The difference is express
ed in units of date_part. If start_of_week is omitted, the week start day is det
ermined by the start day configured for the data source.\\n\\nExample: DATEDIFF(
'month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\",\"func-grps\":[\"date\"],\
"func-arg-types\":[\"locstr\",\"datetime\",\"datetime\",\"locstr\"],\"has-var-ar
gs\": false},{\"name\": \"DATENAME\",\"func-sig\": \"DATENAME(date_part, date, [
start_of_week])\",\"func-tooltip\": \"Returns a part of the specified date as a
string\",\"help-contents\": \"Returns a part of the given date as a string, wher
e the part is defined by date_part. If start_of_week is omitted, the week start
day is determined by the start day configured for the data source.\\n\\nExample:
DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"func-grps\":[\"date\"],\"fu
nc-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"
name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(format, string)\",\"func-tooltip
\": \"Converts a string to a date\",\"help-contents\": \"Converts a string to a
date in the specified format. \\n\\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\
\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"funcarg-types\":[\"locstr\",\"str\"],\"has-var-args\": false},{\"name\": \"DATEPART\
",\"func-sig\": \"DATEPART(date_part, date, [start_of_week])\",\"func-tooltip\":
\"Returns the specified part of a date as an integer\",\"help-contents\": \"Ret
urns a part of the given date as an integer where the part is defined by date_pa
rt. If start_of_week is omitted, the week start day is determined by the start d
ay configured for the data source.\\n\\nExample: DATEPART('month', #2004-04-15#)
= 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"lo
cstr\"],\"has-var-args\": false},{\"name\": \"DATETIME\",\"func-sig\": \"DATETIM
E(expression)\",\"func-tooltip\": \"Returns a datetime from a number\",\"help-co
ntents\": \"Returns a datetime given a number, string, or date expression. \\n\
\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\") \\nNote that the quotation
marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\"],\"h
as-var-args\": false},{\"name\": \"DATETRUNC\",\"func-sig\": \"DATETRUNC(date_pa
rt, date, [start_of_week])\",\"func-tooltip\": \"Truncates the specified date to
the specified accuracy\",\"help-contents\": \"Truncates the specified date to t
he accuracy specified by the date_part and returns the new date. If start_of_wee
k is omitted, the week start day is determined by the start day configured for t
he data source.\\n\\nExample: DATETRUNC('quarter', #2004-08-15#) = 2004-07-01 12
:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\"
,\"locstr\"],\"has-var-args\": false},{\"name\": \"DAY\",\"func-sig\": \"DAY(dat
e)\",\"func-tooltip\": \"Returns the day part of the specified date as an intege
r\",\"help-contents\": \"Returns the day of the given date as an integer. \\n\\
nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"date\"],\"func-arg-types\":[
\"datetime\"],\"has-var-args\": false},{\"name\": \"DEGREES\",\"func-sig\": \"DE
GREES(number)\",\"func-tooltip\": \"Converts a value in radians to degrees\",\"h
elp-contents\": \"Converts a number in radians to degrees.\\n\\nExample: DEGREES
(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"DIV\",\"func-sig\": \"DIV(integer, integer)\",\"fu
nc-tooltip\": \"Returns the integer part of a division operation\",\"help-conten
ts\": \"Returns the integer part of a division.\\n\\nExample: DIV(11, 2) = 5\",\
"func-grps\":[\"num\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <
expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logi
cal test and returns an appropriate value\",\"help-contents\": \"Tests a series
of expressions returning the <then> value for the first true <expr>. \\n\\nExamp
le: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE
'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": f
alse},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2
> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical t
est and returns an appropriate value\",\"help-contents\": \"Tests a series of ex
pressions returning the <then> value for the first true <expr>. \\n\\nExample: I
F [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss

' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false}


,{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <
then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and
returns an appropriate value\",\"help-contents\": \"Tests a series of expression
s returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profi
t] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, substring)\",\"func-tooltip\":
\"Returns true if the specified string ends with the specified substring\",\"he
lp-contents\": \"Returns true if the string ends with the substring (trailing wh
itespace is ignored). \\n\\nExample: ENDSWITH(\\\"Calculation\\\", \\\"ion\\\")
is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var
-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\": \"{ EXCLUDE [dim1[, dim2]..
.] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate excludin
g the specified dimensions if present in the view.\",\"help-contents\": \"Comput
es an aggregate excluding the specified dimensions if present in the view.\",\"f
unc-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \
"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\": \"Returns e raised to the
power of a number\",\"help-contents\": \"Returns e raised to the power of the g
iven number. \\n\\nExample: EXP(5) = e^5\",\"func-grps\":[\"num\"],\"func-arg-t
ypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"FIND\",\"func-sig\": \"F
IND(string, substring, [start])\",\"func-tooltip\": \"Returns the position of a
substring within a string\",\"help-contents\": \"Returns the position of a subst
ring within a string, or 0 if the substring isn't found. If the start argument i
s defined, any instances of substring that appear before the start position are
ignored. The first character in the string is position 1. \\n\\nExample: FIND(\\
\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FINDNTH\",\"f
unc-sig\": \"FINDNTH(string, substring, occurrence)\",\"func-tooltip\": \"Return
s the position of the nth occurrence a substring within a string\",\"help-conten
ts\": \"Returns the position of the nth occurrence of a substring within a strin
g, or 0 if that occurrence of the substring isn't found. The first character in
the string is position 1. \\n\\nExample: FINDNTH(\\\"Calculation\\\", \\\"a\\\",
2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"],
\"has-var-args\": false},{\"name\": \"FIRST\",\"func-sig\": \"FIRST()\",\"func-t
ooltip\": \"Returns the number of rows from to the first row in the partition\",
\"help-contents\": \"Returns the number of rows from the current row to the firs
t row in the partition.\\n\\nExample (current row index is 3 of 7):\\nFIRST( ) =
-2\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{
\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[, dim2]...] : aggregate-expres
sion }\",\"func-tooltip\": \"Computes an aggregate using only the specified dime
nsions.\",\"help-contents\": \"Computes an aggregate using only the specified di
mensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": fals
e},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expression)\",\"func-tooltip\": \"
Returns a float from an expression\",\"help-contents\": \"Returns a float given
an expression of any type. This function requires unformatted numbers which mean
s exclude commas and other symbols. \\n\\nExample: FLOAT(\\\"3\\\")= 3.000\",\"
func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false}
,{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\",\"func-tooltip\": \"Rounds
a number to the nearest integer of equal or lesser value\",\"help-contents\": \
"Rounds a number to the nearest integer of equal or lesser value. \\n\\nExample:
FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has
-var-args\": false},{\"name\": \"FULLNAME\",\"func-sig\": \"FULLNAME()\",\"functooltip\": \"Returns the full name for the current user\",\"help-contents\": \"R
eturns the full name for the current user. This is the Tableau Server or Tableau
Online full name when the user is signed in; otherwise it is the local or netwo
rk full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"HEXBINX\",\"func-sig\": \"HEXB
INX(number, number)\",\"func-tooltip\": \"Returns the x-coordinate of the neares
t hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate to the x-coordi

nate of the nearest hexagonal bin. The bins have side length 1, so the inputs ma
y need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"func-arg-types\":
[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"HEXBINY\",\"func-sig\"
: \"HEXBINY(number, number)\",\"func-tooltip\": \"Returns the y-coordinate of th
e nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate to the
y-coordinate of the nearest hexagonal bin. The bins have side length 1, so the i
nputs may need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"func-argtypes\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"IF\",\"func-si
g\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] END
\",\"func-tooltip\": \"Performs a logical test and returns an appropriate value\
",\"help-contents\": \"Tests a series of expressions returning the <then> value
for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELSE
IF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"f
unc-arg-types\":[],\"has-var-args\": false},{\"name\": \"IFNULL\",\"func-sig\":
\"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns expression1 if not null\",\
"help-contents\": \"Returns <expr1> if it is not null, otherwise returns <expr2>
. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\":[\"logic\"],\"func-arg-typ
es\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"IIF\",\"fun
c-sig\": \"IIF(test, then, else, [unknown])\",\"func-tooltip\": \"Evaluates a Bo
olean expression and returns one of two values\",\"help-contents\": \"Checks whe
ther a condition is met, and returns one value if TRUE, another value if FALSE,
and an optional third value or NULL if unknown. \\n\\nExample: IIF([Profit] > 0,
'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\",\
"real\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"INCLUDE\",\"fun
c-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-tooltip
\": \"Computes an aggregate using the specified dimensions and the view dimensio
ns.\",\"help-contents\": \"Computes an aggregate using the specified dimensions
and the view dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-v
ar-args\": false},{\"name\": \"INDEX\",\"func-sig\": \"INDEX()\",\"func-tooltip\
": \"Returns the index of the current row in the partition\",\"help-contents\":
\"Returns the index of the current row in the partition.\\n\\nExample (for the f
irst row in the partition): INDEX( ) = 1\",\"func-grps\":[\"table\"],\"func-argtypes\":[],\"has-var-args\": false},{\"name\": \"INT\",\"func-sig\": \"INT(expre
ssion)\",\"func-tooltip\": \"Evaluates an expression and returns an integer\",\"
help-contents\": \"Returns an integer given an expression. This function truncat
es results to the closest integer toward zero. \\n\\nExample: INT(8.0/3.0) = 2 o
r INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"h
as-var-args\": false},{\"name\": \"ISDATE\",\"func-sig\": \"ISDATE(string)\",\"f
unc-tooltip\": \"Returns true if the string is a valid date\",\"help-contents\":
\"Returns true if a given string is a valid date. \\n\\nExample: ISDATE(\\\"20
04-04-15\\\") = True\",\"func-grps\":[\"str\",\"date\",\"logic\"],\"func-arg-typ
es\":[\"str\"],\"has-var-args\": false},{\"name\": \"ISFULLNAME\",\"func-sig\":
\"ISFULLNAME(string)\",\"func-tooltip\": \"Returns true if the current user's fu
ll name matches the specified name\",\"help-contents\": \"Returns true if the cu
rrent user's full name matches the specified full name, or false if it does not
match. This function uses the Tableau Server or Tableau Online full name when th
e user is signed in; otherwise it uses the local or network full name for the Ta
bleau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],\
"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"func-sig\": \"ISMEMBEROF(str
ing)\",\"func-tooltip\": \"Returns true if the current user is a member of the s
pecified group\",\"help-contents\": \"Returns true if the current user is a memb
er of the given group, false otherwise. This uses the Tableau Server to resolve
group membership if logged on, otherwise it always returns false.\",\"func-grps
\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\"
: \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"func-tooltip\": \"Returns tr
ue if the specified expression is null\",\"help-contents\": \"Returns true if th
e expression does not contain valid data (Null).\\n\\nExample: ISNULL([Profit])\
",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": f
alse},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUSERNAME(string)\",\"func-tool
tip\": \"Returns true if the current user's name matches the specified user name

\",\"help-contents\": \"Returns true if the current user's username matches the


specified username, or false if it does not match. This function uses the Tablea
u Server or Tableau Online username when the user is signed in; otherwise it use
s the local or network username for the Tableau Desktop user.\",\"func-grps\":[\
"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"L
AST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"Returns the number of rows to
the last row in the partition\",\"help-contents\": \"Returns the number of rows
from the current row to the last row in the partition.\\n\\nExample (current ro
w is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[\"table\"],\"func-arg-types\
":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"func-sig\": \"LEFT(string, n
um_chars)\",\"func-tooltip\": \"Returns the specified number of characters from
the start of a string\",\"help-contents\": \"Returns the specified number of cha
racters from the start of the given string. \\n\\nExample: LEFT(\\\"Calculation
\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"
real\"],\"has-var-args\": false},{\"name\": \"LEN\",\"func-sig\": \"LEN(string)\
",\"func-tooltip\": \"Returns the number of characters in a string\",\"help-cont
ents\": \"Returns the number of characters in the given string. \\n\\nExample: L
EN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str
\"],\"has-var-args\": false},{\"name\": \"LN\",\"func-sig\": \"LN(number)\",\"fu
nc-tooltip\": \"Returns the natural logarithm of a number\",\"help-contents\": \
"Returns the natural logarithm of the given number. Returns Null if the number i
s less than or equal to 0.\\n\\nExample: LN(EXP(5)) = 5\",\"func-grps\":[\"num\"
],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"LOG\",\"fu
nc-sig\": \"LOG(number, [base])\",\"func-tooltip\": \"Returns the logarithm of a
number for the given base\",\"help-contents\": \"Returns the logarithm of a num
ber for the given base. If the base value is omitted, base 10 is used.\\n\\nExam
ple: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"func-grps\":[\"num\"],\"func
-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"LOOKUP\",
\"func-sig\": \"LOOKUP(expression, [offset])\",\"func-tooltip\": \"Returns the v
alue of the expression in a row offset from current row\",\"help-contents\": \"R
eturns the value of the given expression in a target row, specified as a relativ
e offset from the current row. Use FIRST()+n and LAST()-n for a target relative
to the first/last rows in the partition. If offset is omitted, the Compare To ro
w may be set on the field menu. Returns NULL if the target row cannot be determi
ned.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) + 2) = SUM(Profit) in the thi
rd row of the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"intege
r\",\"integer\"],\"has-var-args\": false},{\"name\": \"LOWER\",\"func-sig\": \"L
OWER(string)\",\"func-tooltip\": \"Returns a string in all lowercase characters\
",\"help-contents\": \"Converts a text string to all lowercase letters. \\n\\nEx
ample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"func-grps\":[\"str\"],\"func
-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LTRIM\",\"func-sig\
": \"LTRIM(string)\",\"func-tooltip\": \"Returns a string with leading spaces re
moved\",\"help-contents\": \"Returns the string with any leading spaces removed.
\\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\"\",\"func-grps\":[\"str\"],
\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"MAKEDATE\",\"
func-sig\": \"MAKEDATE(year, month, day)\",\"func-tooltip\": \"Returns a date va
lue constructed from a year, a month and a day of the month.\",\"help-contents\"
: \"Returns a date value constructed from a year, a month and a day of the month
. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-grps\":[\"cast\"],\"func-argtypes\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\"
: \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date, time)\",\"func-tooltip\":
\"Returns a datetime by combining a date and a time\",\"help-contents\": \"Retur
ns a date and time value given a date expression and a time expression. \\n\\nE
xample: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"func-grps\":[\"cast\"],\"func
-arg-types\":[\"date\",\"datetime\"],\"has-var-args\": false},{\"name\": \"MAKET
IME\",\"func-sig\": \"MAKETIME(hour, minute, second)\",\"func-tooltip\": \"Retur
ns a time value constructed from hours, minutes and seconds.\",\"help-contents\"
: \"Returns a time value constructed from hours, minutes and seconds. \\n\\nExa
mple: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"in
teger\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"MAX\",\"f

unc-sig\": \"MAX(expression) or MAX(expr1, expr2)\",\"func-tooltip\": \"Returns


the maximum of an expression\",\"help-contents\": \"Returns the maximum of a sin
gle expression across all records or the maximum of two expressions for each rec
ord. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\"num\",\"str\",\"date\",\"lo
gic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{
\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expression)\",\"func-tooltip\": \"Re
turns the median of an expression\",\"help-contents\": \"Returns the median of a
single expression. MEDIAN can be used with numeric fields only. Null values are
ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-ty
pes\":[\"real\"],\"has-var-args\": false},{\"name\": \"MID\",\"func-sig\": \"MID
(string,start,[length])\",\"func-tooltip\": \"Returns the characters from the mi
ddle of a text string\",\"help-contents\": \"Returns the characters from the mid
dle of a text string given a starting position and a length. The first character
in the string is position 1. If the length is not included, all characters to t
he end of the string are returned. If the length is included, up to that many ch
aracters are returned. \\n\\nExample: MID(\\\"Tableau Software\\\",9) = \\\"Soft
ware\\\" \\n\\nExample: MID(\\\"Tableau Software\\\",2,4) = \\\"able\\\"\",\"fun
c-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\",\"real\"],\"has-var-args
\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(expression) or MIN(expr1, expr
2)\",\"func-tooltip\": \"Returns the minimum of an expression\",\"help-contents\
": \"Returns the minimum of an expression across all records or the minimum of t
wo expressions for each record. \\n\\nExample: MIN([Profit])\",\"func-grps\":[\
"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"
],\"has-var-args\": false},{\"name\": \"MONTH\",\"func-sig\": \"MONTH(date)\",\"
func-tooltip\": \"Returns the month part of the specified date as an integer\",\
"help-contents\": \"Returns the month of a given date as an integer. \\n\\nExam
ple: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"da
tetime\"],\"has-var-args\": false},{\"name\": \"NOT\",\"func-sig\": \"IF NOT <ex
pr> THEN <then> END\",\"func-tooltip\": \"Performs logical negation on an expres
sion\",\"help-contents\": \"Performs logical negation on an expression\",\"funcgrps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"N
OW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Returns the current date and ti
me\",\"help-contents\": \"Returns the current date and time. \\n\\nExample: NOW
() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"ha
s-var-args\": false},{\"name\": \"OR\",\"func-sig\": \"IF <expr1> OR <expr2> THE
N <then> END\",\"func-tooltip\": \"Performs a logical disjunction on two express
ions\",\"help-contents\": \"Performs a logical disjunction on two expressions\",
\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name
\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expression, number)\",\"func-toolt
ip\": \"Returns the percentile value at the specified number\",\"help-contents\"
: \"Aggregate calculation that returns the percentile value from the given expre
ssion corresponding to the specified number. Valid values for the number are 0 t
hrough 1. PERCENTILE([expression], 0.50) will always return the median value in
the expression.\\n\\nExample: PERCENTILE([Sales], 0.90)\",\"func-grps\":[\"agg\"
],\"func-arg-types\":[\"real\",\"locreal\"],\"has-var-args\": false},{\"name\":
\"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Returns the numeric constant p
i\",\"help-contents\": \"Returns the numeric constant pi.\\n\\nExample: PI() = 3
.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[],\"has-var-args\"
: false},{\"name\": \"POWER\",\"func-sig\": \"POWER(number,power)\",\"func-toolt
ip\": \"Raises the number to the specified power\",\"help-contents\": \"Returns
the result of a number raised to the given power. \\n\\nExample: POWER(5,2) = 5^
2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-va
r-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"func-sig\": \"PREVIOUS_VALUE(ex
pression)\",\"func-tooltip\": \"Returns the value of this calculation in the pre
vious row\",\"help-contents\": \"Returns the value of this calculation in the pr
evious row. Returns the given expression if the current row is the first row of
the partition.\\n\\nExample: SUM([Profit]) + PREVIOUS_VALUE(0) = running sum of
Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(1) = running product of SUM(
Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"RADIANS\",\"func-sig\": \"RADIANS(number)\",\"func-to

oltip\": \"Converts a number in degrees to radians\",\"help-contents\": \"Conver


ts a number in degrees to radians.\",\"func-grps\":[\"num\"],\"func-arg-types\":
[\"real\"],\"has-var-args\": false},{\"name\": \"RANK\",\"func-sig\": \"RANK(exp
ression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the competition rank for
the current partition row\",\"help-contents\": \"Returns the standard competitio
n rank for the current row in the partition. Identical values are assigned an id
entical rank. Use the optional 'asc' | 'desc' argument to specify ascending or d
escending order. The default order is descending.\\n\\nWith this function, the s
et of values (6, 9, 9, 14) would be ranked (1, 2, 2, 4) in ascending order.\\n\\
nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_DENSE\",\"fun
c-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns
the dense rank for the current partition row\",\"help-contents\": \"Returns the
dense rank for the current row in the partition. Identical values are assigned a
n identical rank, but no gaps are inserted into the number sequence. Use the opt
ional 'asc' | 'desc' argument to specify ascending or descending order. The defa
ult order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 14
) would be ranked (1, 2, 2, 3) in ascending order.\\n\\nExample: RANK_DENSE(SUM(
[Sales]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"
],\"has-var-args\": false},{\"name\": \"RANK_MODIFIED\",\"func-sig\": \"RANK_MOD
IFIED(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the modified com
petition rank for the current partition row\",\"help-contents\": \"Returns the m
odified competition rank for the current row in the partition. Identical values
are assigned an identical rank. Use the optional 'asc' | 'desc' argument to spec
ify ascending or descending order. The default order is descending.\\n\\nWith th
is function, the set of values (6, 9, 9, 14) would be ranked (1, 3, 3, 4) in asc
ending order.\\n\\nExample: RANK_MODIFIED(AVG([Velocity]))\",\"func-grps\":[\"ta
ble\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"n
ame\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERCENTILE(expression, ['asc'|'d
esc'])\",\"func-tooltip\": \"Returns the percentile rank for the current partiti
on row\",\"help-contents\": \"Returns the percentile rank for the current row in
the partition. Use the optional 'asc' | 'desc' argument to specify ascending or
descending order. The default order is ascending.\\n\\nWith this function, the
set of values (6, 9, 9, 14) would be ranked (25, 75, 75, 100) in ascending order
.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\",\"func-grps\":[\"table\"],\
"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \
"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expression, ['asc'|'desc'])\",\"functooltip\": \"Returns the unique rank for the current partition row\",\"help-cont
ents\": \"Returns the unique rank for the current row in the partition. Identica
l values are assigned different ranks. Use the optional 'asc' | 'desc' argument
to specify ascending or descending order. The default order is descending.\\n\\n
With this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 3, 4)
in ascending order.\\n\\nExample: RANK_UNIQUE() = 1 for the first row in the pa
rtition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"],
\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT\",\"func-sig\": \"REGEXP_EX
TRACT(string, pattern)\",\"func-tooltip\": \"Returns the portion of a string mat
ching the capturing group in a regular expression\",\"help-contents\": \"Returns
a substring of the given string that matches the capturing group within the reg
ular expression pattern. The regular expression pattern requires exactly one ca
pturing group. \\n\\nExample: REGEXP_EXTRACT('abc 123', '[a-z]+\\\\s+(\\\\d+)')
= '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var
-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"func-sig\": \"REGEXP_EXTRACT
_NTH(string, pattern, index)\",\"func-tooltip\": \"Returns a substring of a stri
ng using a regular expression pattern\",\"help-contents\": \"Returns a substring
of the given string using the regular expression pattern. The substring is mat
ched to the nth capturing group, where n is the given index. \\n\\nExample: REGE
XP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)', 2) = '123'\",\"func-grps\":[
\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locint\"],\"has-var-args\": false
},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP_MATCH(string, pattern)\",\"
func-tooltip\": \"Returns true if a string matches a regular expression\",\"help

-contents\": \"Returns true if a substring of the provided string matches the re


gular expression pattern. \\n\\nExample: REGEXP_MATCH('-([1234].[ The.Market ])', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') = true\",\"func-grps\":[\"str\
"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"RE
GEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string, pattern, replacement)\",\"
func-tooltip\": \"Returns a string where substrings matching a regular expressio
n are replaced\",\"help-contents\": \"Returns a copy of the given string where t
he matching pattern is substituted with the replacement string. \\n\\nExample: R
EGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'\",\"func-grps\":[\"str\"],\
"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\":
\"REPLACE\",\"func-sig\": \"REPLACE(string, substring, replacement)\",\"func-too
ltip\": \"Replaces all instances of a substring within a string\",\"help-content
s\": \"Returns a string in which every occurrence of the substring is replaced w
ith the replacement string. If the substring is not found, the string is unchang
ed. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"ion\\\", \\\"ed\\\") = \\\"C
alculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"st
r\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\"func-sig\": \"RIGHT(string,
num_chars)\",\"func-tooltip\": \"Returns the specified number of characters fro
m the end of a string\",\"help-contents\": \"Returns the specified number of cha
racters from the end of the given string. \\n\\nExample: RIGHT(\\\"Calculation\
\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"r
eal\"],\"has-var-args\": false},{\"name\": \"ROUND\",\"func-sig\": \"ROUND(numbe
r, [decimals])\",\"func-tooltip\": \"Rounds a number to the specified number of
places\",\"help-contents\": \"Rounds a number to the nearest integer or to a spe
cified number of decimal places. \\n\\nExample: ROUND(3.1415, 1) = 3.1\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false}
,{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\",\"func-tooltip\": \"Return
s a string with trailing spaces removed\",\"help-contents\": \"Returns the strin
g with any trailing spaces removed. \\n\\nExample: RTRIM(\\\"Market \\\") = \\\
"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-arg
s\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\": \"RUNNING_AVG(expression)\"
,\"func-tooltip\": \"Returns the running average of an expression\",\"help-conte
nts\": \"Returns the running average of the given expression, from the first row
in the partition to the current row.\\n\\nExample: RUNNING_AVG(SUM([Profit])) =
running average of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING_COUNT\",\"func-sig\": \"
RUNNING_COUNT(expression)\",\"func-tooltip\": \"Returns the running count of an
expression\",\"help-contents\": \"Returns the running count of the given express
ion, from the first row in the partition to the current row.\\n\\nExample: RUNNI
NG_COUNT(SUM([Profit])) = running count of SUM(Profit)\",\"func-grps\":[\"table\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING_M
AX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"func-tooltip\": \"Returns the r
unning maximum of an expression\",\"help-contents\": \"Returns the running maxim
um of the given expression, from the first row in the partition to the current r
ow.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = running maximum of Profit\\n\\nEx
ample: RUNNING_MAX(SUM([Profit])) = running maximum of SUM(Profit)\",\"func-grps
\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name
\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expression)\",\"func-tooltip\":
\"Returns the running minimum of an expression\",\"help-contents\": \"Returns th
e running minimum of the given expression, from the first row in the partition t
o the current row.\\n\\nExample: RUNNING_MIN(MIN([Profit])) = running minimum of
Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = running minimum of SUM(Profit
)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\":
false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"RUNNING_SUM(expression)\",\"f
unc-tooltip\": \"Returns the running sum of an expression\",\"help-contents\": \
"Returns the running sum of the given expression, from the first row in the part
ition to the current row.\\n\\nExample: RUNNING_SUM(SUM([Profit])) = running sum
of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])) = running count of Profit\
",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": f
alse},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCRIPT_BOOL(string, expression,

...)\",\"func-tooltip\": \"Returns a Boolean result from an R expression\",\"he


lp-contents\": \"Returns a Boolean result from a given R expression. The R expre
ssion is passed directly to a running Rserve instance. Use .arg# in the R expres
sion to reference parameters. In the following example, .arg1 is equal to SUM([P
rofit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.arg1)\\\", SUM([Profit]))\",\
"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\
"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(string, expression, ...)\",\"
func-tooltip\": \"Returns an integer result from an R expression\",\"help-conten
ts\": \"Returns an integer result from a given R expression. The R expression is
passed directly to a running Rserve instance. Use .arg# in the R expression to
reference parameters. In the following example, .arg1 is equal to SUM([Profit]).
\\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)\\\", SUM([Profit]))\",\"fun
c-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"nam
e\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(string, expression, ...)\",\"fu
nc-tooltip\": \"Returns a numeric result from an R expression\",\"help-contents\
": \"Returns a numeric result from a given R expression. The R expression is pas
sed directly to a running Rserve instance. Use .arg# in the R expression to refe
rence parameters. In the following example, .arg1 is equal to SUM([Profit]). \\n
\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Profit]))\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIPT
_STR\",\"func-sig\": \"SCRIPT_STR(string, expression, ...)\",\"func-tooltip\": \
"Returns a string result from an R expression\",\"help-contents\": \"Returns a s
tring result from a given R expression. The R expression is passed directly to a
running Rserve instance. Use .arg# in the R expression to reference parameters.
In the following example, .arg1 is equal to ATTR([Region]). \\n\\nExample: SCRI
PT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SIGN\",\"funcsig\": \"SIGN(number)\",\"func-tooltip\": \"Returns 1 for a positive number\",\"
help-contents\": \"Returns the sign of a number: 1 if the number is positive, ze
ro if the number is zero, or -1 if the number is negative.\\n\\nExample: SIGN([P
rofit])\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\"
: false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angle)\",\"func-tooltip\": \"Ret
urns the sine of a number\",\"help-contents\": \"Returns the sine of an angle. S
pecify the angle in radians.\\n\\nExample: SIN(PI()/4) = 0.707106781186548\",\"f
unc-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"n
ame\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tooltip\": \"Returns the number
of rows in the partition\",\"help-contents\": \"Returns the number of rows in th
e partition.\\n\\nExample (partition has 5 rows):\\nSIZE( ) = 5\",\"func-grps\":
[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"SPACE\",
\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"Returns a string containing
the specified number of spaces\",\"help-contents\": \"Returns a string composed
of the specified number of repeated spaces. \\n\\nExample: SPACE(2) = \\\" \\\"
\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string, delimiter, token number)\",
\"func-tooltip\": \"Extracts a substring from a string\",\"help-contents\": \"Re
turns a substring from a string, as determined by a delimiter extracting the cha
racters from the beginning or end of the string. \\n\\nExample: SPLIT('a-b-c-d',
'-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-', -2) = 'c'\",\"func-grps\":[\
"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"locint\"],\"has-var-args\": fal
se},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)\",\"func-tooltip\": \"Retur
ns the square root of a number\",\"help-contents\": \"Returns the square root of
a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps\":[\"num\"],\"func-arg-type
s\":[\"real\"],\"has-var-args\": false},{\"name\": \"SQUARE\",\"func-sig\": \"SQ
UARE(number)\",\"func-tooltip\": \"Returns the square of a number\",\"help-conte
nts\": \"Returns the square of a given number. \\n\\nExample: SQUARE(5) = 25\",\
"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\
"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(string, substring)\",\"func-t
ooltip\": \"Returns true if the specified string starts with the specified subst
ring\",\"help-contents\": \"Returns true if the string starts with the substring
. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\"Ca\\\") is true\",\"func-gr

ps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"
name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\",\"func-tooltip\": \"Return
s the sample standard deviation for an expression\",\"help-contents\": \"Returns
the sample standard deviation of the expression.\\n\\nExample: STDEV([Profit])\
",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false}
,{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expression)\",\"func-tooltip\": \"
Returns the population standard deviation for an expression\",\"help-contents\":
\"Returns the population standard deviation of the expression.\\n\\nExample: ST
DEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var
-args\": false},{\"name\": \"STR\",\"func-sig\": \"STR(expression)\",\"func-tool
tip\": \"Returns an expression as a string\",\"help-contents\": \"Returns a stri
ng given an expression. \\n\\nExample: STR([Age]) returns all of the values of
the Age measure as strings.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boo
lean\"],\"has-var-args\": false},{\"name\": \"SUM\",\"func-sig\": \"SUM(expressi
on)\",\"func-tooltip\": \"Returns the sum of values in an expression\",\"help-co
ntents\": \"Returns the sum of all the values in the expression. SUM can be used
with numeric fields only. Null values are ignored.\\n\\nExample: SUM([Profit])\
",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false}
,{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"func-tooltip\": \"Returns the
tangent of an angle specified in radians\",\"help-contents\": \"Returns the tan
gent of an angle. Specify the angle in radians.\\n\\nExample: TAN(PI()/4) = 1.0\
",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false}
,{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN
<then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and
returns an appropriate value\",\"help-contents\": \"Tests a series of expressio
ns returning the <then> value for the first true <expr>. \\n\\nExample: IF [Prof
it] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\"
,\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"nam
e\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tooltip\": \"Returns the current
date\",\"help-contents\": \"Returns the current date. \\n\\nExample: TODAY() =
2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"has-var-args\": f
alse},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(expression)\",\"func-tooltip\":
\"Returns the total for an expression within the partition\",\"help-contents\":
\"Returns the total for the given expression.\\n\\nExample: TOTAL(AVG([Profit])
) = AVG(Profit) for all database rows that contribute to the partition\",\"funcgrps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"
name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"func-tooltip\": \"Returns a st
ring with leading and trailing spaces removed\",\"help-contents\": \"Returns the
string with both leading and trailing spaces removed. \\n\\nExample: TRIM(\\\"
Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"s
tr\"],\"has-var-args\": false},{\"name\": \"UPPER\",\"func-sig\": \"UPPER(string
)\",\"func-tooltip\": \"Returns a string in all uppercase characters\",\"help-co
ntents\": \"Converts a text string to all uppercase letters. \\n\\nExample: UPPE
R(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\
":[\"str\"],\"has-var-args\": false},{\"name\": \"USERDOMAIN\",\"func-sig\": \"U
SERDOMAIN()\",\"func-tooltip\": \"Returns the domain for the current user\",\"he
lp-contents\": \"Returns the domain for the current user when the user is signed
on to Tableau Server. Returns the Windows domain if the Tableau Desktop user is
on a domain. Otherwise this function returns a null string.\",\"func-grps\":[\"
user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"USERNAME\",\
"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Returns the user name for the cu
rrent user\",\"help-contents\": \"Returns the username for the current user. Thi
s is the Tableau Server or Tableau Online username when the user is signed in; o
therwise it is the local or network username for the Tableau Desktop user.\",\"f
unc-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"VAR\",\"func-sig\": \"VAR(expression)\",\"func-tooltip\": \"Returns the sample
variance for an expression\",\"help-contents\": \"Returns the sample variance o
f the expression.\\n\\nExample: VAR([Profit])\",\"func-grps\":[\"agg\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"VARP\",\"func-sig\":
\"VARP(expression)\",\"func-tooltip\": \"Returns the population variance for an

expression\",\"help-contents\": \"Returns the population variance of the expres


sion.\\n\\nExample: VARP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":
[\"real\"],\"has-var-args\": false},{\"name\": \"WHEN\",\"func-sig\": \"CASE <ex
pr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"func-tooltip\": \"Per
forms logical tests and returns the appropriate value\",\"help-contents\": \"Fin
ds the first <value> that matches <expr> and returns the corresponding <return>.
\\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u201
9 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-varargs\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\": \"WINDOW_AVG(expression,
[start, end])\",\"func-tooltip\": \"Returns the average of the values within the
window\",\"help-contents\": \"Returns the average of the expression within the
window. The window is defined as offsets from the current row. Use FIRST()+n an
d LAST()-n for offsets from the first or last row in the partition. If start an
d end are omitted, the entire partition is used.\\n\\nExample: WINDOW_AVG(SUM([P
rofit]), -2, 0) = average of SUM(Profit) from the two previous rows to the curre
nt row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"in
teger\"],\"has-var-args\": false},{\"name\": \"WINDOW_COUNT\",\"func-sig\": \"WI
NDOW_COUNT(expression, [start, end])\",\"func-tooltip\": \"Returns the number of
items within the window\",\"help-contents\": \"Returns the count of the express
ion within the window. The window is defined as offsets from the current row. U
se FIRST()+n and LAST()-n for offsets from the first or last row in the partitio
n. If start and end are omitted, the entire partition is used.\\n\\nExample: WI
NDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Profit) from the two previous ro
ws to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\
"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MAX\",\"fun
c-sig\": \"WINDOW_MAX(expression, [start, end])\",\"func-tooltip\": \"Returns th
e maximum within the window\",\"help-contents\": \"Returns the maximum of the ex
pression within the window. The window is defined as offsets from the current r
ow. Use FIRST()+n and LAST()-n for offsets from the first or last row in the par
tition. If start and end are omitted, the entire partition is used.\\n\\nExampl
e: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Profit from the two previous ro
ws to the current row\\n\\nExample: WINDOW_MAX(SUM([Profit]), -2, 0) = maximum o
f SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\
": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\": \"WINDOW_MEDIAN(expression,
[start, end])\",\"func-tooltip\": \"Returns the median within the window\",\"he
lp-contents\": \"Returns the median of the expression within the window. The wi
ndow is defined as offsets from the current row. Use FIRST()+n and LAST()-n for
offsets from the first or last row in the partition. If start and end are omitt
ed, the entire partition is used.\\n\\nExample: WINDOW_MEDIAN(SUM([Profit]), -2,
0) = median of SUM(Profit) from the two previous rows to the current row\",\"fu
nc-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"ha
s-var-args\": false},{\"name\": \"WINDOW_MIN\",\"func-sig\": \"WINDOW_MIN(expres
sion, [start, end])\",\"func-tooltip\": \"Returns the minimum within the window\
",\"help-contents\": \"Returns the minimum of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST()
-n for offsets from the first or last row in the partition. If start and end ar
e omitted, the entire partition is used.\\n\\nExample: WINDOW_MIN(MIN([Profit]),
-2, 0) = minimum of Profit from the two previous rows to the current row\\n\\nE
xample: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum of SUM(Profit) from the two p
revious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDO
W_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(expression, number, [start, end
])\",\"func-tooltip\": \"Returns the percentile value at the specified number\",
\"help-contents\": \"Returns the value corresponding to the specified percentile
within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WINDO
W_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th percentile of SUM(Profit) fro
m the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-ar

g-types\":[\"real\",\"locreal\",\"integer\",\"integer\"],\"has-var-args\": false
},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW_STDEV(expression, [start, e
nd])\",\"func-tooltip\": \"Returns the sample standard deviation within the wind
ow\",\"help-contents\": \"Returns the sample standard deviation of the expressio
n within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WIND
OW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two previous
rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\"
,\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEVP\",
\"func-sig\": \"WINDOW_STDEVP(expression, [start, end])\",\"func-tooltip\": \"Re
turns the population standard deviation within the window\",\"help-contents\": \
"Returns the population standard deviation of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST()
-n for offsets from the first or last row in the partition. If start and end ar
e omitted, the entire partition is used.\\n\\nExample: WINDOW_STDEVP(SUM([Profit
]), -2, 0) = std. dev. of SUM(Profit) from the two previous rows to the current
row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integ
er\"],\"has-var-args\": false},{\"name\": \"WINDOW_SUM\",\"func-sig\": \"WINDOW_
SUM(expression, [start, end])\",\"func-tooltip\": \"Returns the sum of values wi
thin the window\",\"help-contents\": \"Returns the sum of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()+
n and LAST()-n for offsets from the first or last row in the partition. If star
t and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_SUM(SU
M([Profit]), -2, 0) = sum of SUM(Profit) from the two previous rows to the curre
nt row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",\
"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_VAR\",\"func-sig\": \"W
INDOW_VAR(expression, [start, end])\",\"func-tooltip\": \"Returns the sample var
iance within the window\",\"help-contents\": \"Returns the sample variance of th
e expression within the window. The window is defined as offsets from the curre
nt row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the
partition. If start and end are omitted, the entire partition is used.\\n\\nEx
ample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two p
revious rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[
\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_V
ARP\",\"func-sig\": \"WINDOW_VARP(expression, [start, end])\",\"func-tooltip\":
\"Returns the population variance within the window\",\"help-contents\": \"Retur
ns the population variance of the expression within the window. The window is d
efined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets f
rom the first or last row in the partition. If start and end are omitted, the e
ntire partition is used.\\n\\nExample: WINDOW_VARP(SUM([Profit]), -2, 0) = varia
nce of SUM(Profit) from the two previous rows to the current row\",\"func-grps\"
:[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-arg
s\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR(date)\",\"func-tooltip\": \
"Returns the year of the specified date as an integer\",\"help-contents\": \"Ret
urns the year of a given date as an integer. \\n\\nExample: YEAR(#2004-04-12#)
= 2004\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-ar
gs\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(expression)\",\"func-tooltip\"
: \"Returns the expression if it is not null\",\"help-contents\": \"Returns <exp
ression> if it is not null, otherwise returns zero. \\n\\nExample: ZN([Profit])
\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-types\":[\"integer\"],\"has-varargs\": false}]},\"calculation-context\": \"calculation-dialog\",\"use-parameter
s\": true} position=\"18\"","name":"tabdoc:calculation-auto-complete"}}
{"ts":"2016-09-29T17:02:11.794","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-post","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED [R
egion]:su\" calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jf
j70l\",\"calculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calcul
ation_5489888009460379650\",\"scope-isolation\": true,\"calculation-formula\": \
"{FIXED [Region]:s\",\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencies

\": \"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-role\": \"dimen


sions\",\"has-table-calc-data\": false,\"table-calc-types-used\": 0,\"style-toke
n-list\":[],\"error-string\": \"Error in calculation:\\n\\nExpected '}' followin
g the expression.\\n\\nWould you like to correct the calculation?\",\"error-info
-list\":[{\"start-position-for-error\": 16,\"length-of-calc-of-error\": 1,\"erro
r-message\": \"Expected '}' following the expression.\"}],\"expression-func-pm\"
:{\"expression-func-list\":[{\"name\": \"ABS\",\"func-sig\": \"ABS(number)\",\"f
unc-tooltip\": \"Returns the absolute value of a number\",\"help-contents\": \"R
eturns the absolute value of the given number. \\n\\nExample: ABS(-7) = 7\",\"fu
nc-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"na
me\": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-tooltip\": \"Returns the ar
c cosine of a number\",\"help-contents\": \"Returns the arc cosine of a number.
The result is in radians. \\n\\nExample: ACOS(-1) = 3.14159265358979\",\"func-g
rps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\"
: \"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN <then> END\",\"func-toolti
p\": \"Performs a logical conjunction on two expressions\",\"help-contents\": \"
Performs a logical conjunction on two expressions\",\"func-grps\":[\"logic\"],\"
func-arg-types\":[],\"has-var-args\": false},{\"name\": \"ASCII\",\"func-sig\":
\"ASCII(string)\",\"func-tooltip\": \"Returns the ASCII code for the first chara
cter in a string\",\"help-contents\": \"Returns the ASCII code value of the firs
t character in a string. \\n\\nExample: ASCII(\\\"authors\\\") = 97\",\"func-grp
s\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \
"ASIN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\": \"Returns the arc sine
of a number\",\"help-contents\": \"Returns the arc sine of a number. The result
is in radians. \\n\\nExample: ASIN(1) = 1.5707963267949\",\"func-grps\":[\"num\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ATAN\",\"
func-sig\": \"ATAN(number)\",\"func-tooltip\": \"Returns the arc tangent of a nu
mber\",\"help-contents\": \"Returns the arc tangent of a number. The result is
in radians. \\n\\nExample: ATAN(180) = 1.5652408283942\",\"func-grps\":[\"num\"
],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ATAN2\",\"
func-sig\": \"ATAN2(y number, x number)\",\"func-tooltip\": \"Returns the arc ta
ngent of two numbers\",\"help-contents\": \"Returns the arc tangent of two given
numbers (x and y). The result is in radians. \\n\\nExample: ATAN2(2, 1) = 1.10
714871779409\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"
has-var-args\": false},{\"name\": \"ATTR\",\"func-sig\": \"ATTR(expression)\",\"
func-tooltip\": \"Returns the value of the expression if it has one value for al
l rows\",\"help-contents\": \"Returns the value of the given expression if it on
ly has a single value for all rows in the group, otherwise it displays an asteri
sk (*). Null values are ignored.\\n\\nExample: ATTR([Market])\",\"func-grps\":[\
"agg\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"A
VG\",\"func-sig\": \"AVG(expression)\",\"func-tooltip\": \"Returns the average o
f the values in the expression\",\"help-contents\": \"Returns the average of all
the values in the expression. AVG can be used with numeric fields only. Null va
lues are ignored.\\n\\nExample: AVG([Profit])\",\"func-grps\":[\"agg\"],\"func-a
rg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CASE\",\"func-sig\":
\"CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"func-toolt
ip\": \"Performs logical tests and returns the appropriate value\",\"help-conten
ts\": \"Finds the first <value> that matches <expr> and returns the correspondin
g <return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u
2018II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[]
,\"has-var-args\": false},{\"name\": \"CEILING\",\"func-sig\": \"CEILING(number)
\",\"func-tooltip\": \"Rounds a number to the nearest integer of equal or greate
r value\",\"help-contents\": \"Rounds a number to the nearest integer of equal o
r greater value. \\n\\nExample: CEILING(3.1415) = 4\",\"func-grps\":[\"num\"],\"
func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CHAR\",\"funcsig\": \"CHAR(integer)\",\"func-tooltip\": \"Converts an integer ASCII code into
a character\",\"help-contents\": \"Converts the given integer ASCII code into a
character. \\n\\nExample: CHAR(65) = 'A'\",\"func-grps\":[\"str\"],\"func-arg-t
ypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"CONTAINS\",\"func-sig\":
\"CONTAINS(string, substring)\",\"func-tooltip\": \"Returns true if a string co

ntains the specified substring\",\"help-contents\": \"Returns true if the string


contains the substring. \\n\\nExample: CONTAINS(\\\"Calculation\\\", \\\"alcu\\
\") is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has
-var-args\": false},{\"name\": \"COS\",\"func-sig\": \"COS(angle)\",\"func-toolt
ip\": \"Returns the cosine of an angle specified in radians\",\"help-contents\":
\"Returns the cosine of an angle. Specify the angle in radians.\\n\\nExample: C
OS(PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"r
eal\"],\"has-var-args\": false},{\"name\": \"COT\",\"func-sig\": \"COT(angle)\",
\"func-tooltip\": \"Returns the cotangent of an angle specified in radians\",\"h
elp-contents\": \"Returns the cotangent of an angle. Specify the angle in radian
s.\\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\
"real\"],\"has-var-args\": false},{\"name\": \"COUNT\",\"func-sig\": \"COUNT(exp
ression)\",\"func-tooltip\": \"Returns the number of items in the expression\",\
"help-contents\": \"Returns the number of items in a group. NULL values are not
counted.\\n\\nExample: COUNT([Customer ID])\",\"func-grps\":[\"agg\"],\"func-arg
-types\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"COUNTD\",\"func-sig
\": \"COUNTD(expression)\",\"func-tooltip\": \"Returns the number of distinct it
ems in the expression\",\"help-contents\": \"Returns the number of distinct item
s in a group. NULL values are not counted. Each unique value is counted only on
ce.\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"agg\"],\"func-arg-types\":
[\"boolean\"],\"has-var-args\": false},{\"name\": \"DATE\",\"func-sig\": \"DATE(
expression)\",\"func-tooltip\": \"Returns a date from a number\",\"help-contents
\": \"Returns a date given a number, string, or date expression. \\n\\nExample:
DATE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote that the quotation marks ar
e required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-ar
gs\": false},{\"name\": \"DATEADD\",\"func-sig\": \"DATEADD(date_part, interval,
date)\",\"func-tooltip\": \"Returns the specified date incremented by the speci
fied amount\",\"help-contents\": \"Adds an increment to the specified date and r
eturns the new date. The increment is defined by the interval and the date_part.
\\n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM\",\"f
unc-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"integer\",\"datetime\"],\
"has-var-args\": false},{\"name\": \"DATEDIFF\",\"func-sig\": \"DATEDIFF(date_pa
rt, start_date, end_date, [start_of_week])\",\"func-tooltip\": \"Returns the dif
ference between two dates\",\"help-contents\": \"Returns the difference between
two dates where start_date is subtracted from end_date. The difference is expres
sed in units of date_part. If start_of_week is omitted, the week start day is de
termined by the start day configured for the data source.\\n\\nExample: DATEDIFF
('month', #2004-07-15#, #2004-04-03#, 'sunday') = -3\",\"func-grps\":[\"date\"],
\"func-arg-types\":[\"locstr\",\"datetime\",\"datetime\",\"locstr\"],\"has-var-a
rgs\": false},{\"name\": \"DATENAME\",\"func-sig\": \"DATENAME(date_part, date,
[start_of_week])\",\"func-tooltip\": \"Returns a part of the specified date as a
string\",\"help-contents\": \"Returns a part of the given date as a string, whe
re the part is defined by date_part. If start_of_week is omitted, the week start
day is determined by the start day configured for the data source.\\n\\nExample
: DATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"func-grps\":[\"date\"],\"f
unc-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\
"name\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(format, string)\",\"func-toolti
p\": \"Converts a string to a date\",\"help-contents\": \"Converts a string to a
date in the specified format. \\n\\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\\\", \
\\"15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func
-arg-types\":[\"locstr\",\"str\"],\"has-var-args\": false},{\"name\": \"DATEPART
\",\"func-sig\": \"DATEPART(date_part, date, [start_of_week])\",\"func-tooltip\"
: \"Returns the specified part of a date as an integer\",\"help-contents\": \"Re
turns a part of the given date as an integer where the part is defined by date_p
art. If start_of_week is omitted, the week start day is determined by the start
day configured for the data source.\\n\\nExample: DATEPART('month', #2004-04-15#
) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"l
ocstr\"],\"has-var-args\": false},{\"name\": \"DATETIME\",\"func-sig\": \"DATETI
ME(expression)\",\"func-tooltip\": \"Returns a datetime from a number\",\"help-c
ontents\": \"Returns a datetime given a number, string, or date expression. \\n

\\nExample: DATETIME(\\\"April 15, 2004 07:59:00\\\") \\nNote that the quotatio


n marks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\"],\"
has-var-args\": false},{\"name\": \"DATETRUNC\",\"func-sig\": \"DATETRUNC(date_p
art, date, [start_of_week])\",\"func-tooltip\": \"Truncates the specified date t
o the specified accuracy\",\"help-contents\": \"Truncates the specified date to
the accuracy specified by the date_part and returns the new date. If start_of_we
ek is omitted, the week start day is determined by the start day configured for
the data source.\\n\\nExample: DATETRUNC('quarter', #2004-08-15#) = 2004-07-01 1
2:00:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\
",\"locstr\"],\"has-var-args\": false},{\"name\": \"DAY\",\"func-sig\": \"DAY(da
te)\",\"func-tooltip\": \"Returns the day part of the specified date as an integ
er\",\"help-contents\": \"Returns the day of the given date as an integer. \\n\
\nExample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"date\"],\"func-arg-types\":
[\"datetime\"],\"has-var-args\": false},{\"name\": \"DEGREES\",\"func-sig\": \"D
EGREES(number)\",\"func-tooltip\": \"Converts a value in radians to degrees\",\"
help-contents\": \"Converts a number in radians to degrees.\\n\\nExample: DEGREE
S(PI()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-v
ar-args\": false},{\"name\": \"DIV\",\"func-sig\": \"DIV(integer, integer)\",\"f
unc-tooltip\": \"Returns the integer part of a division operation\",\"help-conte
nts\": \"Returns the integer part of a division.\\n\\nExample: DIV(11, 2) = 5\",
\"func-grps\":[\"num\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-a
rgs\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF
<expr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a log
ical test and returns an appropriate value\",\"help-contents\": \"Tests a series
of expressions returning the <then> value for the first true <expr>. \\n\\nExam
ple: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE
'Loss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr
2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical
test and returns an appropriate value\",\"help-contents\": \"Tests a series of e
xpressions returning the <then> value for the first true <expr>. \\n\\nExample:
IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Los
s' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false
},{\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN
<then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and
returns an appropriate value\",\"help-contents\": \"Tests a series of expressio
ns returning the <then> value for the first true <expr>. \\n\\nExample: IF [Prof
it] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\"
,\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"nam
e\": \"ENDSWITH\",\"func-sig\": \"ENDSWITH(string, substring)\",\"func-tooltip\"
: \"Returns true if the specified string ends with the specified substring\",\"h
elp-contents\": \"Returns true if the string ends with the substring (trailing w
hitespace is ignored). \\n\\nExample: ENDSWITH(\\\"Calculation\\\", \\\"ion\\\")
is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-va
r-args\": false},{\"name\": \"EXCLUDE\",\"func-sig\": \"{ EXCLUDE [dim1[, dim2].
..] : aggregate-expression }\",\"func-tooltip\": \"Computes an aggregate excludi
ng the specified dimensions if present in the view.\",\"help-contents\": \"Compu
tes an aggregate excluding the specified dimensions if present in the view.\",\"
func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"EXP\",\"func-sig\": \"EXP(number)\",\"func-tooltip\": \"Returns e raised to th
e power of a number\",\"help-contents\": \"Returns e raised to the power of the
given number. \\n\\nExample: EXP(5) = e^5\",\"func-grps\":[\"num\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"FIND\",\"func-sig\": \"
FIND(string, substring, [start])\",\"func-tooltip\": \"Returns the position of a
substring within a string\",\"help-contents\": \"Returns the position of a subs
tring within a string, or 0 if the substring isn't found. If the start argument
is defined, any instances of substring that appear before the start position are
ignored. The first character in the string is position 1. \\n\\nExample: FIND(\
\\"Calculation\\\", \\\"alcu\\\") = 2\",\"func-grps\":[\"str\"],\"func-arg-types
\":[\"str\",\"str\",\"real\"],\"has-var-args\": false},{\"name\": \"FINDNTH\",\"

func-sig\": \"FINDNTH(string, substring, occurrence)\",\"func-tooltip\": \"Retur


ns the position of the nth occurrence a substring within a string\",\"help-conte
nts\": \"Returns the position of the nth occurrence of a substring within a stri
ng, or 0 if that occurrence of the substring isn't found. The first character in
the string is position 1. \\n\\nExample: FINDNTH(\\\"Calculation\\\", \\\"a\\\"
, 2) = 7\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"real\"]
,\"has-var-args\": false},{\"name\": \"FIRST\",\"func-sig\": \"FIRST()\",\"functooltip\": \"Returns the number of rows from to the first row in the partition\"
,\"help-contents\": \"Returns the number of rows from the current row to the fir
st row in the partition.\\n\\nExample (current row index is 3 of 7):\\nFIRST( )
= -2\",\"func-grps\":[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},
{\"name\": \"FIXED\",\"func-sig\": \"{ FIXED [dim1[, dim2]...] : aggregate-expre
ssion }\",\"func-tooltip\": \"Computes an aggregate using only the specified dim
ensions.\",\"help-contents\": \"Computes an aggregate using only the specified d
imensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"FLOAT\",\"func-sig\": \"FLOAT(expression)\",\"func-tooltip\": \
"Returns a float from an expression\",\"help-contents\": \"Returns a float given
an expression of any type. This function requires unformatted numbers which mea
ns exclude commas and other symbols. \\n\\nExample: FLOAT(\\\"3\\\")= 3.000\",\
"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\": false
},{\"name\": \"FLOOR\",\"func-sig\": \"FLOOR(number)\",\"func-tooltip\": \"Round
s a number to the nearest integer of equal or lesser value\",\"help-contents\":
\"Rounds a number to the nearest integer of equal or lesser value. \\n\\nExample
: FLOOR(3.1415) = 3\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"ha
s-var-args\": false},{\"name\": \"FULLNAME\",\"func-sig\": \"FULLNAME()\",\"func
-tooltip\": \"Returns the full name for the current user\",\"help-contents\": \"
Returns the full name for the current user. This is the Tableau Server or Tablea
u Online full name when the user is signed in; otherwise it is the local or netw
ork full name for the Tableau Desktop user.\",\"func-grps\":[\"user\"],\"func-ar
g-types\":[],\"has-var-args\": false},{\"name\": \"HEXBINX\",\"func-sig\": \"HEX
BINX(number, number)\",\"func-tooltip\": \"Returns the x-coordinate of the neare
st hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate to the x-coord
inate of the nearest hexagonal bin. The bins have side length 1, so the inputs m
ay need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"HEXBINY\",\"func-sig\
": \"HEXBINY(number, number)\",\"func-tooltip\": \"Returns the y-coordinate of t
he nearest hexagonal bin.\",\"help-contents\": \"Maps an (x,y) coordinate to the
y-coordinate of the nearest hexagonal bin. The bins have side length 1, so the
inputs may need to be scaled appropriately.\",\"func-grps\":[\"num\"],\"func-arg
-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"IF\",\"func-s
ig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <then2> ...] [ELSE <else>] EN
D\",\"func-tooltip\": \"Performs a logical test and returns an appropriate value
\",\"help-contents\": \"Tests a series of expressions returning the <then> value
for the first true <expr>. \\n\\nExample: IF [Profit] > 0 THEN 'Profitable' ELS
EIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"func-grps\":[\"logic\"],\"
func-arg-types\":[],\"has-var-args\": false},{\"name\": \"IFNULL\",\"func-sig\":
\"IFNULL(expr1, expr2)\",\"func-tooltip\": \"Returns expression1 if not null\",
\"help-contents\": \"Returns <expr1> if it is not null, otherwise returns <expr2
>. \\n\\nExample: IFNULL([Profit], 0)\",\"func-grps\":[\"logic\"],\"func-arg-ty
pes\":[\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"IIF\",\"fu
nc-sig\": \"IIF(test, then, else, [unknown])\",\"func-tooltip\": \"Evaluates a B
oolean expression and returns one of two values\",\"help-contents\": \"Checks wh
ether a condition is met, and returns one value if TRUE, another value if FALSE,
and an optional third value or NULL if unknown. \\n\\nExample: IIF([Profit] > 0
, 'Profit', 'Loss')\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\",
\"real\",\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"INCLUDE\",\"fu
nc-sig\": \"{ INCLUDE [dim1[, dim2]...] : aggregate-expression }\",\"func-toolti
p\": \"Computes an aggregate using the specified dimensions and the view dimensi
ons.\",\"help-contents\": \"Computes an aggregate using the specified dimensions
and the view dimensions.\",\"func-grps\":[\"agg\"],\"func-arg-types\":[],\"has-

var-args\": false},{\"name\": \"INDEX\",\"func-sig\": \"INDEX()\",\"func-tooltip


\": \"Returns the index of the current row in the partition\",\"help-contents\":
\"Returns the index of the current row in the partition.\\n\\nExample (for the
first row in the partition): INDEX( ) = 1\",\"func-grps\":[\"table\"],\"func-arg
-types\":[],\"has-var-args\": false},{\"name\": \"INT\",\"func-sig\": \"INT(expr
ession)\",\"func-tooltip\": \"Evaluates an expression and returns an integer\",\
"help-contents\": \"Returns an integer given an expression. This function trunca
tes results to the closest integer toward zero. \\n\\nExample: INT(8.0/3.0) = 2
or INT(-9.7) = -9\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"boolean\"],\"
has-var-args\": false},{\"name\": \"ISDATE\",\"func-sig\": \"ISDATE(string)\",\"
func-tooltip\": \"Returns true if the string is a valid date\",\"help-contents\"
: \"Returns true if a given string is a valid date. \\n\\nExample: ISDATE(\\\"2
004-04-15\\\") = True\",\"func-grps\":[\"str\",\"date\",\"logic\"],\"func-arg-ty
pes\":[\"str\"],\"has-var-args\": false},{\"name\": \"ISFULLNAME\",\"func-sig\":
\"ISFULLNAME(string)\",\"func-tooltip\": \"Returns true if the current user's f
ull name matches the specified name\",\"help-contents\": \"Returns true if the c
urrent user's full name matches the specified full name, or false if it does not
match. This function uses the Tableau Server or Tableau Online full name when t
he user is signed in; otherwise it uses the local or network full name for the T
ableau Desktop user.\",\"func-grps\":[\"user\"],\"func-arg-types\":[\"locstr\"],
\"has-var-args\": false},{\"name\": \"ISMEMBEROF\",\"func-sig\": \"ISMEMBEROF(st
ring)\",\"func-tooltip\": \"Returns true if the current user is a member of the
specified group\",\"help-contents\": \"Returns true if the current user is a mem
ber of the given group, false otherwise. This uses the Tableau Server to resolv
e group membership if logged on, otherwise it always returns false.\",\"func-grp
s\":[\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\
": \"ISNULL\",\"func-sig\": \"ISNULL(expression)\",\"func-tooltip\": \"Returns t
rue if the specified expression is null\",\"help-contents\": \"Returns true if t
he expression does not contain valid data (Null).\\n\\nExample: ISNULL([Profit])
\",\"func-grps\":[\"logic\"],\"func-arg-types\":[\"boolean\"],\"has-var-args\":
false},{\"name\": \"ISUSERNAME\",\"func-sig\": \"ISUSERNAME(string)\",\"func-too
ltip\": \"Returns true if the current user's name matches the specified user nam
e\",\"help-contents\": \"Returns true if the current user's username matches the
specified username, or false if it does not match. This function uses the Table
au Server or Tableau Online username when the user is signed in; otherwise it us
es the local or network username for the Tableau Desktop user.\",\"func-grps\":[
\"user\"],\"func-arg-types\":[\"locstr\"],\"has-var-args\": false},{\"name\": \"
LAST\",\"func-sig\": \"LAST()\",\"func-tooltip\": \"Returns the number of rows t
o the last row in the partition\",\"help-contents\": \"Returns the number of row
s from the current row to the last row in the partition.\\n\\nExample (current r
ow is index 3 of 7):\\nLAST ( ) = 4\",\"func-grps\":[\"table\"],\"func-arg-types
\":[],\"has-var-args\": false},{\"name\": \"LEFT\",\"func-sig\": \"LEFT(string,
num_chars)\",\"func-tooltip\": \"Returns the specified number of characters from
the start of a string\",\"help-contents\": \"Returns the specified number of ch
aracters from the start of the given string. \\n\\nExample: LEFT(\\\"Calculatio
n\\\", 4) = \\\"Calc\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\
"real\"],\"has-var-args\": false},{\"name\": \"LEN\",\"func-sig\": \"LEN(string)
\",\"func-tooltip\": \"Returns the number of characters in a string\",\"help-con
tents\": \"Returns the number of characters in the given string. \\n\\nExample:
LEN(\\\"Calculation\\\") = 11\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"st
r\"],\"has-var-args\": false},{\"name\": \"LN\",\"func-sig\": \"LN(number)\",\"f
unc-tooltip\": \"Returns the natural logarithm of a number\",\"help-contents\":
\"Returns the natural logarithm of the given number. Returns Null if the number
is less than or equal to 0.\\n\\nExample: LN(EXP(5)) = 5\",\"func-grps\":[\"num\
"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"LOG\",\"f
unc-sig\": \"LOG(number, [base])\",\"func-tooltip\": \"Returns the logarithm of
a number for the given base\",\"help-contents\": \"Returns the logarithm of a nu
mber for the given base. If the base value is omitted, base 10 is used.\\n\\nExa
mple: LOG(100) = 2\\n\\nExample: LOG(256, 2) = 8\",\"func-grps\":[\"num\"],\"fun
c-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},{\"name\": \"LOOKUP\"

,\"func-sig\": \"LOOKUP(expression, [offset])\",\"func-tooltip\": \"Returns the


value of the expression in a row offset from current row\",\"help-contents\": \"
Returns the value of the given expression in a target row, specified as a relati
ve offset from the current row. Use FIRST()+n and LAST()-n for a target relative
to the first/last rows in the partition. If offset is omitted, the Compare To r
ow may be set on the field menu. Returns NULL if the target row cannot be determ
ined.\\n\\nExample: LOOKUP(SUM([Profit]), FIRST( ) + 2) = SUM(Profit) in the th
ird row of the partition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integ
er\",\"integer\"],\"has-var-args\": false},{\"name\": \"LOWER\",\"func-sig\": \"
LOWER(string)\",\"func-tooltip\": \"Returns a string in all lowercase characters
\",\"help-contents\": \"Converts a text string to all lowercase letters. \\n\\nE
xample: LOWER(\\\"PRODUCT\\\") = \\\"product\\\"\",\"func-grps\":[\"str\"],\"fun
c-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"LTRIM\",\"func-sig
\": \"LTRIM(string)\",\"func-tooltip\": \"Returns a string with leading spaces r
emoved\",\"help-contents\": \"Returns the string with any leading spaces removed
. \\n\\nExample: LTRIM(\\\" Sales\\\") = \\\"Sales\\\"\",\"func-grps\":[\"str\"]
,\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"MAKEDATE\",\
"func-sig\": \"MAKEDATE(year, month, day)\",\"func-tooltip\": \"Returns a date v
alue constructed from a year, a month and a day of the month.\",\"help-contents\
": \"Returns a date value constructed from a year, a month and a day of the mont
h. \\n\\nExample: MAKEDATE( 2014, 3, 18 )\",\"func-grps\":[\"cast\"],\"func-arg
-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\
": \"MAKEDATETIME\",\"func-sig\": \"MAKEDATETIME(date, time)\",\"func-tooltip\":
\"Returns a datetime by combining a date and a time\",\"help-contents\": \"Retu
rns a date and time value given a date expression and a time expression. \\n\\n
Example: MAKEDATETIME(#2012-11-12#, #07:59:00#)\",\"func-grps\":[\"cast\"],\"fun
c-arg-types\":[\"date\",\"datetime\"],\"has-var-args\": false},{\"name\": \"MAKE
TIME\",\"func-sig\": \"MAKETIME(hour, minute, second)\",\"func-tooltip\": \"Retu
rns a time value constructed from hours, minutes and seconds.\",\"help-contents\
": \"Returns a time value constructed from hours, minutes and seconds. \\n\\nEx
ample: MAKETIME( 14, 52, 40 )\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"i
nteger\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"MAX\",\"
func-sig\": \"MAX(expression) or MAX(expr1, expr2)\",\"func-tooltip\": \"Returns
the maximum of an expression\",\"help-contents\": \"Returns the maximum of a si
ngle expression across all records or the maximum of two expressions for each re
cord. \\n\\nExample: MAX([Sales])\",\"func-grps\":[\"num\",\"str\",\"date\",\"l
ogic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false},
{\"name\": \"MEDIAN\",\"func-sig\": \"MEDIAN(expression)\",\"func-tooltip\": \"R
eturns the median of an expression\",\"help-contents\": \"Returns the median of
a single expression. MEDIAN can be used with numeric fields only. Null values ar
e ignored.\\n\\nExample: MEDIAN([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-t
ypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"MID\",\"func-sig\": \"MI
D(string,start,[length])\",\"func-tooltip\": \"Returns the characters from the m
iddle of a text string\",\"help-contents\": \"Returns the characters from the mi
ddle of a text string given a starting position and a length. The first characte
r in the string is position 1. If the length is not included, all characters to
the end of the string are returned. If the length is included, up to that many c
haracters are returned. \\n\\nExample: MID(\\\"Tableau Software\\\",9) = \\\"Sof
tware\\\" \\n\\nExample: MID(\\\"Tableau Software\\\",2,4) = \\\"able\\\"\",\"fu
nc-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"real\",\"real\"],\"has-var-arg
s\": false},{\"name\": \"MIN\",\"func-sig\": \"MIN(expression) or MIN(expr1, exp
r2)\",\"func-tooltip\": \"Returns the minimum of an expression\",\"help-contents
\": \"Returns the minimum of an expression across all records or the minimum of
two expressions for each record. \\n\\nExample: MIN([Profit])\",\"func-grps\":[
\"num\",\"str\",\"date\",\"logic\",\"agg\"],\"func-arg-types\":[\"real\",\"real\
"],\"has-var-args\": false},{\"name\": \"MONTH\",\"func-sig\": \"MONTH(date)\",\
"func-tooltip\": \"Returns the month part of the specified date as an integer\",
\"help-contents\": \"Returns the month of a given date as an integer. \\n\\nExa
mple: MONTH(#2004-04-12#) = 4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"d
atetime\"],\"has-var-args\": false},{\"name\": \"NOT\",\"func-sig\": \"IF NOT <e

xpr> THEN <then> END\",\"func-tooltip\": \"Performs logical negation on an expre


ssion\",\"help-contents\": \"Performs logical negation on an expression\",\"func
-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"
NOW\",\"func-sig\": \"NOW()\",\"func-tooltip\": \"Returns the current date and t
ime\",\"help-contents\": \"Returns the current date and time. \\n\\nExample: NO
W() = 2004-05-12 1:08:21 PM\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"h
as-var-args\": false},{\"name\": \"OR\",\"func-sig\": \"IF <expr1> OR <expr2> TH
EN <then> END\",\"func-tooltip\": \"Performs a logical disjunction on two expres
sions\",\"help-contents\": \"Performs a logical disjunction on two expressions\"
,\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"nam
e\": \"PERCENTILE\",\"func-sig\": \"PERCENTILE(expression, number)\",\"func-tool
tip\": \"Returns the percentile value at the specified number\",\"help-contents\
": \"Aggregate calculation that returns the percentile value from the given expr
ession corresponding to the specified number. Valid values for the number are 0
through 1. PERCENTILE([expression], 0.50) will always return the median value in
the expression.\\n\\nExample: PERCENTILE([Sales], 0.90)\",\"func-grps\":[\"agg\
"],\"func-arg-types\":[\"real\",\"locreal\"],\"has-var-args\": false},{\"name\":
\"PI\",\"func-sig\": \"PI()\",\"func-tooltip\": \"Returns the numeric constant
pi\",\"help-contents\": \"Returns the numeric constant pi.\\n\\nExample: PI() =
3.14159265358979\",\"func-grps\":[\"num\"],\"func-arg-types\":[],\"has-var-args\
": false},{\"name\": \"POWER\",\"func-sig\": \"POWER(number,power)\",\"func-tool
tip\": \"Raises the number to the specified power\",\"help-contents\": \"Returns
the result of a number raised to the given power. \\n\\nExample: POWER(5,2) = 5
^2 = 25\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-v
ar-args\": false},{\"name\": \"PREVIOUS_VALUE\",\"func-sig\": \"PREVIOUS_VALUE(e
xpression)\",\"func-tooltip\": \"Returns the value of this calculation in the pr
evious row\",\"help-contents\": \"Returns the value of this calculation in the p
revious row. Returns the given expression if the current row is the first row of
the partition.\\n\\nExample: SUM([Profit]) + PREVIOUS_VALUE(0) = running sum of
Profit\\n\\nExample: SUM([Profit]) * PREVIOUS_VALUE(1) = running product of SUM
(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-varargs\": false},{\"name\": \"RADIANS\",\"func-sig\": \"RADIANS(number)\",\"func-t
ooltip\": \"Converts a number in degrees to radians\",\"help-contents\": \"Conve
rts a number in degrees to radians.\",\"func-grps\":[\"num\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"RANK\",\"func-sig\": \"RANK(ex
pression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the competition rank for
the current partition row\",\"help-contents\": \"Returns the standard competiti
on rank for the current row in the partition. Identical values are assigned an i
dentical rank. Use the optional 'asc' | 'desc' argument to specify ascending or
descending order. The default order is descending.\\n\\nWith this function, the
set of values (6, 9, 9, 14) would be ranked (1, 2, 2, 4) in ascending order.\\n\
\nExample: RANK(AVG([Lap Time]))\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\": \"RANK_DENSE\",\"fu
nc-sig\": \"RANK_DENSE(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns
the dense rank for the current partition row\",\"help-contents\": \"Returns the
dense rank for the current row in the partition. Identical values are assigned
an identical rank, but no gaps are inserted into the number sequence. Use the op
tional 'asc' | 'desc' argument to specify ascending or descending order. The def
ault order is descending.\\n\\nWith this function, the set of values (6, 9, 9, 1
4) would be ranked (1, 2, 2, 3) in ascending order.\\n\\nExample: RANK_DENSE(SUM
([Sales]))\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\
"],\"has-var-args\": false},{\"name\": \"RANK_MODIFIED\",\"func-sig\": \"RANK_MO
DIFIED(expression, ['asc'|'desc'])\",\"func-tooltip\": \"Returns the modified co
mpetition rank for the current partition row\",\"help-contents\": \"Returns the
modified competition rank for the current row in the partition. Identical values
are assigned an identical rank. Use the optional 'asc' | 'desc' argument to spe
cify ascending or descending order. The default order is descending.\\n\\nWith t
his function, the set of values (6, 9, 9, 14) would be ranked (1, 3, 3, 4) in as
cending order.\\n\\nExample: RANK_MODIFIED(AVG([Velocity]))\",\"func-grps\":[\"t
able\"],\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"

name\": \"RANK_PERCENTILE\",\"func-sig\": \"RANK_PERCENTILE(expression, ['asc'|'


desc'])\",\"func-tooltip\": \"Returns the percentile rank for the current partit
ion row\",\"help-contents\": \"Returns the percentile rank for the current row i
n the partition. Use the optional 'asc' | 'desc' argument to specify ascending o
r descending order. The default order is ascending.\\n\\nWith this function, the
set of values (6, 9, 9, 14) would be ranked (25, 75, 75, 100) in ascending orde
r.\\n\\nExample: RANK_PERCENTILE(AVG([Test Score]))\",\"func-grps\":[\"table\"],
\"func-arg-types\":[\"integer\",\"locstr\"],\"has-var-args\": false},{\"name\":
\"RANK_UNIQUE\",\"func-sig\": \"RANK_UNIQUE(expression, ['asc'|'desc'])\",\"func
-tooltip\": \"Returns the unique rank for the current partition row\",\"help-con
tents\": \"Returns the unique rank for the current row in the partition. Identic
al values are assigned different ranks. Use the optional 'asc' | 'desc' argument
to specify ascending or descending order. The default order is descending.\\n\\
nWith this function, the set of values (6, 9, 9, 14) would be ranked (1, 2, 3, 4
) in ascending order.\\n\\nExample: RANK_UNIQUE() = 1 for the first row in the p
artition\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"locstr\"]
,\"has-var-args\": false},{\"name\": \"REGEXP_EXTRACT\",\"func-sig\": \"REGEXP_E
XTRACT(string, pattern)\",\"func-tooltip\": \"Returns the portion of a string ma
tching the capturing group in a regular expression\",\"help-contents\": \"Return
s a substring of the given string that matches the capturing group within the re
gular expression pattern. The regular expression pattern requires exactly one c
apturing group. \\n\\nExample: REGEXP_EXTRACT('abc 123', '[a-z]+\\\\s+(\\\\d+)')
= '123'\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-va
r-args\": false},{\"name\": \"REGEXP_EXTRACT_NTH\",\"func-sig\": \"REGEXP_EXTRAC
T_NTH(string, pattern, index)\",\"func-tooltip\": \"Returns a substring of a str
ing using a regular expression pattern\",\"help-contents\": \"Returns a substrin
g of the given string using the regular expression pattern. The substring is ma
tched to the nth capturing group, where n is the given index. \\n\\nExample: REG
EXP_EXTRACT_NTH('abc 123', '([a-z]+)\\\\s+(\\\\d+)', 2) = '123'\",\"func-grps\":
[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"locint\"],\"has-var-args\": fals
e},{\"name\": \"REGEXP_MATCH\",\"func-sig\": \"REGEXP_MATCH(string, pattern)\",\
"func-tooltip\": \"Returns true if a string matches a regular expression\",\"hel
p-contents\": \"Returns true if a substring of the provided string matches the r
egular expression pattern. \\n\\nExample: REGEXP_MATCH('-([1234].[ The.Market ])
-', '\\\\[\\\\s*(\\\\w*\\\\.)(\\\\w*\\\\s*\\\\])') = true\",\"func-grps\":[\"str
\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\"name\": \"R
EGEXP_REPLACE\",\"func-sig\": \"REGEXP_REPLACE(string, pattern, replacement)\",\
"func-tooltip\": \"Returns a string where substrings matching a regular expressi
on are replaced\",\"help-contents\": \"Returns a copy of the given string where
the matching pattern is substituted with the replacement string. \\n\\nExample:
REGEXP_REPLACE('abc 123', '\\\\s', '-') = 'abc--123'\",\"func-grps\":[\"str\"],
\"func-arg-types\":[\"str\",\"str\",\"str\"],\"has-var-args\": false},{\"name\":
\"REPLACE\",\"func-sig\": \"REPLACE(string, substring, replacement)\",\"func-to
oltip\": \"Replaces all instances of a substring within a string\",\"help-conten
ts\": \"Returns a string in which every occurrence of the substring is replaced
with the replacement string. If the substring is not found, the string is unchan
ged. \\n\\nExample: REPLACE(\\\"Calculation\\\", \\\"ion\\\", \\\"ed\\\") = \\\"
Calculated\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\",\"s
tr\"],\"has-var-args\": false},{\"name\": \"RIGHT\",\"func-sig\": \"RIGHT(string
, num_chars)\",\"func-tooltip\": \"Returns the specified number of characters fr
om the end of a string\",\"help-contents\": \"Returns the specified number of ch
aracters from the end of the given string. \\n\\nExample: RIGHT(\\\"Calculation
\\\", 4) = \\\"tion\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"
real\"],\"has-var-args\": false},{\"name\": \"ROUND\",\"func-sig\": \"ROUND(numb
er, [decimals])\",\"func-tooltip\": \"Rounds a number to the specified number of
places\",\"help-contents\": \"Rounds a number to the nearest integer or to a sp
ecified number of decimal places. \\n\\nExample: ROUND(3.1415, 1) = 3.1\",\"func
-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has-var-args\": false
},{\"name\": \"RTRIM\",\"func-sig\": \"RTRIM(string)\",\"func-tooltip\": \"Retur
ns a string with trailing spaces removed\",\"help-contents\": \"Returns the stri

ng with any trailing spaces removed. \\n\\nExample: RTRIM(\\\"Market \\\") = \\


\"Market\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-ar
gs\": false},{\"name\": \"RUNNING_AVG\",\"func-sig\": \"RUNNING_AVG(expression)\
",\"func-tooltip\": \"Returns the running average of an expression\",\"help-cont
ents\": \"Returns the running average of the given expression, from the first ro
w in the partition to the current row.\\n\\nExample: RUNNING_AVG(SUM([Profit]))
= running average of SUM(Profit)\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING_COUNT\",\"func-sig\": \
"RUNNING_COUNT(expression)\",\"func-tooltip\": \"Returns the running count of an
expression\",\"help-contents\": \"Returns the running count of the given expres
sion, from the first row in the partition to the current row.\\n\\nExample: RUNN
ING_COUNT(SUM([Profit])) = running count of SUM(Profit)\",\"func-grps\":[\"table
\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"RUNNING_
MAX\",\"func-sig\": \"RUNNING_MAX(expression)\",\"func-tooltip\": \"Returns the
running maximum of an expression\",\"help-contents\": \"Returns the running maxi
mum of the given expression, from the first row in the partition to the current
row.\\n\\nExample: RUNNING_MAX(MAX([Profit])) = running maximum of Profit\\n\\nE
xample: RUNNING_MAX(SUM([Profit])) = running maximum of SUM(Profit)\",\"func-grp
s\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"nam
e\": \"RUNNING_MIN\",\"func-sig\": \"RUNNING_MIN(expression)\",\"func-tooltip\":
\"Returns the running minimum of an expression\",\"help-contents\": \"Returns t
he running minimum of the given expression, from the first row in the partition
to the current row.\\n\\nExample: RUNNING_MIN(MIN([Profit])) = running minimum o
f Profit\\n\\nExample: RUNNING_MIN(SUM([Profit])) = running minimum of SUM(Profi
t)\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\"
: false},{\"name\": \"RUNNING_SUM\",\"func-sig\": \"RUNNING_SUM(expression)\",\"
func-tooltip\": \"Returns the running sum of an expression\",\"help-contents\":
\"Returns the running sum of the given expression, from the first row in the par
tition to the current row.\\n\\nExample: RUNNING_SUM(SUM([Profit])) = running su
m of Profit\\n\\nExample: RUNNING_SUM(COUNT([Profit])) = running count of Profit
\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\":
false},{\"name\": \"SCRIPT_BOOL\",\"func-sig\": \"SCRIPT_BOOL(string, expression
, ...)\",\"func-tooltip\": \"Returns a Boolean result from an R expression\",\"h
elp-contents\": \"Returns a Boolean result from a given R expression. The R expr
ession is passed directly to a running Rserve instance. Use .arg# in the R expre
ssion to reference parameters. In the following example, .arg1 is equal to SUM([
Profit]). \\n\\nExample: SCRIPT_BOOL(\\\"is.finite(.arg1)\\\", SUM([Profit]))\",
\"func-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{
\"name\": \"SCRIPT_INT\",\"func-sig\": \"SCRIPT_INT(string, expression, ...)\",\
"func-tooltip\": \"Returns an integer result from an R expression\",\"help-conte
nts\": \"Returns an integer result from a given R expression. The R expression i
s passed directly to a running Rserve instance. Use .arg# in the R expression to
reference parameters. In the following example, .arg1 is equal to SUM([Profit])
. \\n\\nExample: SCRIPT_INT(\\\"as.integer(.arg1 * 5)\\\", SUM([Profit]))\",\"fu
nc-grps\":[\"table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"na
me\": \"SCRIPT_REAL\",\"func-sig\": \"SCRIPT_REAL(string, expression, ...)\",\"f
unc-tooltip\": \"Returns a numeric result from an R expression\",\"help-contents
\": \"Returns a numeric result from a given R expression. The R expression is pa
ssed directly to a running Rserve instance. Use .arg# in the R expression to ref
erence parameters. In the following example, .arg1 is equal to SUM([Profit]). \\
n\\nExample: SCRIPT_REAL(\\\".arg1 * 0.5\\\", SUM([Profit]))\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SCRIP
T_STR\",\"func-sig\": \"SCRIPT_STR(string, expression, ...)\",\"func-tooltip\":
\"Returns a string result from an R expression\",\"help-contents\": \"Returns a
string result from a given R expression. The R expression is passed directly to
a running Rserve instance. Use .arg# in the R expression to reference parameters
. In the following example, .arg1 is equal to ATTR([Region]). \\n\\nExample: SCR
IPT_STR(\\\"substr(.arg1, 1, 2)\\\", ATTR([Region]))\",\"func-grps\":[\"table\"]
,\"func-arg-types\":[\"str\"],\"has-var-args\": true},{\"name\": \"SIGN\",\"func
-sig\": \"SIGN(number)\",\"func-tooltip\": \"Returns 1 for a positive number\",\

"help-contents\": \"Returns the sign of a number: 1 if the number is positive, z


ero if the number is zero, or -1 if the number is negative.\\n\\nExample: SIGN([
Profit])\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\
": false},{\"name\": \"SIN\",\"func-sig\": \"SIN(angle)\",\"func-tooltip\": \"Re
turns the sine of a number\",\"help-contents\": \"Returns the sine of an angle.
Specify the angle in radians.\\n\\nExample: SIN(PI()/4) = 0.707106781186548\",\"
func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"
name\": \"SIZE\",\"func-sig\": \"SIZE()\",\"func-tooltip\": \"Returns the number
of rows in the partition\",\"help-contents\": \"Returns the number of rows in t
he partition.\\n\\nExample (partition has 5 rows):\\nSIZE( ) = 5\",\"func-grps\"
:[\"table\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"SPACE\"
,\"func-sig\": \"SPACE(number)\",\"func-tooltip\": \"Returns a string containing
the specified number of spaces\",\"help-contents\": \"Returns a string composed
of the specified number of repeated spaces. \\n\\nExample: SPACE(2) = \\\" \\\
"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"real\"],\"has-var-args\": fals
e},{\"name\": \"SPLIT\",\"func-sig\": \"SPLIT(string, delimiter, token number)\"
,\"func-tooltip\": \"Extracts a substring from a string\",\"help-contents\": \"R
eturns a substring from a string, as determined by a delimiter extracting the ch
aracters from the beginning or end of the string. \\n\\nExample: SPLIT('a-b-c-d'
, '-', 2) = 'b' \\n\\nExample: SPLIT('a-b-c-d', '-', -2) = 'c'\",\"func-grps\":[
\"str\"],\"func-arg-types\":[\"str\",\"locstr\",\"locint\"],\"has-var-args\": fa
lse},{\"name\": \"SQRT\",\"func-sig\": \"SQRT(number)\",\"func-tooltip\": \"Retu
rns the square root of a number\",\"help-contents\": \"Returns the square root o
f a number. \\n\\nExample: SQRT(25) = 5\",\"func-grps\":[\"num\"],\"func-arg-typ
es\":[\"real\"],\"has-var-args\": false},{\"name\": \"SQUARE\",\"func-sig\": \"S
QUARE(number)\",\"func-tooltip\": \"Returns the square of a number\",\"help-cont
ents\": \"Returns the square of a given number. \\n\\nExample: SQUARE(5) = 25\",
\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{
\"name\": \"STARTSWITH\",\"func-sig\": \"STARTSWITH(string, substring)\",\"functooltip\": \"Returns true if the specified string starts with the specified subs
tring\",\"help-contents\": \"Returns true if the string starts with the substrin
g. \\n\\nExample: STARTSWITH(\\\"Calculation\\\", \\\"Ca\\\") is true\",\"func-g
rps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-var-args\": false},{\
"name\": \"STDEV\",\"func-sig\": \"STDEV(expression)\",\"func-tooltip\": \"Retur
ns the sample standard deviation for an expression\",\"help-contents\": \"Return
s the sample standard deviation of the expression.\\n\\nExample: STDEV([Profit])
\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"STDEVP\",\"func-sig\": \"STDEVP(expression)\",\"func-tooltip\": \
"Returns the population standard deviation for an expression\",\"help-contents\"
: \"Returns the population standard deviation of the expression.\\n\\nExample: S
TDEVP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-va
r-args\": false},{\"name\": \"STR\",\"func-sig\": \"STR(expression)\",\"func-too
ltip\": \"Returns an expression as a string\",\"help-contents\": \"Returns a str
ing given an expression. \\n\\nExample: STR([Age]) returns all of the values of
the Age measure as strings.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"bo
olean\"],\"has-var-args\": false},{\"name\": \"SUM\",\"func-sig\": \"SUM(express
ion)\",\"func-tooltip\": \"Returns the sum of values in an expression\",\"help-c
ontents\": \"Returns the sum of all the values in the expression. SUM can be use
d with numeric fields only. Null values are ignored.\\n\\nExample: SUM([Profit])
\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"TAN\",\"func-sig\": \"TAN(angle)\",\"func-tooltip\": \"Returns th
e tangent of an angle specified in radians\",\"help-contents\": \"Returns the ta
ngent of an angle. Specify the angle in radians.\\n\\nExample: TAN(PI()/4) = 1.0
\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false
},{\"name\": \"THEN\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN
<then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test an
d returns an appropriate value\",\"help-contents\": \"Tests a series of expressi
ons returning the <then> value for the first true <expr>. \\n\\nExample: IF [Pro
fit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\
",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"na

me\": \"TODAY\",\"func-sig\": \"TODAY()\",\"func-tooltip\": \"Returns the curren


t date\",\"help-contents\": \"Returns the current date. \\n\\nExample: TODAY()
= 2004-05-12\",\"func-grps\":[\"date\"],\"func-arg-types\":[],\"has-var-args\":
false},{\"name\": \"TOTAL\",\"func-sig\": \"TOTAL(expression)\",\"func-tooltip\"
: \"Returns the total for an expression within the partition\",\"help-contents\"
: \"Returns the total for the given expression.\\n\\nExample: TOTAL(AVG([Profit]
)) = AVG(Profit) for all database rows that contribute to the partition\",\"func
-grps\":[\"table\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\
"name\": \"TRIM\",\"func-sig\": \"TRIM(string)\",\"func-tooltip\": \"Returns a s
tring with leading and trailing spaces removed\",\"help-contents\": \"Returns th
e string with both leading and trailing spaces removed. \\n\\nExample: TRIM(\\\"
Budget \\\") = \\\"Budget\\\"\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"
str\"],\"has-var-args\": false},{\"name\": \"UPPER\",\"func-sig\": \"UPPER(strin
g)\",\"func-tooltip\": \"Returns a string in all uppercase characters\",\"help-c
ontents\": \"Converts a text string to all uppercase letters. \\n\\nExample: UPP
ER(\\\"product\\\") = \\\"PRODUCT\\\"\",\"func-grps\":[\"str\"],\"func-arg-types
\":[\"str\"],\"has-var-args\": false},{\"name\": \"USERDOMAIN\",\"func-sig\": \"
USERDOMAIN()\",\"func-tooltip\": \"Returns the domain for the current user\",\"h
elp-contents\": \"Returns the domain for the current user when the user is signe
d on to Tableau Server. Returns the Windows domain if the Tableau Desktop user i
s on a domain. Otherwise this function returns a null string.\",\"func-grps\":[\
"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\": \"USERNAME\",
\"func-sig\": \"USERNAME()\",\"func-tooltip\": \"Returns the user name for the c
urrent user\",\"help-contents\": \"Returns the username for the current user. Th
is is the Tableau Server or Tableau Online username when the user is signed in;
otherwise it is the local or network username for the Tableau Desktop user.\",\"
func-grps\":[\"user\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\":
\"VAR\",\"func-sig\": \"VAR(expression)\",\"func-tooltip\": \"Returns the sampl
e variance for an expression\",\"help-contents\": \"Returns the sample variance
of the expression.\\n\\nExample: VAR([Profit])\",\"func-grps\":[\"agg\"],\"funcarg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"VARP\",\"func-sig\"
: \"VARP(expression)\",\"func-tooltip\": \"Returns the population variance for a
n expression\",\"help-contents\": \"Returns the population variance of the expre
ssion.\\n\\nExample: VARP([Profit])\",\"func-grps\":[\"agg\"],\"func-arg-types\"
:[\"real\"],\"has-var-args\": false},{\"name\": \"WHEN\",\"func-sig\": \"CASE <e
xpr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"func-tooltip\": \"Pe
rforms logical tests and returns the appropriate value\",\"help-contents\": \"Fi
nds the first <value> that matches <expr> and returns the corresponding <return>
. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u2018II\u20
19 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var
-args\": false},{\"name\": \"WINDOW_AVG\",\"func-sig\": \"WINDOW_AVG(expression,
[start, end])\",\"func-tooltip\": \"Returns the average of the values within th
e window\",\"help-contents\": \"Returns the average of the expression within the
window. The window is defined as offsets from the current row. Use FIRST()+n a
nd LAST()-n for offsets from the first or last row in the partition. If start a
nd end are omitted, the entire partition is used.\\n\\nExample: WINDOW_AVG(SUM([
Profit]), -2, 0) = average of SUM(Profit) from the two previous rows to the curr
ent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"i
nteger\"],\"has-var-args\": false},{\"name\": \"WINDOW_COUNT\",\"func-sig\": \"W
INDOW_COUNT(expression, [start, end])\",\"func-tooltip\": \"Returns the number o
f items within the window\",\"help-contents\": \"Returns the count of the expres
sion within the window. The window is defined as offsets from the current row.
Use FIRST()+n and LAST()-n for offsets from the first or last row in the partiti
on. If start and end are omitted, the entire partition is used.\\n\\nExample: W
INDOW_COUNT(SUM([Profit]), -2, 0) = count of SUM(Profit) from the two previous r
ows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",
\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_MAX\",\"fu
nc-sig\": \"WINDOW_MAX(expression, [start, end])\",\"func-tooltip\": \"Returns t
he maximum within the window\",\"help-contents\": \"Returns the maximum of the e
xpression within the window. The window is defined as offsets from the current

row. Use FIRST()+n and LAST()-n for offsets from the first or last row in the pa
rtition. If start and end are omitted, the entire partition is used.\\n\\nExamp
le: WINDOW_MAX(MAX([Profit]), -2, 0) = maximum of Profit from the two previous r
ows to the current row\\n\\nExample: WINDOW_MAX(SUM([Profit]), -2, 0) = maximum
of SUM(Profit) from the two previous rows to the current row\",\"func-grps\":[\"
table\"],\"func-arg-types\":[\"integer\",\"integer\",\"integer\"],\"has-var-args
\": false},{\"name\": \"WINDOW_MEDIAN\",\"func-sig\": \"WINDOW_MEDIAN(expression
, [start, end])\",\"func-tooltip\": \"Returns the median within the window\",\"h
elp-contents\": \"Returns the median of the expression within the window. The w
indow is defined as offsets from the current row. Use FIRST()+n and LAST()-n for
offsets from the first or last row in the partition. If start and end are omit
ted, the entire partition is used.\\n\\nExample: WINDOW_MEDIAN(SUM([Profit]), -2
, 0) = median of SUM(Profit) from the two previous rows to the current row\",\"f
unc-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"h
as-var-args\": false},{\"name\": \"WINDOW_MIN\",\"func-sig\": \"WINDOW_MIN(expre
ssion, [start, end])\",\"func-tooltip\": \"Returns the minimum within the window
\",\"help-contents\": \"Returns the minimum of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST(
)-n for offsets from the first or last row in the partition. If start and end a
re omitted, the entire partition is used.\\n\\nExample: WINDOW_MIN(MIN([Profit])
, -2, 0) = minimum of Profit from the two previous rows to the current row\\n\\n
Example: WINDOW_MIN(SUM([Profit]), -2, 0) = minimum of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"integer\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WIND
OW_PERCENTILE\",\"func-sig\": \"WINDOW_PERCENTILE(expression, number, [start, en
d])\",\"func-tooltip\": \"Returns the percentile value at the specified number\"
,\"help-contents\": \"Returns the value corresponding to the specified percentil
e within the window. The window is defined as offsets from the current row. Use
FIRST()+n and LAST()-n for offsets from the first or last row in the partition.
If start and end are omitted, the entire partition is used.\\n\\nExample: WIND
OW_PERCENTILE (SUM([Profit]),0.75, -2., 0)) = 75th percentile of SUM(Profit) fr
om the two previous rows to the current row\",\"func-grps\":[\"table\"],\"func-a
rg-types\":[\"real\",\"locreal\",\"integer\",\"integer\"],\"has-var-args\": fals
e},{\"name\": \"WINDOW_STDEV\",\"func-sig\": \"WINDOW_STDEV(expression, [start,
end])\",\"func-tooltip\": \"Returns the sample standard deviation within the win
dow\",\"help-contents\": \"Returns the sample standard deviation of the expressi
on within the window. The window is defined as offsets from the current row. Us
e FIRST()+n and LAST()-n for offsets from the first or last row in the partition
. If start and end are omitted, the entire partition is used.\\n\\nExample: WIN
DOW_STDEV(SUM([Profit]), -2, 0) = std. dev. of SUM(Profit) from the two previous
rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\
",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_STDEVP\"
,\"func-sig\": \"WINDOW_STDEVP(expression, [start, end])\",\"func-tooltip\": \"R
eturns the population standard deviation within the window\",\"help-contents\":
\"Returns the population standard deviation of the expression within the window.
The window is defined as offsets from the current row. Use FIRST()+n and LAST(
)-n for offsets from the first or last row in the partition. If start and end a
re omitted, the entire partition is used.\\n\\nExample: WINDOW_STDEVP(SUM([Profi
t]), -2, 0) = std. dev. of SUM(Profit) from the two previous rows to the current
row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"inte
ger\"],\"has-var-args\": false},{\"name\": \"WINDOW_SUM\",\"func-sig\": \"WINDOW
_SUM(expression, [start, end])\",\"func-tooltip\": \"Returns the sum of values w
ithin the window\",\"help-contents\": \"Returns the sum of the expression within
the window. The window is defined as offsets from the current row. Use FIRST()
+n and LAST()-n for offsets from the first or last row in the partition. If sta
rt and end are omitted, the entire partition is used.\\n\\nExample: WINDOW_SUM(S
UM([Profit]), -2, 0) = sum of SUM(Profit) from the two previous rows to the curr
ent row\",\"func-grps\":[\"table\"],\"func-arg-types\":[\"integer\",\"integer\",
\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_VAR\",\"func-sig\": \"
WINDOW_VAR(expression, [start, end])\",\"func-tooltip\": \"Returns the sample va

riance within the window\",\"help-contents\": \"Returns the sample variance of t


he expression within the window. The window is defined as offsets from the curr
ent row. Use FIRST()+n and LAST()-n for offsets from the first or last row in th
e partition. If start and end are omitted, the entire partition is used.\\n\\nE
xample: WINDOW_VAR(SUM([Profit]), -2, 0) = variance of SUM(Profit) from the two
previous rows to the current row\",\"func-grps\":[\"table\"],\"func-arg-types\":
[\"real\",\"integer\",\"integer\"],\"has-var-args\": false},{\"name\": \"WINDOW_
VARP\",\"func-sig\": \"WINDOW_VARP(expression, [start, end])\",\"func-tooltip\":
\"Returns the population variance within the window\",\"help-contents\": \"Retu
rns the population variance of the expression within the window. The window is
defined as offsets from the current row. Use FIRST()+n and LAST()-n for offsets
from the first or last row in the partition. If start and end are omitted, the
entire partition is used.\\n\\nExample: WINDOW_VARP(SUM([Profit]), -2, 0) = vari
ance of SUM(Profit) from the two previous rows to the current row\",\"func-grps\
":[\"table\"],\"func-arg-types\":[\"real\",\"integer\",\"integer\"],\"has-var-ar
gs\": false},{\"name\": \"YEAR\",\"func-sig\": \"YEAR(date)\",\"func-tooltip\":
\"Returns the year of the specified date as an integer\",\"help-contents\": \"Re
turns the year of a given date as an integer. \\n\\nExample: YEAR(#2004-04-12#)
= 2004\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"datetime\"],\"has-var-a
rgs\": false},{\"name\": \"ZN\",\"func-sig\": \"ZN(expression)\",\"func-tooltip\
": \"Returns the expression if it is not null\",\"help-contents\": \"Returns <ex
pression> if it is not null, otherwise returns zero. \\n\\nExample: ZN([Profit]
)\",\"func-grps\":[\"num\",\"logic\"],\"func-arg-types\":[\"integer\"],\"has-var
-args\": false}]},\"calculation-context\": \"calculation-dialog\",\"use-paramete
rs\": true} position=\"18\"","name":"tabdoc:calculation-auto-complete"}}
{"ts":"2016-09-29T17:02:12.778","pid":78016,"tid":"13074","sev":"info","req":"-"
,"sess":"-","site":"{5A35580D-F7B5-48A6-A3C5-D86EE62432D7}","user":"-","k":"comm
and-pre","v":{"args":"tabdoc:calculation-auto-complete ac-substring=\"{FIXED [Re
gion]:\" calculation={\"datasource\": \"excel-direct.0s0w8bc1somq6z110noi81jfj70
l\",\"calculation-caption\": \"Calculation3\",\"pending-calc-name\": \"Calculati
on_5489888009460379650\",\"scope-isolation\": true,\"calculation-formula\": \"{F
IXED [Region]:s\",\"fn\": \"\",\"fn-source\": \"\",\"calculation-dependencies\":
\"\",\"folder-name\": \"\",\"add-to-folder\": false,\"folder-role\": \"dimensio
ns\",\"has-table-calc-data\": false,\"table-calc-types-used\": 0,\"style-token-l
ist\":[],\"error-string\": \"Error in calculation:\\n\\nExpected '}' following t
he expression.\\n\\nWould you like to correct the calculation?\",\"error-info-li
st\":[{\"start-position-for-error\": 16,\"length-of-calc-of-error\": 1,\"error-m
essage\": \"Expected '}' following the expression.\"}],\"expression-func-pm\":{\
"expression-func-list\":[{\"name\": \"ABS\",\"func-sig\": \"ABS(number)\",\"func
-tooltip\": \"Returns the absolute value of a number\",\"help-contents\": \"Retu
rns the absolute value of the given number. \\n\\nExample: ABS(-7) = 7\",\"funcgrps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\
": \"ACOS\",\"func-sig\": \"ACOS(number)\",\"func-tooltip\": \"Returns the arc c
osine of a number\",\"help-contents\": \"Returns the arc cosine of a number. Th
e result is in radians. \\n\\nExample: ACOS(-1) = 3.14159265358979\",\"func-grps
\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \
"AND\",\"func-sig\": \"IF <expr1> AND <expr2> THEN <then> END\",\"func-tooltip\"
: \"Performs a logical conjunction on two expressions\",\"help-contents\": \"Per
forms a logical conjunction on two expressions\",\"func-grps\":[\"logic\"],\"fun
c-arg-types\":[],\"has-var-args\": false},{\"name\": \"ASCII\",\"func-sig\": \"A
SCII(string)\",\"func-tooltip\": \"Returns the ASCII code for the first characte
r in a string\",\"help-contents\": \"Returns the ASCII code value of the first c
haracter in a string. \\n\\nExample: ASCII(\\\"authors\\\") = 97\",\"func-grps\"
:[\"str\"],\"func-arg-types\":[\"str\"],\"has-var-args\": false},{\"name\": \"AS
IN\",\"func-sig\": \"ASIN(number)\",\"func-tooltip\": \"Returns the arc sine of
a number\",\"help-contents\": \"Returns the arc sine of a number. The result is
in radians. \\n\\nExample: ASIN(1) = 1.5707963267949\",\"func-grps\":[\"num\"],
\"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ATAN\",\"fun
c-sig\": \"ATAN(number)\",\"func-tooltip\": \"Returns the arc tangent of a numbe
r\",\"help-contents\": \"Returns the arc tangent of a number. The result is in

radians. \\n\\nExample: ATAN(180) = 1.5652408283942\",\"func-grps\":[\"num\"],\


"func-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"ATAN2\",\"fun
c-sig\": \"ATAN2(y number, x number)\",\"func-tooltip\": \"Returns the arc tange
nt of two numbers\",\"help-contents\": \"Returns the arc tangent of two given nu
mbers (x and y). The result is in radians. \\n\\nExample: ATAN2(2, 1) = 1.10714
871779409\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\",\"real\"],\"has
-var-args\": false},{\"name\": \"ATTR\",\"func-sig\": \"ATTR(expression)\",\"fun
c-tooltip\": \"Returns the value of the expression if it has one value for all r
ows\",\"help-contents\": \"Returns the value of the given expression if it only
has a single value for all rows in the group, otherwise it displays an asterisk
(*). Null values are ignored.\\n\\nExample: ATTR([Market])\",\"func-grps\":[\"ag
g\"],\"func-arg-types\":[\"integer\"],\"has-var-args\": false},{\"name\": \"AVG\
",\"func-sig\": \"AVG(expression)\",\"func-tooltip\": \"Returns the average of t
he values in the expression\",\"help-contents\": \"Returns the average of all th
e values in the expression. AVG can be used with numeric fields only. Null value
s are ignored.\\n\\nExample: AVG([Profit])\",\"func-grps\":[\"agg\"],\"func-argtypes\":[\"real\"],\"has-var-args\": false},{\"name\": \"CASE\",\"func-sig\": \"
CASE <expr> WHEN <value1> THEN <return1> ... [ELSE <else>] END\",\"func-tooltip\
": \"Performs logical tests and returns the appropriate value\",\"help-contents\
": \"Finds the first <value> that matches <expr> and returns the corresponding <
return>. \\n\\nExample: CASE [RomanNumeral] WHEN \u2018I\u2019 THEN 1 WHEN \u201
8II\u2019 THEN 2 ELSE 3 END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"
has-var-args\": false},{\"name\": \"CEILING\",\"func-sig\": \"CEILING(number)\",
\"func-tooltip\": \"Rounds a number to the nearest integer of equal or greater v
alue\",\"help-contents\": \"Rounds a number to the nearest integer of equal or g
reater value. \\n\\nExample: CEILING(3.1415) = 4\",\"func-grps\":[\"num\"],\"fun
c-arg-types\":[\"real\"],\"has-var-args\": false},{\"name\": \"CHAR\",\"func-sig
\": \"CHAR(integer)\",\"func-tooltip\": \"Converts an integer ASCII code into a
character\",\"help-contents\": \"Converts the given integer ASCII code into a ch
aracter. \\n\\nExample: CHAR(65) = 'A'\",\"func-grps\":[\"str\"],\"func-arg-type
s\":[\"real\"],\"has-var-args\": false},{\"name\": \"CONTAINS\",\"func-sig\": \"
CONTAINS(string, substring)\",\"func-tooltip\": \"Returns true if a string conta
ins the specified substring\",\"help-contents\": \"Returns true if the string co
ntains the substring. \\n\\nExample: CONTAINS(\\\"Calculation\\\", \\\"alcu\\\")
is true\",\"func-grps\":[\"str\"],\"func-arg-types\":[\"str\",\"str\"],\"has-va
r-args\": false},{\"name\": \"COS\",\"func-sig\": \"COS(angle)\",\"func-tooltip\
": \"Returns the cosine of an angle specified in radians\",\"help-contents\": \"
Returns the cosine of an angle. Specify the angle in radians.\\n\\nExample: COS(
PI()/4) = 0.707106781186548\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real
\"],\"has-var-args\": false},{\"name\": \"COT\",\"func-sig\": \"COT(angle)\",\"f
unc-tooltip\": \"Returns the cotangent of an angle specified in radians\",\"help
-contents\": \"Returns the cotangent of an angle. Specify the angle in radians.\
\n\\nExample: COT(PI()/4) = 1\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"re
al\"],\"has-var-args\": false},{\"name\": \"COUNT\",\"func-sig\": \"COUNT(expres
sion)\",\"func-tooltip\": \"Returns the number of items in the expression\",\"he
lp-contents\": \"Returns the number of items in a group. NULL values are not cou
nted.\\n\\nExample: COUNT([Customer ID])\",\"func-grps\":[\"agg\"],\"func-arg-ty
pes\":[\"boolean\"],\"has-var-args\": false},{\"name\": \"COUNTD\",\"func-sig\":
\"COUNTD(expression)\",\"func-tooltip\": \"Returns the number of distinct items
in the expression\",\"help-contents\": \"Returns the number of distinct items i
n a group. NULL values are not counted. Each unique value is counted only once.
\\n\\nExample: COUNTD([Region])\",\"func-grps\":[\"agg\"],\"func-arg-types\":[\"
boolean\"],\"has-var-args\": false},{\"name\": \"DATE\",\"func-sig\": \"DATE(exp
ression)\",\"func-tooltip\": \"Returns a date from a number\",\"help-contents\":
\"Returns a date given a number, string, or date expression. \\n\\nExample: DA
TE(\\\"2006-06-15 14:52\\\") = 2006-06-15 \\nNote that the quotation marks are r
equired.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\"],\"has-var-args\
": false},{\"name\": \"DATEADD\",\"func-sig\": \"DATEADD(date_part, interval, da
te)\",\"func-tooltip\": \"Returns the specified date incremented by the specifie
d amount\",\"help-contents\": \"Adds an increment to the specified date and retu

rns the new date. The increment is defined by the interval and the date_part. \\
n\\nExample: DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM\",\"func
-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"integer\",\"datetime\"],\"ha
s-var-args\": false},{\"name\": \"DATEDIFF\",\"func-sig\": \"DATEDIFF(date_part,
start_date, end_date, [start_of_week])\",\"func-tooltip\": \"Returns the differ
ence between two dates\",\"help-contents\": \"Returns the difference between two
dates where start_date is subtracted from end_date. The difference is expressed
in units of date_part. If start_of_week is omitted, the week start day is deter
mined by the start day configured for the data source.\\n\\nExample: DATEDIFF('m
onth', #2004-07-15#, #2004-04-03#, 'sunday') = -3\",\"func-grps\":[\"date\"],\"f
unc-arg-types\":[\"locstr\",\"datetime\",\"datetime\",\"locstr\"],\"has-var-args
\": false},{\"name\": \"DATENAME\",\"func-sig\": \"DATENAME(date_part, date, [st
art_of_week])\",\"func-tooltip\": \"Returns a part of the specified date as a st
ring\",\"help-contents\": \"Returns a part of the given date as a string, where
the part is defined by date_part. If start_of_week is omitted, the week start da
y is determined by the start day configured for the data source.\\n\\nExample: D
ATENAME('month', #2004-04-15#) = \\\"April\\\"\",\"func-grps\":[\"date\"],\"func
-arg-types\":[\"locstr\",\"datetime\",\"locstr\"],\"has-var-args\": false},{\"na
me\": \"DATEPARSE\",\"func-sig\": \"DATEPARSE(format, string)\",\"func-tooltip\"
: \"Converts a string to a date\",\"help-contents\": \"Converts a string to a da
te in the specified format. \\n\\nExample: DATEPARSE (\\\"dd.MMMM.yyyy\\\", \\\"
15.April.2004\\\") = 2004-04-15 12:00:00 AM\",\"func-grps\":[\"date\"],\"func-ar
g-types\":[\"locstr\",\"str\"],\"has-var-args\": false},{\"name\": \"DATEPART\",
\"func-sig\": \"DATEPART(date_part, date, [start_of_week])\",\"func-tooltip\": \
"Returns the specified part of a date as an integer\",\"help-contents\": \"Retur
ns a part of the given date as an integer where the part is defined by date_part
. If start_of_week is omitted, the week start day is determined by the start day
configured for the data source.\\n\\nExample: DATEPART('month', #2004-04-15#) =
4\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\"locs
tr\"],\"has-var-args\": false},{\"name\": \"DATETIME\",\"func-sig\": \"DATETIME(
expression)\",\"func-tooltip\": \"Returns a datetime from a number\",\"help-cont
ents\": \"Returns a datetime given a number, string, or date expression. \\n\\n
Example: DATETIME(\\\"April 15, 2004 07:59:00\\\") \\nNote that the quotation m
arks are required.\",\"func-grps\":[\"cast\"],\"func-arg-types\":[\"str\"],\"has
-var-args\": false},{\"name\": \"DATETRUNC\",\"func-sig\": \"DATETRUNC(date_part
, date, [start_of_week])\",\"func-tooltip\": \"Truncates the specified date to t
he specified accuracy\",\"help-contents\": \"Truncates the specified date to the
accuracy specified by the date_part and returns the new date. If start_of_week
is omitted, the week start day is determined by the start day configured for the
data source.\\n\\nExample: DATETRUNC('quarter', #2004-08-15#) = 2004-07-01 12:0
0:00 AM\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"locstr\",\"datetime\",\
"locstr\"],\"has-var-args\": false},{\"name\": \"DAY\",\"func-sig\": \"DAY(date)
\",\"func-tooltip\": \"Returns the day part of the specified date as an integer\
",\"help-contents\": \"Returns the day of the given date as an integer. \\n\\nE
xample: DAY(#2004-04-12#) = 12\",\"func-grps\":[\"date\"],\"func-arg-types\":[\"
datetime\"],\"has-var-args\": false},{\"name\": \"DEGREES\",\"func-sig\": \"DEGR
EES(number)\",\"func-tooltip\": \"Converts a value in radians to degrees\",\"hel
p-contents\": \"Converts a number in radians to degrees.\\n\\nExample: DEGREES(P
I()/4) = 45.0\",\"func-grps\":[\"num\"],\"func-arg-types\":[\"real\"],\"has-varargs\": false},{\"name\": \"DIV\",\"func-sig\": \"DIV(integer, integer)\",\"func
-tooltip\": \"Returns the integer part of a division operation\",\"help-contents
\": \"Returns the integer part of a division.\\n\\nExample: DIV(11, 2) = 5\",\"f
unc-grps\":[\"num\"],\"func-arg-types\":[\"integer\",\"integer\"],\"has-var-args
\": false},{\"name\": \"ELSE\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <ex
pr2> THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logica
l test and returns an appropriate value\",\"help-contents\": \"Tests a series of
expressions returning the <then> value for the first true <expr>. \\n\\nExample
: IF [Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'L
oss' END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": fal
se},{\"name\": \"ELSEIF\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2>

THEN <then2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical tes


t and returns an appropriate value\",\"help-contents\": \"Tests a series of expr
essions returning the <then> value for the first true <expr>. \\n\\nExample: IF
[Profit] > 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss'
END\",\"func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{
\"name\": \"END\",\"func-sig\": \"IF <expr> THEN <then> [ELSEIF <expr2> THEN <th
en2> ...] [ELSE <else>] END\",\"func-tooltip\": \"Performs a logical test and re
turns an appropriate value\",\"help-contents\": \"Tests a series of expressions
returning the <then> value for the first true <expr>. \\n\\nExample: IF [Profit]
> 0 THEN 'Profitable' ELSEIF [Profit] = 0 THEN 'Breakeven' ELSE 'Loss' END\",\"
func-grps\":[\"logic\"],\"func-arg-types\":[],\"has-var-args\": false},{\"name\"
: \"ENDSWITH\",\"func-sig\": \"ENDS

Вам также может понравиться