Qlik报表开发见解
因为项目需要,最近去做了Qlik Sense报表开发,学习了Qlik报表的开发方法和一些基础的开发模式,以下是我对Qlik报表开发的一些见解,个人水平有限,欢迎大神指导。
1.Qlik Sense的函数与Excel的函数用法几乎一样,熟悉Excel函数的开发人员可以迅速掌握Qlik的函数语法。
2.Qlik Sense可以很好的满足管理者的报表要求,随心所欲,从你关注的维度去展示报表,前提是你的数据模型搭的好。
3.个人认为Qlik Sense的报表开发,并不是要把以前Excel做的报表一股脑的全做到Qlik里面去,而是找出这些报表的数据关系,将数据模型撘好,至于前台报表如何展示,可以由查看报表的人员去自定义,自己需要什么样的报表就自己根据图形化界面,花个10~20分钟做出来。
4.Qlik Sense不是万能的,而且很多Excel的基本功能在Qlik Sense里面比较难做,遇到这样的报表,我认为应该分析报表的使用程度,以及在Excel里面实现的难易程度,毕竟Qlik Sense跟Excel一样只是一个工具,使用那个工具效率更高,就应该使用哪一个。而且哪些难做的功能,会影响整个应用程序(或者报表)的打开速度,而应用程序是全局的,打开的人会很多。这样算起来,为了实现一个Excel比较简单而Qlik比较难的效果,会产生多余的时间浪费(开发人员的开发时间+用户开启应用程序的等待时间),我觉得这样做是得不偿失的。
5.逻辑太过复杂的报表和人工手工处理复杂的报表,最好在实施的过程中确定报表逻辑的正确性,过于复杂的逻辑是否真的需要?是否有可行的简化方法?是否真的需要开发这个报表?
6.数据结构太复杂,我觉得最好采用独立BI数据库来进行操作。一些报表视图将取得的数据放到BI数据库中去,而Qlik Sense从BI数据库中直接抽取视图的数据,采用这种双层视图的结构,有两个优点:一、不用理会以前开发报表视图的逻辑,直接拿来用即可;二、报表逻辑简单化,便于IT人员对报表的修改和维护。不过有优点也有缺点,需要同步正式环境的DB和BI的DB数据,而且以前开发的报表视图需要执行的时间太长,那就还要考虑到同步两个数据库所花费的时间成本是否大于直接在Qlik Sense中开发视图的成本,取成本最小的即可。
7.开发报表人员需要对系统的数据结构非常数据,如果不熟悉,那简直是寸步难行。如果是乙方公司开发报表,甲方公司最好能提供报表的伪sql,这样能帮助乙方开发人员快速上手,而不是化大量的时间去理解系统的数据结构,这一点是尤为重要的。
以上只是我个人接触Qlik Sense开发近两个月的一些感悟,希望能对一些准备选型Qlik Sense产品的公司作为参考。
Qlik报表开发见解的更多相关文章
- 使用C#和Excel进行报表开发(三)-生成统计图(Chart)
有的Web项目选用Excel作为报表方案,在服务器端生成Excel文件,然后传送到客户端,由客户端进行打印.在国内的环境下,相对PDF方式,Excel的安装率应该比pdf阅读器的安装率要高,同时,微软 ...
- 犀利的报表系统,发票据与报表开发的快速利器,AgileEAS.NET SOA中间件GReport使用指南
一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...
- ReportingServies——SQLServer报表开发综合实例
如果我们安装了sqlserver2008 R2,将会自动安装一个报表开发工具 不要以为此报表开发工具只适合于sqlserver2008,其实在sqlserver2012中也是支持的,事实上我现在项目中 ...
- 报表开发工具中开放的部分图表js接口列表
1.. 描述 报表开发工具FineReport 8.0版本中开放了部分图表js接口,在具体应用的过程中很多人都不知道这些接口到底有什么作用,该怎么应用,所以根据我自己的应用在下面归纳了这些新开放js接 ...
- 报表开发工具中mysql数据库连接编码转化失效解决方案
1. 问题描述 在报表开发工具FineReport中,mysql数据库连接通过数据连接编码转换进行编码的转换,在通过报表录入往数据库中录入中文数据的时候,总是出现乱码,这个该怎么解决呢? 2. 解决方 ...
- BIEE报表开发
(1)报表开发实例结果图 (2)开发报表步骤: (1)创建分析 (2)创建仪表盘提示 (3)创建仪表盘并发布 登录网址,输入用户名和密码 1) 新建——>分析——>选择主题区域——> ...
- 【Reporting Services 报表开发】— 交互式报表
我们知道,界面是人与系统间的对话方式,当使用者面对的是冷冰冰的界面,不但会造成使用者对于系统的热情减低,也会因为不便而产生诸多抱怨.尤其像报表时企业内几乎每日都会使用到的工具,因此,如何让使用者可以再 ...
- 【Reporting Services 报表开发】— 页码编列
一.打开 SQL Server Business Intelligence Development Studio,新建项目—>商业智能项目—> 报表服务器项目,命名为CH4 二.在报表文件 ...
- 【Reporting Services 报表开发】— 表达式
一.常用的SSRS原始函数可以打开文本框的表达式中看到,如图1 图1 如下为SSRS中设计报表时常用的运算函数: 运算符/函数 说明 + 前后位数字则为加法,前后为字符串则为链接符号 - 数值减法 * ...
随机推荐
- python3 selenium 随机选择同一类型下的某一个元素
使用场景: 如上图所示,有时候,我们测试的时候,不会每个方向都选择一遍,也不能每次都选择一个方向,这个时候就需要每次运行用例的时候,随机选择一个方向来测试 使用方法: random.randint() ...
- IOS对话框UIAlertView
//修改弹出对话框的样式 alertView.alertViewStyle = UIAlertViewStylePlainTextInput; //根据索引获取指定的某个文本框 [alertView ...
- jQuery遍历节点方法汇总
1.children()方法:$('div').children()---遍历查找div元素的所有子元素节点 <p>Hello</p> <div> <span ...
- Oracle 12C 新特性之表分区部分索引(Partial Indexes)
12c之前没办法在部分或指定的分区上创建索引,12c 版本中引入了Partial Indexes(部分索引), 无论是global还是local都可以有选择性的对部分分区创建索引.分区上有索引用索引, ...
- 1.javascript节点的操作 创建、添加、移除、移动、复制、插入(修改)
(1)创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体的元素 createTextNode() //创建一个文本节 ...
- 获取JUnit的执行结果
junit执行之后会有一个结果展示,下面就来看一下怎么获取这些结果并将其存储为一个对象 junit代码如下: package test; import org.junit.After; import ...
- Java基础知识二次学习-- 第一章 java基础
基础知识有时候感觉时间长似乎有点生疏,正好这几天有时间有机会,就决定重新做一轮二次学习,挑重避轻 回过头来重新整理基础知识,能收获到之前不少遗漏的,所以这一次就称作查漏补缺吧!废话不多说,开始! 第一 ...
- elasticsearch系列(四)部署
本文采用tar包的方式部署es 准备jdk8的环境 5.4.0的es依赖jdk8及以上版本 下载linux版的jdk jdk-8u121-linux-x64.tar.gz tar -zvxf jdk- ...
- bytes与str
Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分.文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示.Python 3不会以任意隐式的方式混用str ...
- Images as x-axis labels
Open-source software is awesome. If I found that a piece of closed-source software was missing a fea ...