envision 中的函数列表

Envision 中的函数列表


首页 » 资源 » 此处

本页列出了 Envision 支持的函数。这些函数的主要用途是在基本语法不够用时扩展 Envision 的功能。


函数语法

函数的一般语法是:
x = fun(arg1, arg2, arg3)
其中 fun 替换为函数名称,argN 是传递给此函数的参数列表(用逗号分隔)。所有函数对向量进行运算。

数学函数

  • abs(number):类似于 Excel 中的 ABS 函数。
  • ceiling(number):类似于 Excel 中的 CEILING 函数。
  • exp(number):类似于 Excel 中的 EXP 函数。
  • floor(number):类似于 Excel 中的 FLOOR 函数。
  • log(number, base):类似于 Excel 中的 LOG 函数。base 为可选参数,在忽略此参数的情况下,此参数假定为 10。
  • * max(num1, num2, num3, .., numN):类似于 Excel 中的 MAX 函数。
  • * min(num1, num2, num3, .., numN)::类似于 Excel 中的 MIN 函数。
  • norminv(number):类似于 Excel 中的 NORMINV 函数,其平均值为 0,标准偏差为 1。
  • pow(number, exponent):类似于 Excel 中的 POWER 函数。Envision 还支持幂运算符 number ^ exponent,它可以执行相同的运算。
  • round(number, digits):类似于 Excel 中的 ROUND 函数。第二个参数为可选参数,表示要保留的位数。
  • sqrt(number):类似于 Excel 中的 SQRT 函数。

文本函数

  • concat(text1, text2, ..., textN)):串联从 text1textN 的文本值。
  • contains(text, pattern):如果文本中出现这种模式,则返回 true
  • endswith(text, pattern):如果文本以这种模式结尾,则返回 true
  • indexof(text, pattern):返回文本中第一次出现的这种模式的索引;如果未出现此索引,则返回 -1。
  • lowercase(text):返回文本的小写字母变量。
  • parsedate(text, format):将文本转换为指定格式的日期。格式可选。在忽略格式时,日期根据 Envision 的日期格式自动检测行为进行解析。在提供格式时,日期根据格式预期进行解析。有关格式语法的详细信息,请参阅自定义日期格式字符串。如果日期无法解析,则返回日期 2001-01-01。
  • parsenumber(text):将文本转换为数值。解析程序运用了 Envision 的数字格式自动检测行为。如果数字无法解析,则返回 0。
  • parsetime(text, format):将一天当中的时间转换为介于 0 和 1 之间的分数,以此表示一天当中的部分时间。格式可选。如未指定格式,则使用默认值 yyyy-MM-dd HH:mm:ss。Envision 使用 .NET 自定义事件格式
  • replace(text, pattern, replacement):返回文本,其中出现的所有模式替换为替代形式。此函数与 Excel 的 SUBSTITUTE 函数相似,但略去了 instance_num 参数。
  • startswith(text, pattern):如果文本的起始处出现这种模式,则返回 true
  • strlen(text):返回文本参数的长度。
  • substr(text, start, count):由 start 定义起始位置。如果为负,表明是从字符串的结束位置偏移,否则是从字符串的起始未知偏移。count 定义返回的子字符串长度,如果 count < 0,则视为 0 处理。如果句段的起始位置或长度有部分或全部在字符串以外,例如 substr("A", 2, 1),则会进行截断以便相契合 。函数 substr(text, start) 定义为 substr(text, start, <infinity>)
  • uppercase(text):返回文本的大写字母变量。

日历函数

  • "\{myDate:yyyy-MM-dd}":通过字符串内插自定义日期格式。日期格式由分号后面的令牌指定。
  • chineseYear(date):返回以农历计算的当前年份。
  • chineseYearStart(date):返回当前年份(农历)的第一天。
  • chineseYearEnd(date):返回当前年份(农历)的最后一天。
  • date(y, m, d):返回年、月、日作为参数传递构建而成的日期。参数 ymd 应为数字。
  • monday(date):返回日期(包含在内)之前的第一个星期一。
  • month(date):返回与日期相关月份的索引,月份数自 2001 年 1 月 1 日算起。
  • monthnum(date):返回作为参数传递的日期的相应月份 (1-12)。
  • today(timezone):返回作为参数传递的时区当前的真实日期,按照与 UTC 时间差的形式表示。
  • year(date):返回作为参数传递的日期所在的相应年份。类似于 Excel 中的 YEAR 函数。
  • yearStart(date):返回当前年份的第一天。
  • yearEnd(date):返回当前年份的最后一天。
  • weeknum(date):类似于 Excel 中的 WEEKNUM(系统 2)函数。

排位函数

  • argfirst(ordering, group):根据排好序的值(排序),为组中的第一个值返回 true。组可选。在提供组的情况下,函数为每组返回一次 true。为方便起见,还会提供过载 argfirst(ordering, group) where condition。在使用 where 选项时,可能会导致其中不含 true 值的组存在,原因是整个组的条件为 false
  • arglast(ordering, group):与 argfirst() 相同,但最后一个值会返回 true
  • cumsum(number, rank, group):根据递增排序返回数值的累加和。组可选。在指定组时,用于对每个组进行局部累加。
  • fifo(V, T.D, T.Q):FIFO 库存分析助手。未售出的库存数量作为向量 T 返回。向量 V 包含总库存。表 T 包含采购订单。T.D 包含日期,T.Q 包含采购数量。此函数通过回溯采购订单,来计算未售出的数量。另请参阅 FIFO 库存方法
  • rank(number, group):返回数字排序(无限制)。类似于 Excel 中的 RANK.EQ 函数,唯一不同的是所有数字有不同的排名(采用任意名次计算规则)。组可选,在提供组的情况下,用于对每个组执行局部排序。
  • * rankd(number):返回数字排序;数字相同,排名相同。类似于 Excel 中的 RANK.EQ 函数。

图形函数

  • canonical(A, B):返回每个 A 值的正则表示。从实用角度说,该函数用于处理代码替换(例如替换 SKU 代码)。举个例子,canonical(OldSku, NewSku) 将返回递归替换后各个项目的最新 SKU。另请参阅 nonCanonical()
  • nonCanonical(A,B):只要无法计算 A 的正则表示,则返回 true。当检测到环形路径或分支路径时,便会发生这种情况。
  • connected(group):考量所有棱边 (A,B) 所描述的无向图,然后为每个节点 A 返回 A 的相连分量中最小节点的名称。此处的"最小"是指名称最短(通过字符串比较)。组可选。在提供组的情况下,数据集最先针对指定的组进行拆分。

分布函数

另请参阅分布代数

建表函数

有关详细信息,请参阅创建表

  • extend.range(N):为作为参数传递的表中的每一行创建 N 行,其中 N应为整数。
  • extend.distrib(distribution, gap, multiplier, reach):将分布延展到表中。
    {extend.billOfMaterials(...)}}:将项目的需求历史记录转换为部件的需求历史记录。

高级函数

  • forex(value, Origin, Destination, date):返回根据指定日期当日的历史汇率将货币 Origin 兑换为等额货币 Destination 后的金额。货币应采用标准的三字母代码进行编码。Lokad 运用欧洲中央银行提供的数据支持大约 30 种货币。汇率每天都会更新。另请参阅 isCurrency(),以检查货币代码是否正确。
  • hash(value):返回介于 0 至2^24-1 之间的伪内射哈希值。此函数通常用于打乱列的内容,然后根据哈希值进行排序,来对数据集随机洗牌。
  • isCurrency(currencyCode):如果作为参数传递的文本条目是 forex() 函数能够识别的货币代码,则返回 true
  • moqsolv( ... ):一种针对一般 MOQ 问题(最小订单量)的高级数值求解器。
  • priopack(R, V, S, C, J, [, B]):它是装箱算法的一种简单变体,这种算法拟用于采购优先级列表。与传统装箱算法不同,我们这种算法不仅要优化箱的容量,也要尽可能保留单元顺序。R 包含所要装箱的行的排名。V 表示每行的体积。S 是供应商的等价类,装箱根据供应商进行计算。C 是最大体积容量,其值与 V 相似,在等价类 C 中假定其为常量值。J 为不断跳动的阈值,其值与 V 相似,通常为 C 值的小几倍。B 为可选参数,可解译为“屏障”;在提供此值的情况下,不允许装箱过程对低于 B 定义的相同等价类的行重新排序。
  • stockrwd(Id, G.Proba, G.Min, G.Max, M, S, C, A)库存效益函数。该函数用于根据 Lokad 生成的概率预测结果构建优先订货策略。