Envision Reference
This section catalogues the features and capabilities of both the Envision language and its standard library. This section is intended for an advance audience who has already mastered the Envision basics.
Table of contents
Keywords
The list of words that have built-in semantic in Envision.
Reserved keywords: and as at auto autodiff by const cross def default define delete desc draw each else enum expect export fail false for foreach group if import in index into keep loop match mod montecarlo not or order over params read return sample scan show sort span table then true unsafe until when where while with write
Contextual keywords: assert barchart boolean chart date form histogram interval label latest linechart logo max min markdown month nosort number partitioned piechart plot private process pure ranvar scatter scalar single slicepicker slicetree small summary text upload week whichever zedfunc
Operators
The operators below are listed in increasing order of precedence. For instance, since and
is before or
, then A or B and C
is interpreted as A or (B and C)
. Operators with the same precedence are grouped left-to-right: A * B / C
is (A * B) / C
.
..
- if then else
- (unary)
+
-
~
not
^
- (binary)
*
/
/.
mod
+
-
- (comparisons)
<
>
<=
>=
==
!=
~~
!~
in and
or
into
...
.
Aggregators
The aggregators are similar to functions, but they benefit from a richer syntax with options. Below, we list the aggregators supported by Envision.
Basic: argmax argmin argwhichever aresame count distinct distinctapprox max min product single sum
Ordered: changed concat first join last smudge
Statistics: avg entropy median mode percentile stdev stdevp
Ranvar: mixture ranvar ranvar.buckets sum
Zedfunc: sum
Functions
The primary purpose of functions is to extend the capabilities of Envision whenever the basic language syntax would not be sufficient. Below, we list the functions supported by Envision.
Mathematics: abs arground ceiling cos exp expsmooth floor log loggamma loglikelihood.loglogistic loglikelihood.normal loglikelihood.negativebinomial loglikelihood.poisson max min percent random.binomial random.integer random.loglogistic random.negativebinomial random.normal random.poisson random.shuffle random.uniform ratio round roundnext sin sqrt tanh
Text: concat contains containsany containscount endswith field fieldcount fieldr indexof lowercase padleft parseDate parseNumber parseTime printTime replace startswith strlen substr text trim tryparsedate tryParseNumber tryParseTime tryParseWeek uppercase
Calendar: chineseyear chineseyearend chineseyearstart date daynum format isoyear monday month monthend monthnum monthstart today week weekNum year yearend yearstart
Ranking: argfirst arglast assoc.quantity cumsub cumsubfallback cumsum fifo priopack rank rankd smudge
Graph: canonical connected hascycles noncanonical partition
Ranvar: actionrwd.demand actionrwd.segment cdf crps dirac dispersion exponential fillrate forest.regress int loglogistic mean mixture negativebinomial normal poisson quantile random.ranvar ranvar ranvar.periodicr ranvar.segment ranvar.uniform smooth spark support.min support.max transform truncate variance
UX: sliceDashboard sliceSearchUrl
Zedfunc: actionrwd.reward constant diracz int linear pricebrk.f pricebrk.m stockrwd.c stockrwd.m stockrwd.s uniform uniform.left uniform.right valueAt zoz
Table: by extend.billOfMaterials extend.pairs extend.pairset extend.range extend.ranvar extend.split single by whichever by
Special: assertfail Files forex lastforex hash iscurrency mkuid rgb solve.moq
Tiles
The tiles represent the building blocks of Envision’s dashboards. Below, we list all the tiles supported by Envision.
assert barchart chart form histogram label linechart markdown piechart plot scalar scatter slicepicker slicetree summary table treemap upload