CN114969193A - 一种图表数据的生成方法及系统及装置及介质 - Google Patents
一种图表数据的生成方法及系统及装置及介质 Download PDFInfo
- Publication number
- CN114969193A CN114969193A CN202210530216.3A CN202210530216A CN114969193A CN 114969193 A CN114969193 A CN 114969193A CN 202210530216 A CN202210530216 A CN 202210530216A CN 114969193 A CN114969193 A CN 114969193A
- Authority
- CN
- China
- Prior art keywords
- data
- field
- condition
- chart
- query
- 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/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/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- 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/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种图表数据的生成方法及系统及装置及介质,涉及数据可视化技术领域,所述方法包括以下步骤:获得查询条件;基于数据库表获得待处理数据;基于所述查询条件配置所述待处理数据对应的字段元数据信息和第一数据过滤条件;基于所述查询条件、所述字段元数据信息和所述第一数据过滤条件组装生成结构化查询语言;在所述待处理数据中执行所述结构化查询语言,获得结果数据;对所述结果数据进行格式处理得到图表数据。丰富了图表查询的条件,可以进行灵活、复杂的数据查询;统一了图表查询输入输出格式,不同图表的查询可以用同一套查询逻辑,前端可以统一适配图表数据的显示。
Description
技术领域
本发明涉及数据可视化领域,具体地,涉及一种图表数据的生成方法及系统及装置及介质。
背景技术
图表显示控件如柱状图、饼图、交叉表等用于数据呈现,直观易懂,在报表和大屏展示等场景中被大量使用。
图表控件样式多样,每种图表的数据结构也不一致,在使用数据库表数据作为数据源进行图表数据查询显示时,数据过滤条件也多种多样,传统做法是对每个图表进行定制化SQL(结构化查询语言)查询展示,一旦发生业务变更,可能需要所有的图表SQL进行重构,可扩展性和维护性较差。同时传统图表数据的查询条件也很单一,无法灵活地进行不同图表数据的查询和切换。
发明内容
为克服现有图表查询技术中查询条件单一和输入输出格式不统一的问题,本发明的目的在于提供一种图表数据的生成方法及系统及装置及介质。
为实现上述目的,本发明提供了一种图表数据的生成方法,所述方法包括以下步骤:
获得查询条件;
基于数据库表获得待处理数据;
基于所述查询条件配置所述待处理数据对应的字段元数据信息和第一数据过滤条件;
基于所述查询条件、所述字段元数据信息和所述第一数据过滤条件组装生成结构化查询语言;
在所述待处理数据中执行所述结构化查询语言,获得结果数据;
对所述结果数据进行格式处理得到图表数据。
其中,本发明的原理为:首先获得查询条件,基于查询条件获得查询信息,根据数据库表获得待处理数据即查询对象,基于所述查询条件配置所述待处理数据对应的字段元数据信息和第一数据过滤条件,其中配置所述字段元数据信息和所述第一数据过滤条件是为了定义满足图表查询的通用参数,再基于所述待处理数据、所述字段元数据信息和所述第一数据过滤条件组装生成结构化查询语言,在所述待处理数据中执行所述结构化查询语言得到满足所述查询条件的结果数据,最后对所述结果数据进行格式处理得到图表数据,所述图表数据用于提供给图表组件进行渲染绘制。通过配置所述字段元数据信息和组装所述结构化查询语言,实现了数据输入格式统一;通过配置所述第一数据过滤条件和组装所述结构化查询语言,丰富了图表查询条件,可以进行灵活、复杂的图表查询;通过对所述结果数据进行格式处理,统一了查询结果,实现了数据输出格式统一。
优选的,本方法中,所述字段元数据信息包括字段的名称和字段的业务属性。其中,所述字段元数据信息表明需要查询字段的名称,以及每个字段的业务属性。
优选的,本方法中,若所述第一数据过滤条件为第一预设条件,则所述第一数据过滤条件通过若干个预设的数学操作组合实现;若所述第一数据过滤条件为第二预设条件,则所述第一数据过滤条件通过指定数据库函数实现。
其中,所述第一数据过滤条件限定了两种实现方式,一是通过若干个预设的数学操作组合实现,二是通过指定数据库函数实现,通过判断所述第一数据过滤条件类型,选择相应的方式实现所述第一数据过滤条件。
优选的,本方法中,所述结构化查询语言包括选择部分、来源部分和条件部分。其中,上述优选方式说明了所述结构化查询语言的组成部分。
优选的,本方法中,所述选择部分的生成方式为:基于所述查询条件获得查询信息,基于所述查询信息获得所述选择部分。其中,上述优选方式说明了基于所述查询信息能快速准确的生成结构化查询语言中的选择部分。
优选的,本方法中,所述选择部分的生成方式具体包括:
通过解析所述字段元数据信息,判断所述字段元数据信息中的聚合类型,基于所述聚合类型选择对应的聚合函数对所述查询信息中的字段进行聚合处理获得聚合结果,基于所述聚合结果和所述查询信息获得所述选择部分;或判断所述字段元数据信息中是否有预设函数字段,若有预设函数字段,则对所述查询信息中的字段应用相应的预设函数进行处理获得处理结果,基于所述处理结果和所述查询信息获得所述选择部分。
其中,所述字段元数据信息中的“聚合类型”字段和“预设函数”字段都是输入设定参数,如果有则进行响应处理,如果没有即不进行处理,通过上述优选方式,实现了对所述选择部分的生成方式的优化处理。
优选的,本方法中,所述来源部分的生成方式包括:
基于所述数据库表,利用相应的数据定界符对所述数据库表名进行格式化处理得到第一数据库表名,基于所述第一数据库表名获得所述来源部分。其中,通过这种方式能够快速准确的生成结构化查询语言中的来源部分。
优选的,本方法中,所述条件部分的生成方式包括:遍历所述第一数据过滤条件中的每个条件,将所述第一数据过滤条件中的每个条件转换成对应数据库语言,基于所述字段元数据信息中的连接类型,对所述第一数据过滤条件中的每个条件进行拼接得到第二数据过滤条件,基于所述第二数据过滤条件获得所述条件部分。
其中,所述第一数据过滤条件中的每个条件为条件字段,在组装所述结构化查询语言时,需将所述第一数据过滤条件中的每个条件转换成相应的数据库语言,便于后续执行所述结构化查询语言,在所述字段元数据信息中有“连接类型”字段是输入设定参数,拼接条件是根据标准SQL规范定义的拼接条件,通过上述优选方式,丰富了查询条件,实现了复杂、灵活的图表查询。
优选的,本方法中,结构化查询语言生成方式包括:
对所述结构化查询语言进行处理,判断所述字段元数据信息中是否有聚合函数字段,若有,则对所述待处理数据进行分组处理;判断所述字段元数据信息中是否有排序字段,若有,则对所述待处理数据进行排序处理;判断所述字段元数据信息中是否有前N项字段,若有,则对所述待处理数据进行统计前N项处理;判断所述字段元数据信息中是否有去重字段,若有,则对所述待处理数据进行去重处理;判断所述字段元数据信息中是否有分页字段,若有,则对所述待处理数据进行分页处理。
其中,所述字段元数据信息中“聚合函数”字段、“排序”字段、“前N项”字段、“去重”字段和“分页”字段,是输入设定参数,通过判断所述字段元数据信息中有无该字段,如果有则进行响应处理,如果没有即不进行处理,经过上述优选方式,实现了对所述结构化查询语言的优化处理。
优选的,本方法中,对所述结果数据进行格式处理具体包括:
获取所述结构化查询语言对应的所述结果数据的元数据信息;
遍历所述结果数据的元数据信息,获得所述结果数据的字段信息,所述字段信息包括字段名称、字段类型和字段位置索引;
解析所述结果数据,遍历结果集,根据所述字段信息,解析所述结果数据中每个字段对应的值,基于所述字段元数据信息中的数据转换模板,将所述结果数据中每个字段对应的值进行格式化转换。
其中,获取所述结果数据的元数据信息,遍历所述元数据信息,得到所述结果数据的字段信息,所述字段信息包括了字段名称、字段类型和字段位置索引,基于所述字段信息,从所述结果集合中找到相应的数据进行解析得到解析结果,最后基于所述数据转换模板对所述解析结果进行格式化转换,实现了数据输出的格式统一。
优选的,本方法中,对所述结果数据进行格式处理还包括:判断所述图表数据的数量是否大于预设阈值,若是,则对所述图表数据进行分页处理,若否,则直接输出所述图表数据。
其中,上述条件设定是因为如果所述图表数据的数量超过限定值,就会不便于图表进行展示,这时就需要进行分页处理,在实际查询过程中,需要哪一页的数据,就查询返回那一页的数据。
优选的,本方法中,所述方法还包括基于所述图表数据,利用图表组件进行图表页面渲染绘制。其中,通过上述优选方式让图表数据以图表形式显示,实现了图表数据的可视化处理。
本发明还提供了一种图表数据的生成系统,所述系统包括:
第一获得单元,用于获得查询条件;
第二获得单元,用于基于数据库表,获得待处理数据;
配置单元,用于基于所述查询条件配置所述待处理数据对应的字段元数据信息和第一数据过滤条件;
组装单元,用于基于所述查询条件、所述字段元数据信息和所述第一数据过滤条件组装生成结构化查询语言;
第三获得单元,用于在所述待处理数据中执行所述结构化查询语言,获得结果数据;
处理单元,用于对所述结果数据进行格式处理得到图表数据。
本发明还提供了一种图表数据的生成装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述图表数据的生成方法的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述图表数据的生成方法的步骤。
本发明提供的一个或多个技术方案,至少具有如下技术效果或优点:
基于查询条件,通过配置待处理数据的数据过滤条件和后续组装结构化查询语言,丰富了图表查询的条件,从而可以进行灵活、复杂的图表数据查询;
通过配置待处理数据的字段元数据信息、组装结构化查询语言和对结果数据进行格式处理,统一了图表查询输入输出格式,不同图表的查询可以用同一套查询逻辑,前端可以统一适配图表数据的显示。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本发明的一部分,并不构成对本发明实施例的限定;
图1是本发明中图表数据的生成方法的流程示意图;
图2是本发明中图表数据的生成系统的组成示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在相互不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述范围内的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
实施例一
请参考图1,一种图表数据的生成方法,所述方法包括以下步骤:
获得查询条件;
基于数据库表获得待处理数据;
基于所述查询条件配置所述待处理数据对应的字段元数据信息和第一数据过滤条件;
基于所述查询条件、所述字段元数据信息和所述第一数据过滤条件组装生成结构化查询语言;
在所述待处理数据中执行所述结构化查询语言,获得结果数据;
对所述结果数据进行格式处理得到图表数据。
其中,在本实施例中,所述查询条件为查询每个班上不在北京的成年男生人数/未成年男生人数,只取人数的前十条记录,所述数据库表为表1班级表(班级表名t_class)和表2学生表(学生表名t_student),基于所述班级表和所述学生表获得待处理数据信息,基于所述查询条件,配置所述待处理数据的字段元数据信息和数据过滤条件,具体包括:
表1
c_id | c_name |
1 | 一班 |
2 | 二班 |
表2
s_id | s_name | s_gender | s_age | s_area | c_id |
1 | Tom | man | 20 | 成都 | 1 |
2 | Bob | man | 17 | 成都 | 1 |
3 | Lisa | woman | 17 | 成都 | 2 |
4 | Rose | woman | 19 | 成都 | 1 |
5 | Jerry | man | 16 | 成都 | 2 |
6 | Bang | man | 20 | 北京 | 1 |
7 | Mike | man | 17 | 武汉 | 2 |
所述字段元数据信息为{Id:s_id、Name:学生id、Type:数字类型、AggType:统计数量、FiledType:指标}、{Id:s_age、Name:学生年龄、Type:数字类型、FormatMask:s_age<18未成年;s_age>18成年、FieldType:维度、AdvanceCalc:分组、Order:降序}、{Id:c_name、Name:班级名称、Type:字符串类型、FiledType:维度、AdvanceCalc:分组}。
所述数据过滤条件为{Column:s_gender;Operate:等于;Value:man;combinationType:and}(在性别这一列里面查询男生并用“和”的方式连接)、{Column:s_area;Operate:不等于;Value:北京;combinationType:and}(在区域这一列里面查询不等于北京的区域并用“和”的方式连接)、{Column:t_student.c_id;Operate:等于;Value:t_class.c_id;combinationType:join}(查询学生表里面的c_id等于班级表里面的c_id的数据并连接)。
基于所述班级表、所述学生表、所述字段元数据信息和所述数据过滤条件,组装生成SQL(结构化查询语言),具体包括:
生成SQL的SELECT(选择)部分,选择查询每个班上成年/未成年的人数,因为涉及到统计人数,需要用到聚合函数COUNT统计人数;
生成SQL的FROM(来源)部分,从所述学生表获得学生表名(t_student),利用相应的数据定界符进行格式处理得到`t_student`,其中所述学生表里的c_id与所述班级表里的c_id相对应;
生成SQL的WHERE(条件)部分,限制条件为不在北京的男生;
对SQL进行处理:因为所述字段元数据信息中有聚合函数COUNT,所以需要对班级类别和年龄进行分组;因为所述字段元数据信息中有OREDER字段,所以需要数据进行降序处理;最后基于所述查询条件,限制查询结果返回的数量为10条。
在所述班级表中和所述学生表中执行所述SQL语言,得到结果数据如表3所示,其中一班有Tom20岁在成都,Bob17岁在成都,二班有Jerry16岁在成都,Mike17岁在武汉,对所述结果数据处理得到图表数据,其中包括:
获得表3的元数据信息,遍历所述元数据信息,获得字段信息,所述字段信息包括有字段名称、字段类型和字段位置索引,基于所提取到的字段信息,可以从结果集合中找到对应的数据取回来解析,最后基于所述字段元数据信息中的FormatMask(数据转换模板),进行响应数据的格式化转换,得到图表数据如表4所示,其中一班未成年数量为1,成年数量为1,二班未成年数量为2。
基于表4的数据,利用图表组件进行图表页面渲染绘制,所示图表组件可以为柱状图组件,或饼状图组件,或折线图组件等其他图表组件,可根据实际需要选择相应的图表组件,本发明实施例不做具体限定。
表3
s_id | s_name | s_gender | s_age | s_area | c_name |
1 | Tom | man | 20 | 成都 | 一班 |
2 | Bob | man | 17 | 成都 | 一班 |
5 | Jerry | man | 16 | 成都 | 二班 |
7 | Mike | man | 17 | 武汉 | 二班 |
表4
班级 | 类别 | 数量 |
一班 | 未成年 | 1 |
一班 | 成年 | 1 |
二班 | 未成年 | 2 |
其中,请参考表5,表5为字段元数据信息表,所述字段元数据信息表包括了字段的属性名称、属性类型、属性功能和必要性。如id属于字符串类型,是字段唯一key,必须配置;name属于字符串类型,是字段别名,必须配置;type属于枚举类型,是字段类型,必须配置;aggType属于枚举类型,是数据库聚合类型,不是必须配置;filedType属于数值类型,是标识维度,必须配置;formatMask属于字符串类型,是数据转换模板,不是必须配置;advancedCalc属于枚举类型,是高级计算函数,不是必须配置;order属于数值类型,是升序/降序,必须配置。在所述字段元数据信息表中,我们约定了一些配置项是必须要配置的,而有些是可选的,可选项的设置可以丰富后续的SQL组装模块,也就是表明在实际查询过程中,可以基于查询条件,对字段元数据信息进行配置。
表5
其中,请参考表6,表6为数据过滤条件表,所述数据过滤条件表包括了条件的属性名称、属性类型、属性功能和必要性。如column属于字符串类型,是字段唯一key,必须配置;operate属于字符串类型,是操作符号,必须配置;value属于任意类型,是值域,必须配置;combinationType属于枚举类型,是指与前一条件的连接方式(and/or),不是必须配置;distinct属于数值类型,是指是否去重,不是必须配置;join属于对象类型,起到连接表的功能,不是必须配置;topN属于数值类型,是指排名前N条数据,不是必须配置;page属于对象类型,是指分页处理对象,不是必须配置。在所述数据过滤条件表中,我们约定了一些配置项是必须要配置的,而有些是可选的,可选项的设置可以丰富后续的SQL组装模块,也就是表明,可以基于查询条件,对数据过滤条件进行配置。
表6
其中,若所述第一数据过滤条件为第一预设条件,则所述第一数据过滤条件通过若干个预设的数学操作组合实现(比如有条件“名字包含张”,“年龄>20”,“性别=女”,“地区=成都”,这几个条件就可以用“或者(and)”和“并且(or)”条件任意拼接起来),所述第一预设条件可以为大于,或小于,或等于,或包含普通的运算表达条件,根据实际需要进行判断,本发明不做具体限定;若所述第一数据过滤条件为第二预设条件,则所述第一数据过滤条件通过指定数据库函数实现(比如均值函数AVG,求和函数COUNT,最大值函数MAX,最小值函数MIN,可根据实际需要选择,本发明不做具体限定),所述第二预设条件可以为分组,或同比环比,或均值,或最大值等带有数量统计的条件,可根据实际需要进行判断,本发明不做具体限定。
其中,通过解析所述字段元数据信息,判断所述字段元数据信息中的聚合类型,基于所述聚合类型选择对应的聚合函数对所述查询信息中的字段进行聚合处理获得聚合结果,基于所述聚合结果和所述查询信息获得所述选择部分,在所述字段元数据信息中有“聚合类型(aggType)”字段,是输入设定参数,所述设定参数是一个字典,其具体的值对应了相应数据库的函数如“COUNT”对应“数量统计函数COUNT()”、“AVG”对应“均值统计函数AVG()”等等,可根据实际需要,选择相应的函数,本发明不做具体限定;或判断所述字段元数据信息中是否有预设函数字段,若有预设函数字段,则对所述查询信息中的字段应用相应的预设函数进行处理获得处理结果,基于所述处理结果和所述查询信息获得所述选择部分,在所述字段元数据信息中判定是否有advanceCalc(高级函数)字段,是输入设定参数,所述高级函数可以是集合运算函数,或排序函数,或聚合查询函数等其他函数,可根据实际需要,选择相应的函数,本发明不做具体限定。
其中,基于所述数据库表,利用相应的数据定界符对所述数据库表名进行格式化处理得到第一数据库表名,基于所述第一数据库表名获得所述来源部分。在数据库中,不同类型的数据一般存放在不同的表中,如学生信息存放在学生表t_student中、班级信息存放在班级表t_class中,不同的数据库定界符不一致,对同一个表名如t_student,使用不同定界符可能输出的是“`t_student`”或“[t_student]”或“”t_student””,这里会有一个数据库和定界符的字典,根据数据库选择相应定界符来进行格式化,可根据实际需要,选择相应的数据定界符对数据库表名进行处理,本发明不做具体限定。
其中,所述条件部分的生成方式包括:遍历所述第一数据过滤条件中的每个条件,将所述第一数据过滤条件中的每个条件转换成对应数据库语言,基于所述字段元数据信息中的连接类型,对所述第一数据过滤条件中的每个条件进行拼接得到第二数据过滤条件,基于所述第二数据过滤条件获得所述条件部分。在所述字段元数据信息中有“连接类型(combinationType)字段,是输入设定参数,对条件进行拼接处理是基于标注SQL规范定义的连接条件(inner join内连接,left join左连接,right join右连接等),可根据实际需要,选择相应的连接条件,本发明不做具体限定”
实施例二
请参考图2,本发明实施例提供了一种图表数据的生成系统,所述系统包括:
第一获得单元,用于获得查询条件;
第二获得单元,用于基于数据库表,获得待处理数据;
配置单元,用于基于所述查询条件配置所述待处理数据对应的字段元数据信息和第一数据过滤条件;
组装单元,用于基于所述查询条件、所述字段元数据信息和所述第一数据过滤条件组装生成结构化查询语言;
第三获得单元,用于在所述待处理数据中执行所述结构化查询语言,获得结果数据;
处理单元,用于对所述结果数据进行格式处理得到图表数据。
实施例三
本发明实施例三提供了一种图表数据的生成装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述图表数据的生成方法的步骤。
其中,所述处理器可以是中央处理器(CPU,Central Processing Unit),还可以是其他通用处理器、数字信号处理器(digital signal processor)、专用集成电路(Application Specific Integrated Circuit)、现成可编程门阵列(Fieldprogrammablegate array)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的数据,实现发明中双支臂智能健身器械的位置更新装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等。此外,存储器可以包括高速随机存取存储器、还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡,安全数字卡,闪存卡、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
实施例四
本发明实施例四提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述图表数据的生成方法的步骤。
所述图表数据的方法生成装置如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序可存储于一计算机可读存介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码、对象代码形式、可执行文件或某些中间形式等。所述计算机可读取介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存储器、点载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
本发明已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (15)
1.一种图表数据的生成方法,其特征在于,所述方法包括以下步骤:
获得查询条件;
基于数据库表获得待处理数据;
基于所述查询条件配置所述待处理数据对应的字段元数据信息和第一数据过滤条件;
基于所述查询条件、所述字段元数据信息和所述第一数据过滤条件组装生成结构化查询语言;
在所述待处理数据中执行所述结构化查询语言,获得结果数据;
对所述结果数据进行格式处理得到图表数据。
2.根据权利要求1所述的一种图表数据的生成方法,其特征在于,所述字段元数据信息包括字段的名称和字段的业务属性。
3.根据权利要求1所述的一种图表数据的生成方法,其特征在于,若所述第一数据过滤条件为第一预设条件,则所述第一数据过滤条件通过若干个预设的数学操作组合实现;若所述第一数据过滤条件为第二预设条件,则所述第一数据过滤条件通过指定数据库函数实现。
4.根据权利要求1所述的一种图表数据的生成方法,其特征在于,所述结构化查询语言包括选择部分、来源部分和条件部分。
5.根据权利要求4所述的一种图表数据的生成方法,其特征在于,所述选择部分的生成方式为:基于所述查询条件获得查询信息,基于所述查询信息获得所述选择部分。
6.根据权利要求5所述的一种图表数据的生成方法,其特征在于,所述选择部分的生成方式具体包括:
通过解析所述字段元数据信息,判断所述字段元数据信息中的聚合类型,基于所述聚合类型选择对应的聚合函数对所述查询信息中的字段进行聚合处理获得聚合结果,基于所述聚合结果和所述查询信息获得所述选择部分;或判断所述字段元数据信息中是否有预设函数字段,若有预设函数字段,则对所述查询信息中的字段应用相应的预设函数进行处理获得处理结果,基于所述处理结果和所述查询信息获得所述选择部分。
7.根据权利要求4所述的一种图表数据的生成方法,其特征在于,所述来源部分的生成方式包括:
基于所述数据库表,利用相应的数据定界符对所述数据库表名进行格式化处理得到第一数据库表名,基于所述第一数据库表名获得所述来源部分。
8.根据权利要求4所述的一种图表数据的生成方法,其特征在于,所述条件部分的生成方式包括:遍历所述第一数据过滤条件中的每个条件,将所述第一数据过滤条件中的每个条件转换成对应数据库语言,基于所述字段元数据信息中的连接类型,对所述第一数据过滤条件中的每个条件进行拼接得到第二数据过滤条件,基于所述第二数据过滤条件获得所述条件部分。
9.根据权利要求1所述的一种图表数据的生成方法,其特征在于,结构化查询语言生成方式包括:
对所述结构化查询语言进行处理,判断所述字段元数据信息中是否有聚合函数字段,若有,则对所述待处理数据进行分组处理;判断所述字段元数据信息中是否有排序字段,若有,则对所述待处理数据进行排序处理;判断所述字段元数据信息中是否有前N项字段,若有,则对所述待处理数据进行统计前N项处理;判断所述字段元数据信息中是否有去重字段,若有,则对所述待处理数据进行去重处理;判断所述字段元数据信息中是否有分页字段,若有,则对所述待处理数据进行分页处理。
10.根据权利要求1所述的一种图表数据的生成方法,其特征在于,对所述结果数据进行格式处理具体包括:
获取所述结构化查询语言对应的所述结果数据的元数据信息;
遍历所述结果数据的元数据信息,获得所述结果数据的字段信息,所述字段信息包括字段名称、字段类型和字段位置索引;
解析所述结果数据,遍历结果集,根据所述字段信息,解析所述结果数据中每个字段对应的值,基于所述字段元数据信息中的数据转换模板,将所述结果数据中每个字段对应的值进行格式化转换。
11.根据权利要求10所述的一种图表数据的生成方法,其特征在于,对所述结果数据进行格式处理还包括:判断所述图表数据的数量是否大于预设阈值,若是,则对所述图表数据进行分页处理,若否,则直接输出所述图表数据。
12.根据权利要求1所述的一种图表数据的生成方法,其特征在于,所述方法还包括基于所述图表数据,利用图表组件进行图表页面渲染绘制。
13.一种图表数据的生成系统,其特征在于,所述系统包括:
第一获得单元,用于获得查询条件;
第二获得单元,用于基于数据库表,获得待处理数据;
配置单元,用于基于所述查询条件配置所述待处理数据对应的字段元数据信息和第一数据过滤条件;
组装单元,用于基于所述查询条件、所述字段元数据信息和所述第一数据过滤条件组装生成结构化查询语言;
第三获得单元,用于在所述待处理数据中执行所述结构化查询语言,获得结果数据;
处理单元,用于对所述结果数据进行格式处理得到图表数据。
14.一种图表数据的生成装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-12中任意一个所述图表数据的生成方法的步骤。
15.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-12中任意一个所述图表数据的生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210530216.3A CN114969193A (zh) | 2022-05-16 | 2022-05-16 | 一种图表数据的生成方法及系统及装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210530216.3A CN114969193A (zh) | 2022-05-16 | 2022-05-16 | 一种图表数据的生成方法及系统及装置及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114969193A true CN114969193A (zh) | 2022-08-30 |
Family
ID=82983370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210530216.3A Pending CN114969193A (zh) | 2022-05-16 | 2022-05-16 | 一种图表数据的生成方法及系统及装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114969193A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115544183A (zh) * | 2022-11-28 | 2022-12-30 | 深圳高灯计算机科技有限公司 | 数据可视化方法、装置、计算机设备和存储介质 |
-
2022
- 2022-05-16 CN CN202210530216.3A patent/CN114969193A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115544183A (zh) * | 2022-11-28 | 2022-12-30 | 深圳高灯计算机科技有限公司 | 数据可视化方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111522816A (zh) | 基于数据库引擎的数据处理方法、装置、终端及介质 | |
US10671671B2 (en) | Supporting tuples in log-based representations of graph databases | |
CN107798123B (zh) | 知识库及其建立、修改、智能问答方法、装置及设备 | |
US20030131215A1 (en) | Multi-part looked-up table fields and its use in data processing operations involving multiple tables of a relational database | |
CN111930615B (zh) | 代码质量评估方法及装置 | |
US11720543B2 (en) | Enforcing path consistency in graph database path query evaluation | |
US10146881B2 (en) | Scalable processing of heterogeneous user-generated content | |
WO2019200700A1 (zh) | 一种公文处理的方法、装置、终端设备及存储介质 | |
US20100162159A1 (en) | Technique to improve data entry efficiency in a user interface | |
US20180357278A1 (en) | Processing aggregate queries in a graph database | |
US20180357330A1 (en) | Compound indexes for graph databases | |
CN118093632B (zh) | 基于大语言模型和图结构的图数据库查询方法和装置 | |
CN114969193A (zh) | 一种图表数据的生成方法及系统及装置及介质 | |
US20180357328A1 (en) | Functional equivalence of tuples and edges in graph databases | |
US10983997B2 (en) | Path query evaluation in graph databases | |
CN110704472A (zh) | 数据查询统计方法及装置 | |
US10417230B2 (en) | Transforming and evaluating missing values in graph databases | |
CN110704635B (zh) | 一种知识图谱中三元组数据的转换方法及装置 | |
Chacko et al. | Capturing provenance for big data analytics done using SQL interface | |
CN113792067B (zh) | 一种基于递归算法的sql自动生成系统与方法 | |
CN116010439A (zh) | 一种可视化中文sql系统及构建查询方法 | |
US10311049B2 (en) | Pattern-based query result enhancement | |
Unbehauen et al. | SPARQL update queries over R2RML mapped data sources | |
CN103577560B (zh) | 一种输入数据库操作指令的方法和装置 | |
CN113010651A (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 |