美文网首页Tableau教程
Tableau 根据身份证号计算年龄

Tableau 根据身份证号计算年龄

作者: 焦晓茜 | 来源:发表于2019-04-18 15:36 被阅读79次

Step1. 根据身份证计算出生年月

用字符串函数,截取身份证号中表示出生年月的部分。需要说明的是,有的身份证号是18位的,有的身份证号是15位的,所以这里需要做个判断。

根据身份证号,创建计算字段:

创建计算字段

计算字段的公式如下:

IF LEN([客户身份证号])=20

THEN

DATEPARSE ( "yyyyMMdd", LEFT(RIGHT([客户身份证号],13),8) )

ELSEIF LEN([客户身份证号])=17

THEN

DATEPARSE ( "yyyyMMdd", LEFT(RIGHT([客户身份证号],10),8) )

END

几个函数说明:

1. LEN(string): 计算字符串长度,因为数据源中的字符串带了双引号,所以判断的条件分别为 20位和17位

例如: LEN("abc")=3

2. LEFT(string,num_chars)、RIGHT(string,num_shars) :返回字符串的左起num_char个字符、右起第num_char个字符。大家注意哦,是左边或者右边的第一个字符开始算起的。与Excel的相似函数不同,Excel可以指明从第几个字符开始,取几个字符,tableau采取两边截取的方式。例如:

RIGHT("130131199210092334",12)=199210092334

 LEFT(RIGHT("130131199210092334",12),8) )=19921009

3.DATEPARSE :这是日期函数,将字符串更改为日期。"yyyyMMdd" 这是转换后日期的形式,y:year、m:month, d:day。

DATEPARSE ( "yyyyMMdd", ”19921009“)=1992/10月/日,可以通过如下图所示的勾选,实现字段类型的转换。

将制定字段更换为日期

Step 2:计算年龄

创建计算字段,年龄,年龄的计算公式如下

DATEDIFF('year',[出生年月],TODAY())

这个时间函数的意思是计算今天和出生年月的差值,取年的部分,例如若差值是5年6个月4天,则返回5年。

相关文章

网友评论

    本文标题:Tableau 根据身份证号计算年龄

    本文链接:https://www.haomeiwen.com/subject/xdktgqtx.html