开发图表最关键的点在于选择准确的图表类型展示准确的数据,而准确的数据往往依赖于一个强大的取数模型,因此设计一个好的取数模型不仅可以解决数据安全的问题,更可以帮助每个访问者高效触达自己想要的数据,开发者可以通过使用Quick BI建立起多层次多粒度的取数模型。

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

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

图1 Quick BI中的取数模型

第一层:

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

根据过滤器的作用范围可以划分为全局过滤器和行级权限过滤器。

1、全局过滤器

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

图2 数据集全局过滤器

2、行级权限

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

图3 行集权限过滤器

第二层:

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

1、设定式过滤器

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

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、触发式过滤器

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

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

图6 查询条件

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

图7 联动参数

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

图8 查询条件

Quick BI取数模型深度剖析的更多相关文章

  1. 阿里云Quick BI——让人人都成为分析师

    在3月29日深圳云栖大会的数据分析与可视化专场中,阿里云产品专家潘炎峰(陌停)对大数据智能分析产品 Quick BI 进行了深入的剖析.大会现场的精彩分享也赢得观众们的一直认可和热烈的反响. Quic ...

  2. Quick BI助力云上大数据分析---深圳云栖大会

    在3月29日深圳云栖大会的数据分析与可视化专场中,阿里云产品专家陌停对大数据智能分析产品 Quick BI 进行了深入的剖析.大会现场的精彩分享也赢得观众们的一直认可和热烈的反响. 大数据分析之路的挑 ...

  3. Objective-C类成员变量深度剖析--oc对象内存模型

    目录 Non Fragile ivars 为什么Non Fragile ivars很关键 如何寻址类成员变量 真正的“如何寻址类成员变量” Non Fragile ivars布局调整 为什么Objec ...

  4. Quick BI 的模型设计与生成SQL原理剖析

    一.摘要 随着物联网的告诉发展,数据量呈现井喷式的增长,如何来分析和使用这些数据,使数据产生商业价值,已经变得越来越重要.值得高兴的是,当前越来越多的人已经意识到了用数据分析决定商业策略的重要性,也都 ...

  5. BW ON HANA 业务模型关系与数据取数

    在接到业务需求之后,我认为重要的是理清楚自己该做什么.来实现业务.由于不了解业务,还是走了很多弯路.本可以不用这么做,还是这么做了.自然你最傻瓜的按照用户的方式去实现是没有问题的. 会使后面的人难以维 ...

  6. Quick BI的复杂系统为例:那些年,我们一起做过的性能优化

    背景 一直以来,性能都是技术层面不可避开的话题,尤其在中大型复杂项目中.犹如汽车整车性能,追求极速的同时,还要保障舒适性和实用性,而在汽车制造的每个环节.零件整合情况.发动机调校等等,都会最终影响用户 ...

  7. Objective-C类成员变量深度剖析

    目录 Non Fragile ivars 为什么Non Fragile ivars很关键 如何寻址类成员变量 真正的“如何寻址类成员变量” Non Fragile ivars布局调整 为什么Objec ...

  8. 大众点评开源分布式监控平台 CAT 深度剖析

    一.CAT介绍 CAT系统原型和理念来源于eBay的CAL的系统,CAT系统第一代设计者吴其敏在eBay工作长达十几年,对CAL系统有深刻的理解.CAT不仅增强了CAL系统核心模型,还添加了更丰富的报 ...

  9. LCD深度剖析

    LCD 深度剖析 来源:http://blog.csdn.net/hardy_2009/article/details/6922900 http://blog.csdn.net/jaylondon/a ...

随机推荐

  1. 手势UIGestureRecognizer

    UIGestureRecognizer抽象类,六大手势是其子类: UITapGestureRecognizer      点击 UIPinchGestureRecognizer         缩放 ...

  2. SpringBoot学习笔记(三):SpringBoot集成Mybatis、SpringBoot事务管理、SpringBoot多数据源

    SpringBoot集成Mybatis 第一步我们需要在pom.xml里面引入mybatis相关的jar包 <dependency> <groupId>org.mybatis. ...

  3. Docker系列(十五):Openshift 简介

    1.简单了解openshift相关组件 1.openshift是基于容器技术构建的一个云平台 2.kubernetes是容器编排组件 3.docker是容器引擎驱动组件 4.openshift在Pas ...

  4. JPA 中注解的作用

    JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中.        JPA由EJB 3.0软件专家 ...

  5. idea怎么打war包

    1.上方导航栏粥找到 Buid——> Bild Artifacts... 2.弹出框中选择 3.war包打好啦,一般放在编译的 target目录下

  6. <每日一题>题目28:简单的python练习题(51-60)

    #51.一行代码实现1-100的和 sum(range(1,101)) #52.如何在一个函数内部修改全局变量 ''' 利用global ''' #53.字典如何删除和合并2个字典 ''' del d ...

  7. hue mysql连接不上数据库排查

    由于CDH所有的组件都会进行agent检测,所以先到/var/log/cloudera-scm-agent(mysql所在节点进行日志排查),可以发现每次连接会产生一个log路径作为记录hue连接my ...

  8. cdh_hadoop下载地址

    http://archive.cloudera.com/cdh5/cdh/5/

  9. bzoj4574:Zjoi2016线段树 dp

    传送门 题解传送门 //Achen #include<algorithm> #include<iostream> #include<cstring> #includ ...

  10. html如何设置表格单元格内容垂直居中?

    父元素设置为表格的单元格元素td,而在表格单元格中的元素设置vertical-align: middle; 对父容器(td)使用:display: table-cell 其内子元素使用:vertica ...