BI报表FineBI中的常见问题1.OLAP分析的价值通过切片,旋转等数据处理方式,实现多个维度去展示每个数据,发现数据之间的相互关系,从而快速做出决策。2.EBASE和BIEE的是竞争关系么?为什么?Ebase原属于海波龙的BI产品,属于数据底层的处理板块,大概功能和数据库建模以及ETL工具差不多,后来,海波龙被ORACLE收购后,EBASE也就顺理成章的变成了ORACLE的产品。ORACLE现在面对集团性客户时,一般的打单方案使用:EBASE+BIEE,即EBASE的底层数据处理+BIEE的前段操作交互。所以,两者是配合关系,不是竞争关系。3.FineBI究竟可以连哪些数据源?1)各种文件形式数据集(Excel等,类似报表)2)常见关系型数据库3)任何带有jdbc接口的数据源注:数据源不是支持的越多越好。判断一个数据源能否支持,首先要看支持有没有意义。如果拿着我们这边的MDD+OLAP,再去连其他产品的MDD,然后我们根据别的MDD生成一下MDD再做OLAP,这就是相当于额外做了一遍MDD,属于逗你玩。如果有客户这样问,告诉他,您还没搞清什么是DS(数据源),什么是MDD。其次,要明确,我们现在的OLAP是不能独立于我们的MDD的,不是像国外某些产品可以拆开,用一个MDD用另一家的OLAP。如果用户说你们为什么不支持,就告诉他,这样切开来不是什么好事,会有种种的兼容问题,一个版本一变,另一个立刻给脸色,给工具的维护者(信息部门)增加无端的麻烦。最好肯定还是用一家的产品。最后,具体问题具体分析。首先在数据源配置的下拉列表里边找,找不到,看其有没有jdbc接口。如果两者都没有,那就是不支持。4.FineBI的MDD(多维数据库)构建FineBI的MDD(多维数据库)在构建时不会对数据源中的数据库造成任何影响。因为FineBI自动建模的过程是先将所有数据取到BI服务器上,而后进行数据操作。FineBI在构建MDD时对数据源服务器(一般情况下是生产环境)的压力很小。以关系型数据库为例,FineBI取数使用最简单的select语句将数据全部取到BI服务器本地,所有后续操作都在BI服务器操作,后续操作不会对数据源所在的服务器有任何影响。该select语句的原理是每次取很小一部分数据到内存中,而后将这部分数据传到FineBI服务器,而后将内存释放,再取一小部分数据,循环此过程,直至取数完毕。所以select语句本身对内存和CPU的压力也是很小的。5.FineBI的ETL原理Q:FineBI中推出的ETL流功能,其原理是怎样的?是否和某些典型的开源的ETL工具(如kettle)类似?Q:我有其他的数据分析工具,同时也买了FineBI带有ETL流的版本,能否用FineBI做好了ETL,然后让其他数据分析工具使用此ETL得到的结果?A:FineBI的ETL流由帆软公司进行自主研发,拥有完整的知识产权,虽然和kettle都属于流模型的ETL,但原理和kettle有很大不同,与部分BI工具厂商直接嵌入开源ETL工具的代码更是完全不同的。FineBI的ETL流功能是基于FineBI的MDD的。由于和自身的MDD高度结合,其具有构建操作方便、数据处理快、功能灵活、更新快等诸多优势。此外,由于FineBI的ETL功能是基于其MDD的,所以若想使用FineBI的ETL得到的数据必须可以连接FineBI的MDD。目前只有帆软公司的另一款产品FineReport可以直接连接FineBI的MDD,所以目前暂时不能实现除FineReport外的其他工具使用FineBI的ETL的效果。6.FineBI的ETL处理数据增量更新Q:使用你们FineBI的ETL得到的数据表可以进行增量更新吗?A:可以Q:在经典的ETL流和增量更新理论中,部分连接运算片断和聚合运算片断都会给增量更新带来巨大的障碍,这一点你们是怎么处理的?A:需要针对性执行ETL的数据表往往是分析中十分重要的表(如业务明细等),往往也就具有数据量大的特点(无论是其源表、中间表和最终的表)。传统的ETL工具在部分含有连接片断和聚合片断的ETL流中无法支持增量更新,其根本原因是因为连接片断和聚合片断会带来部分数据信息的丢失。FineBI的ETL流功能是基于FineBI的MDD的。由于和自身的MDD高度结合,其具有构建操作方便、数据处理快、功能灵活、更新快等诸多优势。具体的说,就是ETL过程中所有由运算片断造成的可能的信息丢失,其相关信息都在第一次生成最终ETL数据的同时被写入了MDD中。利用FineBI内置的记录信息机制和MDD中强大的索引机制,在进行下一次更新(增量更新)时,ETL流中的任何一个节点的数据都可以被快速还原出来,增量更新的数据对下一个节点会有何影响可以被逐一顺序推导,直至最后一张表。