Smartbi电子表格软件架构与差异化特色

Smartbi电子表格软件选择与Excel结合原因在于Excel一直被模仿,从未被超越。虽然市场上的报表软件很多,但存在太多的不完美。国外的产品功能复杂、难于学习(控件方式),做不了中国式复杂格式的报表;国内厂商相继模仿Excel,虽然创新了“类Excel”的报表模型,解决了复杂格式的问题,但那终究不是Excel,Excel众多的优秀特性也无法通过模仿获得,尤其在Office 2013之后!

 

微软CEO纳德拉(2016年7月)曾说过:Excel比Windows更伟大,此前人们难以理解数据的意义,而现在每个人都能做到。 纳德拉表示,Excel是微软带给世界的伟大创造。事实上,Excel极大简化了数据和数字分析工作,令数据互通更加方便,令全球企业的办公效率大幅提升。

作为国产BI厂商,我们也一直在思考:为什么几乎所有的软件都要求导出Excel文件,甚至所有的BI和报表软件也有导出Excel功能?为什么我们自己的管理也依赖Office Excel/WPS表格?因为Excel才是最灵活、最通用的报表设计工具,而且还能随意加工处理数据,不受制于相对难理解的SQL等开发技术!

如果我们能正视Excel对于企业管理的价值,将其不擅长的权限管理、处理性能、报表发布等问题解决掉,就可以实现强强联合,赋予传统办公软件以新的生命力。

产品架构的简单介绍

报表软件也是基于网络环境的企业级软件,按照通常的体系架构划分,无外乎B/S或C/S,但两者都存在各自的优势和劣势。前者(B/S)更为流行,很多报表引擎都是纯浏览器模式的,但其功能的复杂度和灵活性不如后者(C/S),反之后者存在维护和管理的缺陷,不如前者拥有更强的适应性和可管理性。

Smartbi于2013年创新了“准B/S架构”的报表软件,其基本的架构如下图:

 

补充说明:

  1. 【最重要】报表开发过程和运行过程是分离的,开发过程使用Excel(或WPS表格),但运行过程是不需要Office或者WPS
  2. 报表设计成果是需要保存在Smartbi中的,具体位置为“知识库”,如果使用exe方式一键安装,这个知识库是自带安装的Mysql,数据库名称为电子表格软件
  3. 报表浏览的格式为HTML5,可以被浏览器、APP、平板打开;
  4. 由于Excel报表是在JAVA服务器解析为HTML的,如果报表使用VB宏,是不支持的;
  5. 如果没有绑定数据库,也是可以发布的,其中静态数据都随着报表保存在知识库

如何理解“准B/S”

我们都知道B/S是完全基于浏览器的,但电子表格软件报表设计器需要安装4MB的程序,并结合Office Excel和WPS表格使用,除此以外B/S的特征都是符合的,下表和主流C/S报表软件进行了对比,更有利于理解之间的差异:

 

要点说明:

  1. 我们的插件既然依赖Office或WPS,就离不开Windows操作系统;(这里强调的是设计报表的电脑,不是服务器和最终浏览电脑)
  2. 我们的插件只有4MB,无论在安装升级和使用中都基本无性能和空间的感知;
  3. 我们的插件的登录方式和浏览器登录方式一样,输入账号密码(有记忆功能),无需本地激活和配置数据库连接,但前提就是需要先安装好服务器端;

怎样利用好这个架构

电子表格软件是Smartbi(厂商)的产品,也是众多BI功能中的1个,Smartbi自始至终在发展“统一平台”的能力,包括元数据管理、权限控制、运维管理等平台级功能,这也是Smartbi立足于国内BI的根基。因此,理解并用好准B/S的报表软件,就要有报表管理或者开发管理的概念(实际可能不需要单独的人)。

按照“管理员”、“工程师”和“使用者”三个角色来规划软件的使用是非常关键的,也能最恰当的理解我们的架构和功能设计。

 

系统管理员的角色职责是系统运维和开发管理

  • 系统运维实现对知识库的管理、监控并优化系统,以确保系统的稳定和可用;
  • 开发管理不仅可以提供基础的开发条件,如数据源、用户权限等,更可以定义公共参数、转换规则、业务主题等可复用的开发资源,提高报表开发的规范性和一致性。

报表工程师的角色职责是数据准备和报表开发

  • 数据准备可利用系统提供的数据资源,也可以导入本地Excel文件作为数据源;
  • 报表开发是产品的核心功能,开发人员在Excel界面中完成表样的设计、数据的绑定、图形的定义、交互的设计。

报表使用者的角色职责是监控和分析报表数据

  • 在多种终端查看报表,如PC、平板、手机,并结合交互功能进行报表数据分析。

从数据链路了解设计思想

数据链路是报表或者BI产品的核心,下图说明了在电子表格软件产品中,数据是如何从数据源流转到报表的,其中有3条链路,它们分别有不同的作用。

 

抛开技术人员的偏好,仅从效率的角度来说按如下顺序选择数据链路:

  1. 报表需求大多数情况是基于稳定的数据源和数据结构,这是因为其背后是相对稳定的业务或者管理的逻辑,而且常用的报表往往查询逻辑不复杂(隐含的是报表看起来很复杂)。
  2. 假如第1点并不适合某个报表需求,往往是由于二个原因,第一是简单的SQL查询无法解决,需要子查询、特殊的参数、特殊的函数等,第二是需要接入的是JAVA数据或者存储过程数据,并不是普通的数据库表。
  3. 最后一种是通路但不常用,推荐的用法是对一些参考数据、主数据进行的查询。

独特的差异化能力

首先说明,中国式报表常见的清单报表、交叉报表、分组报表、多源分片报表、分块报表、表单报表、套打报表、段落式报表、预警报表等,都是完全支持的。下文主要聚焦的是差异化能力。

总体来说,Smartbi 电子表格软件的差异化能力有三个方面,第一是源自多年来沉淀的服务器端的能力,第二是准B/S设计器的能力,第三是Excel自身创意的能力(借花献佛)。

1.服务器端“统一平台”的特色能力

  • 连接广泛的数据:除了主流的关系数据库和大数据平台,电子表格软件还能以Excel文件(固定位置)为数据源,以及通过Excel模板采集数据。
  • 兼容适配的部署和集成:服务器可运行在国内外主流操作系统、中间件环境,支持集群部署;应用时支持多种集成方式,如用户集成、报表集成、移动端集成(企业微信、钉钉等社交平台)。
  • “手自一体”的数据集:既可以支持灵活强大的SQL,也允许使用无代码的方式生成数据集(需先设计业务主题),适应不同的数据准备场景。
  • 可靠的运维和管理:提供全面的平台管理和系统运维能力,包括完善的权限管理、统一的系统监控、细粒度的资源迁移、元数据影响和血统分析、知识库定期备份、在线安全补丁、报表预缓存加速等丰富功能。

2.准B/S设计器的基础能力

  • 熟悉的界面,学习成本低:Office2013以上和WPS2016以上均可以使用,网络上有丰富的模板资源和学习资源,学了可以一直用。
  • 兼容Excel的功能:对字体表格样式、函数和公式、图形和条件格式均有高度的兼容性,隐藏和冻结行列等常用功能也支持。
  • 内置模板和规范:包括面向四种场景的报表模板,内含设计规范,利用模板可统一报表设计风格和质量。
  • 二次数据加工:通过“过滤”实现多数据集关联,以及特定数据的筛选;利用引用、计算、查找、统计等Excel函数进行数据处理。
  • 表格数据做图:不仅支持Excel静态图形,还可以用ECharts实现动态图形,包括油量图、散点图、雷达图、热力图、词云图、地图等。
  • 支持数据回写:通过单元格与数据字段的映射规则,实现可插入和修改数据的报表,甚至还可以同时修改多个数据表,保证数据的一致性。

3.高深莫测的Excel创意能力

Excel中的高级功能非常多,数组计算、创意图形、特殊字体格式、引用计算等,比如通过辅助列作图,可以实现漏斗图、甘特图、旋风图、子弹图、手风琴图、金字塔图等等;通过图形填充可以实现山形图和拟物堆积图;通过单元格引用计算和填报属性,可以实现What-if分析模型。这些功能不常用,但充满了创意和乐趣,也许在某次图形叠加和函数计算后,你就能修炼出自己的“必杀技”,为职场之路助力!

最后,我们希望Smartbi 电子表格软件以更加高效和灵活的方式,结合创新的订阅式付费的创新,带给用户无以伦比的高性价比,从而满足所有中国式报表的企业管理需求!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/13338.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python双向循环链表的操作

目录 一、双向循环链表 双向循环链表图 二、双向循环链表的操作 1、判断链表是否为空 2,链表长度 3,遍历整个链表 4,在链表头部添加元素 5、链表尾部添加元素 6,在指定位置插入元素 7,修改指定位置的元素 8&a…

VS Code 插件开发概览

VS Code 插件开发概览 前言 VS Code作为开发者的代码开发利器,越来越受开发者的喜爱。像我身边的前端,每天80%的开发工作都是在VS Code上完成的。随着人们对它的使用,不再满足简单的优雅,舒服写代码这一基本需求。有些人利用它进…

阿里ARouter 路由框架解析

一、简介 众所周知,在日常开发中,随着项目业务越来越复杂,项目中的代码量也越来越多,如果维护、扩展、解耦等成了一个非常头疼问题,随之孕育而生的诸如插件化、组件化、模块化等热门技术。 而其中组件化中一项的难点&…

深入理解Linux多线程

致前行的人: 昨日渐多,明日愈少,今日还在,不要为成功而努力,要为做一个有价值的人而努力。人生道路上充满了坎坷,谁也不可能一帆风顺。只有在最困难的时刻,才能体会到无助的含义。 目录 1.理解…

SpringBoot集成MyBatis-yml自动化配置原理详解

SpringBoot集成MyBatis-yml自动化配置原理详解 简介:spring boot整合mybatis开发web系统目前来说是市面上主流的框架,每个Java程序和springboot mybatis相处的时间可谓是比和自己女朋友相处的时间都多,但是springboot mybatis并没有得到你的真…

适用于 Windows 的 5 个最好的 PDF 转换器应用程序

由于稳定性、高分辨率、高安全性、易于传输等特点,PDF已经成为我们日常工作中最常用的格式。我们在享受PDF带来便利的同时,也发现PDF带来了一些不便,其中最大的问题就是PDF内容的编辑难度。同时,并不是所有的文件都是PDF格式的&am…

代码优化- 前端优化

常量折叠 基本思想:在编译期间计算表达式的值(编译时静态计算) 例如:a 3 5 > a 8,if (true && false) ... > if (false) 好处是:语法树的节点数量减少了,意味着编译器要维护…

Ubuntu上跑通PaddleOCR

书接上文。刚才说到我已经在NUC8里灌上了Windows Server 2019。接下来也顺利的启用了Hyper-V角色并装好了一台Ubuntu 22.04 LTS 的虚机。由于自从上回在树莓派上跑通了Paddle-Lite-Demo之后想再研究一下PaddleOCR但进展不顺,因此决定先不折腾了,还是从x6…

【论文写作】如何写科技论文?万能模板!!!(以IEEE会议论文为例)

0. 写在前面 常言道,科技论文犹如“八股文”,有固定的写作模式。本篇博客主要是针对工程方面的论文的结构以及写作链条的一些整理,并不是为了提高或者润色一篇论文的表达。基本上所有的论文,都需要先构思好一些点子,有…

一文搞懂Session和JWT登录认证

前言 目前在开发的小组结课项目中用到了JWT认证,简单分享一下,并看看与Session认证的异同。 登录认证(Authentication)的概念非常简单,就是通过一定手段对用户的身份进行确认。 我们都知道 HTTP 是无状态的&#xf…

强化学习技巧

此软件包处于维护模式,请使用Stable-Baselines3 (SB3)获取最新版本。您可以在 SB3 文档中找到迁移指南。 本节的目的是帮助您进行强化学习实验。它涵盖了有关 RL 的一般建议(从哪里开始、选择哪种算法、如何评估算法等),以及使用自…

【Linux】System V 共享内存、消息队列、信号量

🍎作者:阿润菜菜 📖专栏:Linux系统编程 system V共享内存介绍 System V 共享内存是一种进程间通信的机制,它允许多个进程共享一块物理内存区域(称为“段”)。System V 共享内存的优点是效率高&…

OTG是什么意思?

OTG是什么意思? OTG是怎么样实现的? TYPE-C接口的手机如何实现同时充电OTG功能? OTG是什么意思? OTG是On-The-Go的缩写,是一项新兴技术,主要应用于不同的设备或移动设备间的联接,进行数据交…

基于遥感的自然生态环境检测——实验三:生态因子提取

实验三:生态因子提取 一、实验目标 生态因子生成;生态因子归一化;生态环境评价 二、实验内容 根据经过大气校正后的影像生产土地覆盖指数、土壤指数以及坡度等,对土地覆盖指数、土壤指数以及坡度进行密度分割归一化&#xff1…

“SCSA-T学习导图+”系列:下一代防火墙

本期引言: 近年来,随着数字化业务带给我们高效和便捷的同时,信息暴露面的增加、网络边界的模糊化以及黑客攻击的产业化,使得网络安全事件相较以往成指数级增加。传统防火墙基于五元组的方式对进出网络的数据流量进行访问控制&…

JavaScript(JS)-1.JS基础知识

1.JavaScript概念 (1)JavaScript是一门跨平台,面向对象的脚本语言,来控制网页行为的,它能使网页可交互 (2)W3C标准:网页主要由三部分组成 ①结构:HTML负责网页的基本结构(页面元素和内容)。 …

【Linux网络服务】Linux网络设置

一、查看网络配置 1.1ifconfig 1.2ip a 1.3什么是mtu 最大传输单元MTU,是指网络能够传输的最大数据包大小,以字节为单位。MTU的大小决定了发送端一次能够发送报文的最大字节数。如果MTU超过了接收端所能够承受的最大值,或者是超过了发送路径…

EIGRP 配置,详解拓扑表,路由汇聚

1.3 EIGRP 拓扑,路由以及汇聚 1.3.1 实验目的 通过对 EIGRP 拓扑,路由以及汇聚相关实验的练习,掌握 EIGRP 建立拓扑信息的方式, 度量计算方法,如何调整度量,非等价负载均衡,以及 EIGRP 末节路…

做完自动化测试,但别让不会汇报毁了你...

pytest 是一个成熟的全功能Python测试工具,可以帮助您编写更好的程序。它与 python 自带的 unittest 测试框架类似,但 pytest 使用起来更简洁和高效,并且兼容 unittest 框架。pytest 能够支持简单的单元测试和复杂的功能测试,pyte…

Verilog带参数的`define用法

宏除了可以进行简单的文本替换,还可以像函数和任务一样传递指定多个参数分别对文本进行对应的替换. 示例1: define Disp(pa,pb,pc) \initial \begin \#1200; \$display("%d \n",(papbpc)); \$display(" data_ pa data_ pb data_ pc %d",(…