Interactive interface for data analysis and report generation

By using an interactive data analysis and report generation system, and leveraging data models and evaluation models to generate insight projects, the system addresses the issues of low data utilization efficiency and difficulty in report generation when dealing with large volumes of data from diverse sources. It achieves efficient data integration and insight discovery, thereby improving business understanding and report quality.

CN116235135BActive Publication Date: 2026-08-04TABLEAU SOFTWARE INC
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
TABLEAU SOFTWARE INC
Filing Date
2021-07-26
Publication Date
2026-08-04

AI Technical Summary

Technical Problem

Organizations often struggle to effectively utilize large amounts of data for analysis and visualization, to uncover valuable insights, and to generate high-quality reports, especially when the data volume is large and the sources are diverse. Existing tools and methods suffer from inefficiency and difficulties in information integration.

Method used

This system provides an interactive data analysis and report generation system. It generates key visualizations and insights, identifies and generates insights using data models and evaluation models, and displays these insights in a panel. Users can select insights to generate reports and alternative or thumbnail views of visualizations, achieving efficient data integration and visualization.

Benefits of technology

It improves the efficiency of data analysis and the ability to discover insights, simplifies the report generation process, enhances data visualization and integration, and helps organizations better understand business operations and monitor key performance indicators.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116235135B_ABST
    Figure CN116235135B_ABST
Patent Text Reader

Abstract

Embodiments are directed to managing data visualizations. A primary visualization associated with a data model can be provided such that the primary visualization can be displayed in a display panel. An insight item can be generated based on the primary visualization and the data model such that the insight item can correspond to one or more visualizations that can share one or more portions of the data model and such that the insight item can be displayed in an insight panel. In response to selecting the insight item from the insight panel, additional actions can be performed including generating a visualization based on the insight item displayed in the display panel instead of the primary visualization and generating a scratch item that includes a thumbnail view of the primary visualization such that the thumbnail view is displayed in a scratch panel.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates generally to data analysis, and more specifically, but not exclusively, to interactive data analysis. Background Technology

[0002] Organizations are generating and collecting ever-increasing amounts of data. This data can be correlated with different parts of the organization, such as consumer activities, manufacturing activities, customer service, server logs, etc. For various reasons, these organizations may find it inconvenient to effectively utilize the large volumes of data they collect. In some cases, the sheer volume of data can make it difficult to effectively leverage the collected data to improve business practices. In other cases, organizations use various tools to generate visualizations of some or all of their data. Using visualizations to represent this data can help organizations improve their understanding of key business operations and help them monitor key performance indicators. However, in some cases, skilled or specialized data analysts may be needed to discover insights from visualizations and data that may be valuable to the organization. Furthermore, in some cases, the sheer number or volume of visualizations can make it difficult to discover visualizations that share useful commonalities. Additionally, in some cases, the difficulties associated with integrating information from different sources or from numerous visualizations can interfere with the effective generation of reports capturing insights discovered during data analysis. Therefore, this invention was made based on these and other considerations. Attached Figure Description

[0003] Non-limiting and non-exhaustive embodiments of the invention are described with reference to the following accompanying drawings. In the drawings, unless otherwise stated, the same reference numerals refer to the same components throughout the various figures. For a better understanding of the described innovations, reference will be made to the following detailed description of various embodiments, which will be read in conjunction with the accompanying drawings, wherein:

[0004] Figure 1 The system environment in which various embodiments can be implemented is shown;

[0005] Figure 2 A schematic embodiment of a client computer is shown;

[0006] Figure 3 A schematic embodiment of a network computer is shown;

[0007] Figure 4 The logical architecture of a system for an interactive interface for data analysis and report generation, according to one or more of various embodiments, is shown;

[0008] Figure 5A A logical representation of a portion of a user interface for data analysis and report generation, according to one or more of various embodiments, is shown;

[0009] Figure 5B A logical representation of a portion of a user interface for data analysis and report generation, according to one or more of various embodiments, is shown;

[0010] Figure 6 A logical representation of a portion of a user interface for data analysis and report generation, according to one or more of various embodiments, is shown;

[0011] Figure 7 An overview flowchart of a process for an interactive interface for data analysis and report generation, according to one or more of various embodiments, is shown;

[0012] Figure 8 A flowchart is shown for a process of generating a report based on a temporary panel, according to one or more of various embodiments;

[0013] Figure 9 Flowcharts are shown illustrating one or more of the processes for providing an interactive interface for data analysis and report generation, according to various embodiments; and

[0014] Figure 10 A flowchart is shown of one or more of the processes for determining an insight item, which provides an interactive interface for data analysis and report generation, according to various embodiments. Detailed Implementation

[0015] Various embodiments will now be described more fully with reference to the accompanying drawings, which form part of the invention and illustrate specific exemplary embodiments in which the invention may be practiced. However, embodiments may be implemented in many different forms and should not be construed as limited to the embodiments described herein; rather, these embodiments are provided so that the disclosure will be thorough and complete and will fully convey the scope of the embodiments to those skilled in the art. Among other things, the various embodiments may be methods, systems, media, or devices. Thus, the various embodiments may take the form of entirely hardware embodiments, entirely software embodiments, or embodiments combining software and hardware aspects. Therefore, the following detailed description should not be construed as limiting.

[0016] Throughout the specification and claims, unless the context clearly specifies otherwise, the following terms shall have the meaning explicitly associated herein. The phrase “in one embodiment” as used herein does not necessarily refer to the same embodiment (although it may). Furthermore, the phrase “in another embodiment” as used herein does not necessarily refer to a different embodiment (although it may). Therefore, as described below, various embodiments can be readily combined without departing from the scope or spirit of the invention.

[0017] Furthermore, as used herein, unless the context clearly specifies otherwise, the term "or" is an inclusive "or" operator and is equivalent to the term "and / or". Unless the context clearly specifies otherwise, the term "based on" is not exclusive and allows for basing on other factors not described. Furthermore, throughout the specification, the meanings of "a", "an", and "the" include plural references. The meaning of "in" includes both "in" and "on".

[0018] For exemplary embodiments, unless the context clearly specifies otherwise, the following terms are also used herein with their respective meanings.

[0019] As used in this article, the term "engine" refers to the logic contained within hardware or software instructions that can be written in a programming language such as C, C++, Objective-C, COBOL, or Java. TM PHP, Perl, JavaScript, Ruby, VBScript, and Microsoft .NET such as C# TM Languages, etc. Engines can be compiled into executable programs or written in interpreted programming languages. Software engines can be invoked from other engines or from themselves. The engine described in this document refers to one or more logical modules that can be merged with other engines or applications, or can be divided into sub-engines. Engines can be stored on non-transitory computer-readable media or computer storage devices, and can be stored on and executed by one or more general-purpose computers, thereby creating a dedicated computer configured to provide the engine.

[0020] As used herein, the term "data source" refers to the source of the underlying information being modeled or otherwise analyzed. Data sources can include information from or provided by databases (e.g., relational, graph-based, non-SQL, etc.), file systems, unstructured data, streams, etc. Data sources are typically designed to model, record, or remember various operations or activities associated with an organization. In some cases, data sources are designed to provide or facilitate various data-centric actions, such as efficient storage, querying, indexing, data exchange, searching, updating, etc. Often, data sources may be designed to provide features relevant to data manipulation or data management rather than providing an easily understandable presentation or visualization of the data.

[0021] As used herein, the term "data model" refers to one or more data structures that provide a representation of the underlying data source. In some cases, a data model can provide a view of the data source for a specific application. A data model can be thought of as a view or interface to the underlying data source. In some cases, a data model can be directly mapped to the data source (e.g., logically passed). Furthermore, in some cases, the data model can be provided by the data source. In some cases, a data model can be seen as an interface to the data source. Data models enable organizations to organize or present information from data sources in a more convenient, meaningful (e.g., easier to reason about), secure, and other ways.

[0022] As used in this article, the term "data model field" refers to a named or nameable attribute or characteristic of a data model. Data model fields are similar to columns in a database table, nodes in a graph, or properties in a Java class. For example, a data model corresponding to an employee database table might have data model fields such as name, email address, phone number, and employee ID.

[0023] As used herein, the term "data object" refers to one or more entities or data structures that comprise a data model. In some cases, a data object can be considered part of a data model. A data object can represent a single instance of an item, class, or item type.

[0024] As used in this article, the term "data field" refers to a named or nameable attribute or characteristic of a data object. In some cases, a data field can be considered similar to a class member of an object in object-oriented programming.

[0025] As used herein, the term "panel" refers to an area within a graphical user interface (GUI) that has a defined geometry (e.g., x, y, z order) within the GUI. Panels can be arranged to display information to the user or to host one or more interactive controls. Configuration information, including dynamic rules, can be used to define the geometry or style associated with a panel. Furthermore, in certain situations, users can perform actions on one or more panels, such as moving, showing, hiding, resizing, reordering, etc.

[0026] As used herein, the term “configuration information” refers to information that may include rule-based policies, pattern matching, scripts (e.g., computer-readable instructions), etc., which may be available from a variety of sources, including configuration files, databases, user input, built-in defaults, etc., or a combination thereof.

[0027] The following is a brief description of embodiments of the invention to provide a basic understanding of some aspects of the invention. This brief description is not intended as a broad overview. It is not intended to identify key or critical elements, nor to define or otherwise narrow the scope. Its purpose is merely to present some concepts in a simplified form as a prelude to the more detailed description that follows.

[0028] In short, various embodiments involve using one or more processors (which execute one or more instructions to perform the operations described herein) to manage data visualization. In one or more of the various embodiments, a primary visualization associated with the data model can be provided, such that the primary visualization can be displayed in a display panel.

[0029] In one or more of the various embodiments, one or more insight items can be generated based on a main visualization and data model, such that one or more insight items can correspond to one or more visualizations that can share one or more parts of the data model, and that one or more insight items can be displayed in an insight panel.

[0030] In one or more of the various embodiments, generating one or more insight items may include: providing one or more evaluation models that can be arranged to identify one or more visualization items; generating one or more candidate insight items based on one or more visualizations using one or more evaluation models, such that one or more candidate insight items can be associated with insight scores; determining one or more insight items based on a subset of one or more candidate insight items that can be associated with insight scores exceeding a threshold; etc.

[0031] Furthermore, in one or more of the various embodiments, generating one or more insight items may include: determining one or more visualizations of a first group based on each of one or more visualizations of a first group that includes one or more data fields that can be used in the main visualization; determining one or more visualizations of a second group based on each of one or more visualizations of a second group that shows the value trends of one or more data fields that can be used in the main visualization; determining one or more visualizations of a third group based on each of one or more visualizations of a third group that uses one or more other data fields from other data models (which include data values ​​similar to one or more data fields used in the main visualization); and so on. And in one or more of the various embodiments, generating one or more insight items based on one or more of the first group of visualizations, one or more of the second group of visualizations, one or more of the third group of visualizations, etc.

[0032] In one or more of the various embodiments, displaying one or more insight items in the insight panel may include: determining one or more insight item groups based on identifying the evaluation model type of one or more insight items, such that each insight item can be associated with an insight item group; displaying each insight item group in the insight panel, such that each insight item can be displayed together with its associated insight item group; etc.

[0033] In one or more of the various embodiments, in response to selecting an insight item from the insight panel, additional actions may be performed, including: generating a visualization based on the insight item displayed in the display panel instead of the main visualization; generating a scratch item that includes a thumbnail view of the main visualization, such that the thumbnail view can be displayed in the scratch panel; etc.

[0034] In one or more of the various embodiments, in response to selecting one or more of another insight item from the insight panel and another staging item from the staging panel, another visualization can be generated based on the selection of another insight item and another staging item, such that the other visualization (instead of the currently displayed visualization) is displayed in the display panel.

[0035] In one or more of the various embodiments, a report panel may be provided to replace the display panel. Furthermore, in some embodiments, in response to selecting one or more of one or more insight items, one or more temporary items, and one or more annotations, further actions may be performed, including: generating one or more report items based on one or more of the one or more insight items, one or more temporary items, one or more annotations, such that the one or more annotations include one or more of text, images, and links to other reports, and that the one or more report items can be displayed in the report panel; automatically adjusting the report panel to be sizable based on the one or more report items, such that portions of the report panel that exceed the size of the display panel can be hidden and made invisible; etc.

[0036] In one or more of the various embodiments, in response to replacing the visualization in the display panel with a replacement visualization, one or more replacement insight items can be generated based on the replacement visualization and the data model, such that one or more replacement insight items can be displayed in the insight panel.

[0037] Exemplary operating environment

[0038] Figure 1The diagram illustrates components of one embodiment of an environment in which embodiments of the invention can be practiced. Implementing the invention may not require all components, and the arrangement and type of components can be varied without departing from the spirit or scope of the invention. As shown in the figure, Figure 1 System 100 includes a local area network (LAN) / wide area network (WAN) 110, a wireless network 108, client computers 102-105, a visualization server computer 116, etc.

[0039] The following is combined with Figure 2 At least one embodiment of client computers 102-105 is described in more detail. In one embodiment, at least some of client computers 102-105 can operate on one or more wired or wireless networks (e.g., network 108 or 110). Typically, client computers 102-105 can include virtually any computer capable of communicating over a network to send and receive information, perform various online activities, offline actions, etc. In one embodiment, one or more client computers 102-105 can be configured to operate within an enterprise or other entity to perform various services for that enterprise or other entity. For example, client computers 102-105 can be configured to operate as a web server, firewall, client application, media player, mobile phone, game console, desktop computer, etc. However, client computers 102-105 are not limited to these services and can also be used, for example, for end-user computing in other embodiments. It should be recognized that more or less client computers (such as...) Figure 1 (As shown) can be included in systems such as those described herein, and embodiments are therefore not limited by the number or type of client computers employed.

[0040] Computers that can operate as client computers 102 may include computers typically connected via wired or wireless communication media, such as personal computers, multiprocessor systems, microprocessor-based or programmable electronic devices, network PCs, etc. In some embodiments, client computers 102-105 may include virtually any portable computer capable of connecting to another computer and receiving information, such as laptop computers 103, mobile computers 104, tablet computers 105, etc. However, portable computers are not limited to this and may also include other portable computers, such as cellular phones, display pagers, radio frequency (RF) devices, infrared (IR) devices, personal digital assistants (PDAs), handheld computers, wearable computers, integrated devices combining one or more of the aforementioned computers, etc. Therefore, client computers 102-105 are generally wide-ranging in terms of capabilities and features. Furthermore, client computers 102-105 can access a variety of computing applications, including browsers or other web-based applications.

[0041] A network-enabled client computer may include a browser application configured to send requests and receive responses over the network. The browser application can be configured to receive and display graphics, text, multimedia, etc., using virtually any web-based language. In one embodiment, the browser application is enabled to display and send messages using JavaScript, Hypertext Markup Language (HTML), Extensible Markup Language (XML), JavaScript Object Notation (JSON), Cascading Style Sheets (CSS), and combinations thereof. In one embodiment, a user of the client computer can use the browser application to perform various activities over the network (online). However, another application can also be used to perform various online activities.

[0042] Client computers 102-105 may also include at least one other client application configured to receive or send content between other computers. The client application may include the ability to send or receive content, etc. The client application may also provide information identifying itself, including type, capabilities, name, etc. In one embodiment, client computers 102-105 may uniquely identify themselves through any of a variety of mechanisms, including Internet Protocol (IP) addresses, telephone numbers, mobile identification numbers (MINs), electronic serial numbers (ESNs), client certificates, or other device identifiers. Such information may be provided in one or more network packets, etc., and sent between other client computers, visualization server computers 116, or other computers.

[0043] Client computers 102-105 can also be configured to include client applications that enable end users to log in to an end-user account, which can be managed, for example, by another computer such as visualization server computer 116. In a non-limiting example, such an end-user account can be configured to enable the end user to manage one or more online activities, including, in a non-limiting example, project management, software development, system management, configuration management, search activities, social networking activities, browsing various websites, and communicating with other users. Furthermore, the client computers can be arranged to enable users to display reports, interactive user interfaces, or results provided by visualization server computer 116, etc.

[0044] Wireless network 108 is configured to couple client computers 103-105 and their components to network 110. Wireless network 108 may include any of a variety of wireless subnetworks, which may further cover independent ad-hoc networks, etc., to provide infrastructure-oriented connectivity for client computers 103-105. Such subnetworks may include mesh networks, wireless LAN (WLAN) networks, cellular networks, etc. In one embodiment, the system may include more than one wireless network.

[0045] The wireless network 108 may also include autonomous systems such as terminals, gateways, and routers connected via wireless radio links. These connectors can be configured to move freely and randomly and organize themselves arbitrarily, allowing the topology of the wireless network 108 to change rapidly.

[0046] Wireless network 108 can further employ various access technologies, including second (2G), third (3G), fourth (4G), and fifth (5G) generation radio access for cellular systems, WLAN, wireless router (WR) mesh networks, etc. Access technologies such as 2G, 3G, 4G, 5G, and future access networks enable mobile computers (e.g., client computers 103-105 with varying degrees of mobility) to achieve wide-area coverage. In a non-limiting example, wireless network 108 can achieve radio connectivity through radio network access such as Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Wideband Code Division Multiple Access (WCDMA), High-Speed ​​Downlink Packet Access (HSDPA), Long Term Evolution (LTE), etc. In essence, wireless network 108 can include virtually any wireless communication mechanism through which information can be transmitted between client computers 103-105 and another computer, network, cloud-based network, cloud instance, etc.

[0047] Network 110 is configured to couple network computers to other computers, including visualization server computer 116, client computer 102, and client computers 103-105, via wireless network 108, etc. Network 110 is capable of using any form of computer-readable medium to transmit information from one electronic device to another. Furthermore, in addition to local area networks (LANs), wide area networks (WANs), direct connections such as via universal serial bus (USB) ports, Ethernet ports, other forms of computer-readable media, or any combination thereof, network 110 may also include the Internet. On a set of interconnected LANs (including LANs based on different architectures and protocols), routers act as links between LANs, enabling messages to be sent from one LAN to another. Furthermore, communication links within a LAN typically include twisted-pair cables or coaxial cables, while communication links between networks may utilize analog telephone lines, all or part of dedicated digital lines including T1, T2, T3, and T4, or other carrier mechanisms, including, for example, electronic carriers, Integrated Services Digital Network (ISDN), Digital Subscriber Line (DSL), wireless links including satellite links, or other communication links known to those skilled in the art. Furthermore, the communication link may employ any of a variety of digital signaling technologies, including but not limited to DS-0, DS-1, DS-2, DS-3, DS-4, OC-3, OC-12, OC-48, etc. Additionally, remote computers and other related electronic devices can be remotely connected to the LAN or WAN via modems and temporary telephone links. In one embodiment, network 110 may be configured to transmit Internet Protocol (IP) information.

[0048] Furthermore, communication media typically contain computer-readable instructions, data structures, program modules, or other transmission mechanisms, and include any medium for the non-transitory or transient transmission of information. For example, communication media include: wired media such as twisted-pair cables, coaxial cables, optical fibers, waveguides, and other wired media; and wireless media such as acoustic, RF, infrared, and other wireless media.

[0049] In addition, the following combination Figure 3 An embodiment of the visualization server computer 116 is described in more detail. Although Figure 1The visualization server computer 116, etc., is shown as a single computer, but the innovations or embodiments are not limited thereto. For example, one or more functions of the visualization server computer 116, etc., may be distributed across one or more different network computers. Furthermore, in one or more embodiments, the visualization server computer 116 may be implemented using multiple network computers. Additionally, in one or more of the various embodiments, the visualization server computer 116, etc., may be implemented using one or more cloud instances in one or more cloud networks. Therefore, these innovations and embodiments should not be construed as being limited to a single environment, but other configurations and other architectures are also contemplated.

[0050] Exemplary client computer

[0051] Figure 2 An embodiment of a client computer 200 is shown, which may include more or fewer components than those shown. The client computer 200 may represent, for example... Figure 1 One or more embodiments of the mobile computer or client computer shown.

[0052] Client computer 200 may include processor 202 communicating with memory 204 via bus 228. Client computer 200 may also include power supply 230, network interface 232, audio interface 256, display 250, keyboard 252, lighting 254, video interface 242, input / output interface 238, haptic interface 264, Global Positioning System (GPS) receiver 258, outdoor gesture interface 260, temperature interface 262, camera 240, projector 246, pointing device interface 266, processor-readable fixed storage device 234, and processor-readable removable storage device 236. Client computer 200 may optionally communicate with a base station (not shown) or directly with another computer. And in one embodiment, although not shown, a gyroscope may be used within client computer 200 to measure or maintain the orientation of client computer 200.

[0053] Power supply 230 can provide power to client computer 200. Rechargeable or non-rechargeable batteries can be used to provide power. Power can also be provided by an external power source (such as an AC adapter or a power docking station for replenishing or recharging batteries).

[0054] Network interface 232 includes circuitry for coupling client computer 200 to one or more networks and is configured to be used with one or more communication protocols and technologies, including but not limited to protocols and technologies implementing any part of the OSI model for any of mobile communications (GSM), CDMA, Time Division Multiple Access (TDMA), UDP, TCP / IP, SMS, MMS, GPRS, WAP, UWB, WiMax, SIP / RTP, GPRS, EDGE, WCDMA, LTE, UMTS, OFDM, CDMA2000, EV-DO, HSDPA, or various other wireless communication protocols. Network interface 232 is sometimes referred to as a transceiver, transceiver device, or network interface card (NIC).

[0055] Audio interface 256 can be configured to generate and receive audio signals, such as human voice. For example, audio interface 256 can be coupled to a speaker and a microphone (not shown) to enable communication with other people or to generate audio acknowledgments for certain actions. The microphone in audio interface 256 can also be used to input to or control client computer 200, for example, using voice recognition, sound-based touch detection, etc.

[0056] Display 250 may be a liquid crystal display (LCD), gas plasma, electronic ink, light-emitting diode (LED), organic LED (OLED), or any other type of light-reflecting or light-transmitting display that can be used with a computer. Display 250 may also include a touch interface 244, which is arranged to receive input from an object such as a stylus or the fingers of a human hand, and may use resistive, capacitive, surface acoustic wave (SAW), infrared, radar, or other technologies to sense touch or gestures.

[0057] Projector 246 can be a remote handheld projector or an integrated projector, capable of projecting images onto a remote wall or any other reflective object such as a remote screen.

[0058] Video interface 242 can be configured to capture video images, such as still photographs, video clips, infrared video, etc. For example, video interface 242 can be coupled to a digital camera, a network camera, etc. Video interface 242 may include a lens, an image sensor, and other electronic devices. The image sensor may include a complementary metal-oxide-semiconductor (CMOS) integrated circuit, a charge-coupled device (CCD), or any other integrated circuit used for sensing light.

[0059] Keyboard 252 may include any input device arranged to receive input from a user. For example, keyboard 252 may include a push-button numeric dial or a keyboard. Keyboard 252 may also include command buttons associated with selecting and sending images.

[0060] The illuminator 254 can provide status indication or provide light. The illuminator 254 can remain active for a specific period of time or in response to an event message. For example, when the illuminator 254 is active, it can backlight the buttons on the keyboard 252 and remain on when the client computer is powered on. Furthermore, when performing a specific action (such as dialing another client computer), the illuminator 254 can backlight these buttons in various modes. The illuminator 254 can also illuminate a light source positioned within the transparent or translucent casing of the client computer in response to an action.

[0061] In addition, the client computer 200 may also include a Hardware Security Module (HSM) 268 for providing additional tamper-proof protection for generating, storing, or using security / cryptographic information such as keys, digital certificates, passwords, passphrases, two-factor authentication information, etc. In some embodiments, the Hardware Security Module may be used to support one or more standard Public Key Infrastructure (PKI) systems and may be used to generate, manage, or store key pairs, etc. In some embodiments, the HSM 268 may be a standalone computer; in other cases, the HSM 268 may be arranged as a hardware card that can be added to the client computer.

[0062] Client computer 200 may also include an input / output interface 238 for communicating with external peripheral devices or other computers such as other client computers and network computers. Peripheral devices may include audio headsets, virtual reality headsets, display glasses, remote speaker systems, remote speaker and microphone systems, etc. Input / output interface 238 may utilize one or more technologies, such as Universal Serial Bus (USB), infrared, WiFi, WiMax, Bluetooth, etc. TM wait.

[0063] The input / output interface 238 may also include one or more sensors for determining geolocation information (e.g., GPS), monitoring power conditions (e.g., voltage sensors, current sensors, frequency sensors, etc.), monitoring weather (e.g., thermostats, barometers, anemometers, humidity detectors, precipitation meters, etc.). The sensors may be one or more hardware sensors that collect or measure data external to the client computer 200.

[0064] The haptic interface 264 can be configured to provide haptic feedback to a user of the client computer. For example, the haptic interface 264 can be used to vibrate the client computer 200 in a specific manner when another user of the computer is making a call. The temperature interface 262 can be used to provide a temperature measurement input or a temperature change output to a user of the client computer 200. The open-air gesture interface 260 can sense the physical gestures of the user of the client computer 200, for example, by using a single or stereo camera, radar, a gyroscope sensor within the computer held or worn by the user, etc. The camera 240 can be used to track the physical eye movements of the user of the client computer 200.

[0065] GPS transceiver 258 can determine the physical coordinates of client computer 200 on the Earth's surface, typically outputting the location as latitude and longitude values. GPS transceiver 258 can also use other geolocation mechanisms, including but not limited to triangulation, assisted GPS (AGPS), enhanced time difference of observation (E-OTD), cell identifier (CI), service area identifier (SAI), enhanced timing advance (ETA), base station subsystem (BSS), etc., to further determine the physical location of client computer 200 on the Earth's surface. It should be understood that GPS transceiver 258 can determine the physical location of client computer 200 under different conditions. However, in one or more embodiments, client computer 200 may be provided with other information through other components that can be used to determine the physical location of the client computer, including, for example, a media access control (MAC) address, IP address, etc.

[0066] In at least one of the various embodiments, applications such as operating system 206, visualization client 222, other client applications 224, web browser 226, etc., may be arranged to use geolocation information to select one or more localization features, such as time zone, language, currency, calendar format, etc. Localization features can be used for display objects, data models, data objects, user interfaces, reports, and internal processes or databases. In at least one of the various embodiments, the geolocation information used to select localization information may be provided by GPS 258. Furthermore, in some embodiments, the geolocation information may include information provided via a network such as wireless network 108 or network 111 using one or more geolocation protocols.

[0067] The human-machine interface (HMI) component can be a peripheral device physically separate from the client computer 200, allowing remote input or output to the client computer 200. For example, information routed via an HMI component such as display 250 or keyboard 252 as described herein can alternatively be routed via network interface 232 to a suitable HMI component located remotely. Examples of remote HMI peripheral components include, but are not limited to, audio devices, pointing devices, keyboards, displays, cameras, projectors, etc. These peripheral components can be connected via technologies such as Bluetooth. TM ZigBee TM They communicate with each other via miniature networks. A non-limiting example of a client computer with such a peripheral human-machine interface component is a wearable computer, which may include a remote micro-projector and one or more cameras that communicate remotely with a separately positioned client computer, the cameras sensing gestures of the user toward a portion of an image projected by the micro-projector onto, for example, a wall or a reflective surface of the user's hand.

[0068] The client computer may include a web browser application 226 configured to receive and send web pages, web-based messages, graphics, text, multimedia, etc. The browser application on the client computer can use virtually any programming language, including Wireless Application Protocol Messages (WAP). In one or more embodiments, the browser application is enabled to use Handheld Device Markup Language (HDML), Wireless Markup Language (WML), WMLScript, JavaScript, Standard Generalized Markup Language (SGML), Hypertext Markup Language (HTML), Extensible Markup Language (XML), HTML5, etc.

[0069] Memory 204 may include RAM, ROM, or other types of memory. Memory 204 illustrates an example of a computer-readable storage medium (device) for storing information such as computer-readable instructions, data structures, program modules, or other data. Memory 204 may store a BIOS 208 for controlling the low-level operations of client computer 200. Memory may also store an operating system 206 for controlling the operation of client computer 200. It should be understood that this component may include a general-purpose operating system, such as UNIX or... Version, or dedicated client computer communication operating system, such as Android. TM Or the iOS operating system. The operating system may include a Java Virtual Machine module or an interface connected to a Java Virtual Machine module, which can control hardware components or the operation of the operating system through Java applications.

[0070] Memory 204 may also include one or more data memories 210, which the client computer 200 may use to store applications 220 or other data. For example, data memories 210 may also be used to store information describing various capabilities of the client computer 200. This information may then be provided to another device or computer based on any of a variety of methods, including sending it as part of a header during communication, sending it upon request, etc. Data memories 210 may also be used to store social network information, including address books, friend lists, aliases, user profile information, etc. Data memories 210 may further include program code, data, algorithms, etc., for use by a processor such as processor 202 to take and perform actions. In one embodiment, at least some of the data memories 210 may also be stored on another component of the client computer 200 (including, but not limited to, non-transitory processor-readable removable storage device 236, processor-readable fixed storage device 234), or even stored outside the client computer.

[0071] Application 220 may include computer-executable instructions that, when executed by client computer 200, send, receive, or otherwise process instructions and data. Application 220 may include, for example, a visual client 222, other client applications 224, a web browser 226, etc. Client computers may be configured to exchange communications with one or more servers.

[0072] Other examples of applications include calendars, search programs, email client applications, IM applications, SMS applications, Voice over Internet Protocol (VoIP) applications, contact managers, task managers, code converters, database programs, word processors, security applications, spreadsheet programs, games, search programs, visualization applications, and more.

[0073] Additionally, in one or more embodiments (not shown in the figures), the client computer 200 may include embedded logic hardware devices instead of a CPU, such as application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), programmable array logic (PALs), and combinations thereof. The embedded logic hardware devices can directly execute their embedded logic to perform actions. Furthermore, in one or more embodiments (not shown in the figures), the client computer 200 may include one or more hardware microcontrollers instead of a CPU. In one or more embodiments, the one or more microcontrollers can directly execute their own embedded logic to perform actions and access their own internal memory and their own external input and output interfaces (e.g., hardware pins or wireless transceivers) to perform actions, such as a system-on-a-chip (SoC).

[0074] Exemplary network computer

[0075] Figure 3 An embodiment of a network computer 300 is shown, which may be included in a system implementing one or more of the various embodiments. The network computer 300 may include more than Figure 3 The components shown may include more or fewer components. However, the components shown are sufficient to disclose exemplary embodiments for practicing these innovations. The network computer 300 may represent, for example... Figure 1 An embodiment of at least one of the event analysis server computer 116, etc.

[0076] For example, network computer 300 may include a processor 302 that can communicate with memory 304 via bus 328. In some embodiments, processor 302 may consist of one or more hardware processors or one or more processor cores. In some cases, one or more of the processors may be special-purpose processors designed to perform one or more special actions, such as those described herein. Network computer 300 also includes a power supply 330, a network interface 332, an audio interface 356, a display 350, a keyboard 352, an input / output interface 338, a processor-readable fixed storage device 334, and a processor-readable removable storage device 336. Power supply 330 provides power to network computer 300.

[0077] Network interface 332 includes circuitry for coupling network computer 300 to one or more networks and is configured to be used with one or more communication protocols and technologies, including but not limited to protocols and technologies implementing any part of the Open Systems Interconnection (OSI) model, Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), User Datagram Protocol (UDP), Transmission Control Protocol / Internet Protocol (TCP / IP), Short Message Service (SMS), Multimedia Messaging Service (MMS), General Packet Radio Service (GPRS), WAP, Ultra Wideband (UWB), IEEE 802.16 Global Microwave Access Interoperability (WiMax), Session Initiation Protocol / Real-Time Transport Protocol (SIP / RTP), or various other wired and wireless communication protocols. Network interface 332 is sometimes referred to as a transceiver, transceiver device, or network interface card (NIC). Network computer 300 may optionally communicate with a base station (not shown) or directly with another computer.

[0078] Audio interface 356 is configured to generate and receive audio signals, such as human voice. For example, audio interface 356 may be coupled to a speaker and microphone (not shown) to enable communication with others or to generate audio confirmations for certain actions. The microphone in audio interface 356 may also be used, for example, for input or control of network computer 300 using voice recognition.

[0079] Display 350 may be a liquid crystal display (LCD), gas plasma, electronic ink, light-emitting diode (LED), organic LED (OLED), or any other type of light-reflecting or light-transmitting display that can be used with a computer. In some embodiments, display 350 may be a handheld projector or micro-projector capable of projecting images onto a wall or other object.

[0080] Network computer 300 may also include components for communication with... Figure 3 Input / output interface 338 for communication with external devices or computers (not shown). Input / output interface 338 may utilize one or more wired or wireless communication technologies, such as USB. TM Firewire TM WiFi, WiMax, Thunderbolt TM Infrared, Bluetooth TM ZigBee TM Serial ports, parallel ports, etc.

[0081] In addition, the input / output interface 338 may also include one or more sensors for determining geolocation information (e.g., GPS), monitoring power conditions (e.g., voltage sensors, current sensors, frequency sensors, etc.), monitoring weather (e.g., thermostats, barometers, anemometers, humidity detectors, precipitation meters, etc.), etc. The sensors may be one or more hardware sensors that collect or measure data external to the network computer 300. The human-machine interface components may be physically separate from the network computer 300, allowing remote input or output to the network computer 300. For example, information routed via a human-machine interface component such as display 350 or keyboard 352 as described herein may alternatively be routed via network interface 332 to an appropriate human-machine interface component located elsewhere on the network. Human-machine interface components include any components that allow the computer to receive input from or send output to a human user of the computer. Therefore, pointing devices such as mice, styluses, trackballs, etc., can communicate via pointing device interface 358 to receive user input.

[0082] GPS transceiver 340 can determine the physical coordinates of network computer 300 on the Earth's surface, typically outputting the location as latitude and longitude values. GPS transceiver 340 can also use other geolocation mechanisms, including but not limited to triangulation, assisted GPS (AGPS), enhanced time difference of observation (E-OTD), cell identifier (CI), service area identifier (SAI), enhanced timing advance (ETA), base station subsystem (BSS), etc., to further determine the physical location of network computer 300 on the Earth's surface. It should be understood that GPS transceiver 340 can determine the physical location of network computer 300 under different conditions. However, in one or more embodiments, network computer 300 may provide additional information, such as media access control (MAC) address, IP address, etc., that can be used to determine the physical location of client computers through other components.

[0083] In at least one of the various embodiments, applications such as operating system 306, modeling engine 322, visualization engine 324, and other applications 329 may be arranged to utilize geolocation information to select one or more localization features, such as time zone, language, currency, currency format, calendar format, etc. Localization features may be used in user interfaces, dashboards, visualizations, reports, and internal processes or databases. In at least one of the various embodiments, the geolocation information used to select localization information may be provided by GPS 340. Furthermore, in some embodiments, the geolocation information may include information provided using one or more geolocation protocols via a network such as wireless network 108 or network 111.

[0084] Memory 304 may include random access memory (RAM), read-only memory (ROM), or other types of memory. Memory 304 illustrates an example of a computer-readable storage medium (device) for storing information such as computer-readable instructions, data structures, program modules, or other data. Memory 304 stores a Basic Input / Output System (BIOS) 308 for controlling the low-level operations of the network computer 300. Memory also stores an operating system 306 for controlling the operation of the network computer 300. It should be understood that this component may include a general-purpose operating system, such as UNIX or... Versions, or dedicated operating systems, such as Microsoft's Operating system, or Apple's Operating system. This operating system may include one or more virtual machine modules, or interface with one or more virtual machine modules; for example, a Java Virtual Machine module that allows Java applications to control hardware components or the operation of the operating system. Similarly, other runtime environments may also be included.

[0085] Memory 304 may further include one or more data memories 310, which may be used by network computer 300 to store application 320 or other data, etc. For example, data memories 310 may also be used to store information describing various capabilities of network computer 300. The information can then be provided to another device or computer based on any of a variety of methods, including sending it as part of a header during communication, sending it upon request, etc. Data memories 310 may also be used to store social network information including address books, friend lists, aliases, user profile information, etc. Data memories 310 may further include program code, data, algorithms, etc., for use by a processor such as processor 302 to take and perform actions such as those described below. In one embodiment, at least some of the data memories 310 may also be stored on another component of network computer 300, including but not limited to non-transitory media within processor-readable removable storage device 336, processor-readable fixed storage device 334, or any other computer-readable storage device within network computer 300, or even stored outside network computer 300. The data storage device 310 may include, for example, a data source 314, a data model 316, a visualization 318, etc.

[0086] Application 320 may include computer-executable instructions that, when executed by network computer 300, send, receive, or otherwise process messages (e.g., SMS, Multimedia Messaging Service (MMS), Instant Messaging (IM), email, or other messages), audio, video, and enable telecommunications communication with another user on another mobile computer. Other examples of applications include calendars, search programs, email client applications, IM applications, SMS applications, Voice over Internet Protocol (VoIP) applications, contact managers, task managers, code converters, database programs, word processing programs, security applications, spreadsheet programs, games, search programs, and so on. Application 320 may include modeling engine 322, visualization engine 324, other applications 329, etc., which may be arranged to perform actions for the embodiments described below. In one or more of the various embodiments, one or more applications may be implemented as modules or components of another application. Furthermore, in one or more of the various embodiments, applications may be implemented as operating system extensions, modules, plug-ins, etc.

[0087] Furthermore, in one or more of the various embodiments, the modeling engine 322, visualization engine 324, other applications 329, etc., can operate in a cloud-based computing environment. In one or more of the various embodiments, these applications, including the management platform, and other applications can execute within virtual machines or virtual servers (which can be managed in a cloud-based computing environment). In one or more of the various embodiments, in this context, applications can flow from one physical network computer within the cloud-based environment to another, depending on performance and scaling considerations automatically managed by the cloud computing environment. Similarly, in one or more of the various embodiments, virtual machines or virtual servers dedicated to the modeling engine 322, visualization engine 324, other applications 329, etc., can be automatically provisioned and delegated.

[0088] Furthermore, in one or more of the various embodiments, the modeling engine 322, visualization engine 324, other applications 329, etc., may reside in a virtual server running in a cloud-based computing environment, rather than being bound to one or more specific physical network computers.

[0089] In addition, the network computer 300 may also include a hardware security module (HSM) 360 for providing additional tamper-proof protection for generating, storing, or using secure / cryptographic information such as keys, digital certificates, passwords, passphrases, two-factor authentication information, etc. In some embodiments, the hardware security module may be used to support one or more standard public key infrastructures (PKIs) and may be used to generate, manage, or store key pairs, etc. In some embodiments, the HSM 360 may be a standalone network computer; in other cases, the HSM 360 may be arranged as a hardware card that can be installed within the network computer.

[0090] Additionally, in one or more embodiments (not shown in the figures), the network computer 300 may include embedded logic hardware devices instead of a CPU, such as application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), programmable array logic (PALs), or combinations thereof. The embedded logic hardware devices can directly execute their embedded logic to perform actions. Furthermore, in one or more embodiments (not shown in the figures), the network computer may include one or more hardware microcontrollers instead of a CPU. In one or more embodiments, these microcontrollers can directly execute their own embedded logic to perform actions and access their own internal memory and their own external input and output interfaces (e.g., hardware pins or wireless transceivers) to perform actions, such as a system-on-a-chip (SoC).

[0091] Exemplary logical system architecture

[0092] Figure 4The logical architecture of a system 400 for an interactive interface for data analysis and report generation, according to one or more of various embodiments, is shown. In one or more of the various embodiments, system 400 may be a data modeling platform arranged to include various components, including: a modeling engine 402; a visualization engine 404; visualization 406; a visualization model 408; a data model 410; a data source 412; an evaluation model 414; etc.

[0093] In one or more of the various embodiments, data source 412 represents a source of raw data, records, data items, etc., which modeling engine 402 can use to enable users to generate or modify data models, such as data model 410.

[0094] In one or more of the various embodiments, a data model such as data model 410 may be a data structure, etc., that provides one or more logical representations of information stored in one or more data sources such as data source 412. In some embodiments, the data model may include data objects corresponding to one or more portions of a table, view, or file in the data source. For example, in some embodiments, if the data source 412 is a CSV file or a database, the data model such as data model 412 may consist of one or more data objects that may correspond to record fields in data source 412.

[0095] In one or more of the various embodiments, the data model can be arranged to provide a logical representation of a data source that may differ from the underlying data source. In some embodiments, this may include one or more fields that exclude the data source from the data model.

[0096] In some embodiments, a modeling engine, such as modeling engine 402, may be employed to transform some or all of the data from data source 412 into data model 410. In some embodiments, the modeling engine may be arranged to employ or execute computer-readable instructions provided by configuration information to determine some or all of the steps for transforming values ​​from the data source into the data model. As described in detail below, in one or more of the various embodiments, the modeling engine may be arranged to enable an interactive interface for data analysis and report generation.

[0097] In one or more of the various embodiments, the visualization engine (e.g., visualization engine 404) may be arranged to use a visualization model (e.g., visualization model 408) to determine the layout, style, interactivity, etc., of the visualization (e.g., visualization 406) that can be displayed to the user. Furthermore, in some embodiments, the visualization engine may be arranged to populate the visualization with data model-based values ​​using data item values ​​provided via a data source.

[0098] In one or more of the various embodiments, the modeling engine may be arranged to enable the user to select a primary visualization that can provide a starting point for the analysis session. Thus, in one or more of the various embodiments, the modeling engine may be arranged to determine one or more insight items that can provide analytical information related to the visualization or its associated data model or data source.

[0099] In one or more of the various embodiments, the modeling engine may be configured to use one or more evaluation models (e.g., evaluation model 414) to evaluate data fields, data models, data sources, visualizations, etc., to determine one or more insight items that can be associated with the main visualization.

[0100] In one or more of the various embodiments, different evaluation models can be arranged to provide insight scores that can be used to compare the levels of insight items. In some embodiments, different evaluation models can be configured to use different scoring criteria to determine or score insight items. Therefore, in some embodiments, the evaluation engine can be arranged to weight or normalize the insight scores provided by the different evaluation models. In some embodiments, specific normalization rules or weighting rules for normalizing or weighting the confidence scores of the evaluation models can be provided through configuration information.

[0101] Furthermore, in one or more of the various embodiments, the evaluation model may be configured to provide natural language descriptions that can be used in a user interface or report to explain the meaning or context of the insight item. In some embodiments, the descriptions may be template-based, which allows labels, cells, values, field names, etc., associated with the insight item or visualization to be included in the insight items listed in the insight panel.

[0102] In one or more of the various embodiments, the evaluation model may be designed or customized to evaluate one or more statistical features of the data associated with the visualization. Therefore, in one or more of the various embodiments, the modeling engine may be arranged to apply one or more evaluation models to assess whether the data associated with the visualization possesses one or more statistical features targeted by the evaluation model. In some embodiments, the evaluation model may be arranged to provide an insight score in the form of a self-scoring, which indicates how close the data associated with the insight item is to a statistical feature that the evaluation model may be designed to match or otherwise evaluate.

[0103] In one or more of the various embodiments, one or more evaluation models may focus on general, well-known or common statistical characteristics that can be expected to be associated with visualizations, labels, data models, data sources, etc.

[0104] Furthermore, in one or more of the various embodiments, one or more evaluation models can be customized or tailored to a specific problem domain or business domain. For example, an evaluation model for financial information can be configured differently from an evaluation model for employee information. Similarly, for example, an evaluation model for the automotive industry can be configured differently from an evaluation model for the cruise (ship) industry. Additionally, in one or more of the various embodiments, one or more evaluation models can be customized for a specific data source, data model, or visualization for a particular organization or user. Therefore, in one or more of the various embodiments, the evaluation models can be stored in a data store, allowing the evaluation models to be configured independently of each other.

[0105] In one or more of the various embodiments, if a user provides a primary visualization, the modeling engine can determine one or more evaluation models and apply these evaluation models to determine insight items that can be associated with the primary visualization. In some embodiments, insight items can be grouped based on the evaluation models used to identify them. Furthermore, in some embodiments, one or more insight items can be grouped together because they represent the same kind of insight. In some embodiments, the modeling engine can be configured to determine insight item grouping rules based on configuration information.

[0106] In one or more of the various embodiments, the evaluation model can be configured to determine and identify insights related to outliers, trends, aggregations, relevant visualizations, relevant data models, etc., based on characteristics of the primary visualization, its data source, its data model, etc. Furthermore, in one or more of the various embodiments, the modeling engine can be configured to automatically provide visualizations corresponding to some or all of the insight items. For example, if a trend in a profit data field is identified as an insight item, the modeling engine can provide a visualization showing a trend line for the profile data field. In some embodiments, the modeling engine can be configured to generate thumbnail views of insight items that resemble relevant insight visualizations.

[0107] In one or more of the various embodiments, the modeling engine or visualization engine may be arranged to track or log metrics associated with system-wide users interacting with the visualization or data model. Therefore, in one or more of the various embodiments, one or more evaluation models may be arranged to identify other visualizations that are typically viewed close to the timeframe of the main visualization. In some embodiments, some of these visualizations may be determined to be relevant visualizations worthy of being considered insight projects. Note that in some embodiments, the specific criteria used to determine whether a visualization is relevant, or whether a relevant visualization can be an insight project, may be determined based on a specific evaluation model used to determine such an insight project. Similarly, in some embodiments, the modeling engine may be arranged to employ one or more evaluation models to determine one or more relevant data fields, which may include one or more data models or one or more data sources shared by the main visualization and other visualizations. For example, the evaluation model may be arranged to determine that one or more visualizations using some of the same data fields as the main visualization can be considered insight projects. In some embodiments, the evaluation model may be configured to provide specific criteria for determining whether visualizations sharing data fields, data models, etc., can be considered insight projects.

[0108] Furthermore, in some embodiments, the modeling engine may be arranged to provide a staging book (e.g., a staging panel) that allows users to selectively capture or record visualizations or insights during an analytics session. In some embodiments, the staging panel may be configured to display captured information (e.g., staging items) in chronological order to provide visual cues about the progress of the analytics session. Additionally, in some embodiments, staging items in the staging panel may be accessed out of order, allowing users to dynamically view visualizations, etc., associated with staging items.

[0109] Figure 5A A logical representation of a portion of a user interface 500 for data analysis and report generation, according to one or more of various embodiments, is shown. In some embodiments, the user interface 500 may be arranged to include one or more panels, such as a display panel 502, an insight panel 504, a temporary panel 506, etc.

[0110] In one or more of the various embodiments, the user interface 500 may be displayed on one or more hardware displays (e.g., client computer displays, mobile device displays, etc.). In some embodiments, the user interface 500 may be provided via a native application or as a web application hosted in a web browser or other similar application. Those skilled in the art will understand that many details common to commercial / production user interfaces have been omitted from the user interface 500 for at least clarity or brevity. Similarly, in some embodiments, the user interface may be arranged differently from what is shown, depending on the local environment or local requirements, such as display type, display resolution, user preferences, etc. However, those skilled in the art will understand that the disclosure / description of the user interface 500 is at least sufficient to disclose the innovations included herein.

[0111] In one or more of the various embodiments, the modeling engine may be arranged to generate a user interface, such as a user interface 500 for interactive data analysis or report generation.

[0112] In this example, display panel 502 represents a panel used to display visualizations that have been selected or recommended to the user. In some embodiments, the user may be the author of the displayed visualization, or the user may use visualizations created by other users to perform data analysis. In some embodiments, display panels such as display panel 502 may be used to display different visualizations. For example, if a user selects a visualization to view, it may be displayed in the display panel. In some embodiments, the visualizations displayed in the display panel may consist of one or more sub-visuals, user interface controls, text annotations, etc. However, at least for the sake of simplicity and clarity, visualizations such as visualization 508 may be considered to represent both more complex and simple visualizations.

[0113] In one or more of the various embodiments, the visualization may be associated with one or more data sources that provide data (which can be represented by the visualization). In this example, visualization 508 represents a line graph. Those skilled in the art will understand that other graphical drawing or visualizations may be employed without departing from the innovations disclosed herein. Furthermore, in some embodiments, the data domain or semantic meaning of the visualizations described herein may vary depending on the needs of the user or organization that may be creating the visualization. Therefore, the underlying data, the meaning of a particular visualization or drawing, etc., are rarely discussed herein.

[0114] In one or more of the various embodiments, the modeling engine may be arranged to generate insight panels, such as insight panel 504. In some embodiments, the insight panel may be arranged to display interactive representations of one or more insight items. In one or more of the various embodiments, insight items may represent various visualizations, etc., which can provide some analytical insights to a user who may be viewing one or more visualizations. Thus, in some embodiments, if a user selects a primary visualization to analyze, the modeling engine may be arranged to determine one or more insight items based on one or more of the characteristics of the primary visualization, the data model associated with the primary visualization, the data source associated with the primary visualization, etc. In this example, for some embodiments, visualization 508 may be considered the primary visualization.

[0115] In one or more of the various embodiments, a user can select one or more insight items, which can cause the visualization associated with the selected insight item to appear in a display panel—replacing the last primary visualization. Therefore, in some embodiments, a user can quickly switch to viewing the visualizations that can be listed in the insight panel. Furthermore, in some embodiments, when different visualizations are selected, they can become the current primary visualization. Therefore, in some embodiments, the modeling engine can be configured to modify the set of insight items based on the currently primary visualization.

[0116] In one or more of the various embodiments, the modeling engine may be arranged as a scratchpad panel (e.g., a scratchpad panel), such as scratchpad panel 506. In some embodiments, the modeling engine may be arranged to associate references with one or more visualizations or insights in the scratchpad panel. In one or more of the various embodiments, the modeling engine may be configured to display scratchpad panel items (e.g., scratchpad panel item 516) in a scratchpad panel (such as a scratchpad panel). In some embodiments, the modeling engine may be arranged to automatically generate scratchpad panel items when the user switches to a different primary visualization. Similarly, in one or more of the various embodiments, the modeling engine may be arranged to provide various user interface controls or menu items that allow the user to select to add or remove scratchpad panel items from the scratchpad panel.

[0117] In one or more of the various embodiments, the modeling engine can be configured to generate staging panel items that provide a visual record of one or more visualizations or insights for the user to view. Therefore, in some embodiments, a record of a data analysis session can be generated and displayed in a display panel.

[0118] In some embodiments, when a user selects a staging panel item, the visualization associated with the selected staging panel item can be displayed in the display panel and become the current primary visualization.

[0119] In one or more of the various embodiments, the modeling engine may be configured to enable users to remove staging panel items from the staging panel. For example, in some embodiments, user interface controls such as context menus, buttons, etc., may be provided to remove staging panel items from the staging panel. Similarly, in some embodiments, users may be able to choose whether major visualizations or insights should be added to the staging panel. In one or more of the various embodiments, the modeling engine may be configured to use templates, layout information, style information, etc., provided via configuration information to determine the appearance or interactive behavior of the staging panel.

[0120] In one or more of the various embodiments, the modeling engine may be arranged to display different types of insight items in the insight panel. In some embodiments, the different types of insight items may be grouped or otherwise styled to indicate that they are in the same group. In some embodiments, the modeling engine may be arranged to display icons, labels, text descriptions, tooltips, etc., to provide contextual information about a set of insight items.

[0121] In this example, Insight panel 504 represents an Insight panel displaying three different types of Insight items. In this example, Insight item groups 510, Insight item group 512, and Insight item group 514 represent different Insight item groups. In some embodiments, the number of Insight items within an Insight item group and the number of Insight item groups can vary based on one or more factors, including the current primary visualization, the data source associated with the primary visualization, the data model associated with the primary visualization, etc. In some embodiments, the modeling engine can be configured to use rules, catalogs, instructions, etc., provided via configuration information to determine a specific arrangement or selection of Insight item groups that can be displayed in the Insight panel, taking into account local needs or the local environment.

[0122] Similarly, in one or more of the various embodiments, the modeling engine may be configured to use templates, layout information, style information, etc. provided via configuration information to determine the appearance or interactive behavior of the insight panel.

[0123] In one or more of the various embodiments, insight items can be determined based on various criteria, depending on the type of insight item. In some embodiments, an insight item may be associated with another visualization having one or more features that may resemble the main visualization. For example, in some embodiments, an insight item may be another visualization based on the same data model or data source as the main visualization. In other cases, an insight item may be a visualization that focuses on a data field (which may or may not be shown in the main visualization). For example, if the main visualization displays the current value of a data field, the insight item may be another visualization that displays the rate of change of the same field. Other examples may include visualizations showing trends, distributions, etc., which may be related to data fields included in the main visualization. In some cases, an insight item may be a different visualization of the same data as a main visualization that may be created by different authors. Furthermore, in some embodiments, an insight item may represent a visualization or explanation (text) that focuses on a data field that may affect or drive the appearance of the main visualization. For example, this may include highlighting outliers, missing values, etc.

[0124] Therefore, in one or more of the various embodiments, the modeling engine can be arranged to use various evaluation models (not shown) to determine insight items. In one or more of the various embodiments, the evaluation model can be considered as a data structure that includes data or instructions for determining whether visualizations, data fields, data models, interpretations, etc., should be listed in the insight panel. In one or more of the various embodiments, the evaluation model can be provided from various sources and can include heuristics, syntax, parsers, conditional methods, machine learning classifiers, other machine learning models, curve fitting, etc., which can be used to provide an insight score that can be used to determine whether the item under consideration can be listed in the insight panel. In some embodiments, the modeling engine can be arranged to use the insight score provided by the evaluation model to determine whether an insight item should be listed. In some embodiments, the modeling engine can be arranged to apply additional criteria, such as the age of the insight item, the number of other users who have viewed or used the insight item, etc.

[0125] In one or more of the various embodiments, the modeling engine may be arranged to enable the addition or removal of one or more evaluation models from the system. Thus, in some embodiments, evaluation models that can discover new kinds of insight items may be included when they can be identified. Similarly, evaluation models based on local preferences or local needs may be removed or disabled if they fall out of favor. Therefore, in some embodiments, the modeling engine may be arranged to determine available evaluation models based on configuration information to account for local needs and the local environment.

[0126] In one or more of the various embodiments, the modeling engine may be configured to apply one or more sorting functions to sort insight items within their groups or to sort all insight items. In some embodiments, the sorting functions may vary based on insight item groups, users, organizations, etc. Furthermore, in some embodiments, users or organizations may be enabled to define one or more sorting rules, which may be stored as preferences in configuration information.

[0127] In one or more of the various embodiments, an additional panel including a panel or controls for providing search expressions, filters, etc., may be included in the user interface 500.

[0128] Figure 5B A logical representation of a portion of a user interface 500 for data analysis and report generation, according to one or more of various embodiments, is shown. For the sake of brevity and clarity, the above-described embodiments are not repeated here. Figure 5A The user interface elements or behaviors described in 500.

[0129] In this example, the primary visualization has been changed to primary visualization 518, which represents a visualization generated based on the insight item selected from the insight panel 504. Furthermore, in this example, the staging panel item 520 can be considered as referencing primary visualization 518.

[0130] In this example, the user has added two staging panel items (staging panel item 516 and staging panel item 52) to staging panel 506. Therefore, in some embodiments, if the user wants to revisit the visualization associated with staging panel item 516, they can select staging panel item 516, and the modeling engine can display the corresponding visualization as the current primary visualization. Note that in some embodiments, if the visualization corresponding to staging panel item 516 is selected as the primary visualization, the two staging panel items in staging panel 506 can remain displayed.

[0131] In one or more of the various embodiments, the modeling engine may be arranged to enable the user to change the order of the scratch panel items in the scratch panel. For example, the modeling engine may be arranged to generate a scratch panel such that the position of the scratch panel items can be changed by dragging them to another position in the scratch panel.

[0132] Figure 6 A logical representation of a portion of a user interface 600 for data analysis and report generation, according to one or more of various embodiments, is shown. For the sake of brevity and clarity, the above refers specifically to... Figure 5A The elements or behaviors of the user interface 600 described herein will not be repeated here.

[0133] In some embodiments, a user interface such as user interface 600 may be arranged to include a story panel such as story panel 602, insight panel 604, temporary panel 606, etc.

[0134] In one or more of the various embodiments, the modeling engine may be configured to enable users to generate reports that can be saved or shared with other users. In some embodiments, a report may be considered a composite visualization that includes one or more visualizations, additional annotations, etc.

[0135] In one or more of the various embodiments, the modeling engine may be configured to allow story items to be added to the Story panel. In one or more of the various embodiments, story items may be selected from a staging panel or an insights panel. Alternatively, in some embodiments, story items may include additional annotations that can be added or created dynamically. In some embodiments, the modeling engine may be configured to generate interactive reports based on story items that can be added to the Story panel.

[0136] In this example, visualizations 612 and 614 represent visualizations that have been added to the Story panel. In this example, for some embodiments, visualization 612 may be added to the Story panel 602 based on the user interacting with staging panel item 608. Similarly, in this example, visualization 614 may be added to the Story panel 602 based on the user interacting with staging panel item 610.

[0137] In one or more of the various embodiments, the modeling engine may be configured to enable users to create or import additional text, images, visualizations, etc., from other sources, rather than being limited to using Insights projects or staging panel projects. For example, in some embodiments, note 616 indicates a text note that has been added to Story panel 602.

[0138] In one or more of the various embodiments, the modeling engine may be arranged to automatically adjust the size of the story panel as story items may be added. In this example, a dashed line extending beyond the boundary of the user interface 600 is used to illustrate the story panel 602 to indicate that the modeling engine has automatically increased its size or otherwise adjusted its geometry to accommodate the added story items.

[0139] Common operations

[0140] Figure 7-10 This refers to the general operation of an interactive interface for data analysis and report generation, according to one or more of the various embodiments. In one or more of the various embodiments, combined with... Figure 7-10 The described processes 700, 800, 900, and 1000 can be performed by a single networked computer (e.g., Figure 3The processes or portions thereof are implemented or executed by one or more processors on a network computer (300). In other embodiments, these processes or portions thereof may be implemented or executed by multiple network computers (e.g., Figure 3 The network computer 300) implements or executes these processes. In yet another embodiment, these processes, or portions thereof, may be implemented or executed by or on one or more virtualized computers (e.g., those in a cloud-based environment). However, the embodiments are not limited thereto, and various combinations of network computers, client computers, etc., can be utilized. Furthermore, in one or more of the various embodiments, the combination of... Figure 7-10 The described process can be used in various embodiments, architectures, or user interfaces (such as in combination) Figure 4-6 An interactive interface for data analysis and reporting (described in the user interface). Furthermore, in one or more of the various embodiments, some or all of the actions performed by processes 700, 800, 900, and 1000 may be partially performed by a modeling engine 322, a visualization engine 324, etc., running on one or more processors of one or more networked computers.

[0141] Figure 7 An overview flowchart of a process 700 for an interactive interface for data analysis and report generation, according to one or more of various embodiments, is shown. Following the start box, at start box 702, in one or more of the various embodiments, a primary visualization that can be displayed in a display panel can be provided to the modeling engine. As mentioned above, the primary visualization can be selected by the user or automatically selected based on default rules. For example, in some embodiments, a user viewing a visualization becomes interested in learning more about the underlying data that contributed to the visualization they are viewing. In this example, the modeling engine can be arranged to provide user interface controls (e.g., buttons, menu items, etc.) that enable the user to begin an analysis session based on the visualization they are viewing. Therefore, in this example, the visualization the user is viewing can be provided to the modeling engine as the primary visualization of the analysis session.

[0142] At box 704, in one or more of the various embodiments, the modeling engine may be arranged to generate one or more insight items that can be displayed in the insight panel. In some embodiments, the modeling engine may be arranged to use one or more evaluation models to determine one or more insight items to be listed in the insight panel.

[0143] In decision box 706, in one or more of the various embodiments, if an insight item can be selected, control can flow to box 708; otherwise, control can loop back to decision box 706. As described above, the insight panel can be arranged to allow the user to interact with the listed insight items. For example, in some embodiments, the user can use a pointing device such as a mouse to select insight items by clicking on them with the pointing device.

[0144] In box 708, in one or more of the various embodiments, the modeling engine can be configured to generate another visualization based on the selected insight item. In some embodiments, the other visualization can be displayed in a display panel. In some embodiments, the other visualization can be considered a new primary visualization. Furthermore, in some embodiments, even if another visualization is displayed in the display panel, the primary visualization used at the start of the analysis session can remain the primary visualization.

[0145] In one or more of the various embodiments, the modeling engine may be configured to update or modify the insight project based on other visualizations. This may occur in some embodiments if the other visualization is considered a new primary visualization. Furthermore, in some embodiments, the insight project may be updated based on other visualizations, even if those other visualizations are not primary visualizations.

[0146] In decision box 710, in one or more of the various embodiments, if the selected insight item or visualization can be added to the staging panel, control can flow to box 712; otherwise, control can flow to decision box 714. In one or more of the various embodiments, the modeling engine can be arranged to automatically add the selected visualization or insight item to the staging panel. In some embodiments, the modeling engine can be arranged to selectively add visualizations or insights items to the staging panel based on user input or other rules.

[0147] In box 712, in one or more of the various embodiments, the modeling engine may be arranged to add thumbnail images that can be associated with the previous primary visualization to the staging panel. In one or more of the various embodiments, the visualizations or insights included in the staging panel may be shown using thumbnails or otherwise minimized visual representations of the added visualizations or insights. In some embodiments, the necessary thumbnails may be minimized views that mimic the appearance of the visualizations or insights they represent.

[0148] In decision box 714, in one or more of the various embodiments, if the analysis session can be completed, control can return to the invocation procedure; otherwise, control can loop back to decision box 706. In one or more of the various embodiments, the modeling engine can be configured to enable users to interactively analyze the main visualization or its underlying data based on the insight items listed in the insight panel. Therefore, in some embodiments, if a user completes their analysis session, the session can be terminated. Otherwise, the user can continue to interact with one or more of the insight panel, staging panel, display panel, etc., until they complete the analysis session.

[0149] Next, in one or more of the various embodiments, control can return to the calling procedure.

[0150] Figure 8 A flowchart of a process 800 for generating a report based on a staging panel, according to one or more of various embodiments, is shown. Following the start box, at start box 802, in one or more of the various embodiments, the modeling engine may be arranged to generate a staging panel that can list one or more staging panel items. As described above, in some embodiments, the modeling engine may be arranged to provide a staging panel to automatically track or record some or all of the visualizations or insights that may have been reviewed during a user's analysis session. In some embodiments, the staging panel provides a visual reference that allows the user to revisit recently viewed visualizations or insights.

[0151] In decision box 804, in one or more of the various embodiments, if a temporary panel item or insight item can be added to the report panel, control may flow to box 806; otherwise, control may flow to decision box 808. In one or more of the various embodiments, as described above, the report panel may be a panel arranged to accept visualizations, insights, or annotations that can be combined into an interactive report that can be stored or shared.

[0152] Therefore, in some embodiments, the modeling engine can be configured to enable users to select one or more temporary panel items or one or more insight items to add to the report panel.

[0153] At box 806, in one or more of the various embodiments, the modeling engine may be arranged to update the report panel with visualizations associated with the staging panel items. In some embodiments, the modeling engine may be arranged to append or pre-add staging panel items before or after other report items in the report panel. In some embodiments, staging panel items may be inserted between two report items in the report panel.

[0154] In some embodiments, the modeling engine can be configured to automatically expand or shrink the size of the report panel based on the report items that the report panel may include. Note that in some embodiments, a portion of the report panel (view window) may be displayed, while the remainder remains off-screen.

[0155] In decision box 808, in one or more of the various embodiments, annotations can be added to the report panel, and control can flow to box 810; control can flow to decision box 812. In one or more of the various embodiments, annotations can be considered any item that can be added to the report, such as text, images, annotation blocks, legends, summaries, links, bookmarks, etc. In some embodiments, annotations can be selected from sources other than the scratch panel or the insight panel.

[0156] Furthermore, in one or more of the various embodiments, annotations may include additional user interface controls in the interactive report. For example, one or more report items may be associated with user interface controls that hide or show one or more report items based on user interaction or user input.

[0157] In box 810, in one or more of the various embodiments, the modeling engine can be arranged to update the report panel to include annotations. Similar to the description of box 806, the modeling engine can be arranged to update the report panel and report to include one or more annotations.

[0158] In decision box 812, in one or more of the various embodiments, if the reporting session can be completed, control can return to the invoking procedure; otherwise, control can loop back to box 802. In one or more of the various embodiments, the modeling engine can be arranged to enable users to interactively build reports by iteratively adding, moving, or removing items from the report. Thus, if users complete a report, they can either store it for future use or share it with others.

[0159] Next, in one or more of the various embodiments, control can return to the calling procedure.

[0160] Figure 9A flowchart of process 900 for providing an interactive interface for data analysis and report generation, according to one or more of various embodiments, is shown. Following the start box, at start box 902, in one or more of the various embodiments, a visualization may be provided to the modeling engine. In some embodiments, the modeling engine may be arranged to display the visualization on a display. In some embodiments, the visualization may be the primary visualization. In some embodiments, the modeling engine may be arranged to enable a user to initiate an analysis session with a primary visualization. In some embodiments, the initial primary visualization may be considered the primary visualization until the user completes the analysis session or selects a different primary visualization. Alternatively, in some embodiments, the primary visualization may be considered the visualization currently displayed among the displayed visualizations. Thus, in some embodiments, each time a visualization associated with an insight project is selected from the insight panel and displayed in the display panel, that visualization may be considered a new primary visualization. Furthermore, in one or more of the various embodiments, the modeling engine may be arranged to provide user interface controls (e.g., buttons, toggles, menu items, etc.) that allow the user to explicitly assign a visualization as the primary visualization.

[0161] In one or more of the various embodiments, the primary visualization can be considered as the definite visualization that drives the insight project.

[0162] At box 904, in one or more of the various embodiments, the modeling engine may be arranged to determine a data source or one or more data models that can be associated with the main visualization. In one or more of the various embodiments, the modeling engine may be arranged to determine the data source or data model associated with the main visualization based on lookup tables, mappings, catalogs, etc., that associate the data source or data model with the visualization. In some embodiments, the visualization model associated with the main visualization may define the data source or data model associated with the main visualization.

[0163] At box 906, in one or more of the various embodiments, the modeling engine may be configured to generate one or more field insight items. In one or more of the various embodiments, a field insight item may be an insight item related to recommending one or more data fields (which can provide insight into the meaning of the main visualization). For example, if the main visualization includes values ​​based on combinations of two or more data fields, the relevant field insight item may be a graph of the individual data fields combined in the main visualization to provide insight into how each component data field contributes to the values ​​displayed in the main visualization. Similarly, in some embodiments, a field insight item may be a data field that can typically be used in combination with one or more data fields used in the main visualization. For example, if the modeling engine identifies one or more data fields (which are typically used in conjunction with one or more data fields in the main visualization), these data fields may be considered insight items.

[0164] In one or more of the various embodiments, field insight items may be associated with narrative information that can explain the relevance of each field insight item. Similarly, field insight items may be associated with insight scores, which can be used to rank field insight items relative to each other. As described above, the specific actions or criteria performed to identify or evaluate field insight items may be defined in one or more evaluation models.

[0165] In box 908, in one or more of the various embodiments, the modeling engine can be arranged to generate one or more trend insight items. Similar to field insight items, trend insight items can be associated with visualizations or data fields that display trends associated with one or more data fields or data objects associated with a primary visualization. For example, if the primary visualization includes a graph based on aggregated values ​​of data fields, a visualization including graphs of values ​​of component fields that change over time can be considered for candidate trend insight items.

[0166] Similar to field insight items, in some embodiments, trend insight items may be associated with narrative information that can explain the relevance of each trend insight item. Similarly, in some embodiments, trend insight items may be associated with insight scores (which are used to rank trend insight items relative to each other). As described herein, the specific actions or criteria performed to identify or evaluate trend insight items may be defined in one or more evaluation models.

[0167] In box 910, in one or more of the various embodiments, the modeling engine may be arranged to generate one or more additional insight items. Those skilled in the art will understand that field insight items or trend insight items represent a non-limiting example of the types of insight items that can be determined. Therefore, in some embodiments, evaluation models may be provided to determine various types of insight items based on various criteria. In some embodiments, the criteria may be customized to local needs or local requirements. Therefore, in some embodiments, the modeling engine may be arranged to employ any number of evaluation models to determine different types of insight items. In some embodiments, the modeling engine may be arranged to determine the type of insight item or which evaluation models to employ based on rules, instructions, classifiers, etc., provided via configuration information.

[0168] At box 912, in one or more of the various embodiments, the modeling engine may be arranged to list insight items in an insight panel that can be displayed in a user interface. In some embodiments, the identified insight items may initially be considered as candidate insight items until they are listed in the insight panel. Thus, in some embodiments, the modeling engine may be arranged to use various criteria (e.g., insight scores, etc.) to determine which of the candidate insight items should be listed in the insight panel. In some embodiments, user or organizational preferences may influence which insight items can be listed in the insight panel. For example, in some embodiments, the modeling engine may be arranged to allow a user or organization to set a limit on the number of insight items to be listed in the insight panel. Similarly, in some embodiments, the modeling engine may be arranged to allow a user or organization to set preference values ​​to include or exclude all types of insight items listed in the insight panel.

[0169] Next, in one or more of the various embodiments, control can return to the calling procedure.

[0170] Figure 10A flowchart of process 1000 for determining an insight project that provides an interactive interface for data analysis and reporting generation, according to one or more of various embodiments, is shown. Following the start box, in start box 1002, in one or more of the various embodiments, visualizations, one or more data models, one or more data sources, etc., may be provided to a modeling engine. As described above, a primary visualization associated with a data model or data source may be provided to the modeling engine. In some embodiments, the modeling engine may be arranged to determine the data model or data source from the visualization based on tables, mappings, lists, etc., which maintain records of which data models or data sources can be associated with a given visualization. In some embodiments, the visualization model on which the visualization is based may be arranged to include references or identifiers that enable the modeling engine to determine the data model or data source associated with the visualization. Furthermore, in some embodiments, another process, such as the visualization engine, may be arranged to provide an API that enables the modeling engine to determine the data model or data source based on the visualization or visualization model.

[0171] In box 1004, in one or more of the various embodiments, the modeling engine may be arranged to determine one or more evaluation models. In one or more of the various embodiments, the modeling engine may be arranged to employ different evaluation models for different types of insight projects. In some embodiments, one or more evaluation models may be associated with a specific data model, data source, or visualization. Similarly, in some embodiments, one or more evaluation models may be arranged to evaluate some or all data models, data sources, visualizations, etc., to determine insight projects.

[0172] In some embodiments, users or organizations may be able to associate some or all evaluation models with data models, data sources, or visualizations to reflect user or organizational preferences. For example, in one or more of various embodiments, an organization may prefer to use a limited number of evaluation models to meet various constraints, such as resource limitations, permission restrictions, etc. Furthermore, in some embodiments, users or organizations may prefer to use certain types of insight items rather than others. Therefore, in some embodiments, the modeling engine may be configured to employ one or more rules, instructions, preference information, etc., provided via configuration information (which can determine whether an evaluation model should be used to determine the insight items for visualization).

[0173] Furthermore, in one or more of the various embodiments, the modeling engine can be arranged to determine more than one evaluation model and use them in parallel with the determined insight items.

[0174] In box 1006, in one or more of the various embodiments, the modeling engine can be arranged to determine one or more candidate insight items based on an evaluation model. As described above, the evaluation model can be configured to identify one or more insight items based on determining visualizations, data fields, data models, etc., that meet the criteria defined by the respective evaluation models. In some embodiments, the evaluation model can be configured to assign insight scores that allow insight items provided by the same or different evaluation models to be ranked. Therefore, in some embodiments, insight items that have not yet been confirmed to be displayed in the Insights panel can be considered candidate insight items.

[0175] In box 1008, in one or more of the various embodiments, the modeling engine can be arranged to display one or more insight items in the insight panel.

[0176] In one or more of the various embodiments, the modeling engine may be configured to perform one or more actions to select, classify, or filter candidate insight items determined by the evaluation model. In one or more of the various embodiments, the modeling engine may be allowed to select, classify, or filter candidate insight items based on various criteria, including insight scores, user / organizational preferences, permission restrictions, data access restrictions, etc. For example, the modeling engine may be configured to ignore insight items with insight scores below a threshold. Similarly, for example, the modeling engine may be configured to ignore insight items based on visualizations or data that users are restricted from viewing or accessing.

[0177] Therefore, in some embodiments, the modeling engine can determine some or all of the candidate insight items that should be displayed in the insight panel.

[0178] Next, in one or more of the various embodiments, control can return to the calling procedure.

[0179] It should be understood that each box in each flowchart illustration, and combinations of boxes in each flowchart illustration, can be implemented by computer program instructions. These program instructions can be provided to a processor to generate a machine, such that instructions executing on the processor create means for implementing the actions specified in each flowchart box. The computer program instructions can be executed by a processor to cause the processor to perform a series of operational steps to produce a computer-implemented process, such that instructions executing on the processor provide steps for implementing the actions specified in each flowchart box. The computer program instructions can also cause at least some of the operational steps shown in each flowchart box to be executed in parallel. Furthermore, some of the steps can also be executed across more than one processor, as may occur in a multiprocessor computer system. Moreover, without departing from the scope or spirit of the invention, one or more boxes or combinations of boxes in each flowchart illustration can also be executed simultaneously with other boxes or combinations of boxes, or even in a different order than shown in the illustration.

[0180] Therefore, each block in each flowchart illustration supports a combination of means for performing a specified action, a combination of steps for performing a specified action, and a program instruction means for performing a specified action. It will also be understood that each block in each flowchart illustration and the combination of blocks in each flowchart illustration can be implemented by a system based on dedicated hardware or a combination of dedicated hardware and computer instructions for performing a specified action or step. The foregoing examples should not be construed as limiting or exhaustive, but rather as exemplary use cases to illustrate at least one implementation of various embodiments of the invention.

[0181] Furthermore, in one or more embodiments (not shown in the figures), instead of a CPU, an embedded logic hardware device (such as an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a programmable array logic (PAL), or a combination thereof) can be used to execute the logic in the exemplary flowchart. The embedded logic hardware device can directly execute its embedded logic to perform actions. In one or more embodiments, a microcontroller can be arranged to directly execute its own embedded logic to perform actions and access its own internal memory and its own external input and output interfaces (e.g., hardware pins or wireless transceivers) to perform actions, such as a system-on-a-chip (SoC).

Claims

1. A method for managing data visualization using one or more processors that execute instructions to perform actions, comprising: Provides key visualizations associated with the data model, which are displayed in a display panel; One or more insight items are generated based on the main visualization and the data model, wherein the one or more insight items correspond to one or more of the analytical information, another data model, or data source related to one or more visualizations that share one or more parts of the data model, and wherein the one or more insight items are displayed in the insight panel along with one or more narratives, the one or more narratives being generated to explain the context of the one or more displayed insight items. In response to selecting an insight item from the insight panel, further actions are performed, including: Visualizations are generated based on the insight items displayed in the display panel, rather than the main visualization; and Generate a temporary project that includes a thumbnail view of the main visualization, wherein the thumbnail view is displayed in the temporary panel; and In response to the selection of another insight item from the Insights panel or one or more of another temporary items from the Temporary panel, another visualization is generated based on the selection of the other insight item or one or more of the other temporary items, wherein the other visualization, instead of the currently displayed visualization, is displayed in the Display panel.

2. The method of claim 1, wherein generating the one or more insight projects further comprises: Provide one or more evaluation models, which are configured to identify the one or more visualized items; Based on the one or more visualizations, one or more candidate insight items are generated using the one or more evaluation models, wherein the one or more candidate insight items are associated with insight scores; and The one or more insight items are determined based on a portion of the insight scores that exceed a threshold among the one or more candidate insight items.

3. The method of claim 1, wherein displaying the one or more insight items in the insight panel further comprises: One or more insight project groups are determined based on the type of evaluation model identified for the one or more insight projects, wherein each insight project is associated with an insight project group; and Each insight project group is displayed in the Insights panel, with each insight project shown together with its associated insight project group.

4. The method according to claim 1, further comprising: A report panel is provided to replace the display panel. and In response to selecting one or more of the aforementioned insight items, one or more staging items, or one or more annotations, further actions are performed, including: Based on one or more of the one or more insight items, the one or more temporary items, and one or more of the one or more annotations, generate one or more report items, wherein the one or more annotations include one or more of text, images, or links to other reports, and wherein the one or more report items are displayed in the report panel; and The size of the report panel is automatically adjusted to be based on the size of the one or more report items, wherein any portion of the report panel that exceeds the size of the display panel is hidden and not visible.

5. The method of claim 1, further comprising: In response to replacing the visualization in the display panel with a replacement visualization, one or more replacement insight items are generated based on the replacement visualization and the data model, wherein the one or more replacement insight items are displayed in the insight panel.

6. The method of claim 1, wherein generating the one or more insight items further comprises: Perform further actions, including one or more of the following: Based on each of one or more visualizations in a first group that includes one or more data fields used in the main visualization, determine one or more visualizations in the first group; Based on each of one or more visualizations in a second group that show the value trends of the one or more data fields used in the main visualization, determine one or more visualizations in the second group; or Based on each of one or more visualizations in a third group using one or more other data fields from other data models, determine one or more visualizations in the third group, wherein the one or more other data fields include data values ​​similar to those used in the main visualization; and The one or more insight projects are generated based on one or more visualizations from the first group, one or more visualizations from the second group, or one or more visualizations from the third group.

7. A network computer for managing data visualization, comprising: A memory that stores at least instructions; and One or more processors that implement instructions to perform actions, including: Provides key visualizations associated with the data model, which are displayed in a display panel; One or more insight items are generated based on the main visualization and the data model, wherein the one or more insight items correspond to one or more of the analytical information, another data model, or data source related to one or more visualizations that share one or more parts of the data model, and wherein the one or more insight items are displayed in the insight panel along with one or more narratives, the one or more narratives being generated to explain the context of the one or more displayed insight items. In response to selecting an insight item from the insight panel, further actions are performed, including: Visualizations are generated based on the insight items displayed in the display panel, rather than the main visualization; and Generate a temporary project that includes a thumbnail view of the main visualization, wherein the thumbnail view is displayed in the temporary panel; and In response to the selection of another insight item from the Insights panel or one or more of another temporary items from the Temporary panel, another visualization is generated based on the selection of the other insight item and one or more of the other temporary items, wherein the other visualization, instead of the currently displayed visualization, is currently displayed in the Display panel.

8. The network computer of claim 7, wherein generating the one or more insight items further comprises: Provide one or more evaluation models, which are configured to identify the one or more visualized items; Based on the one or more visualizations, one or more candidate insight items are generated using the one or more evaluation models, wherein the one or more candidate insight items are associated with insight scores; and The one or more insight items are determined based on a portion of the insight scores that exceed a threshold among the one or more candidate insight items.

9. The network computer of claim 7, wherein displaying the one or more insight items in the insight panel further comprises: One or more insight project groups are determined based on the type of evaluation model identified for the one or more insight projects, wherein each insight project is associated with an insight project group; and Each insight project group is displayed in the Insights panel, with each insight project shown together with its associated insight project group.

10. The network computer of claim 7, wherein the one or more processors implement instructions for performing actions, further comprising: A report panel is provided to replace the display panel. and In response to selecting one or more of the aforementioned insight items, one or more staging items, or one or more annotations, further actions are performed, including: One or more report items are generated based on one or more of the one or more insight items, one or more temporary items, or one or more annotations, wherein the one or more annotations include one or more of text, images, or links to other reports, and wherein the one or more report items are displayed in the report panel; and The size of the report panel is automatically adjusted to be based on the size of the one or more report items, wherein any portion of the report panel that exceeds the size of the display panel is hidden and not visible.

11. The network computer of claim 7, wherein the one or more processors implement instructions for performing actions, further comprising: In response to replacing the visualization in the display panel with a replacement visualization, one or more replacement insight items are generated based on the replacement visualization and the data model, wherein the one or more replacement insight items are displayed in the insight panel.

12. The network computer of claim 7, wherein generating the one or more insight items further comprises: Perform further actions, including one or more of the following: Based on each of one or more visualizations in a first group that includes one or more data fields used in the main visualization, determine one or more visualizations in the first group; Based on each of one or more visualizations in a second group that show the value trends of the one or more data fields used in the main visualization, determine one or more visualizations in the second group; or Based on each of one or more visualizations in a third group using one or more other data fields from other data models, determine one or more visualizations in the third group, wherein the one or more other data fields include data values ​​similar to those used in the main visualization; and The one or more insight projects are generated based on one or more visualizations from the first group, one or more visualizations from the second group, or one or more visualizations from the third group.

13. A system for managing data visualization over a network, comprising: A network computer, the network computer comprising: Memory, which stores at least instructions; and One or more processors that implement instructions to perform actions, including: Provides key visualizations associated with the data model, which are displayed in a display panel; One or more insight items are generated based on the main visualization and the data model, wherein the one or more insight items are associated with one or more analytical information, another data model, or one or more data sources corresponding to one or more visualizations that share one or more parts of the data model, and wherein the one or more insight items are displayed in an insight panel along with one or more narratives, wherein the one or more narratives are generated to explain the context of the one or more displayed insight items. In response to selecting an insight item from the insight panel, further actions are performed, including: Visualizations are generated based on the insight items displayed in the display panel, rather than the main visualization; and Generate a temporary project that includes a thumbnail view of the main visualization, wherein the thumbnail view is displayed in the temporary panel; and In response to selecting another insight item from the Insights panel or one or more of another temporary items from the Temporary Items panel, another visualization is generated based on the selection of the other insight item or one or more of the other temporary items, wherein the other visualization, instead of the currently displayed visualization, is currently displayed in the Display panel; and The client computer includes: Memory, which stores at least instructions; and One or more processors that implement instructions to perform actions, including: Select the insight item from the insight panel.

14. The system of claim 13, wherein generating the one or more insight items further comprises: Provide one or more evaluation models, which are configured to identify the one or more visualized items; Based on the one or more visualizations, one or more candidate insight items are generated using the one or more evaluation models, wherein the one or more candidate insight items are associated with insight scores; and The one or more insight items are determined based on a portion of the insight scores that exceed a threshold among the one or more candidate insight items.

15. The system of claim 13, wherein displaying the one or more insight items in the insight panel further comprises: One or more insight project groups are determined based on the type of evaluation model identified for the one or more insight projects, wherein each insight project is associated with an insight project group; and Each insight project group is displayed in the Insights panel, with each insight project shown together with its associated insight project group.

16. The system of claim 13, wherein one or more processors of the network computer implement instructions for performing actions, further comprising: A report panel is provided to replace the display panel. and In response to selecting one or more of the aforementioned insight items, one or more staging items, or one or more annotations, further actions are performed, including: One or more report items are generated based on one or more of the one or more insight items, one or more temporary items, or one or more annotations, wherein the one or more annotations include one or more of text, images, or links to other reports, and wherein the one or more report items are displayed in the report panel; and The size of the report panel is automatically adjusted to be based on the size of the one or more report items, wherein any portion of the report panel that exceeds the size of the display panel is hidden and not visible.

17. The system of claim 13, wherein one or more processors of the network computer implement instructions for performing actions, further comprising: In response to replacing the visualization in the display panel with a replacement visualization, one or more replacement insight items are generated based on the replacement visualization and the data model, wherein the one or more replacement insight items are displayed in the insight panel.

18. The system of claim 13, wherein generating the one or more insight items further comprises: Perform further actions, including one or more of the following: Based on each of one or more visualizations in a first group that includes one or more data fields used in the main visualization, determine one or more visualizations in the first group; Based on each of one or more visualizations in a second group that show the value trends of the one or more data fields used in the main visualization, determine one or more visualizations in the second group; or Based on each of one or more visualizations in a third group using one or more other data fields from other data models, determine one or more visualizations in the third group, wherein the one or more other data fields include data values ​​similar to those used in the main visualization; and The one or more insight projects are generated based on one or more visualizations from the first group, one or more visualizations from the second group, or one or more visualizations from the third group.

19. A processor-readable non-transitory storage medium comprising instructions for managing data visualization, wherein one or more processors perform actions on the implementation of the instructions, including: Provides key visualizations associated with the data model, which are displayed in a display panel; One or more insight items are generated based on the main visualization and the data model, wherein the one or more insight items correspond to one or more of the analytical information, another data model, or data source related to one or more visualizations that share one or more parts of the data model, and wherein the one or more insight items are displayed in the insight panel along with one or more narratives, the one or more narratives being generated to explain the context of the one or more displayed insight items. In response to selecting an insight item from the insight panel, further actions are performed, including: Visualizations are generated based on the insight items displayed in the display panel, rather than the main visualization; and Generate a temporary project that includes a thumbnail view of the main visualization, wherein the thumbnail view is displayed in the temporary panel; and In response to the selection of another insight item from the Insights panel or one or more of another temporary items from the Temporary panel, another visualization is generated based on the selection of the other insight item or one or more of the other temporary items, wherein the other visualization, instead of the currently displayed visualization, is currently displayed in the Display panel.

20. The medium of claim 19, wherein generating the one or more insight items further comprises: Provide one or more evaluation models, which are configured to identify the one or more visualized items; Based on the one or more visualizations, one or more candidate insight items are generated using the one or more evaluation models, wherein the one or more candidate insight items are associated with insight scores; and The one or more insight items are determined based on a portion of the insight scores that exceed a threshold among the one or more candidate insight items.

21. The medium of claim 19, wherein displaying the one or more insight items in the insight panel further comprises: One or more insight project groups are determined based on the type of evaluation model identified for the one or more insight projects, wherein each insight project is associated with an insight project group; and Each insight project group is displayed in the Insights panel, with each insight project shown together with its associated insight project group.

22. The medium according to claim 19, further comprising: A report panel is provided to replace the display panel. and In response to selecting one or more of the aforementioned insight items, one or more staging items, or one or more annotations, further actions are performed, including: One or more report items are generated based on one or more of the one or more insight items, one or more temporary items, or one or more annotations, wherein the one or more annotations include one or more of text, images, or links to other reports, and wherein the one or more report items are displayed in the report panel; and The size of the report panel is automatically adjusted to be based on the size of the one or more report items, wherein any portion of the report panel that exceeds the size of the display panel is hidden and not visible.

23. The medium according to claim 19, further comprising: In response to replacing the visualization in the display panel with a replacement visualization, one or more replacement insight items are generated based on the replacement visualization and the data model, wherein the one or more replacement insight items are displayed in the insight panel.

24. The medium of claim 19, wherein generating the one or more insight items further comprises: Perform further actions, including one or more of the following: Based on each of one or more visualizations in a first group that includes one or more data fields used in the main visualization, determine one or more visualizations in the first group; Based on each of one or more visualizations in a second group that show the value trends of the one or more data fields used in the main visualization, determine one or more visualizations in the second group; or Based on each of one or more visualizations in a third group using one or more other data fields from other data models, determine one or more visualizations in the third group, wherein the one or more other data fields include data values ​​similar to those used in the main visualization; and The one or more insight projects are generated based on one or more visualizations from the first group, one or more visualizations from the second group, or one or more visualizations from the third group.