Switch-多条件赋值

  • Last update:  2022-08-25
  • 1. 应用场景

    当需要判断条件多的时候,使用 IF 函数 可能会觉得用要对每种情况都进行判断,比较麻烦,那么可以使用 switch 函数与NVL函数结合进行多条件赋值。

    例如希望对班级进行设置:当前值是 Class1 则显示一班,如果是 Class2,则显示二班,如果是 Class3,则显示三班,否则则显示四班,如下图所示:

    2. 功能说明

    使用 SWITCH 函数NVL函数结合进行多条件赋值。

    注:不支持 Switch 函数中增加 else 判断。

    SWITCH 函数对多种情况进行判断。

    1)概述

    语法
    SWITCH(表达式,值1,结果1,值2,结果2,……)如果表达式的结果是值1,整个函数返回结果1 如果表达式的结果是值2,整个函数返回结果2,如果表达式的结果是值3,整个函数返回结果3等等。
    参数1表达式-
    参数2结果所有的结果1,结果2,结果3……必须为同类型数据。

    2)注意事项

    • 至少三个参数

    • 实时数据中参数个数至少 3 个,且结果参数类型一致。

    • 如果参数类型是日期,那么需要嵌套日期类型函数,例如SWITCH(时间,TODATE("2022/01/01"),"1")

    3)示例

    公式结果
    备注
    SWITCH(1+2,3,"今天星期三",4,"今天星期四")今天星期三

    3. 操作步骤

    示例数据:成绩表 .zip

    3.1 添加数据表

    1)将「成绩表」添加至 FineBI 。点击「我的分析」,再点击「新建分析主题」弹出上传数据窗口,选择「本地Excel文件」点击「上传数据」,如下图所示:

    2)点击「上传数据」后,弹出文件选择窗口,选择下载好的示例数据「成绩表」,点击「打开」,可以预览上传的数据,再点击「确定」,成功上传数据并创建分析主题。如下图所示:

    3.2 进行条件赋值

    1)进入数据集编辑界面,添加「新增公式列」,编辑公式:nvl(switch(班级,"Class1","一班","Class2","二班","Class3","三班"),"四班"),输入新增列名,「新增公式名」为“中文班级”,点击「确定」,如下图所示:

    注:公式中城市并非手动输入,而是在左侧字段中单击选择。  

    2)公式说明:

    公式说明
    switch(班级,"Class1","一班","Class2","二班","Class3","三班")如果数据为 Class1,则赋值为一班,Class2 则赋值为二班,Class 三则赋值为三班
    nvl(switch(班级,"Class1","一班","Class2","二班","Class3","三班"),"四班")返回第一个不是空的字段,即数据如果不是一班、二班或者三班,则返回「四班」

    效果见应用场景。

    附件列表


    主题: 数据分析进阶
    • Helpful
    • Not helpful
    • Only read

    滑鼠選中內容,快速回饋問題

    滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

    不再提示

    10s後關閉

    Get
    Help
    Online Support
    Professional technical support is provided to quickly help you solve problems.
    Online support is available from 9:00-12:00 and 13:30-17:30 on weekdays.
    Page Feedback
    You can provide suggestions and feedback for the current web page.
    Pre-Sales Consultation
    Business Consultation
    Business: international@fanruan.com
    Support: support@fanruan.com
    Page Feedback
    *Problem Type
    Cannot be empty
    Problem Description
    0/1000
    Cannot be empty

    Submitted successfully

    Network busy