首页 »
资源 » 此处
磁贴表示 Envision 中仪表板的构建块。下文列出了 Envision 支持的所有磁贴。
磁贴语法
磁贴的通用内联语法如下:
show table "hello" a1c2 tomato with
x
sum(y)
avg(z)
group by [x,a]
order by [max(y), b] desc
磁贴名称(上文中为
table
)后面的第一个参数为磁贴的
标题。标题后面为磁贴在仪表板中的位置和大小,位置按类似于 Excel 的网格编码(即字母指示列,数字指示行)。最后是指定颜色,指定的颜色可以为
Web 颜色,或为不含
#
号的十六进制名称(例如西红柿的颜色为
FF6347
)。
- 大部分磁贴在
with
关键字后可以传递多个参数。 group by
语句为可选语句,支持多个表达式。在使用 group by
时,表达式中应注明聚合器,除非是已进行预先聚合。order by
语句为可选语句,同样支持多个表达式。语句 desc
可以忽略。如果存在此语句,则表明按降序订货。
with
关键字后作为参数传递的表达式自动通过 Envision 赋值,从而将输入数据作为磁贴的表处理。该输入表可使用以下语法导出:
show table "hello" a1c2 tomato export:"/mytable.tsv" with x, y, z
系统支持文件格式 CSV、TSV、XLSX (Excel) 和 RFF(原始平面文件)。如果指定的文件扩展名未知,则导出将触发错误。
此外还可以使用多个
export
语句将磁贴同时导出到两个或更多个位置:
show table "hello" a1c2 tomato export:"/foo1.tsv" export:"/foo2.tsv" with x, y, z
实际上,由于磁贴的完整语句往往较长,因此 Envision 还提供了磁贴块语法:
show table "hello" a1c2 tomato export:"/foo1.tsv" export:"/foo2.tsv" with
x as "My Name"
sum(y) as "My total" unit: "$"
avg(z)
group by [x, a]
order by [max(y), b]
颜色作为运行时选项
磁贴颜色的紧凑式内联语法有一个缺点:不能通过程序挑选颜色。但 Envision 提供了将颜色指定为命名选项的功能:
isMonday := today() mod 7 == 0
myColor := isMonday ? "black" : "red"
show label "Monday is Black" color: myColor
选项
color
应为标量文本值。在上例中,磁贴颜色随当前日期而异。星期一为黑色,其余日期为红色。
声明磁贴
如果不满足数据中的特定条件,该磁贴会专门将运行标记为“失败”。
with
关键字后面可以列出条件列表。
show assert "My flags" with
count(Id) > 20 as "More than 20 items found",
sum(Orders.1) > 20 as "More than 20 orders found"
条形图磁贴
该磁贴拟用于显示条形图。
with
关键字后传递的表达式提供聚合器。支持显式
group by
语句。
show barchart "Stock per Brand" unit: "$" with
sum(StockOnHand * PurchasePrice)
group by Brand
该磁贴级别可用的选项如下:
color
(标量文本):绘制条形时使用的主要颜色。download
(标量文本):从仪表板下载磁贴时的文件名。export
(标量文本):.磁贴内容的本地文件名。unit
(标量文本):与数值相关的默认单位。
不支持列选项。
表单磁贴
该磁贴拟用于显示一个表单,表单之值可从仪表板视图中手动输入。所列出的要在该磁贴中显示的变量将附在
Form
虚拟表中。
show form "My settings" with
Form.myValue as "My Value"
Form.secondValue as "Second Value"
表单中定义的变量始终为标量。标量类型根据其在脚本中的使用情况推断。在表单中可以列出多个变量。根据经验,我们建议为高度(涵盖的网格行数)赋予 N+1,其中 N 表示
with
后面列出的
Form
输入变量的个数。
直方图磁贴
此磁贴用于显示直方图。与
barchart
不同,直方图的条形为垂直条形。在直方图磁贴中,只需提供一个数值向量作为参数。
show histogram "Quantities ordered" with
Orders.Quantity
此外,直方图磁贴还可以用于显示标量分布:
show histogram "Poisson Law" with poisson(3)
如果您生成了概率需求预测,需要选择一个项目。这个过程可以用以下语句实现:
where Id == "123"
show histogram "My Forecast" with same(Demand)
该磁贴级别可用的选项如下:
color
(标量文本):直方图使用的主要颜色。unit
(标量文本):对数值应用的默认单位。
提供列级别的选项。
标签磁贴
该磁贴纯粹用于在仪表板中显示文本片段。这种磁贴最简单,无任何输入数据。
show label "Hello World"
徽标磁贴
该磁贴用于显示公司徽标,所显示的是位于您的 Lokad 帐户根目录中的图片文件
logo.png
或
logo.jpg
。如果您尚未上载此类徽标文件,磁贴会建议您上载相应的图片文件。建议的徽标尺寸为 150x70 像素(一列宽)或 310x70 像素(两列宽)。
show logo "My Company"
线形图磁贴
该磁贴拟用于显示
时序,其输入为按日期索引的数据。在
with
关键字后面可以将多个表达式作为参数传递。
Week.sold := sum(Orders.NetAmount)
show linechart "Week sold/purchased" unit: "$" with
Week.sold as "Sold" color: "red"
sum(PO.NetAmount) color: "blue"
尽管可以像其他任何磁贴一样在磁贴级定义颜色,但也可以指定每行要绘制的颜色,如上所示。
此磁贴级别可用的选项如下:
color
(标量文本):绘制第一条线时使用的主要颜色。unit
(标量文本):对数值使用的默认单位。
列级别可用的选项有:
color
(标量文本): 与列相关的线使用的颜色。
饼形图磁贴
该磁贴拟用于显示饼形图。
with
关键字后面传递的表达式应提供聚合器。支持显式
group by
语句。
show piechart "Stock per Brand" unit: "$" with sum(StockOnHand * PurchasePrice) group by Brand
绘图磁贴
此磁贴用于显示函数
f(x)=y。
show plot "My function" with T.X, T.Y
可用的磁贴级选项如下:
color
(标量文本):显示绘制的线时使用的主要颜色。unit
(标量文本):默认对数值应用的单位。
摘要磁贴
此磁贴用于收集多个标量值,通常为收集 KPI。每个值可以关联一个标签和一个单位。
show summary "Key stock figures" a1b2 with
sum(StockOnHand) as "Units on hand"
sum(StockOnOrder) as "Units on order"
sum(Stock * BuyPrice) as "Stock value" unit: "$"
表格磁贴
table
是 Envision 提供的用途最多的磁贴。此磁贴用于显示表格,并且表格可以作为平面文件导出。
show table "Top sellers" export:"/tops.tsv" with
Supplier as "Supplier Name"
Category as "Category"
sum(Orders.NetAmount) as "Sold" unit:"$"
group by (Supplier, Category)
order by sum(Orders.NetAmount) desc
表格磁贴对
group by
和
order by
聚合选项均提供支持。对于二者,可提供元组,不提供单一值。
磁贴级选项
表格磁贴支持在
磁贴级定义的多个选项。这些选项在磁贴后面指定,如下所示:
show table "options" color: "red" unit: "$" with 123
可用的选项列表如下:
color
(标量文本):磁贴使用的主要颜色。date
(标量文本):日期列的默认日期格式(有关格式规范,请参阅下文)。download
(标量文本):用户从仪表板下载磁贴时使用的默认文件名。export
(标量文本):表格内容在 Lokad 帐户中的存储路径。例如 "export: "/foo/bar.csv"
。允许编写多个 export
选项,会相应创建多个导出。numbers
(标量文本): 数值列的默认数值格式(有关格式规范,请参见下文)。precision
(标量数值):定义所有数值列在小数点后显示多少位数字。quotes
(标量布尔值):如为 true
,强制在生成的 CSV 或 TSV 文件两旁加上引号。默认值为 false
。unit
(标量文本):显示数值时使用的默认单位。
列级选项
提供列级选项对列自身有好处。该语法的说明如下:
show table "Some column-level options" with
Id as "Produce ID"
StockOnHand as "On Hand" unit: "ea"
BuyPrice unit: "$"
列级选项列表如下:
date
(标量文本):此列的日期格式(有关格式规范,请参阅下文)。display
(标量布尔值):指示仪表板中是否显示此列。默认值为 true
。如果其意图是只将此列导出到文件中,那么可以不显示此列。export
(标量布尔值):指示此列是否导出到文件中。默认值为 true
。如果其意图是只在仪表板中显示此列,则可以不导出此列。numbers
(标量文本):数值列的数值格式(有关格式规范,请参见下文)。precision
(标量数值):定义一列的小数点后显示多少位数。quotes
(标量布尔值):如为 true
,强制在生成的 CSV 或 TSV 文件两旁加上引号。默认值为 false
。unit
(标量文本):显示一列的数值时使用的单位。
日期格式字符串
日期格式字符串是一种微型语法,可用于指定日期在表格磁贴中的格式。例如:
show table "Last sold" date: "yyyy-MM-dd" with max(Orders.Date)
可用的标记如下:
d
:一月当中从 1 号到 31 号的日期dd
:与 d
相同,但带前缀 0ddd
:星期几的缩写(如 Mon、Tue...)dddd
:星期几的完整表示 (Monday...)MM
:从 1 到 12 的月份数。MMM
:月份名称缩写(例如 Jan、Feb...)MMMM
:完整的月份名称(例如 June)yy
:从 00 到 99 的年份,忽略了百位和千位。yyyy
:四位数的年份。
输出字符串中使用的其他任何字符。
数值格式字符串
数值格式字符串是一种微型语法,可用于指定数值在表格磁贴中的格式。例如:
show table "Total sold" number:"1,000.00" with sum(Orders.NetAmount)
这种语法模拟了数值所需的实际输出:
- 第一个 1 后面的字符为千位分隔符,可以忽略。
- 最后一个 0 前面的字符为小数点分隔符,可以忽略。
单值显示
当
table
磁贴仅包含一列和一行时,表格显示会调整为单值显示。
show table "Total Stock Value" with sum(StockOnHand * BuyPrice)
树状图磁贴
treemap
磁贴用于显示
树状图。树状图可以更好地把握元素在较大数据集中的相应高度。这种磁贴有两个参数:第一个参数为
标签,第二个参数为
值。之后将通过
group by
语句指定分组。
show treemap "Stock Value" with Name, StockOnHand * PurchasePrice group by Category
由树状图显示的单元格与值之和成正比。
上载磁贴
upload
磁贴的作用是方便直接从 Envision 仪表板上载小文件,而无需来回导航到 Lokad帐户中的
Files
区域。在考虑涉及许多参数的复杂模拟器时,相比在网页中输入所有这些值,将所有参数收集到电子表格中往往比较简单。尽管可以像 Lokad 帐户中的任何其他文件一样上载这样的电子表格,但如果可以直接从仪表板上载,那就更实用了。
upload
磁贴恰恰是为了支持此类用例。
read upload as MySuppliers[*] with
SupplierId : text
SupplierQuota : number
SupplierCountry : text
show upload "Supplier settings" with MySuppliers.*
与其他磁贴不同,
upload
磁贴与相应的
read upload
语句紧密结合。事实上,这种语法提供了一种处理用户上载数据的方法,就如同 Envision 可以访问的其他任何表一样。通过该语法,您可以指定要在仪表板中上载的表格列的预期格式。此外,与任何其他数据输入一样,Envision 提供对之前处理的上载文件的完整版本化。之前上载的文件可以从仪表板的“运行历史记录”链接重新下载。
任何有权访问仪表板的用户都可以访问该
上载功能,而无需用户访问 Lokad 帐户的文件存储区域。因此
upload
磁贴也可以提供更细粒度的用户访问。