表达式生成器概览

表达式生成器由两个区域组成:

  • 调色板允许您选择要插入到表达式中的字段。
  • 编辑器允许您编写表达式。

表达式生成器,其中调色板位于左侧,编辑器位于右侧

访问表达式生成器

您可以在两种模式下访问表达式生成器:

  • 只读模式:用于查看表达式逻辑,而不进行任何更改。在只读模式下时,您可以复制或下载表达式、将其作为文本捕获或对其进行测试,但无法对其进行编辑。
  • 编辑模式:用于创建和编辑表达式。在编辑模式下时,您可以执行表达式生成器工具栏部分下面列出的所有功能。

您可以通过在应用了业务逻辑的上下文中(例如,在派生属性中)单击定义表达式 “定义表达式”按钮 按钮,以任一模式访问表达式生成器。表达式生成器的打开模式取决于您之前在从其访问表达式生成器的检查器中所处的模式。如果您之前在检查器中处于编辑模式,则表达式生成器以编辑模式打开。如果您之前在检查器中未处于编辑模式,则表达式生成器以只读模式打开。

表达式生成器工具栏

通过表达式生成器中的工具栏,您可以执行复制和粘贴表达式项、从文件加载表达式以及测试表达式等功能。可以使用以下功能:

术语

使用表达式生成器时,以下概念将有助于理解:

  • 表达式由一个或多个逻辑行组成,这些逻辑行被称为语句
  • 语句是控制表达式逻辑的独立指令片段。语句有三种类型:
    • Return 语句返回值。
    • If 语句指定条件为 true 时要执行的一系列语句。您可以将 ElseElse If 语句添加到 If 语句来展开条件。
    • 注释允许您对表达式的各个部分进行注释(例如,标识在何处进行了更改)。注释仅用于提供信息,运行表达式时不会对它们进行计算。
  • 表达式项由对象和运算符组成,可以计算为值。在此示例中,表达式通过串联节点名称、添加连字符以及节点描述来派生别名属性的值:


    返回节点名称、串联的连字符以及节点属性核心描述

    该表达式有三个表达式项(外加一个可选的占位符即可添加第四个表达式项),每个表达式项用 表达式项 图标表示:

    • Node.name.concat(
    • -(连字符)
    • Node.properties.Core.Description

    表达式项在表达式生成器中用黄色背景表示,可以在语句内移动或删除每个表达式项。您还可以复制表达式项并将其粘贴到表达式中。请参阅“在表达式中复制和粘贴”。

  • 对象是表达式中代表值的元素。每个对象的数据类型确定了可为该对象提供的其他对象、方法和属性。例如,如果在表达式中选择 sourceNode 对象,表达式生成器将仅显示适用于节点数据类型的字段,例如 dimensionname。请参阅“表达式项的数据类型”。

    在表达式中选择对象后,可以通过为该对象选择属性方法进一步细化表达式。

    • 属性描述对象的一个方面。例如,dimension 对象有一个名为 name 的属性。
    • 方法在对象上执行操作。例如,concat 方法将字符串串联起来,length 方法返回字符串的长度。某些方法具有参数(即方法的输入参数)。标签描述必需的输入(例如,字符串值)。
  • 运算符在表达式中执行逻辑比较。表达式生成器支持运算符 ANDOR
  • 文字是在表达式中手动输入的常量值。例如,在语句 If Account.Type = E, return Expense 中,"E" 和 "Expense" 都是文字值。

让我们通过一个表达式示例来熟悉术语:


表达式读作:如果 FCGL_Account Type 为 E,则返回 Expense,否则返回 Non-Expense

这个表达式位于节点类型转换器上,用于在 Corporate Planning 帐户维和 Financials Cloud GL 帐户维之间进行映射。写出来,该表达式即:

对于 PLN.Variance Reporting 属性,如果源节点属性 FCGL.Account Type 等于 "E",则返回 "Expense"。否则,返回 "Non-Expense"。

屏幕截图中的此表达式包含以下元素:

  1. 三条语句
    • If FCGL.Account Type equals "E"
    • Return "Expense"
    • Return "Non-Expense"

    注:

    构建表达式时,不必添加 Else If 语句。运行表达式时,如果 IF 语句不为 true,则逻辑会移动到下一条语句。请参阅“构建表达式”。
  2. 四个表达式项
    • FCGL.Account Type equals
    • "E"
    • "Expense"
    • "Non-Expense"
  3. 一个对象:sourceNode。
  4. 两个属性:FCGL.Account Type 和 properties。
  5. 一个方法:equals。
  6. 三个文字:E、Expense、Non-Expense。