1 什么是FineBI?
FineBI是帆软软件有限公司旗下的一款数据可视化的BI工具。FineBI以自助分析为核心导向,通过简单易上手的操作流程,为用户提供最大程度的数据探索分析。
FineBI的定位与其他可视化软件不同,它除了面向IT人员以外,同样也面向业务人员,如下图所示。
即使是不懂编程技术的业务人员也能通过FineBI实现数据的可视化分析操作。
2 FineBI的定位
FineBI是一款注重自助分析的软件。具体体现在以下四个方面:
- 业务需求为导向
根据不同部门的业务需求,可对数据进行针对化处理,用以达成各个部门的不同用途,处理各方面的业务。
- 自由探索分析
相较于固定报表、Excel,能够对不同数据、不同图表做探索性分析,针对性处理不同事务。
- 便捷数据处理
较之代码、SQL处理与人工Excel计算,封装好的ETL功能更便捷、更易上手,更能满足数据处理需求。
- 数据管控
数据自动化更新,重复分析只需要做一次;权限分管,不同人只需要一个分析模板。
3 FineBI的功能
1)功能结构
- 数据层:设计用户创建数据源。
- 应用层:设计用户进行仪表板设计,管理用户配置用户和权限体系。
- 展示层:普通用户在前端进行可视化展示和分享来编辑和查看仪表板。
2)产品架构
3)核心功能概述
- 数据连接:连接多种数据源,通过 JDBC 的方式直接连接数据库,通过 FineReport 设计器 建立远程连接使用服务器数据集,同时可以使用自定义类型的数据源 程序数据集 ,以及安装插件使用的 JSON 数据集
- 关联模型:创建和读取数据库表间关联,更及时的进行数据处理分析
- 业务包/分组管理:清晰条理的数据表分组
- 自助数据集:跨表选字段、过滤、左右合并、分组汇总、多种函数计算、字段设置,强大的数据分析处理能力
- 图表/表格/过滤组件:前端鼠标拖拉拽式简便的操作即可进行探索式数据分析和展现
- 丰富多样的图表效果,表格组件、图表组件、图片组件、文本组件、过滤组件、Web 组件等多种类型组件展现多维分析结果
- 交互分析:图表联动、数据联动、数据/地图钻取、组件跳转、过滤
- 分享和查看仪表板:公共链接、直接分享、挂出分享,快速查看分享数据
- 决策平台:对于仪表板、用户、权限等统一访问、集中管理、分类维护
- 定时调度:对于常规任务,设置定时调度,服务器自动生成并发送
- 权限控制:丰富的权限认证方式和细致的权限粒度控制方案 , 更可方便实现单点登录
- 集成部署:通过独立 Web 服务器支持,可以完美部署集成
- 安全管理:修补漏洞,主动防御
简介:
shell是用户跟内核通信的一种方式,既是应用程序,也是一种脚本语言。shell脚本就是将一些shell语法与指令写在一个文件里,不需要编译,只要加上可执行权限就可以在shell解释器环境下执行。
1、定义开头,用来声明解释器
#!/bin/bash
2、注释行用#
#注释
3、给脚本加可执行权限
chmod +x shell.sh
4、运行方法,常用的如下
/path/shell.sh
或 ./shell.sh
或 bash shell.sh
或 sh shell.sh
调试脚本,执行过程中看输出
sh -x shell.sh
5、定义变量
a=1
6、引用变量
$a
或${a}
7、清除变量
unset a
8、获取用户输入
read -p a
9、参数
$1 表示执行脚本时的第一个参数
$? 表示上条命令执行后的返回值(0表示上条命令正确执行,非0表示错误)
$# 表示传给脚本的参数数量
$* 表示传给脚本的参数内容
10、转义字符
\
11、条件判断,常用的参数有:
-e 是否存在
-d 是目录
-f 是文件
-r 可读
-w 可写
-x 可执行
-s 非空文件
= 两字符串相等
!= 两字符串不相等
-z 字符串为空
-n 字符串不为空
12、数值判断
-eq 相等
-ne 不等
-gt 大于
-ge 大于等于
-le 小于等于
-lt 小于
13、命令控制
&& 表示左边命令执行成功了才执行右边命令
|| 表示左边命令没有执行成功才执行右边命令
14、if判断控制,格式如下(注意[]中的条件两边有空格隔开)
if [ 条件 ];then
...
elif [ 条件 ];then
...
else
...
fi
15、case判断,格式如下
case $a in
"内容")
...
;;
"内容")
...
;;
*)
...
easc
16、for循环,例如输出1~10
for ((i=1;i<=10;i++))
do
echo $i
done
17、while循环,break用来跳出循环,continue用来结束本轮循环
while [条件成立]
do
...
done
18、定义函数,有两种格式,return可用来提前结束函数并带出返回值
函数名 (){
...
}
function 函数名 (){
...
}