Disclosure of Invention
The invention provides a report data visualization system and a report data visualization method, which can be designed by taking two concepts of a data set (View) and a chart data (Widget) as a core, realize diversified self-service interactive reports, realize high-level filtering, high-level control, linkage, drilling, downloading, sharing and the like of visual components by one-time configuration, and help business personnel to quickly finish analysis and decision of comparison, geographic analysis, distribution, trend, clustering and the like; the visualization system supports CSV data file uploading and various JDBC data sources, provides a friendly SQL editor for data processing and conversion, and realizes automatic and custom data model design and sharing; meanwhile, dragging intelligent generation of the visual components based on the data model is supported, a user can configure various visual component styles, data can be freely analyzed according to own actual requirements, and the defects caused by the prior art are overcome.
In order to solve the technical problems, the invention provides the following technical scheme:
the first aspect is that the report data visualization system comprises a user side and a server side, wherein the user side comprises a registration login module, a project creation module, a data uploading module and a display module, and the server side comprises a data management module, a chart management module, a visualization application creation module and a database;
the registration login module is used for registering and logging in a user;
the project creation module is used for automatically creating an organization after a user logs in for the first time, and the user creates a project under the organization through the project creation module;
the data creation module is used for creating a data source when a user enters a project and creating a data set according to the data source;
the data uploading module is used for transmitting the data set to the data management module;
the data management module is used for acquiring the data set and transmitting the data set to the database and the chart management module;
the chart management module is used for creating a chart according to the data set and generating chart data which is transmitted to the database and the visualization application creation module;
the visual application creation module is used for creating visual data according to the chart data and transmitting the visual data to the database and the display module;
the database receives and stores the data set, the chart data and the visualization data;
the display module is used for combining and displaying the visual data with an instrument panel;
the method for visualizing the report data according to the report data visualization system comprises the following specific steps of:
step A1: a user registers and logs in;
step A2: automatically creating an organization after logging in for the first time, and creating a project under the organization by a user;
step A3: creating a data source in the project, testing, and storing the data source after the test is finished;
step A4: establishing a data set according to a data source;
step A5: creating chart data from the dataset;
step A6: performing visual conversion on the chart data to generate visual data;
step A7: and carrying out visual display on the visual data.
In the above report data visualization system, the data source is data obtained through a JDBC connection module built in the data creation module or obtained in the database specified by the CSV file;
SQL statement data and an SQL template which are compiled by a user through an SQL edit box, and a data model and row and column permissions which are obtained after SQL is executed are stored in the data set.
In the report data visualization system, editable variable data is embedded in the SQL edit box, and the variable data includes a query variable and a permission variable.
In the above report data visualization system, a chart editor is built in the chart management module;
the chart editor is used for combining the SQL statement data with the data model and generating the chart data transmitted to the database.
In the above report data visualization system, a perspective driving unit and a chart driving unit are disposed in the display module, and the display module displays the visualization data through the perspective driving unit and the chart driving unit respectively;
the perspective driving unit is used for processing visual display logic based on a perspective table;
the chart driving unit is a visualization presentation logic that handles conventional, chart-based classification.
In a second aspect, a method for visualizing report data includes the following steps:
step A1: a user registers and logs in;
step A2: automatically creating an organization after logging in for the first time, and creating a project under the organization by a user;
step A3: creating a data source in the project, testing, and storing the data source after the test is finished;
step A4: establishing a data set according to a data source;
step A5: creating chart data from the dataset;
step A6: performing visual conversion on the chart data to generate visual data;
step A7: and carrying out visual display on the visual data.
In the above visualization method for report data, in step a4, an SQL statement is written in an SQL edit box according to the data source, and the SQL statement is saved to obtain the data set.
In the above visualization method for report data, the data set stores SQL statement data written by a user through an SQL edit box, an SQL template, and a data model and row-column permission obtained after SQL is executed, and in step a5, chart data is generated according to the combination of the SQL statement and the SQL template in the data set.
In a third aspect, a computer-readable storage medium has stored thereon a computer program which, when being executed by a processor, carries out the steps of the method according to any one of the second aspects.
The technical scheme provided by the invention is mainly based on the background of two aspects:
firstly, with the development of each business line of an enterprise, a manager needs to discover business characteristics by analyzing data;
secondly, for example, scenes such as trend analysis, growth contrast and the like can not meet the requirements by a simple table, and similar scenes can be supported only by visualizing data;
in recent years, with the digitalized transformation of enterprises, new vitality is injected into the enterprises through digitalized marketing, more and more enterprises pay attention to the management and application of data, more commercial values are expected to be mined from the data, and the precious business data accumulated by the enterprises are required to be utilized for efficient and accurate analysis without a data visualization tool;
the technical scheme provided by the invention solves the problems of unstable system, insufficient big data processing capacity, difficult authority control, high price and the like in the process of visualizing the report data of a company, and the data in a database table is displayed in the form of common charts such as a broken line chart, a pie chart, a bar chart, a ring chart, a table, a double-axis chart, a funnel chart and the like based on a typical three-layer model of a data set, a chart, a dashboard or a data large screen, and the charts are freely combined and laid out, so that the system can intuitively display the business data according to the analysis thought.
The report data visualization system and the report data visualization method provided by the invention have the following technical effects:
the method is designed by taking two concepts of a data set (View) and chart data (Widget) as a core, diversified self-service interactive reports are realized, high-level filtering, high-level control, linkage, drilling, downloading, sharing and the like of a visual component can be realized by one-time configuration, and business personnel can be helped to quickly finish analysis and decision making such as comparison, geographic analysis, distribution, trend, clustering and the like;
the visualization system supports CSV data file uploading and various JDBC data sources, provides a friendly SQL editor for data processing and conversion, and realizes automatic and custom data model design and sharing; meanwhile, the intelligent generation of the visual components based on the data model dragging is supported, a user can configure various visual component styles, and data can be freely analyzed according to own actual requirements.
Detailed Description
In order to make the technical means, the inventive features, the objectives and the effects of the invention easily understood and appreciated, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the specific drawings, and it is obvious that the described embodiments are a part of the embodiments of the present invention, but not all of the embodiments.
All other embodiments, which can be obtained by a person skilled in the art without any inventive step based on the embodiments of the present invention, are within the scope of the present invention.
It should be understood that the structures, ratios, sizes, and the like shown in the drawings and described in the specification are only used for matching with the disclosure of the specification, so as to be understood and read by those skilled in the art, and are not used to limit the conditions under which the present invention can be implemented, so that the present invention has no technical significance, and any structural modification, ratio relationship change, or size adjustment should still fall within the scope of the present invention without affecting the efficacy and the achievable purpose of the present invention.
In addition, the terms "upper", "lower", "left", "right", "middle" and "one" used in the present specification are for clarity of description, and are not intended to limit the scope of the present invention, and the relative relationship between the terms and the terms is not to be construed as a scope of the present invention.
The noun explains:
JDBC (Java DataBase connectivity) Java DataBase connection is a Java API used for executing SQL statements, can provide uniform access for a plurality of relational databases, and consists of a group of classes and interfaces written by Java language;
CSV (Comma-Separated Values) Comma-Separated Values or character-Separated Values (since the Separated characters may not be commas as well), the file of which stores table data (numbers and text) in plain text;
sql (structured Query language) structured Query language, a special purpose programming language, is a database Query and programming language for accessing data and querying, updating and managing relational database systems; widget (Widget), which is a small piece of code that can be executed on any Web page based on HTML;
a business intelligence Dashboard (BI Dashboard) is a module which is owned by general business intelligence and realizes data visualization, and is a data virtualization tool for showing measurement information and key business indicators (KPIs) status to enterprises.
The invention provides a report data visualization system, which aims to design by taking two concepts of a data set (View) and chart data (Widget) as a core, realize diversified self-service interactive reports, realize high-level filtering, high-level control, linkage, drilling, downloading, sharing and the like of a visual component by one-time configuration, and help business personnel to quickly complete analysis and decision of comparison, geographic analysis, distribution, trend, clustering and the like; the visualization system supports CSV data file uploading and various JDBC data sources, provides a friendly SQL editor for data processing and conversion, and realizes automatic and custom data model design and sharing; meanwhile, the intelligent generation of the visual components based on the data model dragging is supported, a user can configure various visual component styles, and data can be freely analyzed according to own actual requirements.
As shown in fig. 1 and 4, in a first aspect, a first embodiment of the present invention is a report data visualization system, which includes a user side 100 and a server side 200, where the user side 100 includes a registration login module 101, an item creation module 102, a data creation module 103, a data upload module 104, and a display module 105, and the server side 200 includes a data management module 106, a chart management module 107, a visualization application creation module 108, and a database 109;
the registration login module 101 is used for user registration and login;
the project creation module 102 is used for automatically creating an organization after a user logs in for the first time, the user creates projects under the organization through the project creation module 102, the organization is equivalent to a group (group), a plurality of projects can be created and a plurality of members can be added under one group, and then the members and the projects are associated through creating different roles (such as a super manager, a financial department, a technical department and the like), so that the access authority of the members belonging to different roles to different projects can be configured;
the data creation module 103 is used for the user to enter the project to create the data source and creating the data set according to the data source;
the data uploading module 104 is configured to transmit the data set to the data management module 106;
the data management module 106 is used for acquiring a data set and transmitting the data set to the database 109 and the chart management module 107;
the chart management module 107 is used for creating a chart according to the data set and generating chart data which is transmitted to the database 109 and the visualization application creation module 108;
the visualization application creation module 108 is configured to create visualization data according to the chart data and transmit the visualization data to the database 109 and the display module 105;
the database 109 receives and stores data sets, chart data, and visualization data;
the display module 105 is used for combining and displaying the visual data with an instrument panel or combining and displaying the visual data with a large screen, and the instrument panel provides automatic layout and interactive capability and helps a user to rapidly create a visual report;
as shown in fig. 2, the report data visualization method according to a report data visualization system includes the following specific steps:
step A1: a user registers and logs in;
step A2: automatically creating an organization after logging in for the first time, and creating a project under the organization by a user;
step A3: creating a data source in the project, testing, and storing the data source after the test is finished;
step A4: establishing a data set according to a data source;
step A5: creating chart data from the dataset;
step A6: performing visual conversion on the chart data to generate visual data;
step A7: and carrying out visual display on the visual data.
The two cores of the report data visualization system provided by the technical scheme surround a data set (View) and chart data (Widget), the data set (View) is a structured form of data, and all logic/authority/service and other correlations are developed from the data set (View); the chart data (Widget) is a visual form of data, and all showing/interaction/guidance and the like are developed from the chart data (Widget); the two different forms of data supplement each other, and a Dashboard (Dashboard) and a large screen (Display) are combined layouts of charts and support two types of mainstream scenes of rapid analysis and free visualization;
in the above report data visualization system, the data Source (Source) is used to manage user data Source connection configuration, and the present technical solution provides two types of data sources: data acquired through a JDBC connection module built in the data creation module 103 or acquired in the database 109 specified by the CSV file;
SQL statement data and an SQL template written by a user through an SQL edit box and a data model and row and column permission acquired after SQL is executed are stored in a data set (View), the data set is used for managing the SQL template written by the user and configuring the data model and row and column permission acquired after SQL is executed;
editable variable data are arranged in the SQL editing frame and divided into query variables and permission variables, in the SQL template editing, statement of the variables provides the capacity of dynamizing SQL, and the variable data is an SQL expression segment in the SQL editing frame;
for the query variable, after the variable content is configured manually, the variable content can be embedded into an SQL statement in a mode of 'variable name $', and the SQL statement is associated with a controller in a diagram data (Widget) and a Dashboard (Dashboard) to play a role in dynamically changing an SQL template;
for the permission variable, the permission variable plays a role of controlling the permission of the data line by being associated with the role;
the data model is used for classifying data in a data set in advance so as to develop visualization better.
In the above report data visualization system, the chart editor is built in the chart management module 107;
the chart editor is used for combining the SQL statement data with the data model and generating chart data which is transmitted to the database 109;
the chart data (Widget) is the minimum unit of the visualization application of the intelligent report data visualization system, and carries out secondary aggregation grouping on the SQL result according to a data model provided by a data set (View), and then carries out visualization coding on the secondary processed data;
the chart editor combines the original SQL sentences in the data set with the data model to generate new SQL sentences to be executed in the database 109, so as to obtain chart data required by chart display;
a perspective driving unit and a chart driving unit are arranged in the display module 105, and the display module 105 displays the visual data through the perspective driving unit and the chart driving unit respectively for supporting different use scenes;
the perspective driving unit is visual display logic based on a perspective table, is suitable for free analysis scenes of a small amount of data at a client, a chart can be used for visually encoding the perspective table, the dimension and the index in the perspective table are converted into axes to be graphically displayed, under the perspective driving logic, each index can be graphically encoded differently, and the dimension of the lowest level in a dimension column can be used as a common dimension axis;
the chart driving unit is conventional visual display logic based on chart classification, and is suitable for most visual display scenes; the chart type under the chart driving is rich, and the dimension and the index can be regarded as fixed configuration items and serve the chart together with other style configurations.
The report data visualization system provided by the technical scheme is designed by taking two concepts of a data set (View) and a chart data (Widget) as a core, so that diversified self-service interactive reports are realized, high-level filtering, high-level control, linkage, drilling, downloading, sharing and the like of visual components can be realized by one-time configuration, and business personnel can be helped to quickly finish analysis and decision making such as comparison, geographic analysis, distribution, trend, clustering and the like;
the report data visualization system provided by the technical scheme supports CSV data file uploading and various JDBC data sources, provides a friendly SQL editor for data processing and conversion, and realizes automatic and custom data model design and sharing; meanwhile, dragging intelligence based on a data model is supported to generate the visual components, a user can configure various visual component styles, and data can be freely analyzed according to actual requirements of the user;
by using the report data visualization system provided by the technical scheme, enterprise management and business personnel can be helped to better visualize business data, analyze large-scale data more intuitively, and quickly capture the change of the data, so that effective decision judgment can be carried out well and quickly, and the business development of enterprises is assisted.
As shown in fig. 2-3, a second aspect, a second embodiment, is a report data visualization method, which includes the following steps:
step A1: the method comprises the steps that any browser is used for inputting an intelligent report login interface URL to load a webpage to enter an intelligent report login page, a user registers and logs in, a system can firstly establish a default account for the user, the default account is provided with a user name and a password, the user can also select to register a new account, upload information and activate the new account, the new account can be activated by adopting a mailbox, a telephone and the like, and the user can enter the system after the new account is activated;
step A2: automatically creating an organization after logging in for the first time, and creating a project under the organization by a user;
step A3: clicking the project after the project is created, creating a data source in the project, clicking a test after the related link parameters are filled in for testing, and storing the data source after the test is finished;
step A4: establishing a data set according to a data source;
step A5: creating chart data from the dataset;
step A6: performing visual conversion on the chart data to generate visual data;
step A7: and carrying out visual display on the visual data.
In the above visualization method for report data, in step a4, an SQL statement is written in an SQL edit box according to a data source, the SQL statement is stored to obtain a data set, the data set is edited and confirmed and then stored, and an SQL template written by a user through the SQL edit box, a data model obtained after SQL is executed, and row and column permissions are also stored in the data set.
In the above visualization method for report data, the SQL statement data written by the user through the SQL edit box, the SQL template, and the data model and row and column permissions obtained after the SQL is executed are stored in the data set, and in step a5, the chart data is generated by combining the SQL statement in the data set with the SQL template and selecting the chart type, and the chart data is saved.
In a third aspect, a computer-readable storage medium has stored thereon a computer program which, when being executed by a processor, carries out the steps of the method according to any one of the second aspects.
For example, the memory may include random access memory, flash memory, read only memory, programmable read only memory, non-volatile memory or registers, or the like;
the processor may be a Central Processing Unit (CPU) or the like, or a Graphics Processing Unit (GPU) memory may store executable instructions;
the processor may execute execution instructions stored in the memory to implement the various processes described herein.
It will be appreciated that the memory in this embodiment can be either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory;
the non-volatile memory may be a ROM (Read-only memory), a PROM (programmable Read-only memory), an EPROM (erasable programmable Read-only memory), an EEPROM (electrically erasable programmable Read-only memory), or a flash memory.
The volatile memory may be a RAM (random access memory) which functions as an external cache;
by way of illustration and not limitation, many forms of RAM are available, such as SRAM (staticaram, static random access memory), DRAM (dynamic RAM, dynamic random access memory), SDRAM (synchronous DRAM ), DDRSDRAM (double data rate SDRAM, double data rate synchronous DRAM), ESDRAM (Enhanced SDRAM, Enhanced synchronous DRAM), SLDRAM (synchlink DRAM, synchronous link DRAM), and DRRAM (directrrambus RAM, direct memory random access memory). The memory described herein is intended to comprise, without being limited to, these and any other suitable types of memory.
In some embodiments, the memory stores elements, upgrade packages, executable units, or data structures, or a subset thereof, or an extended set thereof: operating systems and applications;
the operating system includes various system programs, such as a framework layer, a core library layer, a driver layer, and the like, and is used for implementing various basic services and processing hardware-based tasks;
the application programs comprise various application programs and are used for realizing various application services. The program for implementing the method of the embodiment of the present invention may be included in the application program.
Those of skill in the art would understand that the elements and algorithm steps of the examples described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of software and electronic hardware;
whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the technical solution;
skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the embodiments of the present application, the disclosed system, apparatus and method may be implemented in other ways;
for example, the division of a unit or a module is only one logic function division, and there may be another division manner in actual implementation;
for example, a plurality of units or modules or components may be combined or may be integrated into another system;
in addition, functional units or modules in the embodiments of the present application may be integrated into one processing unit or module, or may exist separately and physically.
It should be understood that, in the various embodiments of the present application, the sequence numbers of the processes do not mean the execution sequence, and the execution sequence of the processes should be determined by the functions and the inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a machine-readable storage medium;
therefore, the technical solution of the present application may be embodied in the form of a software product, which may be stored in a machine-readable storage medium and may include several instructions to cause an electronic device to execute all or part of the processes of the technical solution described in the embodiments of the present application;
the storage medium may include various media that can store program codes, such as ROM, RAM, a removable disk, a hard disk, a magnetic disk, or an optical disk.
In summary, the report data visualization system and the visualization method provided by the invention can be designed by taking two concepts of a data set (View) and a chart data (Widget) as a core, so that diversified self-service interactive reports are realized, high-level filtering, high-level control, linkage, drilling, downloading, sharing and the like of a visual component can be realized by one-time configuration, and business personnel can be helped to quickly complete analysis and decision of comparison, geographic analysis, distribution, trend, clustering and the like; the visualization system supports CSV data file uploading and various JDBC data sources, provides a friendly SQL editor for data processing and conversion, and realizes automatic and custom data model design and sharing; meanwhile, the intelligent generation of the visual components based on the data model dragging is supported, a user can configure various visual component styles, and data can be freely analyzed according to own actual requirements.
Specific embodiments of the invention have been described above. It is to be understood that the invention is not limited to the particular embodiments described above, in that devices and structures not described in detail are understood to be implemented in a manner common in the art; various changes or modifications may be made by one skilled in the art within the scope of the claims without departing from the spirit of the invention, and without affecting the spirit of the invention.