反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

使用条件分析获取优秀员工信息

  • 文档创建者:Bernard丶
  • 历史版本:2
  • 最近更新:Leo.Tsai 于 2021-11-09
  • 1. 概述

    1.1 应用场景

    我们每月定期对员工销量总和进行计算,若销量总和大于 500,则筛选出销售量大于平均值的员工信息,写入优秀员工信息表,进行表扬嘉奖,若销量总和小于 500 则筛选出销售量小于平均值的员工信息,写入需要进步员工信息表,区域负责人和对应同学进行沟通,辅助成长。

    1.2 实现思路

    • 使用参数赋值节点获取员工销量总和,并传递给参数。

    • 使用条件分支节点判断参数值,若参数值大于等于 500,控制执行A下游节点,若参数值小于 500,控制执行 B 下游节点。

    2. 示例

    2.1 准备数据

    1)数据库中新建一张表,使用sql脚本节点,创建员工销量统计表,主键是id,如下图所示:

    drop TABLE sales;
    CREATE TABLE  IF NOT EXISTS `sales` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `name` varchar(255) DEFAULT NULL,
      `sales` varchar(255) DEFAULT NULL,
      `city` varchar(255) DEFAULT NULL,
      `prov` varchar(255) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8;
    ALTER TABLE   sales AUTO_INCREMENT=1;
    INSERT INTO `sales` VALUES (null, '张飞云', 45,'苏州','江苏');
    INSERT INTO `sales` VALUES (null, '李亮', 50,'无锡','江苏');
    INSERT INTO `sales` VALUES (null, '王大林', 70,'常州','江苏');
    INSERT INTO `sales` VALUES (null, '刘再清', 30,'无锡','江苏');
    INSERT INTO `sales` VALUES (null, '曹子云', 80,'苏州','江苏');
    INSERT INTO `sales` VALUES (null, '张强', 60,'常州','江苏');
    INSERT INTO `sales` VALUES (null, '王小明', 40,'无锡','江苏');
    INSERT INTO `sales` VALUES (null, '陈俊', 100,'常州','江苏');
    INSERT INTO `sales` VALUES (null, '周旭', 50,'南京','江苏');
    INSERT INTO `sales` VALUES (null, '柳一', 75,'南京','江苏');


    2.2 整体流程

    实现上述场景的 ETL 整体流程如下:

    2.3 实现步骤

    首先按照上图把节点拖到设计界面,给这些节点重命名,并将节点连接起来。

    创建员工销量表和为员工销量表插入数据,2 个节点操作已经在 2.1准备数据 中进行了介绍,这里从第三个节点“获取所有员工的销量总和”开始介绍。

    2.3.1 获取所有员工的销量总和

    使用参数赋值节点,获取所有员工的销量总和,并赋值给sales参数。

    2.3.2 判断销量总和是否大于500

    使用条件分支节点,控制若销量大于等于 500,执行下游节点“销量大于平均值的员工信息入库”,若销量小于 500,则执行下游节点“销量小于平均值的员工信息入库”

    2.3.3 销量大于平均值的员工信息入库

    使用离线同步节点,获取销量大于的员工信息,写入优秀员工表

    2.3.4 销量小于平均值的员工信息入库

    使用离线同步节点,获取销量小于的员工信息,写入需进步员工表。

    2.4 效果查看

    因为销量总和 sales 参数值是 600,所以执行“销量大于平均值的员工信息入库”分支,所以“销量小于平均值的员工信息入库”分支被跳过。

    附件列表


    主题: ETL作业
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526