Excel字符串截取、拼接、和透视表

数据假设

假设有表如下:

如何得到E列的数据(格式为模式名.表名,如PDM_DATA.T05_GMS_NAV_SPV_PCH_RDM_TRX_EVT)?如何由E列得到F列数据(从E类中截取表名)?

字符串拼接

在E列中输入:=C3&”.”&D3

字符串截取

首先介绍几个函数:

left函数,right函数和mid函数

left函数语法:left(text,num_chars),从左侧开始截取部分字符串

right函数语法:right(text,num_chars),从右侧开始截取部分字符串

其中:text表示要截取的字符串,num_chars表示要截取的字符数

mid函数语法:mid(text,start_num,num_chars),中间某位置开始截取部分字符串

其中:text表示要截取的字符串,start_num表示从第几位字符串开始截取,num_chars表示要截取的字符数

这里我们选取mid函数进行字符串的截取:

透视表

所谓透视表,其实就是统计表。

假设PDM中有一批表,包括一对一(未经过复杂加工),复杂视图,和经过复杂加工的表。现在我们要找出一对一的表,那么肯定要经过血缘分析,通过STG_VIEW来统计上游对应几张表。

这里要注意的是,不能通过STG_DATA,因为有部分表是其他团队开发的,没有入STG_DATA,而是入的STG_DCOR1这类。这个区我们是没有访问权限的,但是可以通过调度访问。

通过删选,并删除重复项,我们得到如下内容:

现在我们要统计,每个分析对象对应几张源表。选中这两列数据(包括抬头),在数据选项卡下插入数据透视表,结果如下:

分析对象托动至行区域,源表拖动至数据区域,点击分析对象,选统计。

那么,数据透视表就会统计出每个分析对象对应几张源表。处理结果如下:

我们可以对结果进行筛选,选出统计结果为1的,那么就是一对一的表了。

⚑Tags: