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 desc draw each else enum expect fail false foreach group if in index into keep loop match mod montecarlo not or order over read return sample scan show sort span table then true unsafe until when where while with write

Contextual keywords: assert barchart boolean 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 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.

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 avg concat count distinct first join last max median min product same single sum whichever

Logic: all any

Statistics: entropy 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 endsWith field fieldr indexOf lowercase padLeft parseDate parseNumber parseTime printTime replace sliceSearchUrl startsWith strlen substr text tryParseDate tryParseNumber tryParseTime tryParseWeek uppercase

Calendar: chineseYear chineseYearEnd chineseYearStart date daynum 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 nonCanonical partition

Ranvar: actionrwd.demand actionrwd.segment cdf crps dirac 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

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: extend.billOfMaterials extend.pairs extend.pairset extend.range extend.ranvar extend.split

Special: assertfail 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 form histogram label linechart markdown piechart plot scalar scatter summary table treemap upload