Quick BI取数模型深度剖析
开发图表最关键的点在于选择准确的图表类型展示准确的数据,而准确的数据往往依赖于一个强大的取数模型,因此设计一个好的取数模型不仅可以解决数据安全的问题,更可以帮助每个访问者高效触达自己想要的数据,开发者可以通过使用Quick BI建立起多层次多粒度的取数模型。
在构建取数模型前,简单介绍一下数据集的概念。Quick BI 目前已经支持为20多种数据库建立连接,建立连接后我们会在系统内为每个连接生成一个逻辑实体称之为数据源。通过预览数据源可以查看对应数据库下面的物理表信息,并能够基于这些物理表创建数据集, 每个数据集都是基于物理表加工和建模后的标准OLAP模型。在Quick BI 中, 对用户表数据的读取和加工一般都是基于数据集模型的。
目前,Quick BI中的取数模型包括如图1所示的两层:
第一层:
数据集过滤器,在Quick BI中数据集可以被多个仪表板的多个图表所引用,通过将过滤器设置在某个数据集上,空间内的数据开发人员可以确保所有引用该数据集的图表分析人员访问到的数据都受到范围限制。
根据过滤器的作用范围可以划分为全局过滤器和行级权限过滤器。
1、全局过滤器
顾名思义是会影响到所有引用该数据集的图表和用户,设置定后可以通过刷新预览功能来核对过滤后的数据,通过图2的方式可以设置全局过滤器。
2、行级权限
可以让数据开发人员根据图表访问者的账号、标签或所属的用户组来定制其可以访问的数据范围,设置在用户级的过滤器会以“or”的方式继承其所属用户组的过滤器,通过图3的方式在数据集列表上可以设置行级权限过滤器。注意,使用这两种方式设置在度量上的过滤器都是明细级的过滤器,未做任何聚合。
第二层:
图表级过滤器,这类过滤器在设定时会指定作用的图表范围,只有选中的图表显示数据时才会受到影响。在此基础上,还可以根据作用的方式分为设定式和触发式。
1、设定式过滤器
由仪表板开发者在编辑模式下设置,预览模式下用户无法改变过滤器的设置,作用范围内的图表也会一直受到过滤器的限制,设定式过滤器包含了内部过滤器和全局参数。
1.1内部过滤器
只会作用于当前图表,当被设置成度量过滤器时还可以选择聚合方式,聚合方式支持sum、 cnt、max、min、avg、cntd, 它的设定方式是在仪表板编辑模式下通过拖拽数据集字段来设定如图4所示。
1.2全局参数
需要生成参数名并设置作用范围,其作用机制是通过拼接url参数来完成条件的注入的,拼接格式如下:
param=[{"paramKey":"moci","joinType":"and","conditionList":[{"operate":"=","value":"华北"}]}]
,用户可以直接修改url参数内容来达到数据控制,也可以在邮件订阅和图表跳转功能中快捷引用, 它的设定方式是在顶部菜单中选择全局参数来设定如图5所示。
2、触发式过滤器
能够在编辑模式设置初始值,在预览模式下也可以通过特定的操作来改变关联图表的显示数据,查询条件和联动参数属于触发式过滤器。
2.1查询条件功能非常强大,它支持让报表开发者自由的选择字段,选择聚合方式,设置作用图表,设置过滤初始值以及设置待选范围,而预览者可以在开发者限定的范围内自由切换过滤条件,其设定方式如图6所示。
2.2联动参数是建立在图表之间的一种作用关系,在可配置联动图表上配置了联动字段和作用图表后,预览者可以通过点击联动图表的某些区块来达到为被联动图表同步注入过滤条件的目的,其设定方式是先选择要联动的图表,然后在高级区域进行配置,如图7所示。
上述几种过滤器应用的场景各不相同,他们是通过AND的方式相互叠加的,仪表板编辑模式下图表菜单里有一个强大的查看SQL功能,可以看到当前取数模型生成的SQL语句,方便开发者对当前的取数模型进行调整。在真实的业务场景中的往往要组合他们中的一到多种才能建立起完成的取数模型,以一家销售公司为例,通过使用全局过滤器过滤掉无效数据,通过使用行级权限来控制每个销售团队只能看到自己辖区的销售结果汇总,通过使用全局参数来生成不同的链接给每个预览者看到关注产品的销售汇总,通过查询条件和过滤器来控制和切换不同客户的销售数据,通过联动参数来方便预览者直接关联其他图表查看某个客户的具体信息。
Quick BI取数模型深度剖析的更多相关文章
- 阿里云Quick BI——让人人都成为分析师
在3月29日深圳云栖大会的数据分析与可视化专场中,阿里云产品专家潘炎峰(陌停)对大数据智能分析产品 Quick BI 进行了深入的剖析.大会现场的精彩分享也赢得观众们的一直认可和热烈的反响. Quic ...
- Quick BI助力云上大数据分析---深圳云栖大会
在3月29日深圳云栖大会的数据分析与可视化专场中,阿里云产品专家陌停对大数据智能分析产品 Quick BI 进行了深入的剖析.大会现场的精彩分享也赢得观众们的一直认可和热烈的反响. 大数据分析之路的挑 ...
- Objective-C类成员变量深度剖析--oc对象内存模型
目录 Non Fragile ivars 为什么Non Fragile ivars很关键 如何寻址类成员变量 真正的“如何寻址类成员变量” Non Fragile ivars布局调整 为什么Objec ...
- Quick BI 的模型设计与生成SQL原理剖析
一.摘要 随着物联网的告诉发展,数据量呈现井喷式的增长,如何来分析和使用这些数据,使数据产生商业价值,已经变得越来越重要.值得高兴的是,当前越来越多的人已经意识到了用数据分析决定商业策略的重要性,也都 ...
- BW ON HANA 业务模型关系与数据取数
在接到业务需求之后,我认为重要的是理清楚自己该做什么.来实现业务.由于不了解业务,还是走了很多弯路.本可以不用这么做,还是这么做了.自然你最傻瓜的按照用户的方式去实现是没有问题的. 会使后面的人难以维 ...
- Quick BI的复杂系统为例:那些年,我们一起做过的性能优化
背景 一直以来,性能都是技术层面不可避开的话题,尤其在中大型复杂项目中.犹如汽车整车性能,追求极速的同时,还要保障舒适性和实用性,而在汽车制造的每个环节.零件整合情况.发动机调校等等,都会最终影响用户 ...
- Objective-C类成员变量深度剖析
目录 Non Fragile ivars 为什么Non Fragile ivars很关键 如何寻址类成员变量 真正的“如何寻址类成员变量” Non Fragile ivars布局调整 为什么Objec ...
- 大众点评开源分布式监控平台 CAT 深度剖析
一.CAT介绍 CAT系统原型和理念来源于eBay的CAL的系统,CAT系统第一代设计者吴其敏在eBay工作长达十几年,对CAL系统有深刻的理解.CAT不仅增强了CAL系统核心模型,还添加了更丰富的报 ...
- LCD深度剖析
LCD 深度剖析 来源:http://blog.csdn.net/hardy_2009/article/details/6922900 http://blog.csdn.net/jaylondon/a ...
随机推荐
- Java 使用JDBC连接MySQL
// 这学期本来不打算深入学习Java的,课上的小项目也就随便写了一个简单计算器和扫雷游戏就糊弄过去.可是我们的Eliza老师偏偏什么都讲了,考虑到期末也会涉及到JDBC的内容,前些天试着学习一番. ...
- 05-python 学习第五天-简单验证码
通过python 随机数可以制作简单的验证码. 1.0版本来了,这验证码,只有一个码,功能虽然达不到,逻辑还是准确的,目前还不能算是验证码,但是我们会继续完善的. import random # 导入 ...
- hadoop settings
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys expor ...
- mac配置ls命令显示不同文件不同颜色
使用Mac看到Linux的Ubuntu终端显示的颜色是不是觉得很酷炫,是否很想自己也拥有一样变色技巧?不怕,我们也是可以的! . 打开配置文件 sudo vim ~/.bash_profile 写入以 ...
- Ionic 发布Release 版本
1.生成releases 版本 cordova build android --release 如果你在生成release版本出错,请修改build.gradle 2.生成签名文件 生成成功后会在G ...
- 子类A继承父类B, A a = new A(); 则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行的先后顺序是
按照先后顺序: 1,静态先于非静态代码库执行(静态代码块随着类的加载而加载,初始化只执行一次) 2,父类先于子类 3,非静态代码块优于构造函数执行 所以执行顺序如下: 父类B静态代码块->子类A ...
- 升级gitk后,Error in startup script: unknown color name "lime"
$ gitkError in startup script: unknown color name "greeen" (processing "-fore" o ...
- ERROR:ORA-30076: 对析出来源无效的析出字段
DEBUG:key: sql: select count(*) as col_0_0_ from jc_user cmsuser0_ where 1=1 and cmsuser0_.register_ ...
- 【JZOJ5179】【NOI2017模拟6.29】哈哈
题意 给定一个长度为n的序列,你可以进行若干次操作: 选择一个区间,删掉,并获得Val[Len]的得分,Len为这个区间的长度: 其中这个区间满足: 1.相邻两个数差的绝对值为1 2.每个数都大于相邻 ...
- css3之弹性盒模型(Flex Box)
CSS3 弹性盒子(Flex Box) 弹性盒子是 CSS3 的一种新的布局模式. CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时 ...