创建和使用变量

变量是存储单个值的对象,该值可以是字符串、数字或日期。

创建一个变量

可以在创建变量时指定变量的值,或者使用查询表达式设置值。

“Variables(变量)”页面列出所有现有变量。单击变量的操作图标 (“操作”图标) 以编辑、刷新或删除变量。所有可用的变量也列在“工作流详细信息”页面的左侧面板中。您可以将变量用作数据流和工作流中的步骤。

要创建变量,请执行以下操作:

  1. 主页上,单击所需的“项目”标题。您将导航到项目详细信息页面。
  2. 在左侧窗格上,单击变量。此时将显示“创建变量”页。
  3. 输入变量名称。
  4. 数据类型下拉列表中,选择下列项之一:
    • 短文本 - 值可以是字母数字,可以包含特殊字符,并且不能超过 255 个字符。
    • 长文本 - 值可以是字母数字,可以包含特殊字符,并且不能超过 64000 个字符。
    • 数字 - 该值可以是数字值,并且前面可以带有减号 (-)。该值不能超过 10 位数。可能的值范围为 -999999999 到 999999999。
    • 日期 - 值为日期格式。
  5. 默认值字段中,输入要分配给变量的值。允许的值取决于您选择的数据类型
  6. 对于您修改的变量,可以单击变量旁边的“Actions(操作)”菜单以打开“Refresh Variable(刷新变量)”页面来更新值。从保留历史记录下拉列表中选择希望变量值在“刷新变量”页面中的显示方式:
    • 所有值 - 您可以查看此变量保存的所有值的历史记录。
    • 最新值 - 您只能查看为变量指定的最新值。
    • 无历史记录 - 数据转换不会保留此变量保存的值的历史记录。
    • 安全值 - 在变量包含口令或其他敏感数据时,此选项很有用。该值不会显示在“刷新变量”页面中。
  7. 输入变量的描述。
  8. 如果希望查询设置变量值,请单击刷新选项卡。选择要执行命令的连接类型和方案。输入查询,然后单击验证以检查表达式的语法。
  9. 单击保存

    新创建的变量将列在“变量”页面以及“工作流详细信息”页面左侧面板中的“变量”节点中。

在数据流中使用变量

您可以将变量用作筛选器定义,从而在数据流中使用变量。可以使用 #<variable_name> 格式引用数据流中的变量。在执行期间,变量将由值替代。

执行数据流时,将显示变量值页,其中显示已添加到数据流的变量的列表。您可以选择使用当前值、默认值,或者为每个变量设置定制值。请注意,自定义值仅应用于数据流的当前运行。对于任何后续会话,定制值都不会保留。

下面是在数据流中使用变量的示例:



在此示例中,数据流使用变量 DEVICE_TYPE 作为过滤器条件集如下所示的步骤:

MOVIESALES_CA.DEVICE = '#DEVICE_TYPE'

由于需要将替代值引起来,因此变量被引起来。由于变量值在执行过程中被替换,因此您可以将其用于许多用例,例如映射中的转换表达式。

在工作流中使用变量

“工作流详细信息”页面的左侧面板列出了可以用作工作流中的步骤的变量。

您可以在设计画布上拖放要在工作流中使用的变量。设计画布右侧提供的“Properties(属性)”面板显示有关该步骤的各种详细信息,例如以下内容。
  • 名称类型步骤序号。这些是不可编辑的值。
  • 单击链接对象下的链接可查看和更新有关变量的详细信息。
  • 操作:从以下项中选择任一项:
    • 设置变量 - 此步骤有两个函数:

      Update 设置变量的当前值。

      增量:用于对数值增加或减少指定的增量。

    • 刷新变量 - 此变量步骤通过运行变量定义中指定的查询来刷新的变量。
    • 评估变量:此变量步骤类型根据运算符将变量的值与给定值进行比较。如果满足条件,则评估步骤为“真”,否则为“假”。
  • 失败时的尝试次数
  • 两次尝试的间隔时间(秒)
  • 在日志中记录步骤 - 可以从“始终”、“从不”或“错误”中选择。

执行工作流时,将显示变量值页,其中显示已添加到工作流的变量列表。您可以选择使用当前值、默认值,或者为每个变量设置定制值。请注意,自定义值仅应用于工作流的当前运行。对于任何后续会话,定制值都不会保留。

下面是在工作流中使用变量的示例:



在此示例中,将名为 DEVICE _TYPE 的变量(值为 "iphone")用作工作流中的步骤。工作流执行以下操作:

  1. 执行“REFRESH_DEVICE”数据流。
  2. 如果 "REFRESH_DEVICE" 数据流执行成功,则执行 "Load_movies_for_device" 数据流。
  3. 如果 "Load_movies_for_device" 数据流执行成功,则执行 "IF_IPHONE" 变量求值步骤。
  4. 如果变量值等于 'iphone',则执行 "true" 的路径。
  5. 如果变量值不等于“iphone”,则执行“false”的路径。