java 2 %3c%3c 3_塞库报表封装问题分析--一篇不太成功的问题分析报告

塞库报表封装问题分析

一、问题描述

借助saiku生成数据模型;

借助saiku生成图文文件;

———(数据、格式)——》塞库处理——〉图片报表

二、saiku原理描述

现状1:

——(数据源)——》---建模控制+权限系统——〉数据+模型—》绘图数据——>绘图引擎——> 图片——>导出接口——〉图形文件

所有的过程都在会话系统的控制下进行

现状2:(详见附录数据)

1、前端绘制:

——(源数据)—》saiku建模————〉绘图源数据—》前端绘制

2、导出绘制

绘图源数据—>svg数据——》服务器转换引擎——〉图形文件——》导出接口

——(源数据)—》saiku建模————〉

三、问题分析

1、数据模型导出分析

模型数据 = 元数据(数据库)+ 建模数据 + 导出接口

元数据 = 数据库选择 = 数据库连接选择 = 数据库连接设置 + 数据库选择接口 + 会话参量

数据建模 = 数据模型配置 + 数据库选择 + 模型设置接口 + 会话参量;

数据导出 = 会话参量 + 导出接口;

现存问题:

1)不支持多数据库连接选择

2)没有做会话参量的保存;

3)没有超级账户

连接+视图+权限

2、图文导出

模型数据—》svg——〉需要的图文格式;

模型数据—》报表数据

现存问题

1)svg

数据模型—〉js引擎—>svg—》后继处理

数据模型—〉java引擎—>svg—》后继处理

2)乱码问题

3)svg的数据数据

模型数据

saiku模型数据

的关系

———》svg数据解析

四、解决方案

1、数据方案

模型数据——》svg格式—〉图文数据

2、部署方案

saiku服务器+新开放接口——》适配服务器——〉用户

用户需求 = 数据库选择 + 模型数据配置 + 输出结果

四、技术方案

1、svg转数据

使用Java解析svg文件,以及将获取的Element转换成String

https://blog.csdn.net/genius_wolf/article/details/78794059

2、SVG与HTML5的canvas各有什么优点,哪个更有前途?

https://www.zhihu.com/question/19690014

3、Java Batik操作SVG,实现svg读取,生成,动态操作

https://my.oschina.net/yuyidi/blog/339684

Java 的 SVG 库 JFreeSVG

如何使用JFreeChart创建SVG?

五、数据分析

请求接口

1、图文导出接口

http://ns-bi.creditease.corp/saiku/rest/saiku/admin/export/saiku/chart

2、模型修改接口

http://ns-bi.creditease.corp/saiku/rest/saiku/admin/query/E504DC28-6754-E9DE-8F6C-B84CDAF4B33D/axis/COLUMNS/dimension/Measures/member/%5BMeasures%5D.%5BALL_AMT%5D

3、数据接口

http://ns-bi.creditease.corp/saiku/rest/saiku/admin/query/E504DC28-6754-E9DE-8F6C-B84CDAF4B33D/result/flattened?limit=0&_=1578560443459

附录数据

1、服务器下发数据、数据接口

cellset

0

0

value : "MeasuresLevel"

type : "ROW_HEADER_HEADER"

properties

hierarchy : "[Measures]"

dimension : "Measures"

level : "[Measures].[MeasuresLevel]"

1

value : "星火"

type : "COLUMN_HEADER"

properties

uniquename : "[dimens3.MerchantHie].[0000160]"

hierarchy : "[dimens3.MerchantHie]"

level : "[dimens3.MerchantHie].[MerchantLevel]"

1

0

value : "成功笔数占比"

type : "ROW_HEADER"

properties

成功笔数占比

hierarchy : "[Measures]"

dimension : "Measures"

level : "[Measures].[MeasuresLevel]"

1

value : "83.00%"

type : "DATA_CELL"

properties

position : "0:0"

raw : "0.8300195828187892"

2

2、导图时的请求数据

type=png&

svg=%3Csvg+xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22+font-size%3D%2210px%22+font-family%3D%22sans-serif%22+fill%3D%22none%22+stroke%3D%22none%22+stroke-width%3D%221.5%22+style%3D%22-webkit-touch-callout%3A+none%3B+-webkit-user-select%3A+none%3B+-khtml-user-select%3A+none%3B+-moz-user-select%3A+none%3B+-ms-user-select%3A+none%3B+user-select%3A+none%3B%22+unselectable%3D%22on%22+width%3D%22859%22+height%3D%22303%22%3E%3Cdefs%2F%3E%3Crect+pointer-events%3D%22all%22+width%3D%22859%22+height%3D%22303%22+fill%3D%22rgb%28127%2C127%2C127%29%22+fill-opacity%3D%220.00001%22%2F%3E%3Cg%3E%3Cg+transform%3D%22translate%283%2C3%29%22%3E%3Cg+transform%3D%22translate%28762%2C0%29%22%3E%3Cg+clip-

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值