1. 概述
在进行数据整合时,字段的拼接合并、分列必不可少。
数据集中有时候需要合并部分需求字段。
数据集中有字段结构为用某些分隔符连接起来的字符串,使用时需要拆分开只提取固定位置的字符串,或者整体拆分为多列。
2. 字段合并组合
2.1 字段直接合并
文本字段的合并是通过「+」实现的,当然也可以使用函数 CONCATENATE 。
注:类似于 Excel 中的 & 。
例如需要将姓和名拼接成一个字段「姓名」,如下图所示:
输入公式:姓+名,则将字段进行了拼接,如下图所示:
同样也可以使用 CONCATENATE 函数,如下图所示:
2.2 字段合并并用一个字符进行隔开
示例数据:地区数据分析.xlsx
如果想给每个字段加一个字符进行隔开,同样使用+即可。
例如使用示例「地区数据分析」,需要将国家、省份、城市数据进行合并,并用 - 隔开。
创建字段,命名字段并输入公式:国家+"-"+省份+"-"+城市,点击「确定」,如下图所示:
得到「地区」字段如下图所示:
3. 字段分列
根据字段内的字符,将字段拆分成多列。
在 FineBI 中通过功能一键拆分,或者使用函数创建「新增列」、仪表板新增「计算字段」实现字段的分列。
3.1 示例
示例数据:供应商信息表.xlsx
例如需要截取电话号码,示例在自助数据集中创建新字段进行分列,截取「电话」号码的最后八位构建新字段「电话号码」。
使用示例数据「供应商信息表」制作自助数据集,选择字段「联系人姓名」和「电话」。
3.1.1 方法一
在数据编辑界面点击「更多>拆分行列」,进入功能界面,如下图所示:
将字段按分隔符「-」进行拆分,拆分位置选择「第2个字段」。如下图所示:
3.1.2 方法二
选择新增列,使用 RIGHT 函数,新增列「电话号码」截取电话号码的后八位,输入公式:RIGHT(电话,8),如下图所示:
3.2 更多公式
更多分列公式见下表。
需求 | 公式 | |
---|---|---|
字符只在字段里出现一次 | 截取固定位数的字符 | 示例:RIGHT(电话,8) |
取「字符前」的字段内容 | LEFT(字段名,FIND("字符",字段名)-1) 示例:LEFT(用户账号和密码,FIND(":",用户账号和密码)-1) | |
取「字符后」的字段内容 | RIGHT(字段名,LEN(字段名)-FIND("字符",字段名)) 示例:RIGHT(用户账号和密码,LEN(用户账号和密码)-FIND(":",用户账号和密码)) | |
去掉字段后固定数目的字符 | LEFT(字段名,LEN(字段名)-需要去掉的字符长度) 示例: | |
去掉字段前固定数目的字符 | RIGHT(字段,LEN(字段)-需要去掉的字符长度) | |
字符在字段中多次出现 | 取字段中最后一次多次出现的字符后的内容 | INDEXOF(SPLIT(字段名,"_"),LEN(SPLIT(字段名,"_"))-1) 示例:INDEXOF(SPLIT(字段,"_"),LEN(SPLIT(字段,"_"))-1) |
取字段中倒数第二次多次出现的字符后的内容 | INDEXOF(SPLIT(字段名,"_"),LEN(SPLIT(字段名,"_"))-2) 示例:INDEXOF(SPLIT(字段,"_"),LEN(SPLIT(字段,"_"))-2) | |
以此类推即可实现字段分列... |