FineBI学习系列之FineBI官网提供的程序数据集(图文详解)

不多说,直接上干货!

  这是来自FineBI官网提供的帮助文档

http://help.finebi.com/http://help.finebi.com/doc-view-31.html

目录:

1、描述

  由上一节BI可能通过设计器远程服务器的方式,以服务器数据集的形式来连接数据。

  这样其数据来源可以是数据库数据,还可以是其它任何类型的数据,因为BI是通过AbstractTableData抽象类来读取数据源的,而上述所有的数据来源都继承实现其抽象方法,因此BI可以用自定义类型的数据源了(程序数据集),BI引擎就能够读取定义的数据源作为报表数据源使用。下文讲述程序数据集的建立方法。

2、实现原理

  AbstractTableData抽象类主要有5个方法,如下:

//获取AbstractTableData的总列数
public int getColumnCount();
//获取AbstractTableData中第columnIndex列的列名
public String getColumnName(int columnIndex);
//判断是否存在第rowIndex行,这主要是用于处理超大数据时,完全遍历所有数据获取总行数相当困难,用这个方法来判断第rowIndex行是否存在,存在则可读取
public boolean hasRow(int rowIndex);
//获取AbstractTableData的总行数
public int getRowCount();
//获取AbstractTableData中第columnIndex列,第rowIndex行的数据
public Object getValueAt(int rowIndex, int columnIndex);
在某些应用场景中,需要在程序中对数据进行处理后再作为报表的数据源使用

3、案例

  下面我们定义数据集为如下样式:列为Name,Score,值分别为Alex,15;Helly,22;Bobby,99作为程序数据集。

  

  3.1 定义数据源程序

  定义一个类ArrayTableDataDemo继承AbstractTableData,并实现里面的方法,具体代码如下:

package com.fr.wind;  

import com.fr.data.AbstractTableData;  

public class ArrayTableDataDemo extends AbstractTableData {
    // 定义程序数据集的列名与数据保存位置
    private String[] columnNames;
    private Object[][] rowData;
    // 实现构建函数,在构建函数中准备数据
    public ArrayTableDataDemo() {
        String[] columnNames = { "Name", "Score" };
        Object[][] datas = { { "Alex", new Integer(15) },
                { "Helly", new Integer(22) }, { "Bobby", new Integer(99) } };
        this.columnNames = columnNames;
        this.rowData = datas;
    }
    // 实现ArrayTableData的其他四个方法,因为AbstractTableData已经实现了hasRow方法
    public int getColumnCount() {
        return columnNames.length;
    }
    public String getColumnName(int columnIndex) {
        return columnNames[columnIndex];
    }
    public int getRowCount() {
        return rowData.length;
    }
    public Object getValueAt(int rowIndex, int columnIndex) {
        return rowData[rowIndex][columnIndex];
    }
}  

  

  注意:

    将ArrayTableDataDemo.java编译生成ArrayTableDataDemo.class类。

  怎么做?

     用jdk 然后cmd里头命令
    或者用IDE之类的工具

 这个实现起来很简单

https://blog.csdn.net/xuehuabaobeier/article/details/44597437

    当然,你也许会出现这个问题

C:\Users\lenovo>D:

D:\>javac ArrayTableDataDemo.java
ArrayTableDataDemo.java:3: 错误: 程序包com.fr.data不存在
import com.fr.data.AbstractTableData;
                  ^
ArrayTableDataDemo.java:5: 错误: 找不到符号
public class ArrayTableDataDemo extends AbstractTableData {
                                        ^
  符号: 类 AbstractTableData
2 个错误

D:\>

   出错的原因是: 

       报错的是工具内置的jar包
       建议你用开发工具吧
       然后引入这几个java包
       然后在编译

  解决办法:

    你直接去工具的安装目录的WebReport下的WEB-INF下的lib目录下拷贝

     如果搞不清楚,直接把这几个包全部引入工具中

     保存你这个java文件就行

  这里,我使用在Eclipse里将.java 编译成 .class文件?

    答: 可以,当你点击保存的时候,eclipse已经帮你编译好了,你可以在你当前工程的目录下,找到bin文件夹,文件夹下面有编译好的你的.class文件

 

    将生成的类文件拷贝到/webapps/WebReport/WEB-INF/classes/com/fr/wind下,此时该程序数据源便定义好了。

  

    注:上面WEB-INF后面的可存放地址在BI目录中是没有的,需要自行创建。

 

  3.2 配置程序数据

  首先我们要将设计器远程到BI的服务器上。此处详见设计器远程到BI服务器上

FineBI学习系列之FineBI官网提供的服务器数据集(图文详解)

  打开服务器  ->  服务器数据集,点击加号选择程序数据集:

  进行类名选择。

欢迎大家,加入我的微信公众号:大数据躺过的坑        人工智能躺过的坑

 

同时,大家可以关注我的个人博客

   http://www.cnblogs.com/zlslch/   和     http://www.cnblogs.com/lchzls/      http://www.cnblogs.com/sunnyDream/   

   详情请见:http://www.cnblogs.com/zlslch/p/7473861.html

  人生苦短,我愿分享。本公众号将秉持活到老学到老学习无休止的交流分享开源精神,汇聚于互联网和个人学习工作的精华干货知识,一切来于互联网,反馈回互联网。
  目前研究领域:大数据、机器学习、深度学习、人工智能、数据挖掘、数据分析。 语言涉及:Java、Scala、Python、Shell、Linux等 。同时还涉及平常所使用的手机、电脑和互联网上的使用技巧、问题和实用软件。 只要你一直关注和呆在群里,每天必须有收获

对应本平台的讨论和答疑QQ群:大数据和人工智能躺过的坑(总群)(161156071) 

原文地址:https://www.cnblogs.com/zlslch/p/8627764.html

时间: 2024-10-06 14:11:36

FineBI学习系列之FineBI官网提供的程序数据集(图文详解)的相关文章

StreamSets学习系列之StreamSets的Core Tarball方式安装(图文详解)

不多说,直接上干货! 前期博客 核心安装包(Core Tarball) 该安装包包含核心的SDC软件,使该软件具有最小的软件连接器集合,当然你可以手动下载额外的节点(Stage) ①  通过Streamsets的UI进行安装,UI上点击的位置为:在该软件界面的右边(图标是一个礼物盒子...). ②  也可以通过使用CLI进行安装,安装过程如下所示: 第一步.下载该[核心安装包],比如版本为:streamsets-datacollector-core-3.3.0.tgz 第二步.解压该安装包 [[

FineBI学习系列之FineBI官网提供的服务器数据集(图文详解)

不多说,直接上干货! 这是来自FineBI官网提供的帮助文档 http://help.finebi.com/http://help.finebi.com/doc-view-30.html 目录: 1.描述 2.设计器远程连接方法及步骤 3.服务器数据集建立步骤 4.服务器数据集使用方法 1.描述 在前面章节中我们介绍了如何通过BI的数据连接功能来连接要访问的数据库,具体见 这一节介绍如何使用服务器数据集.与数据库数据集不同,服务器数据集是不随数据连接的变化而变化的,这些数据存储在BI的服务器中的

FineBI学习系列之FineBI官网提供的SAP数据集(图文详解)

不多说,直接上干货! 这是来自FineBI官网提供的帮助文档 http://help.finebi.com/http://help.finebi.com/doc-view-32.html 目录: 1.描述 2.环境准备 3.SAP数据连接 1.描述 加SAP数据集也是服务器数据集的一种情况, 但是由于SAP数据集常用而且有较多需要注意的配置,因此单独做一节进行说明.那客户SAP系统集成时,如何将SAP中的数据导入BI的服务器数据集呢?FineReport8.0版本中,将SAP数据连接功能做成一个

FineBI学习系列之FineBI与IBM DB2数据连接(图文详解)

不多说,直接上干货! 这是来自FineBI官网提供的帮助文档 http://help.finebi.com/http://help.finebi.com/doc-view-562.html 目录: 1.描述 2.操作 3.注意事项 1.描述 IBM DB2主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作系统平台下. DB2提供了高层次的数据利用性.完整性.安全性.可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令

FineBI学习系列之FineBI与IBM Informix数据连接(图文详解)

不多说,直接上干货! 这是来自FineBI官网提供的帮助文档 http://help.finebi.com/http://help.finebi.com/doc-view-563.html 目录: 1.描述 2.操作 1.描述 Informix是IBM公司出品的关系数据库管理系统(RDBMS)家族.作为一个集成解决方案,它被定位为作为IBM在线事务处理(OLTP)旗舰级数据服务系统.下面我们介绍如何在FineBI中连接Informix数据库. 2.操作 2.1 配置信息 驱动     URL  

FineBI学习系列之FineBI与HBase数据连接(图文详解)

不多说,直接上干货! 这是来自FineBI官网提供的帮助文档 http://help.finebi.com/http://help.finebi.com/doc-view-584.html 目录: 1.描述 2.操作 3.注意事项 1.描述 Hbase作为大数据平台的重要组成部分,在数据存储方面起到了至关重要的作用,因此BI连接Hbase也是必不可少的功能之一.FineBI提供的方法是通过phoenix连接hbase,下面我们将详细介绍如何进行连接. 2.操作 2.1 配置信息   驱动 URL

FineBI学习系列之FineBI与阿里云ADS数据连接(图文详解)

不多说,直接上干货! 这是来自FineBI官网提供的帮助文档 http://help.finebi.com/http://help.finebi.com/doc-view-569.html 目录: 1.描述 2.操作 3.注意事项 1.描述 阿里分析型数据库ADS是一种高并发低延时的PB级实时数据仓库,全面兼容MySQL协议以及SQL:2003 语法标准,可以毫秒级针对万亿级数据进行即时的多维分析透视和业务探索:可以使用标准 SQL.现有的商业智能 (BI) 工具和ETL工具经济高效地轻松分析与

FineBI学习系列之FineBI与Spark数据连接(图文详解)

不多说,直接上干货! 这是来自FineBI官网提供的帮助文档 http://help.finebi.com/http://help.finebi.com/doc-view-581.html 目录: 1.描述 2.操作 3.注意事项 1.描述 Spark是一种通用的大数据快速处理引擎.Spark使用Spark RDD. Spark SQL. Spark Streaming. MLlib. GraphX成功解决了大数据领域中离线批处理.交互式查询.实时流计算.机器学习与图计算等最重要的任务和问题.S

FineBI学习系列之FineBI与Transwarp Inceptor数据连接(图文详解)

不多说,直接上干货! 这是来自FineBI官网提供的帮助文档 http://help.finebi.com/http://help.finebi.com/doc-view-583.html 目录: 1.描述 2.操作 1.描述 Transwarp Inceptor交互式分析引擎提供高速SQL分析,可帮助企业建立高速可扩展的数据仓库和/ 或数据集市,结合多种报表工具提供交互式数据分析.即时报表和可视化能力.Inceptor提供完整的ANSI SQL支持以及PL/SQL过程语言扩展,可以支持复杂的数