Quick BI取数模型深度剖析

开发图表最关键的点在于选择准确的图表类型展现准确的数据,而准确的数据每每依赖于一个强大的取数模型,所以设计一个好的取数模型不只能够解决数据安全的问题,更能够帮助每一个访问者高效触达本身想要的数据,开发者能够经过使用Quick BI创建起多层次多粒度的取数模型。数据库

在构建取数模型前,简单介绍一下数据集的概念。Quick BI 目前已经支持为20多种数据库创建链接,创建链接后咱们会在系统内为每一个链接生成一个逻辑实体称之为数据源。经过预览数据源能够查看对应数据库下面的物理表信息,并可以基于这些物理表建立数据集, 每一个数据集都是基于物理表加工和建模后的标准OLAP模型。在Quick BI 中, 对用户表数据的读取和加工通常都是基于数据集模型的。安全

目前,Quick BI中的取数模型包括如图1所示的两层:ui

图1 Quick BI中的取数模型url

第一层:设计

数据集过滤器,在Quick BI中数据集能够被多个仪表板的多个图表所引用,经过将过滤器设置在某个数据集上,空间内的数据开发人员能够确保全部引用该数据集的图表分析人员访问到的数据都受到范围限制。blog

根据过滤器的做用范围能够划分为全局过滤器和行级权限过滤器。继承

一、全局过滤器ci

顾名思义是会影响到全部引用该数据集的图表和用户,设置定后能够经过刷新预览功能来核对过滤后的数据,经过图2的方式能够设置全局过滤器。开发

图2 数据集全局过滤器get

二、行级权限

可让数据开发人员根据图表访问者的帐号、标签或所属的用户组来定制其能够访问的数据范围,设置在用户级的过滤器会以“or”的方式继承其所属用户组的过滤器,经过图3的方式在数据集列表上能够设置行级权限过滤器。注意,使用这两种方式设置在度量上的过滤器都是明细级的过滤器,未作任何聚合。

图3 行集权限过滤器

第二层:

图表级过滤器,这类过滤器在设定时会指定做用的图表范围,只有选中的图表显示数据时才会受到影响。在此基础上,还能够根据做用的方式分为设定式和触发式。

一、设定式过滤器

由仪表板开发者在编辑模式下设置,预览模式下用户没法改变过滤器的设置,做用范围内的图表也会一直受到过滤器的限制,设定式过滤器包含了内部过滤器和全局参数。

1.1内部过滤器

只会做用于当前图表,当被设置成度量过滤器时还能够选择聚合方式,聚合方式支持sum、 cnt、max、min、avg、cntd, 它的设定方式是在仪表板编辑模式下经过拖拽数据集字段来设定如图4所示。

图4 内置过滤器

1.2全局参数

须要生成参数名并设置做用范围,其做用机制是经过拼接url参数来完成条件的注入的,拼接格式以下:

param=[{"paramKey":"moci","joinType":"and","conditionList":[{"operate":"=","value":"华北"}]}]

,用户能够直接修改url参数内容来达到数据控制,也能够在邮件订阅和图表跳转功能中快捷引用, 它的设定方式是在顶部菜单中选择全局参数来设定如图5所示。

图5 内置过滤器

二、触发式过滤器

可以在编辑模式设置初始值,在预览模式下也能够经过特定的操做来改变关联图表的显示数据,查询条件和联动参数属于触发式过滤器。

2.1查询条件功能很是强大,它支持让报表开发者自由的选择字段,选择聚合方式,设置做用图表,设置过滤初始值以及设置待选范围,而预览者能够在开发者限定的范围内自由切换过滤条件,其设定方式如图6所示。

图6 查询条件

2.2联动参数是创建在图表之间的一种做用关系,在可配置联动图表上配置了联动字段和做用图表后,预览者能够经过点击联动图表的某些区块来达到为被联动图表同步注入过滤条件的目的,其设定方式是先选择要联动的图表,而后在高级区域进行配置,如图7所示。

图7 联动参数

上述几种过滤器应用的场景各不相同,他们是经过AND的方式相互叠加的,仪表板编辑模式下图表菜单里有一个强大的查看SQL功能,能够看到当前取数模型生成的SQL语句,方便开发者对当前的取数模型进行调整。在真实的业务场景中的每每要组合他们中的一到多种才能创建起完成的取数模型,以一家销售公司为例,经过使用全局过滤器过滤掉无效数据,经过使用行级权限来控制每一个销售团队只能看到本身辖区的销售结果汇总,经过使用全局参数来生成不一样的连接给每一个预览者看到关注产品的销售汇总,经过查询条件和过滤器来控制和切换不一样客户的销售数据,经过联动参数来方便预览者直接关联其余图表查看某个客户的具体信息。

图8 查询条件

 

原文连接

本文为云栖社区原创内容,未经容许不得转载。

相关文章
相关标签/搜索