反馈已提交

网络繁忙

提取简道云表单多值字段并显示为一行

  • 文档创建者:Wendy123456
  • 历史版本:10
  • 最近更新:Marlon.Zhao 于 2024-06-18
  • 1. 概述

    1.1 应用场景

    公司人员信息保存在简道云表单中,在公司内部,有些人可能会同时担任多个职位,如王小明既是总经理又在财务部工作。在王小明出差时,为了方便报销,需要将他所在的多个部门展示出来,方便后续各部门的报销费用分摊。

    1.2 实现思路

    若一个人担任多个职位,使用「简道云输入」算子读取表单数据后,字段值示例如下:

    若使用「JSON 解析」算子直接解析该字段,一个人有多个部门时,数据将会被拆成多行,例如:

    因此本文使用 regexp_replace 函数提取 department 字段中的中文即可,将部门名称提取出来。

    注:若部门名称包含英文,本文方案不适用。

    1.3 任务展示

    FineDataLink 中的数据处理过程,详情参见:https://demo.finedatalink.com/ 「提取简道云多值字段并显示为一行」。

    2.1 场景模拟

    公司出差表单中,包含「部门多选」字段,有些成员担任多个职位,属于多个部门。

    29.png

    希望将简道云数据保存到数据库中,且用一个字段代表成员的所属部门。

    2. 示例

    2.2 设置字段别名

    在简道云表单接入前,建议提前设置字段别名,否则接入到 FineDataLink 中时会使用字段原始名,不便于在 FineDataLink 中进行业务处理。

    进入简道云应用,进入需要使用表单的编辑界面,选择「扩展功能>数据推送>设置字段别名」。如下图所示:

    30.png

    2.3 准备简道云数据连接

    用户需要有一个 简道云数据连接 的使用权限,以便「简道云输入」算子读取简道云表单的数据。

    2.4 新建定时任务

    新建定时任务,拖入「数据转换」节点。如下图所示:

    2.5 读取简道云表单数据

    1)进入「数据转换」节点,拖入「简道云输入」算子,读取简道云表单数据。如下图所示:

    2)点击「数据预览」,如下图所示:

    2.6 提取多值字段部门的值并显示为一行

    1)拖入「Spark SQL」算子,筛选出 department 字段中的汉字。SQL 语句为:select *, regexp_replace(简道云输入.department ,'[^\u4e00-\u9fa5]','') as bumen from 简道云输入

    注:表名为上游节点的名称;语句不能直接复制,「简道云输入」需点击生成。

    公式含义
    \u4e00-\u9fa5

    “\u4e00”和“\u9fa5”是 unicode 编码,并且正好是中文编码的开始和结束的两个值,所以这个正则表达式可以用来判断字符串中是否包含中文

    正则表达式示例请参见:正则表达式

    regexp_replace

    字符串替换函数,详情可参见:字符串替换


    2)点击「数据预览」,bumen 字段如下图所示:

    1690792465791980.png

    2.7 解析提交人字段

    1)由于我们要把出差表单落库,需要将填写表单的用户信息解析出来。其中,需要勾选解析后保留所有上游输出字段」,若不勾选该按钮,解析后只有 creator 字段解析后的数据;JSON 节点选择 name 字段;解析后字段名称修改为提交人如下图所示:

    2)点击「数据预览」,如下图所示:

    1690792944211415.png

    2.8 输出数据

    1)拖入「DB表输出」算子,设置数据输出位置。如下图所示:

    2)调整「字段映射」,取消多余映射,只保留 name , sex , travel_time , location , duration , transportation , bumen , 提交人字段。如下图所示:

    2.9 效果查看

    1)点击「运行」按钮,任务运行成功后,如下图所示:

    2)数据库表数据如下图所示:

    附件列表


    主题: 数据开发-定时任务
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

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

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

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持