DYNAMIC AND AUTOMATIC CERTIFICATION IN DATA ANALYSIS
A dynamic and automatic data analysis method addresses data reliability issues by calculating and displaying certification levels for visual reports, enhancing decision-making confidence and accuracy through continuous validation.
Patent Information
- Application Number
- FR2025004675
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-17
- Filing Date
- 2025-05-02
- Publication Date
- 2025-11-21
AI Technical Summary
Current data analysis systems face issues with data reliability and consistency, leading to eroded decision-maker confidence due to problems like data duplication and inconsistent measurements.
A dynamic and automatic method for data analysis that calculates a certification level for visual reports by applying a plurality of tests, including data quality, metadata, functional, security, accessibility, and performance tests, and displays a graphical representation of this level to ensure data reliability.
The method enhances data analysis reliability by providing an objective indicator of data trustworthiness, allowing informed decision-making and ensuring accurate data presentation through continuous validation and adaptive certification levels.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: DYNAMIC AND AUTOMATIC CERTIFICATION IN DATA ANALYSIS technical field
[0001] The disclosure relates to the field of computer programs and systems, and more particularly to a method, a storage medium and a system for data analysis. CONTEXT
[0002] A number of systems and programs are available on the market for performing data analysis in various fields, such as business intelligence (BI) and / or analytics solutions, serving different use cases such as the financial services industry (FSI), the pharmaceutical industry, and retail, among others. These tools include, for example, Microsoft Power BI or Tableau Software (registered trademarks).
[0003] With such data analysis tools, users are faced with large amounts of data and do not know whether this data is reliable and whether they can rely on it to make decisions. Furthermore, current data analysis systems present problems such as data duplication or inconsistent measurements, which lead to an erosion of decision-makers' confidence in the data presented to them.
[0004] In this context, it is necessary to have an improved solution for data analysis. SUMMARY
[0005] Therefore, a computer-based data analysis method is proposed. The method comprises, in a dynamic and automatic manner, obtaining one or more datasets and a visual report generated from the dataset(s). The method further comprises applying a plurality of tests, each to a subject element from among the dataset(s) and / or the visual report. The method further comprises calculating a certification level for the visual report based on a number of tests yielding a positive result.
[0006] In examples, the plurality of tests includes one or more of a data quality test, a metadata test, a functional or user interaction test, a security test, an accessibility or design test, a regression test and a performance test.
[0007] In examples, the plurality of tests comprises one or more tests, each applied to a respective subject element from among the data set(s) and / or the visual report, and each to one or more results of applying a filter to the respective subject element.
[0008] In examples, the process further comprises:
[0009] during a user interaction with a computer system:
[0010] - access, by a user, to the visual report;
[0011] - the display, by the computer system, of a graphical representation of the level certification of the visual report; and
[0012] - the display, by the computer system, of the visual report.
[0013] In examples, the graphical representation of the visual report's certification level is displayed simultaneously with and / or before the visual report is displayed.
[0014] In examples, the graphical representation of the visual report's certification level is one of:
[0015] -a badge,
[0016] - an icon,
[0017] - a stamp,
[0018] - a sticker,
[0019] -a watermark,
[0020] -a text box message;
[0021] - a notification from a custom extension such as an API,
[0022] - a notification from a native reporting feature certification,
[0023] - a notification from a process such as an email, a instant messaging application or a support ticket system, and
[0024] - a notification from a browser extension.
[0025] In examples, the method further includes securing access to the visual report for authorized users and validating data integrity for authorized users, securing access including restricting access to data based on actors, security roles and / or parameters.
[0026] In examples, the method further includes storing a record and / or a result of each application of a respective test.
[0027] In examples, the process further comprises:
[0028] - applying a performance test to at least one of the display, the loading and / or interaction with the visual report;
[0029] - the calculation of a performance score based on a test result performance; and
[0030] - updating the certification level of the visual report based on the result of the performance test.
[0031] In examples, the process further includes obtaining a certification date associated with the certification level calculated for the visual report.
[0032] The invention further relates to a non-transient storage medium on which is recorded a computer program comprising instructions which, when executed on a computer, cause the computer to perform a data analysis process as described above.
[0033] The invention further relates to a system comprising a processor coupled to a non-volatile memory, the non-volatile memory having, stored on it, a computer program comprising instructions which, when executed on a computer, cause the computer to carry out a data analysis process as described above. Brief description of the drawings
[0034] Non-limiting examples are now described with reference to the accompanying drawings, where: - [Fig.l] represents a flowchart of the process; - [Fig. 2] represents an example of the system; and - [Fig. 3] to [Fig. 12] illustrate examples of the process in the form of Screenshots taken with a software prototype implemented in English. DETAILED DESCRIPTION
[0035] Figure 1 illustrates a computer-implemented method for data analysis. The method comprises, dynamically and automatically, obtaining S10 one or more datasets and a visual report generated from the dataset(s). The method further comprises, also dynamically and automatically, applying S20 a plurality of tests, each to a subject element from the dataset(s) and / or the visual report. The method further comprises, also dynamically and automatically, calculating S30 a certification level for the visual report based on a number of tests yielding a positive result.
[0036] Such a method constitutes an improved solution for data analysis. Indeed, by calculating a certification level for a visual report at S30, the method produces information that indicates whether and / or to what extent the visual report is certified, and / or reliable, and / or approved, and / or valid, and / or trustworthy. Thanks to a variety of tests applied at S20, the certification level can be calculated accurately and can handle many different situations. Due to the dynamic and automatic execution of the method, user intervention is minimal, and the certification level can adapt to changes over time. time and / or the underlying data, which are potentially modified. The process thus allows users to base their decision-making on a visual report (i.e. a graphical representation of information related to the data set(s), for example, and including one or more dashboards, one or more pieces of information, one or more pieces of information produced by AI, and / or one or more visual measures) in a more reliable way, and / or to take corrective actions if necessary.
[0037] The method may, in examples, further include obtaining a certification date, for example, associated with the certification level calculated for the visual report. The certification level may be associated with a certification date. The certification date may be a timestamp associated with the calculation of the certification level, for example, a time at which the calculation is completed. The method may include detecting such completion. The certification date may be in any format, for example, a year, a dated month, a dated day (or a date), or a combination of a date and a time (at any granularity, for example, hour, minute, or second).
[0038] Visual reports can be treated as a consumption tool and thus enable decision-making. The process ensures that users can rely on the certification level as a current mark of trust. By analogy, when making a reservation at a restaurant, a user looks for the most recent reviews because they are more reliable than a review from five years ago; for example, the restaurant owner may have changed. This analogy is closely related to a data consumer relying on the visual report to make a decision or take action. The process thus provides, along with the certification level, a quality sticker / trust score / brand that is up-to-date because the certification level is associated with a certification date.
[0039] The method is intended for data analysis. In other words, the method automates analytical operations based on data contained in the dataset(s) and on the visual report generated from the dataset(s). Specifically, the method enables the use of data for decision-making (e.g., based on one or more dashboards, one or more pieces of information, one or more AI-powered insights, or one or more visual metrics contained in the visual report), trend identification, and problem-solving.
[0040] This disclosure relates to the calculation of a certification level for a visual report. However, it should be understood that the method can be deployed on a plurality of visual reports, generated on the basis of the dataset(s) or obtained as such, for example via a network or from a third party. In other words, the method can apply respective pluralities of tests to several subject elements from one or more datasets and / or visual reports. The subject elements can include a subset of the dataset(s) and / or visual report, for example, a visual report and one or more of the datasets from which the visual report is generated, or one or more datasets independently of the visual report, or alternatively, all of the one or more datasets and / or visual report.
[0041] The method can thus be deployed on an infrastructure managing a plurality of datasets and a plurality of visual reports, each report being based on one or more of the respective datasets. The infrastructure may include one or more servers, each having memory space to store one or more datasets and / or one or more visual reports or pre-calculated data to display one or more visual reports. Each server may further include one or more processors to execute tests.
[0042] The infrastructure can thus store, in memory spaces, tests to be applied to different elements among the data sets and / or visual reports, according to any relevant combination. The infrastructure can be accessed by client computer systems on an Internet and / or intranet network, each client computer system comprising one or more processors configured to access the infrastructure and / or one or more servers of the infrastructure, and to send data specifying one or more tests over the network, for example after a graphical user interaction on a screen of the client computer system to specify the test(s).
[0043] The infrastructure can further be accessed by the same client computer system and / or by other client computer systems on the Internet and / or intranet, said same client computer system and / or said other client computer systems comprising one or more processors configured to access the infrastructure and / or one or more servers of the infrastructure, send a request to display a visual report, and display the visual report on a screen of the client computer system.
[0044] As will become apparent, each visual report may further include, during user interaction with such a client computer system, access by a user to the visual report, display by the computer system of a graphical representation of the certification level of the visual report, and display by the computer system of the visual report. Optionally, the method may further include the display of a graphical representation of the certification date, for example simultaneously and / or alongside a graphical representation (For example, a textual representation) of the visual report's certification level. By displaying a graphical representation of the visual report's certification level and, optionally, a graphical representation of the certification date, the user can make informed decisions and, for example, interact with datasets and / or the visual report based on the displayed certification level. For instance, the user can initiate an industrial or commercial process based on the visual report when the report is certified or has a high certification level. In another example, the process could allow the user to withhold the visual report from third parties when the report is not certified, has been decertified, or has a low / weak or negative certification level.For example, the user or another user (e.g., contacted) may interact with one or more servers, via the client computer system or another computer system, to rework and / or complete and / or edit data in the dataset(s) and / or in the visual report, so as to obtain certification and / or improve the certification level after reapplying the tests as long as the tests indicate a positive certification level.
[0045] By "dynamically," it is understood that the steps of the process are repeated at different times, for example, at regular time intervals (alternatively, at irregular time intervals), or that at least some steps of the process are executed (for example, at least once) upon detection of an event, for example, when the weather changes and / or circumstances change, for example, depending on changes in data or changes in the visual report. For example, the steps of the process may be executed repeatedly upon detection that the visual report has changed or when a predetermined time has elapsed.
[0046] By "automatically," it is understood that the steps of the process are executed without user intervention. In particular, once the tests are defined / configured / specified (for example, possibly by a user), the execution of the tests is fully automatic. The execution of the automatically performed process steps can be scheduled according to a calendar or a predetermined list of tests, for example, in order of priority.
[0047] The dataset(s) may be obtained at S10, for example, via a network, directly or indirectly from sources such as data warehouses, data stores, and / or data lakes. Alternatively, the dataset(s) may be obtained from third parties, for example, via BI frameworks such as Tableau, Power BI, SAP BusinessObjects, Qlik, Looker, ThoughtSpot, Cognos, or similar. Alternatively, the dataset(s) may be obtained from other data sources. technologies such as Oracle, Snowflake, or SQL Server are used. Data sources can be in any format, for example, an Excel file, a Google Sheet, or a similar format. It should be understood that the dataset(s) can be obtained from an unlimited number of data sources, and the examples above are given for illustrative purposes only.
[0048] The method can generate a visual report based on a single dataset or on multiple datasets. The method can use the dataset(s) for different visual reports. In other words, the dataset(s) can be shared between different visual reports.
[0049] Each visual report is generated on the basis of the dataset(s).
[0050] The term "visual report" refers to any type of data arrangement that enables a visual representation (for example, including a graphical representation of text, rendered 2D and / or 3D elements, or the like) of data contained in, or derived / deriveable from, the dataset(s). Obtaining the visual report may involve applying any type of calculation (for example, filtering data based on one or more criteria such as a time period) or converting data within the dataset(s). The visual report may thus include data in a desired type of representation (for example, displaying key performance indicators, graphs, gauges) and navigation elements (filters, buttons, and / or the like) configured to allow user interaction with the data represented by the visual report, for example, a country or region filter, a date filter, or the like.The visual report can include any combination of information, AI-generated information, visual metrics, and dashboards.
[0051] The method applies to S20 a plurality of tests, each to a subject element from among the dataset(s) and / or the visual report. The tests can be based on a plurality of business rules and / or technical rules. The technical rules can be based on user experience rules, performance rules, the accuracy of the data represented by the subject element, or similar. The S20 application can be (for example, at least partially) user-defined, for example, defined according to the user's needs (for example, when the visual report starts providing results or at a specific time), such as a performance objective. The S20 application can also evolve dynamically over time. For example, users can modify / update the tests as needed.
[0052] The method calculates S30, a certification level for the visual report. The certification level of the visual report is based on a number of tests providing a positive result.
[0053] The calculation can be performed in any manner. For example, the S30 calculation may include determining the number of tests yielding a positive result. Alternatively and / or in addition, the S30 calculation may include determining the number of tests yielding a negative result. The S30 calculation may include comparing the number of tests yielding a positive result and / or the number of tests yielding a negative result to a respective threshold. The respective threshold may or may not depend on the total number of tests and / or the nature of the tests and / or the visual report (or other element) being certified or decertified.
[0054] The certification level consists of metadata (for example, including information about the visual report such as the file name, authorization information, visual information about the certification of the visual report, or other types of information such as text) measuring the degree to which the number of tests yields a positive result. In other words, the method calculates metadata representing the satisfaction of the plurality of tests applied. The metadata can be stored in persistent (i.e., non-volatile) memory so that it can be retrieved at any time, for example, immediately after its creation. The calculation of the certification level for the visual report may include obtaining a certification date. The method may add the certification date (i.e., the date on which the certification level is calculated) to the metadata.The metadata can be dynamically modified during subsequent executions of the process, for example, after a predetermined time following event detection. In other words, the certification level is dynamically modified by the process as the circumstances of the data represented by the visual report change. The metadata can update the certification date each time the certification level is calculated.
[0055] The certification level can take values from any predetermined set. For example, the certification level can take values from a discrete or finite set of certification levels, such as labels or a discrete range of numeric values. Alternatively, the predetermined set can be a continuous (non-discrete or infinite) set of values, such as a range of numeric values. If the certification levels are within a range of numeric values, such as integers or real numbers, the range can consist of positive numbers, 0 (zero) and a positive number, or positive and negative numbers (and possibly 0, zero), or any other combination.
[0056] The certification level can be "certified" (i.e., a large number of tests yield a positive result, thus showing that the visual report is certified, and / or reliable, and / or approved, and / or valid, and / or trustworthy) or "decertified" (i.e. This means that a predetermined number of tests may yield a relatively small number of positive results. The certification level may fall between intermediate levels. These intermediate levels can be ordered; for example, a "gold" certification level (the commonly used English term meaning "gold") may represent the highest level of certification, a "silver" certification level (the commonly used English term meaning "silver") may represent an intermediate level, and a "bronze" certification level may represent the lowest level at which the visual report is considered certified. The intermediate certification level may also be associated with the certification date.For example, a test performed on January 1st on a Visual Report A (currently undergoing certification) can be associated with metadata created and attached to Report A indicating: test OK, certification active (may be at bronze or silver certification level...), with a certification date of January 1st. The metadata can have a certification expiration date of seven days. In other words, the visual report is certified until January 8th. If no new certification is performed by January 9th, the process can display the message "Bronze certification expired." The certification level can depend on the number and nature of tests that yield a positive result. The process can thus follow an "all or nothing" strategy or, conversely, a more nuanced one.
[0057] The method can apply the number of tests in any way. For example, the method can apply a predetermined number of tests systematically and mandatorily (i.e., at least once during the execution of the method). Alternatively, the method can also apply a predetermined number of tests according to a hierarchy of test application. For example, a first test yielding a positive result can trigger the application of a second test. If the first test yields a negative result, the result can trigger the application of a third test. Optionally, the method can apply a number of tests depending on predetermined circumstances, for example, in the event of a failure of a mandatory test or during selection by a user.
[0058] The certification level can be calculated at any time, and / or in the event of a change in events or conditions. For example, the method can measure the loading time of the visual report (e.g., when loading a large amount of data) and / or evaluate the behavior of the visual report under different conditions (e.g., when viewed simultaneously by a large number of users). The method can apply a respective number of tests depending on the measured time and / or the result of the evaluation. The tests can also be refined into specific actions on the visual report, for example, when clicking on buttons and / or modifying the filters displayed with the visual report.
[0059] In examples, the certification level can be based on the calculation of an application performance index (APDEX). The APDEX can measure user satisfaction when interacting with the visual report (for example, when it is displayed on a web application). The APDEX can range from 0 to 1, where 1 indicates that the user is satisfied, while 0 indicates that the user is dissatisfied. The APDEX can be compared to a predetermined threshold to determine the user's level of satisfaction. The method can determine that the visual report is certified if the APDEX is above the predetermined threshold. The method determines that the visual report is decertified otherwise. The method can determine the certification level according to predetermined ranges of values between 0 and 1.In addition, or alternatively, the process can determine that the level of satisfaction is "tolerable" (i.e., an intermediate level of certification) when the APDEX has a value within intermediate ranges.
[0060] The method may further include, during user interaction with a computer system, access by a user to the visual report. In examples, the computer system may be a personal computer, a portable device such as a tablet or smartphone, or a virtual reality device. User interaction to access the visual report may include, for example, mouse clicks, keyboard actions, or touchscreen interactions such as finger pressure interactions, for example, when pressing on a graphical representation of the visual report, for example, by displaying a visual report icon.
[0061] The method thus improves data analysis. The method automatically and dynamically validates the data displayed in the visual report for the user, ensuring that accurate and reliable data is presented. Indeed, thanks to the method for calculating the certification level, the user experience with the visual report is enhanced, as the user has access to accurate data. Since the certification level is based on the number of tests yielding a positive result, the certification level is a precise and objective indicator of the reliability of the data displayed in the visual report (and similarly, the resulting dataset(s)).
[0062] Accuracy and reliability are achieved through a plurality of tests that allow for a comprehensive evaluation of the accuracy of the subject element within the dataset(s) and / or the visual report. Indeed, the plurality of tests can cover pre-established scenarios that can anticipate known problems with data accuracy. Furthermore, the plurality of tests can also include exploratory tests. Exploratory tests add a dimension to the testing procedure, because exploratory tests discover problems that have not yet been anticipated, for example during navigation or interaction with the visual report.
[0063] Furthermore, thanks to the dynamically and automatically executed steps of the process, the method maintains the operational performance of the visual report during its use, for example, during data analysis or business intelligence processes. Indeed, automation makes it possible to apply the plurality of tests regularly (for example, when the tests are applied (i.e., performed or executed) at predetermined time intervals) and / or as the visual report evolves (for example, when the application of the tests is triggered by a particular event).
[0064] The method can be part of an analytical process. For example, the method can be integrated into visual reports generated by solutions such as Tableau. Tableau can automatically generate a visual report or trend (also called a "pump") based on a particular dataset. The method can prevent the generation of the visual report (i.e., block the "pump") at the certification level, for example, when the dataset is decertified. In another example, RPA can open a visual report, interact with the visual report, and, based on a given key performance indicator, create a relevant order or business process. The method can pause RPA if the visual report is decertified.
[0065] The method may also further include the computer system displaying a graphical representation of the visual report's certification level. This allows a user who wishes to interact with the visual report to understand the certification level.
[0066] The method may also further include displaying the visual report by the computer system. The method may display the visual report and the graphical representation of the certification level of the visual report simultaneously (for example, side by side in a display of the computer system). In examples, the method may include displaying the visual report and the certification level when the user interacts with the visual report, for example, in the form of a pop-up message or a text box, as described below.
[0067] Optionally, the method may further include displaying a graphical representation of the dataset(s) obtained at S10. For example, the method may display icons corresponding to the dataset(s). The method may also display associated metadata and / or a respective certification level for the dataset(s).
[0068] The graphical representation of the visual report's certification level can be displayed simultaneously (for example, at a predetermined screen position) during and / or before the visual report is displayed, for example, when the user performs an action while accessing the visual report. In some examples, the graphical representation can be displayed (for example, simultaneously) on another system, for example, on a tablet or a portable device such as a smartphone, or as a notification on a virtual reality device. The user thus has a graphical indicator showing whether the visual report is reliable, and / or approved, and / or valid, and / or trustworthy.
[0069] The graphical representation of the visual report's certification level may be a badge, an icon, a stamp, a sticker, a watermark, a text box message, or a trust mark. For example, the badge message (or similarly, an icon, a stamp, a sticker, a watermark, or a text box) may be displayed (for example, simultaneously with the visual report) in a predetermined position on the visual report (for example, displayed in an upper or lower corner). The graphical representation (one of the badge, icon, stamp, sticker, watermark, or text box message mentioned above) may display text indicating the certification level. The text may, for example, be "certified" when the number of tests yielding a positive result leads to the visual report being certified, and "decertified" when the number of tests yielding a positive result leads to the visual report being decertified.It should be understood that the use of the words "certified" or "uncertified" can be presented to the user in any preferred language, such as English, French, Spanish, German, or any other language. It is also understood that the text indicating that the visual report is certified may vary depending on the most relevant business term. For example, if the visual report is certified, the text may include the words "validated," "reliable," "approved," "reconciled," or any other similar wording depending on the business context. Similarly, if the visual report is uncertified, the text may include the terms "not validated," "not approved," "not reconciled," or any other similar wording depending on the business context.The graphic representation (that of the badge, icon, stamp, sticker, watermark, or text box message as mentioned above) can also display a certification date indicating the date the certification level calculation was applied. The process can, for example, display the message "expired" when it is determined that the certification date is too far removed from the date the visual report is viewed.
[0070] The graphical representation of the visual report's certification level can also be a notification from a custom extension such as an API (for example, an extension such as that found in SAP BusinessObjects, Tableau or Power BI). The graphical representation of the visual report's certification level can also be a notification from a native certification reporting feature, for example, Tableau data sources (in the case of certification or decertification of at least one dataset) or Power BI (for a subject item within the dataset or visual report). The graphical representation of the visual report's certification level can also be a notification from a process such as an email, like Outlook or similar; for example, the email might include text indicating the visual report's certification level, such as "certified" or "decertified." Other equivalent expressions can be used depending on the dataset and / or visual report, such as "validated" or "reconciled" to indicate that the visual report is certified.The graphical representation can also originate from an instant messaging application, for example, a message appearing on a smartphone or tablet, such as a message containing text indicating that the visual report is certified or decertified, or from a support ticket system. The graphical representation of the visual report's certification level can also be a notification from a browser extension.
[0071] The plurality of tests may include one or more tests from among a data quality test, a metadata test, a functional or user interaction test, a security test, an accessibility or design test, a regression test, and a performance test. Each test in the plurality may be applied at different times or during different actions. For example, the functional or user interaction test may be applied when a user action is performed on the visual report. Alternatively, two or more tests from the plurality may be applied simultaneously (i.e., at the same time). For example, the performance test may be applied at the same time as the accessibility or design test. Alternatively, two or more tests from the plurality may be applied sequentially.For example, the functional or user interaction test can be applied when a user action is performed on the visual report (e.g., when accessing the visual report), and the process can apply the performance test after the functional or user interaction test has been applied.
[0072] Thus, the method improves the reliability of the visual report. This is due to the level of certification indicating a degree of confidence and credibility that can be placed in the data represented in the visual report and / or in the dataset(s). This is made possible by the method applying a plurality of tests to the subject element among the dataset(s) and / or the visual report. The plurality of tests make it possible to detect problems in the subject element that might go unnoticed during a manual check.
[0073] Thus, decision-makers can have an objective indicator of data reliability and are therefore able to make informed decisions based on the visual report. For example, decision-makers can benefit from the information in the visual report if the certification level represents positive or high reliability of the data presented in the visual report. This may be conditional upon the visual report being "certified" in this way, for example, based on a number of tests yielding a positive result greater than or equal to a threshold, such as a relatively high number of tests yielding a positive result. Conversely, if the certification level represents negative or low reliability of the data presented in the visual report, the user may be asked to take corrective action (for example, obtain updated data) to improve the reliability of the visual report.The visual report can, for example, be "decertified" or "not certified," for instance, based on a number of tests below a threshold, such as a relatively small number of tests yielding a positive result. The visual report can also be made inaccessible to the user when it is decertified.
[0074] The automatic execution of multiple tests thus avoids errors due to human bias, while strengthening the credibility of the visual report in a reliable and efficient environment. Indeed, if the certification level leads to a decertified result, for example due to a small number of tests yielding a positive result, the method can also present a graphical representation of the certification level to the user (for example, in the form of a sticker, a watermark, or another type of visual information).
[0075] In addition, or alternatively, if the certification level leads to a decertified result, the method can rename the visual report (for example, the visual report being renamed as decertified or obsolete, and / or the name of the visual report being displayed to the user, thus forming a graphical representation of the certification level itself). The method can also modify the security settings of the visual report so as to restrict user access to the visual report once the report is considered uncertified, thereby rendering the visual report inaccessible or / or moving the report to an inaccessible location in the system. The method can perform the preceding steps while the visual report is considered decertified.The process can continue to apply the plurality of tests and restore the visual report as certified (the visual report thus being considered "recertified") when it is determined that the plurality of tests yields. a positive result is sufficiently high, for example, when corrective action has been taken on the dataset or visual report.
[0076] Furthermore, the method can optionally ensure that the visual report remains certified during each evolution or modification, for example, during ongoing collaboration between different parties, such as developers, business analysts, or other end users. This is because the method executes the steps dynamically and automatically, and thus continuously adapts the calculated certification level of the visual report. In turn, users can be authorized to take any necessary corrective actions to maintain the performance and accuracy of the visual report under evolving and changing conditions that may interfere with its performance or the reliability of the data presented. The method thus allows end users to automate the decision-making process in analytical operations.
[0077] The process is computer-implemented. This means that the steps (or virtually all of the steps) of the process are executed by at least one computer, or by some similar system. Consequently, the steps of the process are executed by the computer, possibly in a fully automatic or semi-automatic manner. In some examples, the triggering of at least some of the steps of the process can be achieved through user-computer interaction. The level of user-computer interaction required may depend on the level of automation intended and adapted to the need to implement the user's requirements. In some examples, this level may be defined and / or predefined by the user.
[0078] A typical example of a computer implementation of a process is the operation of the process with a system adapted for this purpose. The system may be, for example, a personal computer, a portable device such as a tablet or mobile phone, or a virtual reality (VR) system. The system may include a screen, for example, a touchscreen. The system may include a processor coupled with memory and a graphical user interface (GUI). The GUI may allow any type of user interaction, for example, keyboard input, mouse click input (such as drag and drop), touch functions (such as pinch and zoom, or any other type of touch input), or virtual reality input (for example, activated via any type of haptic input). A computer program comprising instructions for operating the process is stored in memory. The memory may also store a database.Memory is any hardware suitable for such storage, possibly comprising several distinct physical parts (for example, one for the program, and possibly one for the database). The system may include a network card configured to manage access. to a network. For example, the system can obtain the dataset(s) via the network.
[0079] Figure 2 represents an example of the system, the system being a client computer system, for example a user's workstation.
[0080] The client computer in the example comprises a central processing unit (CPU) 2010 connected to an internal communication bus 2000, and random access memory (RAM) 2070 also connected to the bus. The client computer further includes a graphics processing unit (GPU) 2110 associated with video RAM 2100 connected to the bus. Video RAM 2100 is also known in the art as a frame buffer. A mass storage device controller 2020 manages access to a mass storage device, such as a hard disk drive 2030.Mass storage devices suitable for tangibly implementing computer program instructions and data include all forms of non-volatile memory, including, for example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard drives and removable disks; and magneto-optical disks. Any of the above can be supplemented by, or incorporated into, specially designed ASICs (application-specific integrated circuits). A 2050 network card manages access to a 2060 network.The client computer may further include a haptic device, such as a cursor control device, a keyboard, or similar. A cursor control device is used in the client computer to allow the user to selectively position a cursor at any desired location on the display. In addition, the cursor control device allows the user to select various commands and input control signals. The cursor control device includes a plurality of signal-generating devices for inputting control signals into the computer system. Typically, a cursor control device may be a mouse, with the mouse button used to generate the signals. Alternatively, or in addition, the client computer system may include a touchpad and / or a touchscreen.
[0081] Reference is made to figures 3 to 12, illustrating examples of the graphical representation of the visual report certification level.
[0082] Figure 3 shows an example of the Visual Report 3000. The Visual Report 3000 presents the data 3010 generated from one or more datasets. The Visual Report 3000 is associated with a badge 3020 corresponding to the certification level of the Visual Report. The badge 3020 displays a trademark, thus indicating that the Visual Report is certified (based on a certification level calculated for the Visual Report according to a number of tests yielding a positive result). Alternatively, badge 3020 may display a cross sign indicating that the visual report is decertified (not shown).
[0083] Figure 4 shows another example of the 3000 visual report. The 3000 visual report is associated with a 4020 watermark. The watermark displays the characters "CERTIFIED," indicating that the visual report is certified. Alternatively, the 4020 watermark can display the characters "DECERTIFIED," indicating that the visual report is decertified (not shown). The watermark can be in any language. The language of the watermark can be predefined.
[0084] Figure 5 represents another variant of the watermark. In this case, the 5020 watermark can repeat the characters in a transparent font, placed in front of the content displayed by the visual report.
[0085] Figure 5 represents another variant of the watermark. In this case, the 5021 watermark can repeat the characters in a transparent font, placed behind the content displayed by the visual report, so as to allow the content to be viewed completely.
[0086] Figure 6 shows another example of the 3000 Visual Report. The 3000 Visual Report is associated with a 6020 watermark. The watermark displays the characters "Certified by SG 2 / 2 / 24," indicating that the visual report is certified with the identity of the user on whose behalf the automated and dynamic test was run. The user may be a user of a BL / analytics solution that validates line-level security. This allows the last certification date to be tracked.
[0087] Figure 7 shows another example of the Visual Report 3000. The Visual Report 3000 is associated with a Text Box Message 7020. The Text Box Message displays the characters "Status: Certified," along with an indication of the last test application date and a certification message. Alternatively, the Text Box Message 7020 can display the characters "Status: Decertified," thus indicating that the Visual Report is decertified (not displayed).
[0088] Figure 8 shows another example of the 8000 visual report. The 8000 visual report displays the 8010 sales data. The 8000 visual report is associated with an 8020 extension. The 8020 extension displays the characters "Tested and Certified," accompanied by text indicating the identity of a person performing the test (i.e., the user who validated the dynamically and automatically applied test), text indicating the last date a test was applied, text indicating the number of tests applied, and text indicating the number of tests that yielded a positive result. In this case, one hundred percent of the tests applied using the method described above yielded a positive result, indicating that the visual report is certified. Alternatively, extension 8020 can display the characters "Decertified", thus indicating that the visual report is decertified.
[0089] Figure 9 shows an example of certification displayed natively in a 9000 dashboard of the Power BI business intelligence software package. The 9000 dashboard displays a 9010 dataset and an approval (i.e., certification) message. The approval message displays the "certified" icon, indicating that the visual report is certified. Alternatively, the approval message may display the characters "Decertified," indicating that the visual report is decertified.
[0090] Figure 10 shows an example of a certification displayed natively in a Tableau software package's Data Source 1000. The Dashboard 1000 displays a Data Source 1010 and a Certification Text Box 1020. The Certification Text Box 1020 displays the message "Certified." The Certification Text Box 1020 thus indicates that the data source is certified (equivalently, reliably, and / or approved, and / or valid, and / or trustworthy) as a result of the steps performed by the process. Alternatively, the Certification Text Box 1020 can display the characters "Decertified," thus indicating that the data source is decertified.
[0091] Figure 11 shows an example of certification displayed as an instant message 1100 in the Slack software. The instant message 1100 displays information about the tested visual reports 1110, accompanied, for example, by the report's certification 1120 and a path to find the visual reports, such as an HTML report path 1130. The instant message 1100 also displays text 1120 indicating that the tests were successful 1120. Text 1120 thus indicates that the visual report is certified. Alternatively, text 1120 may indicate that the result is decertified (not displayed).
[0092] Figure 12 shows an example of certification displayed as an instant message 1200 in Teams. Instant message 1200 displays text 1210 indicating the visual report and text 1220 indicating that the visual report is certified. Text 1220 displays the message "certified." Text 1220 thus indicates that the visual report is certified. Alternatively, text 1220 can indicate that the result is decertified (not displayed).
[0093] Data quality testing can verify the integrity of the data visualized in the visual report and / or the dataset. In other words, data quality testing verifies that the data complies with a business rule (for example, a margin between 5% and 7%) or predetermined values. The predetermined values can be stored on a source system such as a CRM or a ERP. The process can further compare the data visualized in the visual report to the data stored in the dataset(s) (from which the visual report is generated) to determine that the visualized data is correct. The process can decertify the visual report if the data quality test returns a negative result, for example, if the data does not meet the business rule or predetermined values, or if the compared data does not match the data stored in the dataset(s) from which the visual report is generated.
[0094] Metadata testing can evaluate the components of the visual report. The method can validate the integrity of datasets and visual reports by implementing a metadata-based testing approach. The metadata examined may include, but is not limited to, elements such as data types, filters, parameters, variables, formulas, calculations, worksheets, charts, blocks, thumbnails, tabs, and buttons. The method thus identifies and corrects any discrepancies or inconsistencies not only in the visual representation of the report but also in its analytical data source. This ensures that the metadata accurately reflects the underlying analytical data, thereby preserving the fidelity and reliability of the visual report's data representation.
[0095] For example, metadata may include information about the components of the visual report, such as datasets, filters, variables, formulas, sheets, charts, blocks, tiles, tabs, buttons, or other information about the components of the visual report, such as the number of worksheets / tabs (and their respective names), formula names, and formulas. In other words, metadata is a technical wrapper for the visual report. Metadata testing thus makes it possible to identify inconsistencies in the visual report's metadata.
[0096] The functional test or user interaction test can evaluate the opening of the visual report, filters, settings, zooming, buttons, or any other user-based (human) interactivity within the visual report. The functional test or user interaction test can also evaluate user interactions with the visual report, for example, upon detection of a zoom (e.g., performed via a pinch-to-zoom gesture when the visual report is viewed on a tablet), or upon detection of the selection of an element displayed on the visual report (such as a graph). For example, the visual report may include data on countries. The visual report may include a "country" filter. The filter may be user-defined. For example, the "country" filter may be set to filter data relating to European countries from other countries.
[0097] The security test can assess whether the visual report is accessible only to authorized users. The security test can also verify the integrity of the data presented to authorized users. For example, the security test can include row-level security (RLS) tests. For example, given user A and user B, user A could be authorized to display only the data corresponding to the United States on the visual report, while user B could be authorized to display only the data corresponding to Europe on the visual report.The security test enhances the security of the visual report by ensuring that user A is limited to viewing US data within the visual report (at any point during the decision-making process), while user B is limited to viewing European data. This allows data to be reused within the visual report instead of requiring the creation of new visual reports for each user.
[0098] The accessibility or design test can assess how the visual report can be viewed by the user. For example, an accessibility or design test can assess whether the content displayed by the visual report is presented in accordance with accessibility standards for people with disabilities, for example, whether the data is presented with an appropriate font or color, or a large font size for visually impaired people. The accessibility or design test can also test whether a logo displayed on the visual report is displayed correctly, for example, whether the logo is displayed with the correct aspect ratio, width, color scheme, or similar formatting.
[0099] The performance test may include tests to evaluate the behavior of the visual report under load / use. In other words, the performance test may evaluate the overall performance of the visual report, for example, the visual report's display performance (as perceived by the user), taking into account the overall environment in which the visual report is presented to the user. For example, the performance test may simulate a number of users accessing the visual report simultaneously. The performance test may also evaluate the performance of the visual report, for example, when opening the visual report, when navigating within the visual report, and when clicking on the buttons displayed alongside the visual report. The performance test may be applied at different times. This ensures that the performance of the visual report is maintained over time.
[0100] The method may further include applying a performance test to at least one of the following: displaying, loading, and / or interacting with the visual report. The method may also further include calculating a performance score on The process is based on a performance test result. It may also include updating the visual report's certification level based on the performance test result. For example, the process may define the certification level as "certified" if it calculates a performance score above a predetermined threshold (e.g., greater than zero), or "not certified" if it calculates a performance score below the predetermined threshold. Thus, the process provides an objective indicator that the visual report exhibits consistent performance during operation. The process may apply the performance test dynamically, for example, while the visual report is being viewed in a business intelligence or analytics context.For example, if the visual report is subject to high demand that interferes with its performance, the process can decertify the visual report and recertify it when demand allows for acceptable performance (based on the performance score). This avoids wasted time and resources.
[0101] The plurality of tests may include one or more tests, each applied to a respective subject element from among the dataset(s) and / or the visual report. Furthermore, the method applies each of the test(s) to one or more results of applying a filter to the respective subject element. The term "filtering" refers to any type of operation (for example, arithmetic and / or logical operations such as Boolean operations) used to retrieve data from the subject element, for example, via a query when the dataset is a database, or when the visual report is generated from one or more datasets, where at least one dataset is a database. In other words, the test(s) are applied to the results obtained from the filtering, that is, to partial data from the subject element.
[0102] The method may further include securing access to the visual report for authorized users and validating data integrity for authorized users. Securing access may include restricting data access based on actors, security roles, and / or contexts. The method may apply line-level security techniques to secure data access. The method may also test security at the level of the datasets from which the visual report is generated. Thus, the method causes the visual report to inherit the data access restrictions as defined within the visual report. The method may dynamically verify that actors are correctly vetted during the operation of the visual report. This enhances the security parameters of the visual report.
[0103] The method may further include storing a record and / or a result of each application of a respective test. The record may include Details such as the test performed, the values used, the test type, the user who ran the test, the certification date, a screenshot of the visual report as displayed to the user, and the displayed data are recorded. For example, the process can store metadata corresponding to the result of each test and the certification level calculated based on the number of tests that passed. This allows for the documentation of all tests and the solutions applied to recertify the visual report. The process can also track recurring issues that could lead to the visual report being decertified and define solutions to these recurring problems so they can be addressed effectively. Because the process retains all test results in the record, it is possible to maintain records for audit purposes for years.This process allows compliance with standards such as SOX or GxP.
[0104] The invention further relates to a non-transient storage medium on which a computer program is stored. The computer program may comprise instructions executable by a computer, the instructions including means for causing the above system to execute the process. The program may be recordable on any data storage medium, including system memory. The program may, for example, be implemented in digital electronic circuits, or in computer hardware, firmware, software, or a combination thereof. The program may be implemented in the form of a device, for example, a product tangibly incorporated into a machine-readable storage device for execution by a programmable processor.The steps of the process can be executed by a programmable processor running an instruction program to perform the process functions by operating on input data and generating output. The processor can therefore be programmable and coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. The application program can be implemented in a high-level procedural or object-oriented programming language, or in an assembly or machine language, as appropriate. In all cases, the language can be compiled or interpreted. The program can be a full installation program or an update program. Applying the program to the system always results in instructions to carry out the process.Alternatively, the computer program can be stored and executed on a server in a cloud computing environment, with the server communicating via a network with one or more clients. In such a case, a processing unit executes the... instructions included in the program, thus causing the process to be carried out in the cloud computing environment.
Claims
Demands
1. A computer-based data analysis method, the method comprising: in a dynamic and automatic manner: - obtaining (S10) one or more datasets, and a visual report generated from the dataset(s); - applying (S20) a plurality of tests, each to a subject element from the dataset(s) and / or the visual report; and - calculating (S30) a certification level of the visual report based on a number of tests providing a positive result.
2. A method according to claim 1, wherein the plurality of tests comprises one or more of the following tests: - a data quality test, - a metadata test, - a functional or user interaction test, - a security test, - an accessibility or design test, - a regression test, and - a performance test.
3. A method according to claim 1 or 2, wherein the plurality of tests comprises one or more tests each applied to a respective subject element from the data set(s) and / or visual report, and each to one or more results of applying a filter to the respective subject element.
4. A method according to claim 1, 2 or 3, further comprising: during a user interaction with a computer system: - access, by a user, to the visual report; - display, by the computer system, of a graphical representation of the certification level of the visual report; and - display, by the computer system, of the visual report.
5. Method according to claim 4, wherein the graphic representation of the certification level of the visual report is displayed simultaneously with and / or before the display of the visual report.
6. A method according to claim 4 or 5, wherein the graphical representation of the visual report's certification level is one of: - a badge (3020), - an icon, - a stamp (6020), - a sticker, - a watermark (4020), - a text box message (7020); - a notification from a custom extension (8020) such as an API, - a notification from a native certification reporting feature, - a notification (1020, 1120, 1220) from a process such as an email, an instant messaging application or a help desk ticket system, and - a notification from a browser extension.
7. A method according to any one of claims 1 to 6, the method further comprising securing access to the visual report for authorized users and validating data integrity for authorized users, securing access including restricting access to data based on actors, security roles and / or parameters.
8. A method according to any one of claims 1 to 7, the method further comprising storing a record and / or result of each application of a respective test.
9. A method according to any one of claims 1 to 8, further comprising: - applying a performance test to at least one of the display, loading and / or interaction of the visual report; - calculating a performance score based on a result of the performance test; and - updating the certification level of the visual report based on the result of the performance test.
10. A method according to any one of claims 1 to 9, the method further comprising obtaining a certification date associated with the certification level calculated for the visual report.
11. A computer program comprising instructions which, when executed on a computer, cause the computer to carry out the process according to any one of claims 1 to 10.
12. Storage medium on which a computer program according to claim 11 is recorded.
13. System comprising a processor coupled to non-volatile memory, the computer program according to claim 11 being stored on the non-volatile memory.