数据类型与分类

<< Click to Display Table of Contents >>

当前位置:  数据准备 > 数据集 > 数据治理 

数据类型与分类

复制链接

1. 数据类型综述

数据源的数据有数据类型的概念。随着数据类型的变化,数据的展现、对话框的输入和格式的使用都不尽相同。

在创建数据集模块上定义或修改其中字段的数据类型。例如数据源的某列数据是数字类型,但实际数据只有0和1,可从业务逻辑上表明此字段是布尔类型,就可以在界面上改成布尔类型。

数据类型分好了,还需要把其分成两类:维度和度量。一般维度是用来给数据分组,表示一个方面;而度量是用来做汇总统计的数值。

维度可以被划分成层次。根据层次的高低,用户可以向上、向下钻取。数据分箱也是维度的一种字段,用户自定义出一种划分数据分箱的字段,把数据分箱作为维度来分析数据也是很常用的使用。另外,用户还可以自定义出各种字段来实现分析需求,例如定义表达式字段、日期层次字段、数字分箱字段等。还可以定义各类分析算法。

现支持的数据类型包括文本(字符,字符串),数值(长整数,短整数,整数,字节,单精度,双精度),日期时间(日期,时间,时间戳)和布尔,见下表。

数据类型

说明

校验规则

Float

单精度浮点数

32位,范围:3.402823e+38 ~  1.401298e-45

Double

双精度浮点数

64位,范围:1.797693e+308 ~ 4.9000000e-324

Char

字符

单个任意字符

String

字符串

多个任意字符

Byte

字节

8位,范围:-128 ~ 127

Boolean

布尔

true, false

Integer

整数

32位,范围:-2147483648 ~ 2147483647

Date

日期

yyyy-MM-dd

Time

时间

hh:mm:ss

Timestamp

时间戳(日期+时间)

yyyy-MM-dd hh:mm:ss

Short

短整数

16位,范围:-32768 ~ 32767

Long

长整数

64位,范围:-9223372036854775808 ~ 9223372036854775807

Decimal/Number

高精度

-

不同数据类型的数据除了在数据存储和展现上有所区别以外,在实际的使用中也大不相同。

例如:

默认是维度还是度量,参考下文维度列和度量列表中列出的默认的数据类型;

绘制图表时,产品也会根据绑定数据类型影响轴类型的表现;

不同数据类型的度量列支持不同的聚合函数,如下文中提到的,非数值的字段无法进行求和类的聚合。

2. 维度列

维度表示数据分类的角度或方面。不同的城市是维度,不同的月份是维度,不同的数据分箱也是维度。维度有的时候也可以理解成组,按照不同的角度或方向进行分组,把数据分组来展示和汇总。理论上所有数据类型都可以表示维度,不过实际应用会默认一些非数值类型的数据是维度量,默认用来做维度的数据类型如下表所示。

数据类型

说明

String

字符串

Char

单个字符

Boolean

布尔

Date

日期

Time

时间

Timestamp

时间戳(日期+时间)

Date Hierarchy

日期的所有层次

Numeric Range

数据范围

Other

其他非数字和非日期的类型

维度的排序功能更有意义,特别是按列排序可以支持基于别的字段聚合后的值排序,还可以进行排名。细节数据不具备此功能,只有聚合数据才能排名。

维度列可以在元数据选项卡页面转换为度量列,可在数据集数据区转换,这是整个数据集级别的改动,所有使用报告的地方,都按照数据集里的划分来判断维度还是度量;还可以在数据的绑定界面上转换,这个转换只对数据的当前位置起作用。维度字段切成度量后,支持的聚合函数只有求最大值,最小值,统计个数,统计不同值个数,和近似不同值的个数,因为对非数值类型字段做求和等统计没有意义。详情请参考数据聚合

3. 度量列

度量表示可被用于衡量和统计的数值,销售,利润,成本等都是度量。因此,数值类型的数据都被划分为度量了。另外把日期,时间也划分为度量。默认用来做度量的数据类型如下表所示。

数据类型

说明

Long

长整数

Short

短整数

Integer

整数

Byte

字节

Float

单精度浮点数

Double

双精度浮点数

Decimal/Number

高精度

说明:

Decimal相比Number,可以提供更高的精度和准确性,适用于需要精确小数运算的场景,具体用法可参考_DECIMAL_KEEP_ACCURACY_

度量同样也可以变为维度。

度量支持的统计函数较多,支持所有本产品提供的统计函数。

需要自动区分数据类型是维度还是度量的场景包括:

刷新元数据。在数据集建立好后,刷新元数据的时候,需要把数据集里的所有字段自动分成维度和度量,分配规则参考上文中维度度量列默认使用的数据类型。分好后,会分别在元数据界面的两个节点上列出来。

新建计算列。在元数据界面上新建计算列,即用脚本生成字段,此时新建的计算列会根据结果的数据类型自动分到对应的维度/度量节点上。

创建了层次,日期层次,数字范围,新建分组,值映射、去空格,拆分列会自动列到维度上;缺失值填充根据原字段数据类型来判断,如果是字符串会自动列在维度上,如果是数值类型会自动列在度量上。

在制作报告的时候,创建计算列字段。在报告的绑定界面上,不会根据数据类型来分,而是根据生成的计算列字段的类型来分。细节维度字段是维度。细节度量字段和聚合度量字段是度量。