原标题:程序数据集上的多维分析
【摘要】
当数据源不是来自文件和 SQL,而是由程序现计算出来的,这种情况在许多 BI 系统中都会出现,BI 系统自己管理数据模型,把数据库挡在后面,不会直接开放 SQL,更不会提供文件让你直接访问,访问数据都要通过程序接口(比如 JavaAPI 或 Webservice)——这样一来,想要对这些程序接口返回的结果集做多维分析看似就有些困难了。没关系!润乾多维分析分分钟就能帮您搞定! 程序数据集上的多维分析!
小编我本着先客户之忧而忧的服务宗旨,思前想后还是觉得之前的《 把 Excel 透视表搬到 WEB 上》和《 给一句 SQL 就能做多维分析》对多维分析的介绍不太够,所以今天特地再来唠唠如何对程序数据集做多维分析。
访问 JavaAPI
API是应用程序编程接口,程序开放API就是开放接口,开放后接口返回的程序数据就可以被其他程序调用了。
问题来了,在俺们多维分析中怎样才能对API接口返回的程序数据做分析呢?
简单,其实是分分钟搞定的事儿!
步骤一:
最最重要的前提,要麻烦程序猿自定义类,把要返回的结果集封装在一个静态方法中
本例小编自己写了个api,为方法传入txt文件路径,然后将txt内容以文本字符串返回。
test.txt文件内容:
自定义类TxtTest:
package api;
import java.io.*;
public class TxtTest {
//为方便对本方法的调用,此处需为静态方法
//通过对方法传入txt文件路径和是否有标题(true/false)两个参数,将txt内容以文本字符串返回
public static String readTxttoString(String pathName,boolean hasTitle)
{
final BufferedReader bfr;
final String encoding = "gbk";
final File file = new File(pathName);
String lineTxt=null;
StringBuffer buf = new StringBuffer();
InputStreamReader read = new InputStreamReader(new FileInputStream(file), encoding);
bfr = new BufferedReader(read);
while((lineTxt=bfr.readLine())!=null){
buf.append(lineTxt+"\n");
}
return buf.toStrin