数据模型

更新时间:2021-07-23

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

新建数据模型

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

图片

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

添加数据表

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

图片

多表关联

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

图片

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

图片

维度和度量是什么

维度:分析数据时的粒度

度量:指标的聚合汇总值

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

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

图片

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

图片

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

不可枚举型维度

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

图片

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

图片

自定义 SQL 视图

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

图片

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

图片

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

图片

自定义 SQL 视图中嵌入用户邮箱

Sugar BI中支持在 自定义 SQL 语句中嵌入当前登录用户的邮箱(使用这种方式,您就可以让不同的用户看到不同的数据),如下语法:

图片

需要注意:如果您将大屏或报表页面进行了公开分享,并且页面中的某一个图表的 自定义 SQL 中使用上面的嵌入登录用户的邮箱,此时就会有问题,因为公开分享的页面是不需要用户登录Sugar BI账号就能直接浏览的,所以 自定义 SQL 就获取不到当前浏览的用户是谁,因此就会出错。总之,如果您的可视化页面是需要进行公开分享的,那么就不要在 自定义 SQL 中嵌入当前登录的用户邮箱。

计算字段

Sugar BI的数据模型中支持以下多种计算字段,详见计算字段

数据类型转换

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

图片

数据筛选

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

图片

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

图片

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

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

行级别权限

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

图片

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

同步表结构

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

图片

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

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

同步表结构也支持删除字段,如果表中有字段被删除,点击同步表结构后会对删除字段进行标记,之后可以在页面中将标记的字段进行删除

如「test」表中有以下字段:

图片

之后将「test」表中的「url」字段删除,此时我们点击「同步表结构」,此时会将删除的字段「url」在前端页面进行删除标识(此时字段信息还未从Sugar BI的 schema 信息中删除):

图片

然后我们可以通过「url」字段「设置」->「删除」将该字段从数据模型中删除

图片

本页内容