CN114610801A - 一种行列报表模板的生成方法 - Google Patents
一种行列报表模板的生成方法 Download PDFInfo
- Publication number
- CN114610801A CN114610801A CN202210243206.1A CN202210243206A CN114610801A CN 114610801 A CN114610801 A CN 114610801A CN 202210243206 A CN202210243206 A CN 202210243206A CN 114610801 A CN114610801 A CN 114610801A
- Authority
- CN
- China
- Prior art keywords
- column
- row
- data
- dimensions
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供了一种行列报表模板的生成方法,用于实现报表的自定义灵活开发,能够应用于需要生成报表的各种业务系统,如企业管理系统、ERP系统、人财税系统、供应链系统等。方法包括:确定数据仓内目标数据的N个维度,维度是目标数据的分类标准,N大于2;将N个维度划分为X个行设置维度和Y个列设置维度;获得行设置维度对应的至少一组行标题及至少一组行标题的行层级信息,获得列设置维度对应的至少一组列标题及至少一组列标题的列层级信息;生成用于展示目标数据的行列报表模板;其中行列报表模板按照行层级信息显示至少一组行标题,且按照列层级信息显示至少一组列标题。本申请实施例,允许用户对行列报表模板进行自定义灵活开发。
Description
技术领域
本申请实施例涉及会计报表领域,具体涉及一种行列报表模板的生成方法。
背景技术
在会计报表领域,报表模板采用定制化生产,用户使用的报表模板是固定的。定制化生产是指,由用户根据自身的使用需要向软件生产厂商提出功能需求,软件生产厂商开发满足该功能需求的报表模板。该报表模板为固定的报表模板,只能覆盖固定的一些场景,不能满足用户不断变化的功能需求。当用户自身的使用需要发生改变并产生了该报表模板不能满足的新的功能需求时,需要进行二次开发,二次开发时用户向软件生产厂商提出新的功能需求,软件生产厂商开发满足该新的功能需求的报表模板,开发方式可以是使用补丁或新版本。会计报表在出厂时预置固定的报表模板或者随补丁版本不断丰富报表模板。
定制化生产的报表模板必须通过软件生产厂商开发新版本或补丁,报表模板更新困难。
发明内容
本申请实施例提供了一种行列报表模板的生成方法,用于实现报表的自定义灵活开发。
本申请实施例的第一方面提供了一种行列报表模板的生成方法,包括:
确定数据仓内目标数据的N个维度,所述维度是目标数据的分类标准,N大于2;
将所述N个维度划分为X个行设置维度和Y个列设置维度;
获得所述行设置维度对应的至少一组行标题及所述至少一组行标题的行层级信息,获得所述列设置维度对应的至少一组列标题及所述至少一组列标题的列层级信息;
生成用于展示所述目标数据的行列报表模板,其中所述行列报表模板按照所述行层级信息显示所述至少一组行标题,且按照所述列层级信息显示所述至少一组列标题。
本申请实施例中,构建行列报表模板时,将多个维度划分为行设置维度和列设置维度,使用维度对数据仓内目标数据进行分类得到的标题划分为行标题和列标题,行设置和列设置分别划分行层级和列层级,行层级和列层级内写入行标题和列标题生成行列报表模板,允许用户通过维度、设置、标题和层级对行列报表模板进行自定义灵活开发。
本申请实施例的第一方面的一种实现方式中,所述将所述N个维度划分为X个行设置维度和Y个列设置维度;获得所述行设置维度对应的至少一组行标题及所述至少一组行标题的行层级信息,获得所述列设置维度对应的至少一组列标题及所述至少一组列标题的列层级信息,具体包括:
展示配置界面,所述配置界面包括所述N个维度的维度信息及备选标题;
根据所述维度信息确定X个行设置维度及Y个列设置维度;
在所述备选标题中确定所述行设置维度的至少一组行标题,并确定所述列设置维度的至少一组列标题;
确定所述至少一组行标题的行层级信息,并确定所述至少一组列标题的列层级信息。
本申请实施例中,使用配置界面接收用户对维度、设置、标题和层级的选择,在配置界面中设置备选标题,配置效率高,操作简单。
本申请实施例的第一方面的一种实现方式中,所述N个维度包括经营主体、经营时间和经营指标。
本申请实施例中,N个维度包括经营主体、经营时间和经营指标,用于表示“谁在何时干了何事”,提高了本方案的可实现性。
本申请实施例的第一方面的一种实现方式中,所述行列报表模板包括维度项和计算项,所述生成用于展示所述目标数据的行列报表模板后,所述方法还包括:
使用行列报表模板的第一取数公式获取所述数据仓内数据得到维度项数据,并使用行列报表模板的第二取数公式对维度项数据进行分析,得到计算项数据;
将维度项数据按照行列报表模板写入维度项,并将计算项数据按照行列报表模板写入计算项。
本申请实施例中,使用第一取数公式获得维度项数据,实现对数据仓内目标数据的准确获取,使用第二取数公式获得计算项数据,实现对数据仓内目标数据的计算分析。
本申请实施例的第一方面的一种实现方式中,所述方法还包括:
根据所述N个维度中的至少一个维度将行列报表分为第一区域和第二区域;
获取授权信息,所述授权信息包括访问者识别信息和第一区域信息;
根据访问者识别信息允许或禁止访问者访问行列报表的第一区域信息。
本申请实施例中,使用维度对数据进行区域划分,并根据授权信息控制不同用户对行列报表不同区域的访问。
本申请实施例的第一方面的一种实现方式中,所述方法还包括:
获取隐藏标题信息,隐藏标题信息包括需要隐藏的第一目标标题;
根据所述隐藏标题信息,隐藏第一目标标题和第一目标标题对应的数据。
本申请实施例中,根据用户输入的隐藏标题信息对第一目标标题及第一目标标题下的数据进行隐藏,使得用户能够灵活控制行列报表的显示内容。
本申请实施例的第一方面的一种实现方式中,所述方法还包括:
获取合计指令,合计指令包括需要合计的第二目标标题;
根据合计指令对第二目标标题下的数据进行求和,得到合计数据,生成合计标题,并展示合计数据。
本申请实施例中,根据用户输入的合计指令生成合计标题和合计数据,便于用户对数据进行求和分析。
本申请实施例的第一方面的一种实现方式中,所述方法还包括:
确定不同维度对应的的取值范围信息和取值方式信息;
根据取值范围信息从所述数据仓内确定所述目标数据;
根据取值方式信息对所述目标数据进行分项取值或汇总取值。
本申请实施例的第一方面的一种实现方式中,所述一组行标题包括多组行子标题,所述一组列标题包括多组列子标题;
行层级信息包括行子层级信息,每一组行子标题对应一个行子层级信息,列层级信息包括列子层级信息,每一组列子标题对应一个列子层级信息。
本申请实施例中,将层级分为子层级,一组标题分为多组子标题,使得行列报表能够更加细致地展示数据。
本申请实施例的第二方面提供了一种行列报表模板的生成装置,包括:
确定单元,用于确定数据仓内目标数据的N个维度,所述维度是目标数据的分类标准,N大于2;
划分单元,用于将所述N个维度划分为X个行设置维度和Y个列设置维度;
获得单元,用于获得所述行设置维度对应的至少一组行标题及所述至少一组行标题的行层级信息,获得所述列设置维度对应的至少一组列标题及所述至少一组列标题的列层级信息;
生成单元,用于生成用于展示所述目标数据的行列报表模板;其中所述行列报表模板按照所述行层级信息显示所述至少一组行标题,且按照所述列层级信息显示所述至少一组列标题。
本申请实施例的第三方面提供了一种计算机设备,包括:
中央处理器,存储器;
所述存储器为短暂存储存储器或持久存储存储器;
所述中央处理器配置为与所述存储器通信,并执行所述存储器中的指令操作以执行第一方面的方法。
本申请实施例的第四方面提供了一种计算机可读存储介质,计算机可读存储介质包括指令,当指令在计算机上运行时,使得计算机执行第一方面的方法。
本申请实施例的第五方面提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行第一方面的方法。
附图说明
图1是现有技术的行列报表模板的生成方法迭代示意图;
图2至图4是现有技术的行列报表模板的生成方法多种效果示意图;
图5至图30是本申请实施例的行列报表模板的生成方法的多种设置流程图;
图31是本申请实施例的行列报表模板的生成装置的结构示意图;
图32是本申请实施例的计算机设备的结构示意图。
具体实施方式
本申请实施例提供了一种行列报表模板的生成方法,用于实现报表的自定义灵活开发,能够应用于需要生成报表的各种业务系统,如企业管理系统、ERP系统、生产制造管理系统、供应链系统、人事系统、财务系统、税务系统等。
现有的行列报表软件,产品在出厂时预置固定的报表样式或者随补丁版本不断丰富报表样式。固定的报表样式只能覆盖固定的一些场景,不能满足不同企业的管理需求,如图1所示,版本V1.0中有利润表,版本V2.0在版本V1.0的基础上添加了费用表,版本V3.0在版本V2.0的基础上添加了收入明细表,而不同版本的迭代是由软件厂商完成的,用户不能更改报表样式。报表样式用于确定报表模板。
预置的固定报表样式,无法满足不同企业不同维度的分析诉求。用户对现有固定报表二次开发需要花费大量金钱和人力投入,且验收后可维护和扩展性差。借助第三方商业智能(BI,business intelligence)工具做扩展无法满足超越固定报表场景外的功能。
现有的行列报表软件还可以通过报表中间件,配置报表模板,在单元格设置取数函数及相应的参数,报表中间件根据函数及传入参数解析出结果数据。通过报表中间件配置报表模板,每个单元格设置取数函数复杂、性能差、且不支持组织层级展示。
现有的行列报表中每个excel单元格都设置一个函数,如图2至图4所示,传入不同的参数输出不同的结果到单元格,对于一些计算项通过EXCEL支持的计算公式完成。其缺点是:按单元格设置各种取数函数及传入参数,设置复杂易错且不支持组织层级展示,函数不具有共性不容易进行优化,导致用户打开报表比较慢。其中函数是指一段可以直接被另一段程序或代码引用的程序或代码。
本申请实施例可以由计算机设备实现,计算机设备可以包括终端以及服务器中的至少之一,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。下面以终端为例进行说明。
如图5所示,本申请实施例提供的一种行列报表模板的生成方法,包括步骤501至步骤504。
501、确定数据仓内目标数据的N个维度。
从数据仓内目标数据的P个维度中选取N个维度,P大于或等于N,N大于2,P和N均为整数。选取的N个维度,可以是根据用户的输入选取的,也可以是预先选取的。值得说明的是,本申请实施例所涉及的数据仓是指数据仓库。
502、将所述N个维度划分为X个行设置维度和Y个列设置维度。
确定了N个维度后,将N个维度分配到行和列两个方向,分别设置X个行设置维度和Y个列设置维度,X+Y=N。
503、获得所述行设置维度对应的至少一组行标题及所述至少一组行标题的行层级信息,获得所述列设置维度对应的至少一组列标题及所述至少一组列标题的列层级信息。
获得X个行设置维度下的至少X组行标题和Y个列维度下的至少Y组列标题;获得至少X组行标题的行层级信息和至少Y组列标题的列层级信息。行层级信息用于表示至少X组行标题的排序,列层级信息用于表示至少Y组列标题的排序。
504、生成用于展示所述目标数据的行列报表模板。
输出行列报表模板,用于获取数据仓内目标数据。行列报表模板中的至少X组行标题按照行层级信息排列,至少Y组列层级信息按照列层级信息排列。
如图6所示,本申请实施例提供的一种行列报表模板的生成方法,包括步骤601至步骤608。
601、确定数据仓内目标数据的N个维度。
数据仓内目标数据的维度可以大于或等于N,终端确定数据仓内需要进行处理的目标数据,并根据用户的选择或者默认的选择选取其中的N个维度。维度是用于对数据仓内的数据进行分类的标准,例如维度可以是经营时间、经营主体、经营指标、经营地点和经营方式等。
经营时间,可以是过去的时间,也可以是计划的未来的时间,时间的单位可以是年、季、月、日、天和小时等。根据经营时间的维度,可以将数据划分为不同时间的数据,例如本季度数据、上季度数据、去年同季度数据、下季度目标数据等。
经营主体,可以是利润中心、阿米巴单元、部门、小组、分店、品牌、单品等。根据经营主体的维度,可以将数据划分为不同经营主体产生的数据,例如第一阿米巴单元产生的数据,第二阿米巴单元产生的数据等。
经营指标,可以是利润、成本、支出、收入等,也可以进一步细分为净利润、毛利润、人力成本、租金成本、货物成本、水电支出、运费支出、利息收入、投资收入等。根据经营指标的维度,可以将数据划分为不同经营指标下的数据。
经营地点,可以是国家、地区、城市等。根据经营地点的维度,可以将数据划分为不同经营地点产生的数据,例如美国产生的数据、加拿大产生的数据、德国产生的数据、日本产生的数据等。
经营方式,可以是线上或线下,根据经营方式的维度,可以将数据划分为线上产生的数据和线下产生的数据。
下面以N=3为例进行说明,选择经营时间、经营主体和经营指标3个维度。
602、展示配置界面。
终端在显示仪器展示行列报表模板的配置界面,配置界面中以选项的方式展示维度信息、标题信息、层级信息以及其他配置信息。配置界面中也可以设置有文本输入栏,文本输入栏允许用户新建标题信息和其他配置信息。
配置界面可以有多种,例如经营时间配置界面、经营主体配置界面、经营指标配置界面、层级配置界面、取数公式配置界面等。显示仪器可以是显示屏、投影仪等。
步骤601和步骤602在时序上可以互换顺序,可以先执行步骤602,后执行601。
603、接收用户根据所述维度信息选择的X个行设置维度及Y个列设置维度。
通过配置界面接收用户对N个维度在行设置和列设置的分配,将维度信息中的N个维度分配为X个行设置维度和Y个列设置维度。
例如将经营时间、经营主体、经营指标三个维度中的经营时间确定为行设置维度,经营主体和经营指标确定为列设置维度。
604、接收用户在所述备选标题中为所述行设置维度选择的至少一组行标题及为所述列设置维度选择的至少一组列标题。
通过配置界面接收用户在每个维度下选择的标题,其中行设置维度下的标题排列为行标题,列设置维度的标题排列为列标题。
例如将经营时间确定为行设置维度时,将1月、2月、3月、4月、5月、6月排列为行标题。将经营主体确定为列设置维度时,将部门A和部门B排列为列标题;将经营指标确定为列设置维度时,将收入、支出排列为列标题。
605、接收用户为所述至少一组行标题输入的行层级信息及为所述至少一组列标题输入的列层级信息。
通过配置界面接收每组行标题的行层级信息,行层级信息包括行层级编号;接收每组列标题的列层级信息,列层级信息包括列层级编号。例如:经营时间的行层级信息为行第一层级,经营主体的列层级信息为列第一层级,经营指标的列层级信息为列第二层级。
需要说明的是一个维度下的一组标题可以分为多组子标题,与之对应的一个维度下的一个层级可以分为多个子层级。一个行设置维度下的一组行标题可以分为多组行子标题,与之对应的一个行设置维度下的一个行层级可以分为多个行子层级。一个列设置维度下的一组列标题可以分为多组列子标题,与之对应的一个列设置维度下的一个列层级可以分为多个列子层级。
例如,以经营主体为行设置维度时,依照经营主体划分出A1制造线、A2制造线;A1制造线下分为B1利润中心、B2利润中心,A2制造线下分为B3利润中心、B4利润中心;B1利润中心下分为C1阿米巴单元,C2阿米巴单元,B2利润中心下分为C3阿米巴单元、C4阿米巴单元,B3利润中心下分为C5阿米巴单元、C6阿米巴单元,B4利润中心下分为C7阿米巴单元、C8阿米巴单元。经营主体下的行层级分为三个行子层级,A1制造线、A2制造线显示在一个行子层级;B1利润中心、B2利润中心、B3利润中心、B4利润中心显示在一个行子层级;C1阿米巴单元,C2阿米巴单元、C3阿米巴单元、C4阿米巴单元、C5阿米巴单元、C6阿米巴单元、C7阿米巴单元、C8阿米巴单元显示在一个行子层级。一组行标题包括A1制造线、A2制造线、B1利润中心、B2利润中心、B3利润中心、B4利润中心、C1阿米巴单元,C2阿米巴单元、C3阿米巴单元、C4阿米巴单元、C5阿米巴单元、C6阿米巴单元、C7阿米巴单元、C8阿米巴单元。一组行标题分为三组行子标题,A1制造线、A2制造线为一组行子标题;B1利润中心、B2利润中心、B3利润中心、B4利润中心为一组行子标题;C1阿米巴单元,C2阿米巴单元、C3阿米巴单元、C4阿米巴单元、C5阿米巴单元、C6阿米巴单元、C7阿米巴单元、C8阿米巴单元为一组行子标题。
步骤603只需要在步骤606前执行即可,步骤603可以在步骤604或步骤605后执行。
606、生成用于展示所述目标数据的行列报表模板。
根据维度、设置、标题、层级生成行列报表模板。具体的,将X个行设置维度下的至少X组行标题按照行层级信息排列,将Y个列设置维度下的至少Y组列标题按照列层级信息排列。例如,1个行设置维度为经营时间,1组行标题包括1月、2月、3月、4月、5月、6月,行层级信息确定经营时间下的行标题位于行第一层级,将行标题设置在行列报表的第1列。将第1列第1行和第1列第2行合并写入“月份”,在第1列第一行写入“1月”、第1列第二行写入“2月”、第1列第三行写入“3月”、第1列第四行写入“4月”、第1列第五行写入“5月”、第1列第六行写入“6月”。2个列设置维度为经营主体和经营指标,2组列标题包括第一组列标题和第二组列标题,经营指标下的第一组列标题包括:收入、支出,经营主体下的第二组列标题包括:部门A和部门B。列层级信息确定第一组列标题位于列第一层级,第二组列标题位于列第二层级,将第一组列标题设置在行列报表的第1行,第二组列标题设置在行列报表的第2行。将第1行第2列和第1行第3列合并写入“收入”,将第1行第4列和第1行第5列合并写入“支出”,在第2行第2列写入“部门A”、在第2行第3列写入“部门B”、在第2行第4列写入“部门A”、在第2行第5列写入“部门B”。
确定了行标题和列标题后,生成行列报表模板的第一取数公式及第二取数公式。第一取数公式对应维度项,第二取数公式对应计算项。第一取数公式用于根据N个维度下的标题从数据仓中获取数据,并填入行列报表,完成维度项的填写,第二取数公式用于对维度项的数据进行计算,并将计算结果填入行列报表,完成计算项的填写。例如一个维度项的行标题为3月,第一列层级的列标题为收入,第二列层级的列标题为A部门,则第一取数公式从数据仓中获取A部门3月收入数据,并填入该维度项。第二取数公式可以进行加减乘除等运算,例如一个计算项的行标题为4月,第一列层级的列标题为利润,第二列层级的标题为B部门,则第二取数公式可以是“B部门4月收入”减去“B部门4月支出”。
除了维度项和计算项,还定义了文本项,文本项用于显示标题或用户输入的备注信息等。在行列报表模板中,文本项显示文本;维度项不显示第一取数公式,显示第一取数公式获取的数据;计算项不显示第二取数公式,显示第二取数公式计算的结果。因此,在未获取数据仓的目标数据时,维度项和计算项的显示内容是空白。
607、使用第一取数公式获取所述数据仓内数据得到维度项数据,并使用第二取数公式对维度项数据进行分析,得到计算项数据。
在确定了数据仓内目标数据后,使用第一取数公式获得维度项数据,使用第二取数公式对维度项数据进行计算获得计算项数据。
608、将维度项数据按照行列报表模板排列,并将计算项数据按照行列报表模板排列。
将维度项数据和计算项数据写入行列报表模板中对应的位置,得到行列报表,并在显示仪器中展示。
需要说明的是,行列报表模板还可以考虑合计、隐藏、取值方式、授权保密等。
考虑合计时,根据用户在配置界面勾选的“进行合计”或“显示小计”等选项,获得用户输入的合计指令。一个合计指令与一组标题或子标题对应,即需要合计的第二目标标题,例如在设置一组行标题时输入合计指令,则表示对该组行标题进行合计。具体例如行标题为1月、2月、3月、4月、5月、6月,接收到合计指令则在行标题中加入“合计”或“小计”标题,并在合计标题下显示1月至6月数据的总和。
考虑隐藏时,根据用户在配置界面勾选的“隐藏”、“不显示”等选项,获得隐藏标题信息。一个隐藏标题信息与一个标题或子标题对应,即需要隐藏的第一目标标题。例如,在“本年累计费用计划值”这一标题下勾选“隐藏”,则在行列报表模板中隐藏该标题及其下的数据。
考虑取值方式时,在配置界面中显示“按报表过滤界面选择范围”“按固定范围分项取值”“按固定范围汇总取值”等选项,并接收用户的选择。选中“按报表过滤界面选择范围”时,允许用户自定义数据仓内目标数据的范围;选中“按固定范围分项取值”时,使用默认的数据仓内目标数据的范围,并且将该标题或子标题下的数据求和后写入行列报表;选中“按固定范围汇总取值”时,使用默认的数据仓内目标数据的范围,并且将该标题或子标题下的数据分项写入行列报表。例如,经营时间下,“按报表过滤界面选择范围”可以选择1月、3月、8月;“按固定范围分项取值”则标题为1月、2月、3月、4月、5月、6月、7月、8月、9月、10月、11月、12月;“按固定范围汇总取值”则标题为“1月至12月”。
考虑授权保密时,在配置界面中进行权限管理。权限管理中可以确定特定用户或特定角色可以查看的数据范围和禁止查看的数据范围。例如,在配置界面中对用户“demo”进行权限管理,允许该用户查看标题为“生产部门”“管理部门”的数据,其他数据——如标题为“销售部门”的数据等不允许查看,即根据N个维度中的经营主体将行列报表分为第一区域和第二区域,第一区域包括“生产部门”“管理部门”的数据,第二区域包括“销售部门”的数据。
如图7、图8所示,本申请实施例提供了一种行列报表模板的生成装置,生成装置是一个用户可以在线制作报表的平台,以满足不同行业、不同企业、不同岗位等个性化的报表定制需求。使用行列报表模板自定义经营报表时,首先选择经营报表的维度,从数据仓中多种经营报表维度类型中选择经营报表的维度,例如经营主体、经营指标和经营时间。其次建立经营报表模板,把二维的行列报表按照行设置维度和列设置维度分别设置,抽象出三种类型的表格单元:文本项、计算项、维度项,用户在表格单元上设置文本或取数公式。最终展示行列报表,根据经营报表模板和数据授权,提取出经营报表模板中所有表格单元的维度进行分析,根据分析的报表维度获取数据仓内目标数据的范围,然后把获取的目标数据的范围进行定向压缩,压缩为行列报表可以识别的数据结果并显示给用户。进行定向压缩时,首先从数据仓确定目标数据,即确定需要压缩的数据的范围;然后根据行列报表模板各个维度下的标题确定数据压缩的颗粒度,例如经营时间维度的标题为“1月、2月、3月”,则数据压缩的颗粒度为“月”;经营时间维度的标题为“春季、夏季、秋季、冬季”,则数据压缩的颗粒度为“季度”。对颗粒度为“季度”的数据进行压缩时,仅需保留各个季度的总计,可以删除各个月份的数据。
在运行生成装置前,需要构建生成装置可以理解的数据仓:根据用户的原始数据,转化为软件能够提取的数据仓,数据仓有固定标签和动态标签。固定标签是不可缺少的,动态标签是用户自定义的。数据仓内可以是经营流水账,经营流水账具有经营时间、经营指标、经营主体。
用户首先定义经营报表维度,其次自定义经营报表模板。在经营报表模板行列设置中,先选择表格单元的类型,如文本项、计算项或者维度项,然后设置取数公式。获得经营报表模板后,查询或选择经营报表时,生成装置会根据设置的经营报表模板智能解析出经营报表的样式及数据结果。
根据需要动态配置报表模板行、列属性,属性包括维度和层级。报表模板支持配置多层级属性。
根据报表模板配置,使用动态表单进行数据展示。动态表单是根据业务场景抽象出来的模型。
用户可以在系统中设置行列类型,维度来源,然后系统根据用户设置的模板智能展示经营报表效果图。易用性比较好,可以复用。维度是指设置报表行或者列所具有的属性,例如时间、指标、主体。
本申请实施例实现了以下几点,报表样式更直观;样式灵活,可动态配置,无需安装报表用户端;具有良好扩展性,可适用所有报表;去函数化。
本申请实施例解决了传统报表样式无法动态扩展的问题,解决了报表样式无法多端展示的问题。
本申请实施例允许用户在线制作经营报表样式;允许用户基于标准产品预置的固定报表样式随意添加分析维度;允许用户在相同环境下把制作好的报表样式相互移植,达到多人协同制作;允许用户根据自己经营诉求制作无数个报表样式。其中在线是指:可以在应用系统中直接完成,不需要额外环境部署和程序代码开发,实现了行列报表模板的0代码开发。用户可以根据业务诉求在应用系统中完成报表的制作,不需要编写函数或编写代码,显著提高开发效率,减低维护和升级的成本。制作好的行列报表模板可以作为复制给不同用户使用,实现行列报表模板的共享。不同用户分别在同一行列报表模板中添加经营维度,多用户共同完成一个报表样式模板的制作,实现多用户协作。
本申请实施例支持报表多层级展示,用户可以定义需要展示的层级内数据;支持数据授权功能,用户可以对同一报表不同查看人授权数据范围。
本申请实施例提供的行列报表模板的生成方法,包括步骤901至步骤903,如图9所示。
如图10至图14所示为配置界面,用于建设报表模板。
901、对企业经营报表维度进行分类。
报表维度分为经营主体、经营指标、经营时间。其中经营主体可以包括部门、生产线、产品、项目等;经营指标可以包括对外销售收入、对内销售收入、水费、电费、加工费等;经营时间可以包括天、月、季度、年、周等经营周期。行列报表可以是经营报表、考核报表、评选报表等,经营报表对应的维度可以是经营主体、经营指标、经营时间;考核报表对应的维度可以是考核主体、考核指标、考核时间;评选报表对应的维度可以是评选主体、评选指标、评选时间,此处以经营报表为例。
如图10所示,经营指标提供编码、名称,指标来源范围是经营科目表,经营科目表是所有经营指标的数据仓,使用者可以选择经营指标仓中的固定范围值分项,固定范围值汇总,以过滤界面选择范围。其中,选择固定范围值分项时一个个独立展开,选择固定范围值汇总时汇总为一个标题,选择以过滤界面选择范围时使用者可以在查看报表前弹出的界面设置取值范围,在分项展示下使用者可以设置是否显示小计。
如图11所示,经营主体提供编码、名称,主体来源范围是阿米巴单元表,阿米巴单元表是所有主体的数据仓,使用者可以选择经营主体仓中的固定范围值分项,固定范围值汇总,以过滤界面选择范围。其中,选择固定范围值分项一个个独立展开,选择固定范围值汇总时汇总为一个标题,选择以过滤界面选择范围时使用者可以在查看报表前弹出的界面设置取值范围,在分项展示下使用者可以设置是否显示小计。
如图12所示,经营时间提供编码、名称,主体来源范围业务日期,使用者可以选择经营时间是按报表过滤界面选择范围和固定范围取值。其中,选择按报表过滤界面选择范围时使用者可以在查看报表前弹出的界面设置取值范围,选择固定范围取值时设置时间范围开始日期结束日期。确定完时间后可以选择周期类型天、月、季度、年、经营周期,周等,当选择显示范围内所有数据展示下使用者可以设置是否显示小计。
902、设置企业经营报表样式。
如图13所示,报表样式中行列属性包含维度项、文本项、计算项。经营报表样式的分析在行列交汇的单元格维度集合后必须具有经营主体、经营指标、经营时间三个类型。报表提供基本的编码、名称、描述。行列属性抽象维度项(来源维度类型仓),文本项用于显示文本列或文本行,计算项可以根据别的列或者行设置公式计算。
如图14所示,计算项支持基本的加、减、乘、除,也可以支持更复杂的计算。
报表可以设置基本的样式,针对不同的数据以不同的显示参数进行设置,显示参数包括颜色、大小、透明度中的至少之一。显示参数可以针对特定的行、列或单元格进行配置。
903、报表样式解析及展示。
如图15所示,根据报表样式设置动态获取所有列及层级,计算每个列中维度项的具体值,替换对应列,如果存在多个维度值进行列拆分。如果上级N列,s上级每一列在下级有M列,则拆分成M*N列。根据报表样式设置动态获取所有行及层级,计算每个行中维度项的具体值,替换对应行,如果维度项的具体值存在多个则进行行拆分。如果上级N行,上级每一行在下级有M行,则拆分成M*N行。每个单元格具有经营时间、经营指标、经营主体等多种维度属性,行列交汇值计算时对数据进行汇总并显示到行列交汇的单元格内。
本申请实施例提供的行列报表模板的生成方法,包括步骤1601至步骤1604,如图16。
下面以具体报表为例进行说明。假设A公司每月需要统计各个经营单元的收入和利润情况与年度计划目标的差距,需要设置的报表如图17所示。
1601、确定三个维度的行列位置。
分析确定who、when、what的展示方式。即确定考核主体、考核时间、考核指标这三个维度在报表中的排列位置。
如图18所示,根据用户想要的报表,行维度为考核主体,列维度为考核时间和考核指标,由此确定,设置报表时,行设置为经营主体,列设置为经营指标加经营时间。
1602、设置维度。
设置维度即设置考核主体,考核时间,考核指标。
大部分的常用维度已经预置,可以直接选择使用,如果不符合个性需求,也可以复制预置维度进行修改,或者直接新建。下面按直接新建的方式来讲解如何设置维度。
考核主体:如图19所示,需要考核的是按经营单元统计的,并且需要统计查询经营单元的合计数据,所以新建维度的时候,经营主体勾选上“显示小计”,就能达到报表上最后一行显示一个小计的效果。需要按过滤界面来选择查询的经营主体范围,就勾选“按报表过滤界面选择范围”。
考核时间:如图20所示,样表是按每个期间统计数据,并且还需要统计本年累计。设置多期间查询时,选择维度类型为经营时间,维度来源为业务日期,然后最重要的就是定义周期类型为会计期间,取数期间为“查询所有期间”。关于定义周期类型和取数期间的选项,可以将鼠标放到旁边问号上了解更多可使用的选项如何设置。
需要设置本年累计时,如图21所示,选择定义周期类型为年,取数期间为“截止到查询范围的最大日期”。
考核指标:如图22所示,确定了考核主体和时间后,需要在考核指标设置考核的内容。按样表,考核的是收入和利润,并且是按汇总显示的。设置收入时,选择“按固定范围汇总取值,取值的科目为需要考核的收入类科目”。
设置利润时,如图23所示,因为利润=收入-费用,所以可以设置费用的标题,然后在报表模板中通过计算项来获取利润数据。
1603、设置报表模板。
通过选择维度确定维度展示的行列位置,确定报表展示界面。
首先选择列设置和行设置的维度,前面已经分析过了,所以这里列设置为经营指标加经营时间,行设置为经营主体。然后需要设置列的内容。既然列设置为经营指标加经营时间,如果层级里面包含了维度项,那么该层级及其父层级必须包含单据头列设置的全部维度类型,即包含经营指标和经营时间。
根据样表,如图24所示,第一列为经营单元的名称,所以第一层为文本项填写经营单元名称;第二列为收入,需要获取收入经营科目的数据,所以填写维度项,维度来源为收入科目的汇总取值;第三列为利润,按之前的设计,先获取费用,然后通过收入-费用来获得利润的值,所以填写维度项,维度来源为费用科目的汇总取值。这样列设置的第一层级就构建完毕。
设置好每一列的第一层级后,需要来分解下一层级的设置内容:第一列经营单元名称没有下级层级。第二列收入下一层级为收入达成率且为文本项。收入达成率还有下一层级是具体的每期的收入、本年累计、计划值、达成率,这些层级的取值逻辑根据样表设置如图25:
模板设置时,根据取数逻辑设置对应的维度来源和取数公式。属性为维度项的取数公式预置可选项有发生数、期初数、增加数、减少数、抵消数、计划值。属性为计算项的取数公式可选该模板已设置好的维度项进行加减乘除,按图26和图27所示步骤设置。
第三列利润的设置也是根据计算逻辑来设置模板。当有不需要显示的行或者列时,可以勾选后面隐藏行或隐藏列,达到隐藏该行或列的目的。比如,设置了费用,但是此处只需要通过费用来获取利润,不需要显示费用,所以费用的列可以隐藏。整个样表行列分解后对应的报表模板设置如图28所示。
通过以上三步完成报表模板的设置。生成装置有预置的通用模板,用户可以通过复制并修改的方式快速的新增报表模板。
1604、数据授权。
内部管理报表数据,设置授权信息可指定某角色或者用户只能查看到指定的经营单元。
报表模板设置好后,设置报表数据查询权限,在经营报表查询里面选择对应的模板即可查看报表数据,如图30所示。对于内部管理报表,需要进行数据授权,获得了授权的用户或者角色才能查看到报表数据,没有授权的用户查看该报表单元的数据是为空的。如图29所示,数据授权可以按用户设置,也可以按角色设置。
报表样式还可以进行个性化设计,例如不同的字体颜色、字体大小、背景颜色任意选择,还可以根据条件设置自动预警,比如图30所示报表,可以根据达成率设置未达成的行自动预警显示成红色等。
以上实施例涉及到的用户操作可以通过脚本或其他方式自动实现,例如,可以由用户根据维度信息确定出X个行设置维度及Y个列设置维度,也可以由脚本来自动确定。
如图31所示,本申请实施例还提供了一种行列报表模板的生成装置,包括:
确定单元3101,用于确定数据仓内目标数据的N个维度,所述维度是目标数据的分类标准,N大于2;
划分单元3102,用于将所述N个维度划分为X个行设置维度和Y个列设置维度;
获得单元3103,用于获得所述行设置维度对应的至少一组行标题及所述至少一组行标题的行层级信息,获得所述列设置维度对应的至少一组列标题及所述至少一组列标题的列层级信息;
生成单元3104,用于生成用于展示所述目标数据的行列报表模板;其中所述行列报表模板按照所述行层级信息显示所述至少一组行标题,且按照所述列层级信息显示所述至少一组列标题。
如图32所示,本申请实施例还提供了一种计算机设备3200,包括:
中央处理器3201,存储器3202;
所述存储器3202为短暂存储存储器或持久存储存储器;
所述中央处理器3201配置为与所述存储器3202通信,并执行所述存储器3202中的指令操作以执行如图5至图30所示实施例中的方法。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质包括指令,当指令在计算机上运行时,使得计算机执行如图5至图30所示实施例中的方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如图5至图30所示实施例中的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种行列报表模板的生成方法,其特征在于,包括:
确定数据仓内目标数据的N个维度,所述维度是目标数据的分类标准,N大于2;
将所述N个维度划分为X个行设置维度和Y个列设置维度;
获得所述行设置维度对应的至少一组行标题及所述至少一组行标题的行层级信息,获得所述列设置维度对应的至少一组列标题及所述至少一组列标题的列层级信息;
生成用于展示所述目标数据的行列报表模板,其中所述行列报表模板按照所述行层级信息显示所述至少一组行标题,且按照所述列层级信息显示所述至少一组列标题。
2.根据权利要求1所述的生成方法,其特征在于,所述将所述N个维度划分为X个行设置维度和Y个列设置维度;获得所述行设置维度对应的至少一组行标题及所述至少一组行标题的行层级信息,获得所述列设置维度对应的至少一组列标题及所述至少一组列标题的列层级信息,具体包括:
展示配置界面,所述配置界面包括所述N个维度的维度信息及备选标题;
根据所述维度信息确定X个行设置维度及Y个列设置维度;
在所述备选标题中确定所述行设置维度的至少一组行标题,并确定所述列设置维度的至少一组列标题;
确定所述至少一组行标题的行层级信息,并确定所述至少一组列标题的列层级信息。
3.根据权利要求1或2所述的生成方法,其特征在于,所述行列报表模板包括维度项和计算项,所述生成用于展示所述目标数据的行列报表模板后,所述方法还包括:
使用行列报表模板的第一取数公式获取所述数据仓内数据得到维度项数据,并使用行列报表模板的第二取数公式对维度项数据进行分析,得到计算项数据;
将维度项数据按照行列报表模板写入维度项,并将计算项数据按照行列报表模板写入计算项。
4.根据权利要求1或2所述的生成方法,其特征在于,所述方法还包括:
根据所述N个维度中的至少一个维度将行列报表分为第一区域和第二区域;
获取授权信息,所述授权信息包括访问者识别信息和第一区域信息;
根据访问者识别信息允许或禁止访问者访问行列报表的第一区域信息。
5.根据权利要求1或2所述的生成方法,其特征在于,所述方法还包括:
获取隐藏标题信息,隐藏标题信息包括需要隐藏的第一目标标题;
根据所述隐藏标题信息,隐藏第一目标标题和第一目标标题对应的数据。
6.根据权利要求1或2所述的生成方法,其特征在于,所述方法还包括:
获取合计指令,合计指令包括需要合计的第二目标标题;
根据合计指令对第二目标标题下的数据进行求和,得到合计数据,生成合计标题,并展示合计数据。
7.根据权利要求1或2所述的生成方法,其特征在于,所述方法还包括:
确定不同维度对应的的取值范围信息和取值方式信息;
根据取值范围信息从所述数据仓内确定所述目标数据;
根据取值方式信息对所述目标数据进行分项取值或汇总取值。
8.一种行列报表模板的生成装置,其特征在于,包括:
确定单元,用于确定数据仓内目标数据的N个维度,所述维度是目标数据的分类标准,N大于2;
划分单元,用于将所述N个维度划分为X个行设置维度和Y个列设置维度;
获得单元,用于获得所述行设置维度对应的至少一组行标题及所述至少一组行标题的行层级信息,获得所述列设置维度对应的至少一组列标题及所述至少一组列标题的列层级信息;
生成单元,用于生成用于展示所述目标数据的行列报表模板;其中所述行列报表模板按照所述行层级信息显示所述至少一组行标题,且按照所述列层级信息显示所述至少一组列标题。
9.一种计算机设备,其特征在于,包括:
中央处理器,存储器;
所述存储器为短暂存储存储器或持久存储存储器;
所述中央处理器配置为与所述存储器通信,并执行所述存储器中的指令操作以执行权利要求1至7中任意一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至7中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210243206.1A CN114610801A (zh) | 2022-03-11 | 2022-03-11 | 一种行列报表模板的生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210243206.1A CN114610801A (zh) | 2022-03-11 | 2022-03-11 | 一种行列报表模板的生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114610801A true CN114610801A (zh) | 2022-06-10 |
Family
ID=81864082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210243206.1A Pending CN114610801A (zh) | 2022-03-11 | 2022-03-11 | 一种行列报表模板的生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114610801A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115983220A (zh) * | 2023-03-07 | 2023-04-18 | 花瓣云科技有限公司 | 报表生成方法、装置和电子设备 |
-
2022
- 2022-03-11 CN CN202210243206.1A patent/CN114610801A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115983220A (zh) * | 2023-03-07 | 2023-04-18 | 花瓣云科技有限公司 | 报表生成方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8577704B2 (en) | Automatically generating formulas based on parameters of a model | |
US4989141A (en) | Computer system for financial analyses and reporting | |
CN101111835B (zh) | 多维企业软件系统中的自动默认维度选择方法 | |
US10497064B2 (en) | Analyzing econometric data via interactive chart through the alignment of inflection points | |
CN100568237C (zh) | 多维企业软件系统中的报表模板生成方法和系统 | |
US9158831B2 (en) | Business intelligent architecture system and method | |
US5189608A (en) | Method and apparatus for storing and generating financial information employing user specified input and output formats | |
US20120271748A1 (en) | Engineering process for a real-time user-defined data collection, analysis, and optimization tool (dot) | |
US20090138307A1 (en) | Automated financial scenario modeling and analysis tool having an intelligent graphical user interface | |
US20010013004A1 (en) | Brand resource management system | |
CN104731791A (zh) | 一种市场销售分析数据集市系统 | |
CN111026801A (zh) | 一种辅助保险类电商运营快速决策工作的方法及系统 | |
US20100293450A1 (en) | System and method for simulating discrete financial forecast calculations | |
CN114610801A (zh) | 一种行列报表模板的生成方法 | |
CN109034591A (zh) | 增量配电网业务经济性分析管理系统 | |
US20040122758A1 (en) | Budget and financial analysis system and method | |
CN116228402A (zh) | 一种金融征信特征仓库技术支持系统 | |
Albano | Decision support databases essentials | |
Goh | Data Dashboarding in Accounting using Tableau | |
Goldstein et al. | Documentation for the TIMES model. PART IV: VEDA 2.0 | |
Rahman | Development of self-service business intelligence for decision support system using microsoft business intelligence tools | |
Schön | Professional content design | |
Zheng | Finance net-interest margin analysis with qlikview | |
Vacca | Design and implementation of a Business Intelligence pipeline for Poste Italiane | |
Akrasi | Straight Road to Excel 2013/2016 Pivot Tables: Get Your Hands Dirty |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |