数据模型

更新时间:2020-02-10

连接完数据源后,便可以将需要的多张数据表关联成一张宽表,并进行需要的数据处理(如字段重命名、新建计算字段、创建层级、调整字段顺序等操作),建立数据模型以便于进行后续的数据可视化分析工作。

新建数据模型

在空间中的「数据模型」页面即可创建数据模型,选择需要连接的数据源,输入数据模型名称即可:

图片

在「数据模型」页面中也可对空间中的所有模型做管理操作,如:创建文件夹、移动模型到指定的文件夹中、对数据模型做排序等。

添加数据表

上一步新建了数据模型后即会进入到模型的编辑页面,页面的左侧会列出数据源中的所有数据表,拖动要分析的数据表至页面中间区域:

图片

多表关联

当拖入多张数据表时,即可实现多表的关联分析(对应为 SQL 语句中的多表 Join)。多表关联时需要选定两个表关联的字段以及关联的类型(目前支持内连接(inner join)、左连接(left join)和全连接(full join)):

图片

两个表设置关联之后,维度和度量就会分文件夹的方式列出,每个维度和度量以及文件夹都可以鼠标「右键」进行增删改等多种操作,也可拖拽进行顺序的调整或者隐藏一些在分析中用不到的字段等:

图片

维度和度量是什么

维度:分析数据时的粒度

度量:指标的聚合汇总值

聚合方式:汇总的方式,如求和、均值、最大值、最小值

例如我们的官方示例数据源中的销售订单数据(sale_order):

图片

比如我们分析「各个地区的销售价格」,「地区」就是维度,「价格」就是度量,每个地区都有成百上千行数据,我们对这些数据进行了求和汇总。如下图所示:

图片

Sugar 默认会把字符型的字段归类为维度,数值型的字段归类为度量,用户也可以手动更改字段的类型。

不可枚举型维度

如果某一个字段是不可枚举型的,例如id用户名等,这类维度字段的取值个数是不可控的,并且是海量的,可设置为不可枚举型字段,如:

图片

如上设置后,在进行可视化分析时,有些地方就不可拖入这类字段,如饼图的「扇区名称」就不能拖入不可枚举型的维度:

图片

自定义 SQL 视图

如果您的数据模型需求比较复杂,例如需要使用子查询、union、复杂的数据过滤等,您可以通过 SQL 语句建立自定义 SQL 视图。

图片

用户可书写 SQL 语句来创建自定义 SQL 视图,创建成功后会出现在页面右下侧的自定义 SQL 视图中,之后就可以像操作数据源中的数据表一样,可以通过拖拽到页面中心部分与数据源中的数据表或者其它自定义 SQL 视图进行关联分析。

图片

通过将鼠标移入自定义 SQL 视图或者数据表上点击查看按钮即可预览对应的数据结构。

图片

计算字段

有些时候在分析时,需要对多个字段进行加减乘除、以及一些 SQL 函数计算(如:CONCAT、DATEDIFF、ADDDATE 等)等操作后形成一个新的计算字段,Sugar 中对度量和维度都可以新建计算字段:

图片

注意:计算字段中填写的是 SQL 表达式,而不是填写完整的 select 查询语句。

数据类型转换

Sugar 中支持转换字段的数据类,例如将字符串类型的 20200108 转换成标准化的日期类型,这样在之后的数据分析时我们就会把它当成日期类型来处理、计算和展示。

图片

数据筛选

在创建数据模型时,例如我们想让这个数据模型之后只用来分析「东北」地区的数据,而不关心其它地区的数据。此时就可以对该模型设置「数据筛选器」:

图片

点击上图中的「数据筛选器」,并新增一个筛选器,对「地区」字段做限制,只勾选上「东北」

图片

加上该筛选器之后,点击页面中间的「查询数据」,即只能看到「东北」地区的数据,之后基于该数据模型的数据可视化分析也都将只能查询到「东北」地区的数据。

更多关于数据筛选器的描述详见数据筛选

行级别权限

如果我们想要实现不同的人使用同一份报表或大屏时,可以看到不同的数据。例如:广东省的员工只能看到广东省的数据,北京市的员工只能看到北京市的数据,可以对该模型进行「数据行权限设置」:

图片

更多关于行级别权限的描述详见行级别权限管理

同步表结构

在报表制作中如遇到源表字段变化的情况,可以通过同步表结构功能进行设置,举例说明: 在下图中源表为 students,其中有四个字段 id、class_id、average 和 age。创建数据集:

图片

但是后期源表中添加了字段 gender 和 class ,此时只需对原有数据集同步表结构将新添加字段同步过来: 图片

同步表结构后 -> 刷新数据,此时就可以将数据表中新增字段和数据同步过来 图片

注:同步表结构只会同步数据表中新增加的字段。对于数据表中字段的删除、字段类型的变更不会被同步。

本页内容