CN116361378A - 一种数据可视化展示方法及装置 - Google Patents
一种数据可视化展示方法及装置 Download PDFInfo
- Publication number
- CN116361378A CN116361378A CN202111629244.2A CN202111629244A CN116361378A CN 116361378 A CN116361378 A CN 116361378A CN 202111629244 A CN202111629244 A CN 202111629244A CN 116361378 A CN116361378 A CN 116361378A
- Authority
- CN
- China
- Prior art keywords
- data
- data processing
- field
- processing function
- function
- 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
- 230000000007 visual effect Effects 0.000 title claims abstract description 83
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000006870 function Effects 0.000 claims abstract description 288
- 238000012545 processing Methods 0.000 claims abstract description 190
- 230000004044 response Effects 0.000 claims abstract description 13
- 238000013079 data visualisation Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 230000007246 mechanism Effects 0.000 claims description 5
- 238000012800 visualization Methods 0.000 description 28
- 238000013507 mapping Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 6
- 239000012634 fragment Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
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/26—Visual data mining; Browsing structured data
-
- 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/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种数据可视化展示方法及装置,涉及计算机技术领域。该方法的一具体实施方式包括:获取数据展示请求,所述数据展示请求指示了一个或多个数据处理函数以及所述数据处理函数对应的参数字段;根据所述数据处理函数以及所述数据处理函数对应的参数字段,生成衍生字段;响应于所述衍生字段被拖拽至可视化页面中的待展示区域,在所述可视化页面生成可视化图像。该实施方式避免了将数据从数据处理工具中导入导出的操作,减少了数据可视化展示的工作量,进而提高了数据可视化展示的效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据可视化展示方法及装置。
背景技术
现有技术在可视化展示时,用户通常需要先将数据库中的数据下载并导入至数据处理工具中(如EXCEL),利用数据处理工具对数据进行处理,再把处理后的数据导入BI可视化系统,以利用BI可视化系统进行数据展示。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
数据处理工具无法直连数据库,因此对于用户每次处理数据的需求,均需要做导入导出数据的操作,这个过程导致数据可视化展示的工作量较大,从而造成数据可视化展示的效率较低。
发明内容
有鉴于此,本发明实施例提供一种数据可视化展示方法和装置,能够根据数据处理函数以及数据处理函数对应的参数字段,生成衍生字段,并通过拖拽衍生字段至待展示区域,生成可视化图像,因此可以实现对现有数据直接进行函数处理并根据处理结果生成可视化图像的目的,避免为了对数据做处理而将数据导入到数据处理工具的操作,从而减少了数据可视化展示的工作量,进而提高了数据可视化展示的效率。
进一步的,通过构建衍生字段的树形结构以及数据处理函数与目标数据源函数的映射关系,可以快速从树形结构中定位数据处理函数对应的节点,对节点进行目标数据源函数的转化,生成与目标数据源对应的SQL语句,可以增强可视化展示的可扩展性,降低了学习成本,提高了工作效率。同时通过拖拽的方式来生成衍生字段,可以让用户更直观的使用BI可视化系统,提升了用户体验。
为实现上述目的,根据本发明实施例的第一方面,提供了一种数据可视化展示的方法,包括:
获取数据展示请求,所述数据展示请求指示了一个或多个数据处理函数以及所述数据处理函数对应的参数字段;
根据所述数据处理函数以及所述数据处理函数对应的参数字段,生成衍生字段;
响应于所述衍生字段被拖拽至可视化页面中的待展示区域,在所述可视化页面生成可视化图像。
可选地,所述根据所述数据处理函数以及所述数据处理函数对应的参数字段,生成衍生字段,包括:
根据所述数据处理函数以及所述数据处理函数对应的参数字段构建树形结构,生成所述衍生字段。
可选地,所述根据所述数据处理函数以及所述数据处理函数对应的参数字段构建树形结构,包括:
解析所述数据处理函数以及所述数据处理函数对应的参数字段,确定所述数据处理函数和/或所述参数字段中的分隔符;
根据所述分隔符确定树形结构的层级,以及每个层级对应的数据节点。
可选地,在所述数据处理函数的类型为预设函数类型和/或所述参数字段的类型为预设数据类型的情况下,所述根据所述分隔符确定树形结构的层级,以及每个层级对应的数据节点,包括:
根据所述数据处理函数的类型和/或所述参数字段的类型,分别将所述数据处理函数转化为目标函数,将所述参数字段转化为目标字段;
利用所述目标函数和/或所述目标字段替换所述树形结构中所述数据处理函数和/或所述参数字段分别对应的数据节点,以生成新的树形结构。
可选地,所述响应于所述衍生字段被拖拽至可视化页面中的待展示区域,在所述可视化页面生成可视化图像,包括:
响应于所述衍生字段被拖拽至可视化页面中的待展示区域,根据所述新的树形结构,生成SQL语句;
根据所述SQL语句确定所述衍生字段对应的待展示数据;
根据所述待展示数据生成可视化图像。
可选的,该方法还包括:
响应于用户拖拽所述数据处理函数和/或所述参数字段,生成所述数据展示请求;其中,所述参数字段包括:被拖拽的字段和/或输入的字符。
可选的,根据校验机制,对所述数据处理函数的合法性和/或所述参数字段的数量进行实时检查,和/或,对所述参数字段的合法性进行实时检查。
根据本发明实施例的第二方面,提供了一种数据可视化展示的装置,包括:获取模块,衍生字段生成模块和图像生成模块;其中,
所述获取模块,用于获取数据展示请求,所述数据展示请求指示了一个或多个数据处理函数以及所述数据处理函数对应的参数字段;
所述衍生字段生成模块,用于根据所述数据处理函数以及所述数据处理函数对应的参数字段,生成衍生字段;
所述图像生成模块,用于响应于所述衍生字段被拖拽至可视化页面中的待展示区域,在所述可视化页面生成可视化图像。
根据本发明实施例的第三方面,提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第一方面提供的一种数据可视化展示方法中任一所述的方法。
根据本发明实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述第一方面提供的一种数据可视化展示方法中任一所述的方法。
上述发明中的一个实施例具有如下优点或有益效果:能够根据数据处理函数以及数据处理函数对应的参数字段,生成衍生字段,并通过拖拽衍生字段至待展示区域,生成可视化图像,因此可以实现对现有数据直接进行函数处理并根据处理结果生成可视化图像的目的,避免为了对数据做处理而将数据导入到数据处理工具的操作,从而减少了数据可视化展示的工作量,进而提高了数据可视化展示的效率。
进一步的,通过构建衍生字段的树形结构以及数据处理函数与目标数据源函数的映射关系,可以快速从树形结构中定位数据处理函数对应的节点,对节点进行目标数据源函数的转化,生成与目标数据源对应的SQL语句,可以增强可视化展示的可扩展性,降低了学习成本,提高了工作效率。同时通过拖拽的方式来生成衍生字段,可以让用户更直观的使用BI可视化系统,提升了用户体验。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明一个实施例提供的一种数据可视化展示方法的流程示意图;
图2是本发明一个实施例提供的一个衍生字段的树形结构示意图;
图3是图2中数据处理函数被替换后的树形结构示意图;
图4是本发明一个实施例提供的一种数据查询及展示的流程示意图;
图5是本发明一个实施例提供的一种数据可视化展示装置的结构示意图;
图6是本发明实施例可以应用于其中的示例性系统架构图;
图7是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要指出的是,在不冲突的情况下,本发明的实施例以及实施例中的技术特征可以相互结合。
如图1所示,本发明实施例提供了一种数据可视化展示方法,该方法可以包括以下步骤S101至S103:
步骤S101:获取数据展示请求,所述数据展示请求指示了一个或多个数据处理函数以及所述数据处理函数对应的参数字段。
步骤S102:根据所述数据处理函数以及所述数据处理函数对应的参数字段,生成衍生字段。
步骤S103:响应于所述衍生字段被拖拽至可视化页面中的待展示区域,在所述可视化页面生成可视化图像。
在本发明的一个实施例中,数据展示请求是根据用户在可视化页面上的操作而产生的。用户可以根据已有数据字段直接生成数据展示请求,其中,已有数据字段是当前数据表中的现有字段,可以直接通过字段名字在数据表中查询得到;用户也可以对已有数据字段进行处理以生成新的数据字段,也即衍生字段,并根据衍生字段生成数据展示请求。可理解的是,衍生字段是用户自定义的数据字段,是对已有数据字段进行处理后而得到的新的数据字段。对已有数据字段进行处理的过程可以理解为是利用用户自定义的公式对已有数据字段进行处理的过程。在这里,用户自定义公式即是衍生字段的生成公式,在用户自定义公式中,可以包含对已有数据字段进行四则运算和/或函数运算等一种或多种方式。
在本发明的一个实施例中,优选采用以下方式来生成数据展示请求:响应于用户拖拽所述数据处理函数和/或所述参数字段,生成所述数据展示请求;其中,所述参数字段包括:被拖拽的字段和/或输入的字符。
其中,所述数据处理函数和/或所述参数字段,可以理解为在生成衍生字段时,对已有数据字段进行处理的函数及参数。在本发明的一个实施例中,可以先生成衍生字段,再根据衍生字段生成数据展示请求,换句话说,生成衍生字段是数据展示请求的一部分。
对于衍生字段的生成过程,以一个BI可视化系统的可视化页面为例,可以在可视化页面上提供一个用以生成衍生字段的输入框,也即衍生字段生成框。用户可以输入衍生字段的标识,例如衍生字段A、衍生字段B等,并可以输入已有数据字段以及相应的处理方法来生成衍生字段。其中,数据处理的方法可以是对已有数据字段的加减乘除等数学运算,也可以是使用函数对已有数据字段进行处理。那么,这些数据处理的方法即可以表示为用户自定义公式。
例如,衍生字段A可以是通过对已有数据字段a的四则运算得到的,这里衍生字段的生成公式(用户自定义公式)可以是:A=100*(a+10)。衍生字段B可以是通过对已有数据字段b使用函数处理后得到的,如:B=Y(b),其中Y是函数名。
可理解的是,在本发明的一个实施例中,数据展示请求中包含的数据处理函数是根据可视化需求预先在BI可视化系统中配置的。数据处理函数可以是四则运算函数、EXCEL函数、数学公式函数、自定义函数以及其他数据处理工具提供的函数。四则运算函数可以是加减乘除的函数;EXCEL函数可以是lookup()、rank()等EXCEL工具提供的函数;数学公式函数可以是数学的三角函数或者指数函数等;自定义函数可以是为满足业务需求在BI可视化系统中自定义的函数。
在配置好数据处理函数之后,用户可以在可视化页面的衍生字段生成框中输入函数关键字来匹配相关函数;也可以从可视化页面的函数列表中选择相应的函数并拖拽到衍生字段生成框中。同样,相应函数的参数所对应的已有数据字段,也即参数字段,可以通过输入字段名字的方式来匹配并选择,也可以通过在可视化页面中的字段列表中选择并拖拽到衍生字段生成框来选择。
在本发明的一个实施例中,优选采用拖拽数据处理函数和/或参数字段的方式来生成衍生字段。衍生字段是用户自定义的数据字段。采用拖拽数据处理函数和/或参数字段的方式生成衍生字段即可以理解为构建了由数据处理函数和/或参数字段组成的用户自定义公式。也就是说所构建的用户自定义公式即是衍生字段的生成公式。
可理解的是,数据处理函数的参数可以有一个或多个,可以是参数字段和/或一些其他参数,如数字,运算符、字符串等。参数字段可以通过拖拽的方式添加到数据处理函数的参数位置,也可以通过输入字段名字的方式添加到数据处理函数的参数位置。而其他数字或字符类型的参数,则可以直接按照函数的参数格式,将它们输入到相对应的参数位置,以完善数据处理函数的参数。当然,数据处理函数的部分或者全部参数也可以使用默认值,在使用默认值的参数时,可以省去输入字符或拖拽字段的步骤。
在本发明的一个实施例中,在拖拽数据处理函数和/或参数字段至衍生字段生成框时,可以采用以下方式实时对衍生字段生成框中的内容进行校验:根据校验机制,对所述数据处理函数的合法性和/或所述参数字段的数量进行实时检查,和/或,对所述参数字段的合法性进行实时检查。
对于衍生字段生成框中输入的公式,可以支持输入字段名字、数值、字符串、运算符以及数据处理函数等。在用户不断拖拽数据处理函数、字段或输入运算符、字符串的过程中,系统会触发公式校验机制,对公式进行实时检查。例如,可以实时检查四则运算是否符合加减乘除的规则;对于拖拽或者输入的函数名进行合法性的校验,确定函数是否是BI可视化系统支持的函数;对于函数对应的参数字段的数量是否符合函数定义做校验;对于参数字段也会校验参数的类型是否符合函数的定义,参数的数值是否合法等。
使用拖拽数据处理函数和参数字段的方式可以更直观的展示当前BI可视化系统支持的函数列表以及字段列表,因此可以更方便用户使用系统生成衍生字段以满足数据展示需求。同时通过数据处理函数以及参数字段被拖拽后的实时校验,可以快速的找出生成衍生字段公式中的错误,根据校验的提示结果快速的纠正公式,可以提高生成衍生字段的效率。
在数据处理函数以及参数字段被推拽至衍生字段生成框之后,可以对生成框中的公式进行解析,根据解析结果生成数据库的操作指令,通过数据库操作指令从数据库中查询数据和计算,得到衍生字段对应的待展示数据。
可理解的是,预设函数类型可以是可视化系统常用的数据处理函数的类型,预设数据类型是预设函数中各个参数字段所对应的数据类型。例如在BI可视化系统中,预设函数类型可以是用于做数据处理的通用函数,如EXCEL函数,预设数据类型是EXCEL函数中使用到的参数字段对应的数据类型。在BI可视化系统中,预设函数类型与实际数据库中数据源对应的数据查询或处理的函数类型可以相同也可以不同。在实际应用中,BI可视化系统一般可以支持连接多种不同数据源进行数据操作,例如Mysql数据源、Presto数据源、ClickHouse数据源、Spark数据源、Hive数据源等。因此,为了更方便的让用户可以在BI可视化系统中使用预设函数类型的数据处理函数(如EXCEL函数),对已有数据字段进行处理,减少学习不同数据源自带函数的学习成本,可以将预设函数类型的数据处理函数与不同数据源的相关函数建立映射关系;以实现在得到衍生字段的自定义生成公式之后,针对不同数据源,将自定义公式中的数据处理函数替换为与当前数据源对应的函数,从而生成当前数据源可执行的数据操作语句(如SQL执行语句)。
在数据处理函数被拖拽至衍生字段生成框的同时,可以构建数组对衍生字段生成框中的公式进行解析并对数据处理函数做替换,也可以构建列表对衍生字段生成框中的公式进行解析并对数据处理函数做替换,还可以构建树形结构对衍生字段生成框中的公式进行解析并对数据处理函数做替换。
在本发明的一个实施例中,优选根据所述数据处理函数以及所述数据处理函数对应的参数字段构建树形结构,生成所述衍生字段。也即,构建树形结构来对公式进行解析并对数据处理函数做替换。可理解的是,使用树形结构可以建立公式中各个元素的层级关系,可以快速的定位数据处理函数以及相应的参数字段并进行函数替换,因此可以提高转化为当前数据源可执行的数据操作语句的效率。
在具体构建树形结构时,可以采用如下方式:解析所述数据处理函数以及所述数据处理函数对应的参数字段,确定所述数据处理函数和/或所述参数字段中的分隔符;根据所述分隔符确定树形结构的层级,以及每个层级对应的数据节点。
可理解的是,在生成衍生字段的自定义公式中,通常包含四则运算和/或数据处理函数。数据处理函数是使用括号将函数名和对应的参数进行分隔的,因此对于树形结构的层级,在本发明的一个实施例中,优选使用左括号作为分隔符来确定树形结构的层级。
例如,在对公式进行解析时,可以将公式中的字段、运算符、数值、函数、括号从左到右顺序遍历,依次插入树形结构的当前层节点;当在遍历过程中,遇到左括号时,将括号内的部分作为子节点,插入到上一个节点的下方,形成一棵子树。在遍历到数据处理函数时,也就是说,当遍历到的字符串指示了BI可视化系统预配置的数据处理函数时,将函数标识后的左括号作为分隔符,将括号内的一个或多个参数作为子节点分别插入到函数名对应的节点下方。例如,在衍生字段生成框中通过输入或者拖拽得到的衍生字段的自定义公式是:衍生字段A=100*lookup(字段a,10)+1,在从左到右遍历公式的时候,系统默认生成一个该公式的根节点Root,然后将公式中的元素“100”、“*”、“lookup”、“+”以及“1”插入到根节点Root的下方形成第一层树形结构,在遍历中遇到EXCEL函数lookup(字段a,10)中的左括号时,将括号内的“字段a”、“,”、“10”三个元素作为三个子节点分别插入到lookup节点的下方,形成一棵lookup的子树,因此衍生字段A的树形结构可以如图2所示。
在遍历到四则运算中的左括号时,可以为左括号插入一个当前层节点,将括号内的部分作为子节点,插入到左括号对应的节点下方,形成一棵子树。
当然还可能存在有括号嵌套括号的情况,在对括号内的子树处理的过程中,同样可以采用从左到右的顺序先插入子树当前层的节点,然后根据嵌套的左括号依次逐级生成下一级的子树,其方式与上述方式类似,在此不再赘述。
在衍生字段生成框中的自定义公式对应的树形结构构建完成之后,可以对树形结构中的数据处理函数对应的子树进行替换,将该子树替换成目标数据源相应的函数子树,形成一个新的树形结构。这个过程可以采用本发明一个实施例提供的以下方式:根据所述数据处理函数的类型和/或所述参数字段的类型,分别将所述数据处理函数转化为目标函数,将所述参数字段转化为目标字段;利用所述目标函数和/或所述目标字段替换所述树形结构中所述数据处理函数和/或所述参数字段分别对应的数据节点,以生成新的树形结构。
其中,数据处理函数的类型可以是四则运算类型、EXCEL类型、数学公式类型、自定义类型以及其他类型等。目标函数对于不同数据源来说分别有不同的函数。例如,Mysql函数、Presto函数、Spark函数等。
当然,一些数学计算类的函数,例如四则运算以及数学公式等类型的函数不需要做目标函数的替换,可以直接在BI可视化系统中使用它们对已有数据进行计算。而对于一些数据统计、数据查询、逻辑判断等数据处理函数,例如EXCEL的lookup()函数、rank()函数等,则可以将这些数据处理函数与数据库中不同数据源的函数分别建立映射关系。
本发明的一个可实施方式是分别建立数据处理函数与数据库中不同数据源函数的映射关系。例如,建立一个映射关系,映射关系中可以指示了EXCEL的lookup()函数对应于Mysql数据源的函数映射关系,也可以指示了EXCEL的lookup()函数对应于Presto数据源的函数映射关系,还可以指示了EXCEL的lookup()函数对应于其他数据源的函数映射关系。
以EXCEL函数与Presto函数以及Mysql函数的映射为例,其映射关系可以如表1所示:
表1
从表中可以看出,对于EXCEL的rank()函数以及lookup()函数,其对应于数据源Presto的函数和对应于数据源Mysql的函数是相同的;而对于now()函数以及today()函数,其对应于数据源Presto的函数和对应于数据源Mysql的函数是不同的。
可理解的是,表1中的EXCEL函数也可以是根据需求在BI可视化系统中自定义的数据处理函数,可以实现满足自定义的数据可视化展示需求。在BI可视化系统建立函数的映射关系,既能满足了数据展示的各种需求,又不需要额外导出数据至其他数据处理工具做处理,提高了BI可视化系统数据可视化展示的可扩展性,进而提高了数据可视化展示的效率。
对于EXCEL函数,还可能存在BI可视化系统对EXCEL内置函数做了简单的封装从而生成适用于BI可视化系统的EXCEL函数,其BI可视化系统中的EXCEL类型的数据处理函数可能在参数数量以及参数类型上和EXCEL处理工具提供的内置函数略有差异,这样也可以满足BI可视化系统的定制需求以及提高BI可视化系统的扩展性。
在本发明的一个实施例中,BI可视化系统可以预先建立好数据处理函数与目标函数的映射关系,以及确定出映射关系中的数据处理函数的预设类型以及参数的预设类型。当树形结构中的数据处理函数的类型是预设类型和/或参数字段的类型是预设类型,将该数据处理函数转化为目标函数,将参数字段转化为目标字段。然后将目标函数和/或目标字段替换数据处理函数和/或参数字段分别对应的数据节点,以生成新的树形结构。
例如,数据处理函数的类型是EXCEL类型并且参数字段的类型是EXCEL函数对应的参数类型,当前目标数据源是Mysql数据源时,根据映射关系,将EXCEL函数节点以及参数节点替换为Mysql对应的函数节点以及参数节点。以图2中衍生字段A的树形结构为例,遍历遇到EXCEL函数lookup(字段a,10)时,通过函数映射关系,可以将其转化为Mysql数据源可识别的以下两个函数的组合:lead(字段a,10)和函数over(partition by...order by字段a)。这样可以创建两棵新的子树lead和over,将图2中的lookup子树替换为lead和over两棵子树,从而生成一个新的树形结构,新的树形结构可以如图3所示。其中,函数over()中的“partiton by”后的值可以根据数据表将相应字段通过系统自动填充进去,例如可以根据查询需求将字段b填充到“partition by”后。
可理解的是,在衍生字段的生成公式被替换生成新的树形结构之后,数据展示的过程还包括在可视化页面的待展示区域输入衍生字段的标识或者将衍生字段直接拖拽至待展示区域,并且可以通过衍生字段新的树形结构确定衍生字段对应的待展示数据,以根据该待展示数据生成可视化图像。
在本发明的一个实施例中,优选通过拖拽的方式将衍生字段拖拽至可视化页面中的待展示区域,同时在数据处理函数转化完成并生成新的树形结构后,可以采用以下方法生成可视化图像:根据所述新的树形结构,生成SQL语句;根据所述SQL语句确定所述衍生字段对应的待展示数据;根据所述待展示数据生成可视化图像。
通过遍历新的树形结构,其遍历的方法可以是从上至下,从左到的方式,将树形结构的节点按照树形节点的层级组装成一个衍生字段新的公式,其中包含有目标数据源可执行的SQL语句。例如根据图3的树形结构转化为新的公式,也即可执行的SQL片段为:100*(lead(字段a,10)over(partition by...order by字段a))+1。
根据生成的SQL语句片段,在目标数据源中进行数据查询,并将查询结果返回给衍生字段生成公式,以根据该公式计算出待展示数据,然后根据待展示数据生成可视化图像。
根据本发明实施例提供数据可视化展示方法,能够根据数据处理函数以及数据处理函数对应的参数字段,生成衍生字段,并通过拖拽衍生字段至待展示区域,生成可视化图像,因此可以实现对现有数据直接进行函数处理并根据处理结果生成可视化图像的目的,避免为了对数据做处理而将数据导入到数据处理工具的操作,从而减少了数据可视化展示的工作量,进而提高了数据可视化展示的效率。
进一步的,通过构建衍生字段的树形结构以及数据处理函数与目标数据源函数的映射关系,可以快速从树形结构中定位数据处理函数对应的节点,对节点进行目标数据源函数的转化,生成与目标数据源对应的SQL语句,可以增强可视化展示的可扩展性,降低了学习成本,提高了工作效率。同时通过拖拽的方式来生成衍生字段,可以让用户更直观的使用BI可视化系统,提升了用户体验。
如图4所示,本发明一个实施例提供了一种数据查询及展示的流程示意图,其步骤如下:
步骤S401:用户发送数据预览请求,也即数据展示请求。
步骤S402:解析数据预览请求中的配置,根据数据报表中的已有字段生成衍生字段。
步骤S403:将衍生字段中的函数通过函数映射关系替换为目标数据源的函数。
例如,如图4所示,可以将EXCEL函数映射为Mysql函数、Presto函数、ClickHouse函数、Spark函数、Hive函数或者其他函数。根据目标数据源的类型,将EXCEL函数替换成相应的函数。
步骤S404:从替换后得到的衍生字段中获取SQL片段。
步骤S405:将SQL片段拼接生成查询请求,并将查询请求发送给查询引擎。
步骤S406:通过查询引擎在目标数据源中进行数据查询。
例如,如图4所示,查询引擎可以为Mysql、Presto、Spark、ClickHouse等数据源的查询引擎。
步骤S407:返回查询结果,并根据查询结果在可视化系统中进行数据展示。
如图5所示,本发明实施例提供了一种数据可视化展示装置500,包括:获取模块501、衍生字段生成模块502和图像生成模块503;其中,
所述获取模块501,用于获取数据展示请求,所述数据展示请求指示了一个或多个数据处理函数以及所述数据处理函数对应的参数字段;
所述衍生字段生成模块502,用于根据所述数据处理函数以及所述数据处理函数对应的参数字段,生成衍生字段;
所述图像生成模块503,用于响应于所述衍生字段被拖拽至可视化页面中的待展示区域,在所述可视化页面生成可视化图像。
本发明一个实施例中,所述获取模块501,用于响应于用户拖拽所述数据处理函数和/或所述参数字段,生成所述数据展示请求;其中,所述参数字段包括:被拖拽的字段和/或输入的字符。
本发明一个实施例中,所述获取模块501,用于根据校验机制,对所述数据处理函数的合法性和/或所述参数字段的数量进行实时检查,和/或,对所述参数字段的合法性进行实时检查。
本发明一个实施例中,所述衍生字段生成模块502,用于根据所述数据处理函数以及所述数据处理函数对应的参数字段构建树形结构,生成所述衍生字段。
本发明一个实施例中,所述衍生字段生成模块502,用于解析所述数据处理函数以及所述数据处理函数对应的参数字段,确定所述数据处理函数和/或所述参数字段中的分隔符;根据所述分隔符确定树形结构的层级,以及每个层级对应的数据节点。
本发明一个实施例中,所述衍生字段生成模块502,用于根据所述数据处理函数的类型和/或所述参数字段的类型,分别将所述数据处理函数转化为目标函数,将所述参数字段转化为目标字段;利用所述目标函数和/或所述目标字段替换所述树形结构中所述数据处理函数和/或所述参数字段分别对应的数据节点,以生成新的树形结构。
本发明一个实施例中,图像生成模块503,用于响应于所述衍生字段被拖拽至可视化页面中的待展示区域,根据所述新的树形结构,生成SQL语句;根据所述SQL语句确定所述衍生字段对应的待展示数据;根据所述待展示数据生成可视化图像。
根据本发明实施例提供的数据可视化展示装置,能够根据数据处理函数以及数据处理函数对应的参数字段,生成衍生字段,并通过拖拽衍生字段至待展示区域,生成可视化图像,因此可以实现对现有数据直接进行函数处理并根据处理结果生成可视化图像的目的,避免为了对数据做处理而将数据导入到数据处理工具的操作,从而减少了数据可视化展示的工作量,进而提高了数据可视化展示的效率。
进一步的,通过构建衍生字段的树形结构以及数据处理函数与目标数据源函数的映射关系,可以快速从树形结构中定位数据处理函数对应的节点,对节点进行目标数据源函数的转化,生成与目标数据源对应的SQL语句,可以增强可视化展示的可扩展性,降低了学习成本,提高了工作效率。同时通过拖拽的方式来生成衍生字段,可以让用户更直观的使用BI可视化系统,提升了用户体验。
图6示出了可以应用本发明实施例的数据可视化展示方法或数据可视化展示装置的示例性系统架构600。
如图6所示,系统架构600可以包括终端设备601、602、603,网络604和服务器605。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。
终端设备601、602、603可以是具有显示屏并且支持信息浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器605可以是提供各种服务的服务器,例如对用户利用终端设备601、602、603提出的数据展示请求提供支持的后台管理服务器。后台管理服务器可以对接收到的数据展示请求等数据进行分析等处理,并将处理结果反馈给终端设备。
需要说明的是,本发明实施例所提供的数据可视化展示方法一般由服务器605执行,相应地,数据可视化展示装置一般设置于服务器605中。
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图7,其示出了适于用来实现本发明实施例的终端设备的计算机系统700的结构示意图。图7示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块,确定模块,生成模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,生成模块还可以被描述为“衍生字段生成的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:获取数据展示请求,所述数据展示请求指示了一个或多个数据处理函数以及所述数据处理函数对应的参数字段;根据所述数据处理函数以及所述数据处理函数对应的参数字段,生成衍生字段;响应于所述衍生字段被拖拽至可视化页面中的待展示区域,在所述可视化页面生成可视化图像。
根据本发明实施例的技术方案,能够根据数据处理函数以及数据处理函数对应的参数字段,生成衍生字段,并通过拖拽衍生字段至待展示区域,生成可视化图像,因此可以实现对现有数据直接进行函数处理并根据处理结果生成可视化图像的目的,避免为了对数据做处理而将数据导入到数据处理工具的操作,从而减少了数据可视化展示的工作量,进而提高了数据可视化展示的效率。
进一步的,通过构建衍生字段的树形结构以及数据处理函数与目标数据源函数的映射关系,可以快速从树形结构中定位数据处理函数对应的节点,对节点进行目标数据源函数的转化,生成与目标数据源对应的SQL语句,可以增强可视化展示的可扩展性,降低了学习成本,提高了工作效率。同时通过拖拽的方式来生成衍生字段,可以让用户更直观的使用BI可视化系统,提升了用户体验。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种数据可视化展示方法,其特征在于,包括:
获取数据展示请求,所述数据展示请求指示了一个或多个数据处理函数以及所述数据处理函数对应的参数字段;
根据所述数据处理函数以及所述数据处理函数对应的参数字段,生成衍生字段;
响应于所述衍生字段被拖拽至可视化页面中的待展示区域,在所述可视化页面生成可视化图像。
2.根据权利要求1所述的方法,其特征在于,所述根据所述数据处理函数以及所述数据处理函数对应的参数字段,生成衍生字段,包括:
根据所述数据处理函数以及所述数据处理函数对应的参数字段构建树形结构,生成所述衍生字段。
3.根据权利要求2所述的方法,其特征在于,所述根据所述数据处理函数以及所述数据处理函数对应的参数字段构建树形结构,包括:
解析所述数据处理函数以及所述数据处理函数对应的参数字段,确定所述数据处理函数和/或所述参数字段中的分隔符;
根据所述分隔符确定树形结构的层级,以及每个层级对应的数据节点。
4.根据权利要求3所述的方法,其特征在于,在所述数据处理函数的类型为预设函数类型和/或所述参数字段的类型为预设数据类型的情况下,所述根据所述分隔符确定树形结构的层级,以及每个层级对应的数据节点,包括:
根据所述数据处理函数的类型和/或所述参数字段的类型,分别将所述数据处理函数转化为目标函数,将所述参数字段转化为目标字段;
利用所述目标函数和/或所述目标字段替换所述树形结构中所述数据处理函数和/或所述参数字段分别对应的数据节点,以生成新的树形结构。
5.根据权利要求1所述的方法,其特征在于,所述响应于所述衍生字段被拖拽至可视化页面中的待展示区域,在所述可视化页面生成可视化图像,包括:
响应于所述衍生字段被拖拽至可视化页面中的待展示区域,根据所述新的树形结构,生成SQL语句;
根据所述SQL语句确定所述衍生字段对应的待展示数据;
根据所述待展示数据生成可视化图像。
6.根据权利要求1所述的方法,其特征在于,还包括:
响应于用户拖拽所述数据处理函数和/或所述参数字段,生成所述数据展示请求;其中,所述参数字段包括:被拖拽的字段和/或输入的字符。
7.根据权利要求6所述的方法,其特征在于,
根据校验机制,对所述数据处理函数的合法性和/或所述参数字段的数量进行实时检查,和/或,对所述参数字段的合法性进行实时检查。
8.一种数据可视化展示装置,其特征在于,包括:获取模块,衍生字段生成模块和图像生成模块;其中,
所述获取模块,用于获取数据展示请求,所述数据展示请求指示了一个或多个数据处理函数以及所述数据处理函数对应的参数字段;
所述衍生字段生成模块,用于根据所述数据处理函数以及所述数据处理函数对应的参数字段,生成衍生字段;
所述图像生成模块,用于响应于所述衍生字段被拖拽至可视化页面中的待展示区域,在所述可视化页面生成可视化图像。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111629244.2A CN116361378A (zh) | 2021-12-28 | 2021-12-28 | 一种数据可视化展示方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111629244.2A CN116361378A (zh) | 2021-12-28 | 2021-12-28 | 一种数据可视化展示方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116361378A true CN116361378A (zh) | 2023-06-30 |
Family
ID=86929177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111629244.2A Pending CN116361378A (zh) | 2021-12-28 | 2021-12-28 | 一种数据可视化展示方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116361378A (zh) |
-
2021
- 2021-12-28 CN CN202111629244.2A patent/CN116361378A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11216453B2 (en) | Data visualization in a dashboard display using panel templates | |
CN111177231A (zh) | 报表生成方法和报表生成装置 | |
CN111221526A (zh) | 一种基于数据湖服务器的数据可视化编辑展示平台 | |
CN111427901A (zh) | 交互式知识图谱数据编辑方法、计算机设备和存储介质 | |
CN111061766A (zh) | 一种业务数据的处理方法、装置、计算机设备及存储介质 | |
CN113238740B (zh) | 代码生成方法、代码生成装置、存储介质及电子设备 | |
CN113485781A (zh) | 报表生成方法、装置、电子设备及计算机可读介质 | |
CN105608065A (zh) | 一种图表生成方法和装置 | |
US9832073B2 (en) | Analyzing network configuration complexity | |
CN113419789A (zh) | 数据模型脚本的生成方法和装置 | |
CN113535749A (zh) | 查询语句生成方法及装置 | |
WO2016131295A1 (zh) | 一种北向数据转换方法和装置 | |
CN112364617A (zh) | 文件信息的处理方法、装置、电子设备和存储介质 | |
CN116361378A (zh) | 一种数据可视化展示方法及装置 | |
CN116009847A (zh) | 代码生成方法、装置、电子设备及存储介质 | |
CN110852050A (zh) | 一种配置报表生成系统的方法、装置和电子设备 | |
US11609924B2 (en) | Database query execution on multiple databases | |
CN115392205A (zh) | 报表数据的生成方法、装置、电子设备及存储介质 | |
CN115145652A (zh) | 一种数据处理任务的创建方法、装置、设备及介质 | |
CN114661747A (zh) | 指标计算方法、装置、存储介质及计算机设备 | |
CN114185871A (zh) | 数据迁移方法、数据迁移装置、介质及电子设备 | |
US10817340B2 (en) | Availability factor (AFactor) based automation system | |
CN112948472A (zh) | 处理数据方法、装置、设备和计算机可读介质 | |
CN112825107B (zh) | 一种生成图表的方法和装置 | |
CN116303428A (zh) | 一种数据处理方法和装置 |
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 |