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 delete desc each else enum expect export fail false for group if import in into keep loop match mod montecarlo not or order over params process read return sample scan show sort span table then true unsafe when where with write
Contextual keywords: assert barchart boolean chart date flagset form histogram interval label latest linechart logo max min markdown month nosort number partitioned piechart plot private pure ranvar scatter scalar single slicepicker slicetree small summary tabs text upload week whichever zedfunc
Keywords reservd for later: define draw foreach index until while
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 noGrad percent random.binomial random.integer random.logLogistic random.negativeBinomial random.normal random.poisson random.shuffle random.uniform ratio regularizationTerm round roundNext sin sqrt tanh
Text: concat contains containsAny containsCount endsWith escape field fieldCount fieldr indexOf lowercase padLeft parseDate parseNumber parseTime printTime replace startsWith strlen substr text trim tryParseDate tryParseNumber tryParseTime tryParseWeek uppercase
Calendar: yearChinese yearEndChinese yearStartChinese date dayNum format yearISO 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 transform truncate variance
UX: Slices 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
Sets: flag emptySet union intersection complement isSubsetOf contains popCount.
Special: assertfail Files forex lastForex hash iscurrency mkuid nameof 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 tabs treemap upload
Special tables
The special tables do not behave exactly like the other tables: