本文介绍了轻分析的两种产品形态(嵌入式分析和主题式分析)及其使用场景,并详细描述了数据分析与数据斗方的区别和特点。接着介绍了数据准备中的新建数据表、关系关联和数据提取等关键步骤,以及新建计算字段的常用函数和逻辑用法。最后,简要说明了仪表板的设计界面和组件使用技巧。
往前回顾:
【从0到1玩转轻分析】第二章-使用轻分析需要掌握的能力
随着前面两章对轻分析基本概念的熟悉和相关能力的培养,接下来我们将深入探讨轻分析的具体功能和技术细节。本章将详细介绍轻分析的工作原理、核心特点。
一、轻分析的两种产品形态
先通过两张图来了解轻分析的两种产品形态
功能:在“嵌入式分析”中,仅包含了“数据分析”和“数据斗方”两种工具;“主题式分析”则是包含了全部模块;
能力:在“嵌入式分析”中,用户只需进行拖拉拽即可完成分析;而“主题式分析”,用户从新增主题,到准备数据源,进行数据分析,再到后面的主题维护等过程;
入口:“嵌入式分析”嵌入在单据中,一键点击跳转进行分析;“主题式分析”需要自行新增一系列的动作,是从“主题管理”界面开始的;
数据源:在“嵌入式分析”中数据来源是当前单据列表及单据关联的基础资料,不能再选择其它数据;而“主题式分析”数据来源是建模,可以任意选择单据实体、数据库表甚至EXCEL文件,具有跨业务、跨系统的可行性。
1.1嵌入式分析
使用前提:部分单据标准功能是已经配置了嵌入式,但当有自定义的单据要进行分析,或者是标准功能单据中配置的字段缺少自己需要分析的字段,那么我们也需要进一步进行配置:星空单据列表嵌入式配置。(前面提到的要熟悉星空的后台,这不就派上用场了-控件使用,别着急后面还会用上)
嵌入式嵌入式顾名思义,就是嵌套在单据上,让用户在业务单据界面看到数据就可以直接做分析或者做成图表,也是一种创新。
优点:一键启动,快速切换,随时分析;
缺点:简单操作的东西,避免不了带来相应的局限性,不易于统一管理维护;由于工具“嵌入”在业务单据中,因此工具能够处理的数据也仅限于业务单据中的数据,数据来源是当前单据列表及单据关联的基础资料,不能再选择其它数据而且受到单据列表界面过滤的影响,数据总是实时提取,就和我们在每次打开单据列表不同的过滤方案调出不同的数据。
而对应刚刚说到的受单据列表界面过滤的影响,我觉得这个没有绝对的好坏之分,因人而已吧!
对于我们乙方的实施来说,又或者给客户培训,过滤方案是我们用的最多的地方,而列表中过滤方案中的条件通俗来说无非就是将传递在嵌入式分析中的筛选条件,保存不同的方案,基于本身拖拉拽分析的东西(分析维度),提前做一层过滤,显示对应数据。其实按我的理解,这个过滤方案和数据斗方或者数据分析中的分析方案功能逻辑差不多。
使用场景:我一直在思考这个问题,但是没有一个所以然,或许像嵌入式分析的设计初衷,在传统的业务界面(通常为单据列表)中,可一键切换到数据分析与可视化工具界面,这让业务用户在当前业务场景下,面对众多的数据,能够直接进行统计分析和可视化呈现;分析简单的需求,让各业务员自行分析,让大家都参与分析,没有系统全局的需求,倒是可以使用“嵌入式分析”。例如销售员在查看订单列表时,可以直接点击嵌入式分析按钮,进入数据分析界面,查看订单趋势、客户分布等信息。
1.2主题式分析
“主题式分析”是传统BI的做法,按照分析需求去定义业务主题,是完整而独立存在的形态。
在主题管理界面中,左侧是分类,右侧是选中的某个分类中的文档,这很像操作系统中的文件夹和文件。文档包含了两种类型:业务主题和仪表板。通过卡片式的外观,更容易区分出两种类型。
“主题式分析”也包含数据斗方和数据分析,在使用方面上与“嵌入式分析”没有太大区别。
优点:易于统一管理维护,可实现更多自定义的需求。
缺点:工作量和要求能力也同步提高。
使用场景:公司有明确的信息化建设需求,公司高层管理者需要对企业的整体运营情况进行全面的分析,对特定业务主题的持续复杂分析,主题式更好的进行需求的管理和分析的实现。例如,可以使用主题式分析工具,查看公司的财务报表、库存周转率、关键绩效指标(KPIs)、供应商送货及时率考核、采购运营整体分析等需求分析。
1.3总结
嵌入式分析适用于业务用户在日常工作中需要即时进行数据分析的场景,强调便捷性和自助式分析能力。
主题式分析适用于公司有明确的信息化建设需求,需要对特定业务主题进行深入分析的场景,强调专业性和全面性。
二、数据分析与数据斗方
上文我有说主题式中数据斗方和数据分析,在使用方面上与“嵌入式分析”没有太大区别,接下来的内容我都以主题式分析为大家介绍。
数据斗方和数据分析是为仪表板作为数据源引入的,也可以单独使用,不依赖仪表板而单独存在。
2.1 数据分析
数据分析更倾向于不同维度的数据展现-表格式的数据。
优点:有表格图表,可支持多维分析。
缺点:
不支持自定义的条件样式;
目前来说因为背景是白色,结合仪表板使用的话效果图有点不协调,下图中间那个白色就是数据分析在仪表板中的效果。所以说如果是公司需要大屏看板投票的话,那不建议使用数据分析搭配,然而如果和移动端或者桌面交互的话,数据分析是个不错的选择。
没有图表属性区
2.2数据斗方
数据斗方更倾向于卡片式的体现-卡片式的图表。
优点:一目了然,内置的图表类型比数据分析中更有更有选择性,部分图表支持自定义条件样式;有图表属性区,可以根据不同的图表配置不一样的属性。
缺点:不支持多维度的数据体现。
2.3分析方案
为什么我要将分析方案标为红色,意味着分析方案也是重中之重!
为什么要设置分析方案?分析方案是为什么展示分析结果的载体,当我们设计完分析的内容后,保存一个方案名字,既可以方便我们后续查询和修改,也是为后续提供给仪表板奠定基础。转化为EXCEL思想,在不用工具做BI数据分析的话,大多数公司的业务员和财务都是在EXCLE中进行数据加工分析,那么对应透视分析的内容完成后也会保存EXCEL表自定义一个名字,方便后续查询,同理保存分析方案也是这个道理
三、关键特性
3.1数据准备
数据准备
3.1.1新建数据表
数据源可以取自业务实体、当前数据中心、账表、数据库、平面文件、OpenAPI、超级查询。
业务实体:直接抓取系统前台的单据实体作为数据源,自行选择需要的单据和字段;缺点:如果涉及多表关联以及复杂的计算,直接通过业务实体不太好实现或者说压根实现不了。
当前数据中心:来源于当前数据中心对应的数据库,既从数据库取数,当前数据中心又包括表、自定义SQL、自定义KSQL及存储过程。
表:就是数据库中的表名,可以直接选择自己需要的表名作为数据源(表名可以通过数据字典或者BOS的数据模型查看)。
自定义SQL:编辑SQL语句作为数据源,仅支持查询语句。
自定义KSQL:编辑SQL语句作为数据源,和上面类似。
存储过程:一言难尽不是很好用,我也遇到过类似的需求需要前台传几个参数,所以想到存储过程,存储过程在数据准备就得提前传参数,用户无法通过前台数据斗方、数据分析、仪表板进行传参,固无法满足客户的需求;除非用户愿意每次手动去数据准备修改传入的参数,或者说传参数之后参数不再变,否则不建议使用存储过程。
账表:即系统前台的报表,缺点是取账表必须有一个过滤方案,也可以理解为有些是死数据,有些特殊需求需要人工干预调整过滤方案,和存储过程缺点类似,若是需要修改需要人工介入,无法直接通过轻分析筛选修改。
数据库:点击所需要的数据库,输入数据库的连接信息,包括服务器、端口及登录用户名和密码,从金蝶外的第三方数据库取数,用于企业的异构系统取数。
平面文件:可以引入外部文件,缺点:文件是死数据,若有数据变动则需要人工进行引入,非必要也不建议使用文件作为数据源。
OpenAPI:目前只支持RESTful数据集和JAVA程序数据集这两种类型。
超级查询:目前只有苍穹支持,对苍穹实体进行SQL跨库查询。
3.1.2关系
关联关系中又包含设置关联关系、保留无法关联的行以及一对一or一对多or多对一。
设置关联关系:只允许设置N-1层关联关系,即两张表只能设置一层关系,以此类推,那么有人会问了如果需要多层关联怎么办,我后面会解答。
保留无法关联的行:设置关联关系的表下方通常会存在一个选项,两个表下方各有一个保留无法关联的行,其实很好理解,转换成SQL中的JOIN理解即可,是否保留无法关联的行取决于多表关联之后实际要的数据中是否要保留。
两边都不勾选=INNER JOIN(内连接)
两边都勾选=FULL OUTER JOIN (全连接)
左边勾选=LEFT JOIN (左外关联)
右边勾选=RIGTH JOIN (右外关联)
一对一or一对多or多对一:无法以偏概全,取决于业务场景和表设计,以上下游单据关联为例,正常上下游都是一对多,以单据关联基础资料为例,正常是多对一。
3.1.3数据提取
数据提取分为实时提取和定时预提取。
实时提取:顾名思义每次打开页面时提取最新的数据,和系统打开单据列表或者报表一样,若是数据量太大或者涉及的表太多加载打开需要较长的时间。
定时预提取:适用数据量太大加载缓慢且不需要看最新的实时数据,设置调度,打开轻分析页面时使用的是最后一次调度生成的数据。如果用户在建模层设置了定时预提取,制作好分析方案,将其发布后,那么发布的方案都会根据作者用户设置的定时预提取时间来取数(适合数据量大加载缓慢的需求)。
3.2新建计算字段
新建计算字段就是为了满足数据源列表中的字段缺少所需要的字段,和excel中插入一列公式计算类似,通过创建计算字段满足自己的需要;当然新建计算字段的字段来源不一定非得是数据源中列表的字段,也可以是我们新建后的字段再被参与新建计算字段引用,有些需求不是通过一个字段就可以实现,可以复用进行新建的加工处理。
计算字段中内置了几类函数:字符串、日期和时间、逻辑、教学与三角、类型转换、聚合、视图计算等,常用较多的还是字符串、日期、逻辑、类型转换、聚合。
常见公式用法,以下函数用到的字段全部替换成表中实际字段,关于运用的场景也不会绝对,只是我在项目中常见整理:
字符串:
左截取前指定长度:RIGHT([销售出库单.单据编号],7)
右截取前指定长度:LEFT([销售出库单.单据编号],4)
计算字符串长度:LEN([销售出库单.单据编号])
日期:
计算两个日期天数,常用于计算两个日期的相差天数:DATEDIFF([销售出库单.日期],[销售出库单.当天日期],'D')
计算两个日期的相差天数常用于判断是否逾期的情况,而该函数中的返回值存在好几种类型,按实际情况来选择即可,正常是忽略年月份返回'MD'。
得到当天日期,常用于某个日期和当天日期比较天数差:NOW()
聚合:
计算销售订单单号个数:COUNT([销售出库单.单据编号])
计算销售订单中客户出现的个数:COUNTD([销售出库单.客户])(PS:COUNTD去重计数)
取出销售订单最大的销售金额:MAX([财务信息.价税合计_本位币_])
取出销售订单最小的销售金额:MIN([财务信息.价税合计_本位币_])
计算销售总数量:SUM([明细信息.实发数量])
Tips:至于SUM和COUNT的用法,如果只是单独的展示不需要,并不完全需要通过新建计算字段,内置也可以简单方式调整处理。
逻辑:
IF基础用法:通过应发数量与实发数量判断是否出完数量:IF([明细信息.实发数量]<>[明细信息.应发数量],'没出完','已出完')
PS:IF里面的返回值的字段类型必须保持一致,否则会报错,要么都返回字符串,要么都返回INT值。
IF+AND用法:想判断是否逾期,只有数量出完且出库日期小于交货日期才不算逾期:IF(AND(实发数量>=应发数量,出库日期<=交货日期),'不逾期','逾期')
IF嵌套用法:统计已审核的销售订单号个数:COUNT(IF([销售出库单.单据状态]='已审核',[销售出库单.单据编号],NULL))
IF嵌套进阶用法:统计客户是A的且已审核的销售订单单号个数:COUNT(IF(AND([销售出库单.客户]='A',[销售出库单.单据状态]='已审核'),[销售出库单.单据编号],NULL))
CASE基础用法:判断多个分支条件
CSAE(
[财务信息.金额]>10000,'优秀',
[财务信息.金额]>5000,'优良',
'一般'
)
补充:逻辑函数可以多重嵌套,只不过容易把直接绕晕,必须理好计算思路,逻辑函数可以结合聚合函数一起使用,也可以嵌套日期函数一起使用,基本运算理解后可以进阶复杂的嵌套运算。
四、仪表板
仪表板有些BI工具也叫“驾驶舱”,在我看来,仪表板就是由设计者自由发挥,界面的排版,颜色的搭配,组件的使用,通过不同的组件内容,将多个可视化的元素整合在一个界面,进行数据的综合展示,以便更直观的看见业务的关键信息。
先让我们来看看仪表板设计的界面布局,然后我给大家讲解一下各个组件的使用场景和技巧:
个人觉得这个设计界面还是算友好的,和BOS有点像。
组件-可视化内容:
可视化内容的组件中数据斗方和数据分析就是为了仪表板提供数据来源,而拖动数据斗方/数据分析组件到设计区会出现两个内容:
基于业务主题引入或者创建:这就是我我们前文所说的主题式分析,从对应的主题对应的分析方案中引入进来
从卡片库引入:前面所述,数据斗方和数据分析可以独立存在,也可以为仪表板提供数据源,我们将对应的方案发布成卡片也可以成为仪表板的数据源进行引入。
组件-通用内容:
通用内容的组件中包含文字、多行文字、图片、网页、实时时间:
文字
场景一:常用于仪表板大标题内容,比如***公司大屏看板
场景二:用于插入链接实现文字跳转,比如仪表板的内容太多,一个页签展示不下,可以点击文字后跳转指定页签
场景三:走马灯使用
多行文字:多行文字也可以像文字一样自定义超链接跳转,可以展示一些描述信息。
图片:个人认为常用于在关键指标前加上相关的小图标组件,提高视觉效果。例如统计金额:【emoji】(金钱图标,表示成本/金额);统计人数:【emoji】(人群图标,表示人口)等。
分享一个下载ICON图标的网址,有需要可以按需下载使用:icon图标
网页:用于访问网页,且网页组件的地址也必须是https协议,不能是http。
实时时间:用于输出实时的时间数据,常用于电商公司可以实时监控订单数量;生产制作企业实时监控生产线的产量等。
组件-筛选器:
筛选器的组件中包含下拉列表、按钮组、弹窗选择器、日期范围、日期-年、日期-年季、日期-年月、日期-年月日,我常用最多的就是下拉列表、按钮组、弹窗选择器、日期范围。
下拉列表、按钮组、弹窗选择器都会包含一个备选值以及联动。
备选值:引用就是绑定字段,类似于BOSS中的枚举值或者基础资料要绑定一个资料,我们这里就是引用一个字段作为筛选项的来源项。
简单来说就是你想要什么字段进行筛选,就绑定什么字段(注:只能绑定字符串,不能绑定日期和数值)联动:简单来说就是该筛选的东西需要影响哪些组件内容。
下拉列表:常用于筛选值内容偏少的字段(只能单选)
按钮组:用法逻辑和下拉类似,只是展示效果不一样,常用于筛选值内容偏少的字段(只能单选)
弹窗选择器:常用于筛选值内容多的基础资料字段,如物料、客户、供应商等(能单选、能多选)
日期范围:用于通过日期筛选影响组件内容的数据(被作用的组件内容的字段必须是日期格式字段)
组件-容器:
容器的组件中包含页面标题栏、组合卡片、页签控件。
组合卡片:常用于将同一维度内容的指标放在同一个容器内展示。
页签控件:和前台的单据不同页签类似,展示不同的数据。
内容大纲:仪表板设计区中所有的组件都在左下角的内容里面一一对应,现在支持复制粘贴了,太不容易了。
Tips:养成一个良好的习惯,每个组件都进行通俗易懂的重命名,特别是仪表板内容多的情况更需要,不然修改维护就会很痛苦。
设计区:。
至此,轻分析的一些基础内容已经完成,在后面的文章我会带大家从零到一做一个仪表板,也会分享一些小技巧和注意实现!
推荐阅读