第一步:基础数据定义

富盛企业经营分析软件支持自定义统计项目的经营分析软件,首先需要在基础数据定义功能模块中定义软件需要分析的统计行、同列和统计项目。
软件支持多项目分析,通过统计项目列表来指定,项目列表中的项目往往是非交叉的,当然是否交叉根据业务的实际需要而定。比如对于多门店的企业来说,可以指定为分公司。项目代码很重要,在统计列定义中,可以使用“ %C% ”来表示项目代码,就是说,在统计分析中,软件根据会自动使用统计项目代码去置换统计列定义表达式中的“ %C% ”。
统计列用以定义每个统计项目所需要进行分析的统计类型,比如需要软件分析企业的计划预算、实际发生、费率等内容,就可以通过定义统计列来实现。每个统计项目都会自动在软件中实现对统计列的分析,并且根据定义对项目的统计列进行汇总。
统计行用以定义每个项目下的每个统计列需要分析的内容,比如需要统计每个分公司的计划预算、实际发生的营业收入、经营成本、人员公司、文宣广告费用等,在此进行定义。
1.1    统计列定义
进入到基础数据定义功能界面,点击统计列,显示如下界面,用于定义企业经营分析软件的统计列。统计列是经营分析报表的基础,必须要进行定义。
统计列是每个统计项目都要进行统计和分析的统计栏目,在统计分析成果报表中,每个统计项目都包括在次定义的所有的统计列作为它们的横向栏目。
统计列序号是唯一识别统计列的标示,所以必须要保证统计列序号的唯一性。统计列序号在进行实际的分析中系统内部将会进行调用,成为动态生成统计分析报表的基础。
统计列名称用于描述统计列。统计列名称将作为统计描述字段在统计分析报表中显示在统计的列标题上,所以应该保证统计列名称简单明了、言简意赅,既要描述清晰,又要简短上口。
统计列数据类型总是数值型,建议使用 numeric 类型,表示该统计列中的最大数据值。
新增按钮用于新增一个统计列,如果列序号为空,将忽略新增操作,不需要新增体能统计列。
删除按钮用于删除一个统计列。删除操作是实时性的,即使保有指定保存操作,删除也会删除数据库中的对应统计列。
保存按钮用于保存列表中定义的统计列到数据库。
可以在此定义所有的统计列,比如:计划预算、实际发生、发生比率等。
1.2    统计行定义
进入到基础数据定义功能界面,点击统计行,显示如下界面,用于定义企业经营分析软件的统计行。同统计列一样,统计行也是经营分析报表的基础,必须要进行定义。
统计行是每个统计项目的每个统计项目都要进行统计和分析的统计内容,在统计分析成果报表中,每个统计行都包括在此定义的所有的统计行以及汇总列,并作为它们的纵向栏目。
统计行序号是唯一识别统计行的标示,所以必须保证统计行序号的唯一性。统计行序号在统计列定义和汇总列定义中,如果分析类型为计算,在表达式中中就需要引用统计行序号来指定此行次列的数据来自哪里。统计行序号在进行实际的分析中系统内部将会进行调用,成为动态生成统计分析报表的基础。
统计行名称用于描述统计行。统计行名称类似财务分录中的摘要,将作为摘要描述显示在统计分析报表中,所以应该保证统计列名称简单明了、言简意赅。
新增按钮用于新增一个统计行,如果行序号为空,将忽略新增操作,不需要新增体能统计行。
删除按钮用于删除一个统计行。删除操作是实时性的,即使保有指定保存操作,删除也会删除数据库中的对应统计行。
保存按钮用于保存列表中定义的统计行到数据库。
可以在此定义所有 BOSS 关注的统计行,比如:生产汇总、销售汇总、采购汇总、固定资产、退货汇总、文宣费用、人力成本、厂房成本等等。只要您能够想到的需要分析的,都可以在此定义。
1.3    统计项目定义
之所以叫统计项目,是因为你可能根据你自己的需要来定义统计分组。比如,我们的统计项目就是不同的门店。
即使只有一个分类、即使只有一个公司,即使只是在一个单位一个统计类型中进行分析,也请定义统计项目。
统计项目序号必须唯一,是识别统计项目的唯一标示,所以必须要保证统计项目序号的唯一性。统计项目序号在进行实际的分析中系统内部将会进行调用,成为动态生成统计分析报表的基础。
项目代码应该认真填写,在多统计项目分析中,可以在统计列分析参数定义中引用,只要在你的表达式中使用 %C% ,就会在对应的项目分析中使用项目代码进行替代。所以,每个统计项目的项目代码也应该保持唯一。
【说明】
基础数据定义之后,形成了统计分析报表的基础,统计分析报表的结构也就随着定义的落实固定了。其意义为:
为每个统计项目定义个统计分析列,每个项目的每个统计列的统计内容由统计行确定,并对所有项目的不同统计列进行汇总形成汇总列。
于是,分析报表的结构为:
l         横向:各个统计项目不同的统计列组成的统计列,对统计列进行汇总的汇总列
l         纵向:统计行
定义了企业经营分析软件中的基础数据,才能进入到第二步 -- 统计列、汇总列分析数据定义。

第二步:统计列、汇总列分析数据源定义

定义了基础数据之后,还需要定义每个统计列对应的统计行的数据来源,就是说每个统计列在指定的统计行的对应位置上,是如何取得分析数据的。
统计列的分析数据来源方式包括两种:提取和计算。尽管定义的还有两种:输入和未知。分析类型为输入的时候就是统计列对应定义行的统计数据时靠人工录入的,不在统计范围之内,未知类型表明该分析方法未知定。汇总列也包括以上四种分析类型,不过作为汇总列,目前仅支持计算类型。
2.1    统计列数据源定义
定义了富盛企业经营分析软件的基础数据,软件就自动生成了需要进行定义的统计列和汇总列。
在统计列定义中,为各个项目的统计列对应的统计行定义数据分析类型,数据分析类型包括四种,分别是未知、提取、汇总和录入。
l         录入:表明统计列对应的统计行不需要从业务数据库进行分析,统计后人工录入
l         提取:表明该统计列对应的统计行需要通过表达式中定义的分析方式,从业务数据库中提取相应数值;
l         计算:指明该统计列对应的统计行信息在数据提取之后,通过表达式中定义的公式进行数据计算,计算结果为其值;
l         未知:表明未定义该统计列对应行的分析性质。
【提取】在分析类型为“提取”时,表达式可以是业务数据库支持的标准 SQL 语句或者存储过程,不过返回值必须是唯一的,返回值的列名必须指定为“ sVal ”。在表达式中可以使用“ %C% ”代替项目代码,可以用“ %SD% ”表示数据分析的开始时间,用“ %ED% ”表示结束时间,软件自动在统计时将其置换成项目的代码、开始时间和结束时间。实例:
l         销售总额分析数据源如下:
SELECT sum(docTotal) sVal FROM OINV WHERE docStatus='C' and docDate between '%SD%' and '%ED%'
显然这这个查询语句提取了指定时段内状态为已经关闭的销售单据的总金额,返回值唯一,并且指定其别名为“ sVal ”(必须为 sVal );
l         采购入库总额分析数据源如下:
SELECT sum(docTotal) sVal FROM OPDN WHERE docStatus='C' and  docDate between '%SD%' and '%ED%'
显然这这个查询语句提取了指定时段内状态为已经关闭的采购入库单据的总金额,返回值唯一,并且指定其别名为“ sVal ”(必须为 sVal );
l         退货总额分析数据源如下:
SELECT sum(docTotal) sVal FROM ORIN WHERE docStatus='C' and  docDate between '%SD%' and '%ED%'
显然这这个查询语句提取了指定时段内状态为已经关闭的退货单据的总金额,返回值唯一,并且指定其别名为“ sVal ”(必须为 sVal );
【计算】在分析类型为“计算”时,表达式可以是同列的行之间的四则运算,跨列之间的四则运算。同列的行通过“ C+ 行号”指定,如 C12+C15 表示同列的第 1215 行的数据相加;跨列的列通过“ L+, 行”来指定,比如 L2,12-L2,15 表示本项目中的第二列的第 12 行同第 15 行的差;宏 SUM() 表示累加,格式为: SUM( 同列开始行 : 同列结束行 ) ,如: SUM(C12:16)=C12+C13+C14+C15+C16 。目前仅支持顺序化的四则运算,不支持括号和括号优先。实例:
l         含税销售金额:C2*1.17,指本统计列的第2行数据(销售金额)*1.17的计算值
l         含税采购金额:C4*1.17,指本统计列的第4行数据(采购金额)*1.17的计算值
定义了企业经营分析软件中的基础数据,完成了统计列、汇总列分析数据定义,才可以通过统计分析功能得到正确的分析信息。
2.2    汇总列数据源定义
定义了富盛企业经营分析软件的基础数据,软件就自动生成了需要进行定义的统计列和汇总列。
在汇总列定义中,为各个项目的汇总列对应的统计行定义数据分析类型,数据分析类型包括四种,分别是未知、提取、汇总和录入。
l         录入:表明汇总列对应的统计行不需要从业务数据库进行分析,统计后人工录入;
l         提取:表明该汇总列对应的汇总行需要通过表达式中定义的分析方式,从业务数据库中提取相应数值,本类型在汇总列定义中不常用,共享版不支持汇总列数据提取;
l         计算:指明该汇总列对应的统计行信息在数据提取之后,通过表达式中定义的公式进行数据计算,计算结果为其值;
l         未知:表明未定义该汇总列对应行的分析性质。
【提取】在分析类型为“提取”时,表达式可以是业务数据库支持的标准 SQL 语句或者存储过程,不过返回值必须是唯一的,返回值的列名必须指定为“ sVal ”。在表达式中可以使用“ %C% ”代替项目代码,可以用“ %SD% ”表示数据分析的开始时间,用“ %ED% ”表示结束时间 , 软件自动在统计时将其置换成项目的代码、开始时间和结束时间。共享版不支持。
【计算】:在分析类型为“计算”时,表达式可以是同列的行之间或者跨列之间的四则运算、以及相同统计行在指定统计项目对应的统计列汇总。
l         同列的行通过“C+行号”指定,如C12+C15表示同列的第1215行的数据相加;
l         跨列的列通过“L+,行”来指定,比如L2,12-L2,15表示本项目中的第二列的第12行同第15行的差;
l         宏SUM()表示累加,格式为:SUM(同列开始行:同列结束行),如:SUM(C12:16)=C12+C13+C14+C15+C16
l         LS表示对所有统计项目对应的统计列进行汇总,
l         LSC(01,03)表示出了序号为0103之外的统计项目的统计列的汇总,序号必须是两位,不足的补0,排除项目序号之间使用都好分割。
l         共享版仅支持顺序化的四则运算,不支持括号和括号优先。
定义了企业经营分析软件中的基础数据,完成了统计列、汇总列分析数据定义,才可以通过统计分析功能得到正确的分析信息。

第三步:汇总分析

定义上基础数据、统计行与汇总行的统计数据源,就可以进行企业分析插件的报表分析功能操作了。进入到经营分析报表功能界面,指定开始日期和结束日期与分析项目,点击统计按钮,就可以分析不同统计项目的不同统计列对应每个统计行的统计数据,并形成如下图所示的报表。
 
上图报表就是定义了 2 个统计列(预算金额和实际金额), 5 个统计行(含税销售总额、销售总额、含税进货总额、进货总额、退货总额)和 1 个统计项目(海城电子)的经营分析报表的结果。
报表中统计项目中有两个统计列预算金额和实际金额,而在统计列和汇总列中,预算金额都没有被定义,所以统计结果中没有任何信息。对于实际金额有所定义,分别定义如下:
数据提取:
l         销售金额:SELECT sum(docTotal) sVal FROM OINV WHERE docStatus='C' and docDate between '%SD%' and '%ED%'
l         采购金额:SELECT sum(docTotal) sVal FROM OPDN WHERE docStatus='C' and docDate between '%SD%' and '%ED%'
l         退货金额:SELECT sum(docTotal) sVal FROM ORIN WHERE docStatus='C' and docDate between '%SD%' and '%ED%'
数据计算:
l         含税销售总额:C2*1.17
l         含税采购总额:C4*1.17
当然,我们还可以定义其它的统计行,比如,将入库分为生产入库、采购入库、调拨入库、转储入库、退货入库;将出库分为生产出库、销售出库、调拨出库、转储出库等。这些数据可以来自 Sbo 的业务系统,涉及到不同的业务处理;而财务方面通过手工凭证进行输入的各种费用支出和预算,也都可以通过定义来实现。
应该说,这个插件提供了一个自定义的企业经营分析和财务分析的界面,实现对公司领导层关注的业务数据和财务数据的统计分析,进而为实现公司领导决策提供翔实的数据分析资料,有着较为现实的意义。