条件分支

  • Last update:  2022-06-28
  • 1. 概述

    1.1 版本说明

    FineBI 版本功能变更
    6.0-

    1.2 应用场景

    「条件分支」节点的作用就是基于一个来自于上游或者系统的条件,判断是否继续运行下游节点或者运行下游节点里面的哪一个。

    1.3 功能简介

    • 使用「条件分支」节点必须保证 ETL 任务有参数,因为「条件分支」节点的条件就是通过参数设置的。

    • 支持添加多个条件分支,指向不同的下游节点,并可对条件进行编辑。

    • 条件判断返回的值为布尔型:true 或 false,当返回值为 true 时,执行下游节点,当返回值为 false 时,不执行下游节点。

    • 不满足分支条件时,未执行的下游节点不等同于运行失败,不影响整体任务的运行。

    2. 示例

    此处给出一个示例(当天的日期时2021-12-30),每天根据机台的宕机次数,将机台对应的维护级别写到另一张表里。

    2.1 数据库表说明

    示例任务用到两张表,其表名称和字段的说明分别如下:

    edown:模拟生产环境,某个机台每天的宕机次数会自动录入该表。

    estatus:每天根据 edown 表里的宕机次数,将机台维护级别写到这个表里,不同宕机次数对应的级别不同,需要判别。

    2.2 设置参数

    1)创建一个 ETL 任务,将一个参数赋值节点拖到设计界面,如下图设置数据来源,SQL 语句的作用是将当天机台宕机次数取出来,并输出为参数。

    2)如下图设置输出参数,使用右侧的参数预览可直接查看输出的参数结果,并将节点重命名为:获取当天宕机次数。

    2.3 级别入库

    1)将一个SQL脚本」节点拖到设计界面,如下图设置,SQL 语句的作用是:将当天日期和正常级别写到 estatus 表里,并将节点重命名为:正常级别入库。

    2)再将一个SQL脚本」节点拖到设计界面,如下图设置,SQL 语句的作用是:将当天日期和一般级别写到 estatus 表里,并将节点重命名为:一般级别入库。

    3)再将一个SQL脚本」节点拖到设计界面,如下图设置,SQL 语句的作用是:将当天日期和严重级别写到 estatus 表里,并将节点重命名为:严重级别入库。

    2.4 设置条件

    1)将一个条件分支」节点拖到设计界面,上游跟参数赋值节点连线,下游跟三个SQL脚本节点连线。

    此时点击条件分支节点打开设置界面后,可以看到多了三个分支,分别对应到下游的三个节点,可以给每个分支设置判别条件,决定执行哪一个。

    2)先设置第一个分支的判别条件,当宕机次数等于 0 时,就执行该分支,如下图所示:

    其他两个分支同理设置,只是条件不同,最终设置好的效果如下图所示,并将节点重命名为:级别判定。

    2.5 运行任务

    当天的宕机次数是 6,保存并运行任务,日志处可以看到只执行严重级别入库,其他两个入库节点直接跳过了。

    任务运行成功后,可以看到 estatus 表多了一条今天的记录,如下图所示:

    3. 注意事项

    3.1 常量条件值

    直接输入常量类型的条件值,和定义参数时输入的常量格式保持一致,具体要求如下表所示:

    类型
    示例备注
    数字-单个1
    数字-数组1.4,2.6,4.8,5.6
    数字间用英文逗号隔开
    文本-单个文本1
    文本-多个'文本1','文本2'文本加单引号,用英文逗号隔开

    用文本常量值举个例子,设置如下图所示:


    Attachment List


    Theme: 数据开发
    前の記事
    次の記事
    • いいね
    • 良くない
    • 閲覧しただけ

    フィードバック

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    反馈已提交

    网络繁忙