Docs 菜单
Docs 主页
/
Atlas 图表
/ /

计算新数据字段

在此页面上

  • Considerations
  • 创建计算字段
  • 编辑计算字段
  • 删除计算字段

您可以将集合中一个或多个字段的数据合并到单个计算字段中。 例如,您可以:

  • 将以小时为单位的字段转换为以秒为单位,或将以华氏度为单位的字段转换为以摄氏度为单位

  • 用价格字段乘以数量字段,得出总数

  • 将多个行项目字段合并到一个数组以计算总计

  • 只能根据同一文档中的数据创建计算字段。

  • 您无法通过 Atlas Charts 界面转换计算字段的类型。但是,您可以在计算字段的定义中使用类型表达式运算符

  • 创建计算字段后,您可以修改其定义,但不能修改其名称。但是,如果需要重新命名,可以删除并重新创建字段。

您可以用简单表达式或 MQL 表达式操作符合并现有字段的数据来创建计算字段。

注意

计算字段的定义可以包含简单表达式语言或运算符表达式语言。 您不能在同一定义中 同时使用简单表达式语言和运算符表达式语言。

要创建计算字段:

  1. Fields 窗格的角落,单击 Add Field

  2. 选择 Calculated

  3. 输入您要定义的计算字段的 Field Name(字段名)。您可以使用点符号指定一个嵌套字段。例如,metadata.target

  4. 使用简单的表达式语言或表达式操作符输入 Value Expression

  5. 单击 Save Field(连接)。

计算字段在 Fields 窗格中以斜体显示。

您可以在计算字段中使用以下简单的表达式语言。

表达式语言
例子
字段名称
orderTotal
'orderTotal'
"orderTotal"
数字字面值
2
0.5
数学运算符
+
-
*
/
括号
( )

表达式中不包含引号字符串外的空白。

单击 Add Field(添加字段),输入字段名称和简单表达式定义,然后单击 Save Field(保存字段)。
点击放大

例子

以下示例是定义计算字段的有效简单表达式。

bathrooms 字段添加到 bedrooms 字段:

bathrooms + bedrooms

total amount 字段乘以 1.1:

'total amount' * 1.1

sensor.temp 字段中减去 32,然后乘以 5 并除以 9

(sensor.temp - 32)*5/9

可以使用表达式操作符定义更复杂的计算字段。

例子

以下示例是定义计算字段的有效操作符表达式。

price 字段乘以 0.075

{ $multiply: [ "$price", 0.075 ] }

将多个行项目字段合并到一个数组以计算总计:

{ $reduce: {
input: '$items', initialValue: 0,
in: { $sum : ["$$value",
{ $multiply: ["$$this.price",
"$$this.quantity"] }
] } } }

提示

可以在另一个计算字段的定义中使用一个计算字段。

例如,使用如下定义创建 salesTax 计算字段:

{ $multiply: [ "$price", 0.075 ] }

接下来,可以创建一个 totalCost 计算字段,在其定义中使用 salesTax 字段:

{ $sum: ["$price", "$salesTax"] }

您可以使用 $literal 操作符,将计算字段的值设置为字符串。

例子

以下字段定义分配值 my string

{ $literal: "my string" }

您可以修改计算字段的定义。

  1. Fields(字段)窗格中,单击要修改的计算字段的名称旁边的 Ellipsis (...)(省略号 (...))。

  2. 选择 Modify field

  3. 更新 Value Expression(值表达式)。

  4. 单击 Save Field(连接)。

如果在图表中使用计算字段,则图表会刷新以反映新的计算字段定义。

单击字段名称旁的省略号,然后单击“修改字段”。
点击放大

在删除计算字段时,Atlas Charts 重新对数据源进行采样,更新 Fields(字段)窗格,并刷新图表。如果将计算字段用于编码或过滤器,即使从 Fields(字段)窗格中删除,该字段仍保留在图表中。

要删除计算字段,请执行以下操作:

  1. Fields 窗格中,点击要删除的计算字段旁边的 Ellipsis (...)

  2. 选择 Remove field

单击字段名称旁的省略号,然后单击“删除字段”。
点击放大

后退

重塑数据