Method and system for updating summarized data reports based on itemized data reports
Automatically create static tables through the DAX function, converting the measurement values in the sub-item data report into static data sources, solving the problem that the sub-item data report cannot be automatically updated to the summary data report, and achieving the dual effects of automatic refresh and data accuracy .
Patent Information
- Application Number
- CN202310820517.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-05
- Publication Date
- 2025-01-07
AI Technical Summary
In the prior art, the KPI data items of the sub-item data report cannot be read directly or copied into the summary data report automatically, resulting in manual maintenance of data source tables, increasing labor costs and data inaccuracy.
By automatically creating static tables using DAX functions, the values of the measurement values in the sub-item data report under different contexts are converted into static data sources, which are used to generate summary data reports and visually displayed using Power BI.
It realizes automatic update of sub-item data reports and automatic refresh of aggregated data reports, saving labor costs, ensuring 100% accuracy of data, and improving configuration flexibility.
Smart Images

Figure CN119272740A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of data analysis and presentation, and more particularly, to a method, a computer system, and a storage medium for updating a summary data report based on an itemized data report. Background Art
[0002] In order to monitor production conditions well, many key performance indicators (KPIs) are usually defined to evaluate the daily, weekly and / or monthly performance of the factory workshop. For more detailed monitoring, KPIs are often broken down into specific production lines or workstations. In this way, for different factories, different workshops, different production lines, or different workstations of the same enterprise, multiple sub-item data reports based on actual working condition data may be generated. For example, one sub-item data report is used to display the KPI of the paint shop, while another sub-item data report is used to display the KPI of the automotive interior assembly line.
[0003] In the past, it was necessary to manually maintain data in, for example, Excel tables on a daily, weekly and / or monthly basis to update the itemized data reports. This method heavily relies on people to fill in the data. Once the person responsible for this work is absent, another person needs to be arranged to replace him / her to complete the data update process. This increases the burden on people and labor costs. In addition, since the data is read and filled in manually, the complete accuracy of the data cannot be guaranteed and errors may occur.
[0004] Currently, tools such as Power BI can be used to achieve automatic data refresh of itemized data reports. PowerBI is a unified, scalable self-service and enterprise business intelligence (BI) platform. It can be used to connect to any data and realize data visualization, and seamlessly integrate visual objects into daily applications. For example, Power BI can generate and display itemized data reports based on the monitored factory operating data to achieve automatic data refresh of itemized data reports.
[0005] In addition, the plant manager (e.g., senior manager) may want to have an overall grasp of the plant's KPIs at any time, whether he is at work or on vacation. Therefore, it is very important to integrate the KPIs in one or more sub-item data reports into the summary data report and enable automatic and timely refresh. Summary of the invention
[0006] The present disclosure is directed to providing a method, a computer system, and a medium for updating a summary data report based on an itemized data report.
[0007] According to some embodiments of the present disclosure, a method for updating a summary data report based on an itemized data report is provided, comprising: obtaining an itemized data report, the itemized data report including at least one data item corresponding to a measure value written using data analysis expressions (DAX); automatically creating at least one static table for the itemized data report, wherein at least one column of the static table includes different values of the measure value in different contexts; and displaying a portion of the summary data report based on data in the at least one static table, wherein the summary data report includes data items corresponding to the values of the measure value of the itemized data report in a selected context.
[0008] According to some embodiments of the present disclosure, obtaining an itemized data report includes obtaining multiple itemized data reports, and the method also includes: automatically creating at least one static table for each of the multiple itemized data reports; and displaying the summary data report based on the data in the static table created for the multiple itemized data reports.
[0009] According to some embodiments of the present disclosure, the static table further includes a context column representing the context, and each row in the context column represents a different context.
[0010] According to some embodiments of the present disclosure, the context column in the static table is a column representing time.
[0011] According to some embodiments of the present disclosure, the context column includes a plurality of context columns, and the context is uniquely determined in one row of the static table by combining the plurality of context columns.
[0012] According to some embodiments of the present disclosure, the column representing time in the static table is a column representing one of the following times: date, week, month or year.
[0013] According to some embodiments of the present disclosure, the at least one static table includes at least one of the following: a first static table, each row of which corresponds to a different date; a second static table, each row of which corresponds to a different week; and a third static table, each row of which corresponds to a different month.
[0014] According to some embodiments of the present disclosure, automatically creating at least one static table includes creating the at least one static table using a DAX function.
[0015] According to some embodiments of the present disclosure, displaying a portion of the aggregated data report includes periodically updating the display of the portion of the aggregated data report.
[0016] According to some embodiments of the present disclosure, before each update of the display of the portion of the summary data report, the at least one static table is automatically created for the itemized data report.
[0017] According to some embodiments of the present disclosure, displaying a portion of the summary data report includes utilizing Power BI to display the portion of the summary data report.
[0018] According to some embodiments of the present disclosure, a computer system is provided, comprising: one or more processors, and a memory coupled to the one or more processors, the memory storing computer-readable program instructions, which when executed by the one or more processors perform the method described above.
[0019] According to some embodiments of the present disclosure, a computer-readable storage medium is provided, on which computer-readable program instructions are stored. When the instructions are executed by the processor, the method described above is performed.
[0020] According to some embodiments of the present disclosure, there is provided a device for updating a summary data report based on an itemized data report, comprising means for implementing the steps of the method described above. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The above and other objects, features and advantages of the present disclosure will become more apparent through a more detailed description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, wherein like reference numerals generally represent like components in the exemplary embodiments of the present disclosure.
[0022] Figure 1 A block diagram of an exemplary computer system / server 12 suitable for use in implementing embodiments of the present invention is shown.
[0023] Figure 2 A flowchart of a method for updating a summary data report based on an itemized data report according to an embodiment of the present disclosure is shown.
[0024] Figure 3 A schematic diagram showing an example of an itemized data report visualized using Power BI.
[0025] Figure 4 An example of a display of a summary data report according to an embodiment of the present invention is shown. DETAILED DESCRIPTION
[0026] The preferred embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the preferred embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments described herein. On the contrary, these embodiments are provided to make the present disclosure more thorough and complete, and to fully convey the scope of the present disclosure to those skilled in the art.
[0027] Figure 1 A block diagram of an exemplary computer system / server 12 suitable for use in implementing embodiments of the present invention is shown. Figure 1 The computer system / server 12 shown is merely an example and should not bring any limitation to the functionality and scope of use of embodiments of the present invention.
[0028] like Figure 1 As shown, computer system / server 12 is in the form of a general-purpose computing device. Components of computer system / server 12 may include, but are not limited to: one or more processors or processing units 16, system memory 28, and bus 18 connecting different system components (including system memory 28 and processing unit 16).
[0029] The system memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache memory 32. The computer system / server 12 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, the storage system 34 may be used to read and write non-removable, non-volatile magnetic media. Although Figure 1 Not shown, a magnetic disk drive and an optical disk drive may also be provided. In these cases, each drive may be connected to the bus 18 via one or more data medium interfaces. The memory 28 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the various embodiments of the present invention.
[0030] A program / utility 40 having a set (at least one) of program modules 42 may be stored, for example, in the memory 28, such program modules 42 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment. The program modules 42 generally perform the functions and / or methods of the embodiments described herein.
[0031] The computer system / server 12 may also communicate with one or more external devices 14 (e.g., keyboards, pointing devices, displays 24, etc.), one or more devices that enable a user to interact with the computer system / server 12, and / or any device that enables the computer system / server 12 to communicate with one or more other computing devices (e.g., network cards, modems, etc.). Such communication may be performed via an input / output (I / O) interface 22. In addition, the computer system / server 12 may also communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and / or public networks, such as the Internet) via a network adapter 20. As shown, the network adapter 20 communicates with other modules of the computer system / server 12 via a bus 18. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the computer system / server 12, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0032] The inventors of the present invention have discovered that when attempting to integrate the KPIs in individual itemized data reports into a summary data report, it is not possible to automatically read or copy the KPI data items in the itemized data reports directly into the summary data report. This is because the KPI data items in the itemized data reports are controlled by "measurements" written using Data Analysis Expressions (DAX). The "measurements" can change dynamically based on the context determined by user selection, and thus are only meaningful in the context of the corresponding itemized data report. Therefore, Power BI cannot read data from one itemized data report and copy it to another data report because they have different environments.
[0033] Data analysis expressions are formula expression languages used in Analysis Services, Power BI, and Excel's PowerPivot, for example. DAX formulas include functions, operators, and values that are used to perform advanced calculations and queries on data in related tables and columns in a tabular data model. For example, the following measure Projected Sales represents the sum of last year's sales in the "Last Years Sales" column of the "Sales" table, and then multiplying it by 1.06 to calculate the forecasted sales.
[0034] Projected Sales=SUM('Sales'[Last Years Sales])*1.06
[0035] As you can see, a metric involves calculations based on the context of the environment in which the metric is placed, so it is not a static value.
[0036] At present, manual methods are generally used to update summary data reports based on itemized data reports. In an example method, a person can periodically read the KPI data items in an itemized data report, and then input the read results (i.e., the calculation results of the DAX formula) into a table, which contains all the KPI data items of the itemized data report in different columns. For each itemized data report, it is necessary to manually update such a table by a person, and these tables form the data source of the summary data report. Thus, updating these tables will result in refreshing the summary data report. Since this method still needs to rely on people when updating the summary data report based on the itemized data report, it is not perfect. An example of a manually maintained data source table is shown below:
[0037]
[0038]
[0039] Table 1
[0040] Table 1 requires people to read the data items KPI1-KPI3 in the sub-item data report "Sub1" and other data items omitted in Table 1 every day, and then fill in the above table as the data source for the summary data report.
[0041] On the other hand, if the monitored operating condition data is directly used to update the summary data report (i.e., without referring to the itemized data report), a large number of DAX formulas that have been written in the individual itemized data reports need to be rewritten, which results in a lot of repetitive work. In addition, in the case where the itemized data reports on which the summary data report is based may be increased or decreased, it is also necessary to adaptively rewrite the DAX formulas in the context of the summary data report, which may involve a lot of additional manpower consumption.
[0042] In order to realize automatic update of a summary data report based on an itemized data report, the inventor of the present invention proposes a method and system for updating a summary data report based on an itemized data report.
[0043] View now Figure 2 , Figure 2 A flowchart of a method 200 for updating a summary data report based on an itemized data report according to an embodiment of the present disclosure is shown. The method 200 is, for example, Figure 1 The computer system / server 12 performs the above-mentioned operation. The method 200 may include a step 210 of obtaining a sub-item data report, a step 220 of creating a static table, and a step 230 of displaying a summary data report.
[0044] Method 200 begins with an itemized data report obtaining step 210. In step 210, an itemized data report is obtained. The itemized data report includes at least one data item corresponding to a measure value written using data analysis expressions (DAX). For the purpose of illustration, the following example is given: Figure 3 A schematic diagram of an example of a sub-item data report visualized using Power BI is shown. In this example, the sub-item data report, for example, includes at least the following three KPI data items: the body paint yield rate of assembly line P in the paint shop, the body paint yield rate of assembly line Q in the paint shop, and the overall yield rate of assembly lines P and Q in the paint shop. These three KPIs are all metrics written using DAX, for example, they can be named Painting_LineP_Rate, Painting_LineQ_Rate, and Painting_LineP+Q_Rate, respectively. Due to the characteristics of DAX, they only work correctly in a specific environment (i.e., the Power BI visualization environment of the sub-item data report). According to one embodiment of the present invention, the metrics corresponding to these three KPIs are calculated using DAX formulas based on actual operating condition data as a data source.
[0045] exist Figure 3 In response to the user selecting the sixth week of 2023, Power BI is used to present Figure 3 Visualize data in tabular form. Figure 3 The first row of data in the table is the value (that is, the DAX formula calculation result) of the measure Painting_LineP_Rate in different contexts (that is, different dates). For example, Painting_LineP_Rate is calculated as 97.13% on Monday of the sixth week of 2023, 97.77% on Tuesday, and so on. Figure 3 The second row of data in the table is the value of the metric Painting_LineQ_Rate in different contexts (i.e., different dates). For example, Painting_LineQ_Rate is calculated as 97.60% on Monday of the 6th week of 2023, 95.42% on Tuesday, and so on. Figure 3 The third row of data in the table in is the value of the metric Painting_LineP+Q_Rate in different contexts (i.e., different dates). For example, Painting_LineP+Q_Rate is calculated as 97.38% on Monday of the sixth week of 2023, 96.50% on Tuesday, and so on. Figure 3In the example above, it is assumed that the paint shop does not work on weekends, so these measures have no values in the context of Saturday and Sunday. Although measures can be Figure 3 However, due to the characteristics of DAX, Figure 3 The measurement values in the table cannot be read or copied directly.
[0046] In addition, according to an embodiment of the present disclosure, a target value of a KPI data item may be set. Figure 3 In the example, the target value can be set to 96%, so that KPI data items below the target value can be highlighted (for example, the yield of pipeline Q on Tuesday of the 6th week of 2023, and the yield of pipeline Q and pipeline P+Q on Wednesday). Figure 3 Only three KPIs are shown in the table, but the itemized data report may also include other KPIs not shown.
[0047] Now return to reference Figure 2 In the static table creation step 220, at least one static table is automatically created for the itemized data report. At least one column of the static table includes different values of the metric value in different contexts.
[0048] According to one embodiment of the present disclosure, automatically creating at least one static table includes using DAX functions to create the at least one static table. In this embodiment, by means of DAX functions, in an environment of itemized data reports, the metric values in the environment are automatically converted into a static table as a data source for the summary data report.
[0049] According to one embodiment of the present disclosure, the static table may further include a context column representing a context, and each row in the context column represents a different context. According to one embodiment of the present disclosure, the context column in the static table is a column representing time. In another embodiment, the context column may also be a column representing other contexts, such as a column representing a location, a column representing a level, and the like.
[0050] In an example, a static table is created by the following DAX code:
[0051]
[0052] The static table created in the above DAX code is named "final_report_data_daily". To simplify the explanation, it is assumed that there is a date table "date_table" in the system, which contains time-related columns, for example, a date column representing each day, a year column representing the year, a month column representing the month, and a week column representing each week. The above code, for example, selects the date column representing each day ('date_table'[date_id]) from "date_table", thereby forming the date column "date_id" of the temporary table temp_table1. Next, the temporary table temp_table2 is formed with the help of the temporary table temp_table1. The temporary table temp_table2 contains the date column "date_id" selected from the temporary table temp_table1 and the columns corresponding to the three measurement values Painting_LineP_Rate, Painting_LineQ_Rate, and Painting_LineP+Q_Rate given in the above example: "sub1_Painting_LineP_Rate", "sub1_Painting_LineQ_Rate", and "sub1_Painting_LineP+Q_Rate". Finally, the temporary table temp_table2 is returned as final_report_data_daily. Table 2 below shows the Figure 3 An example of a static table created by the example in .
[0053]
[0054] Table 2
[0055] It can be seen from Table 2 that according to the technical solution of the present disclosure, Figure 3 The dynamic DAX formulas based on the examples in the example are automatically converted into a static table as shown in Table 2. In Table 2, the date column represents the date of each day, and the values of each measure corresponding to the date are stored in the same row as the corresponding date, so that they can be read and displayed by the summary data report.
[0056] In the example of Table 2, final_report_data_daily includes a date column as a context column and includes three KPI columns. For example, the sub1_Painting_LineP_Rate column includes the values of the metric value Painting_LineP_Rate on different dates, the sub1_Painting_LineQ_Rate column includes the values of the metric value Painting_LineQ_Rate on different dates, and the sub1_Painting_LineP+Q_Rate column includes the values of the metric value Painting_LineP+Q_Rate on different dates. The example of Table 2 only lists the values related to the KPIs for the purpose of illustration. Figure 3 The example in Table 2 shows the corresponding measurement values, omitting the data for other dates. In addition, Table 2 can also include other columns not shown, which can correspond to Figure 3 Additional metrics in the sample itemized report.
[0057] According to one embodiment of the present disclosure, the context column may include multiple context columns, and the context is uniquely determined in a row of the static table by combining the multiple context columns. According to one embodiment of the present disclosure, the column representing time in the static table may be a column representing one of the following times: date, week, month or year.
[0058] That is, in addition to creating a static table with a date column for an itemized data report, you can also create a static table with a week or month as the context for it.
[0059] In an example, a static table is created by the following DAX code:
[0060]
[0061] The static table created in the above DAX code is named "final_report_data_weekly", which reflects the value of the measure in the weekly context. Assume that there is a date table "date_table" in the system, which contains time-related columns, such as a date column representing each day, a year column representing the year, a month column representing the month, and a week column representing each week. The above code selects the year column ('date_table'[year_id]) representing the year and the week column ('date_table'[week_id]) representing each week from "date_table", thereby forming the year column "year" and the week column "week" of the temporary table temp_table1. Then, the DAX function SUMMARIZE() is used to remove duplicates from the year column "year" and the week column "week" of the temporary table temp_table1 to obtain the temporary table temp_table2. Next, the temporary table temp_table3 is formed with the help of the temporary table temp_table2. Temporary table temp_table3 contains the year column "year" and week column "week" selected from temporary table temp_table2, as well as columns corresponding to the three measurement values Painting_LineP_Rate, Painting_LineQ_Rate, and Painting_LineP+Q_Rate given in the above example: "sub1_Painting_LineP_Rate", "sub1_Painting_LineQ_Rate", and "sub1_Painting_LineP+Q_Rate". Finally, temporary table temp_table3 is returned as final_report_data_weekly. The following Table 3 shows the Figure 3 An example of a static table with week as the context created by the example in .
[0062]
[0063] Table 3
[0064] In the example of Table 3, the context is uniquely determined by combining the multiple context columns (e.g., year column and week column). Table 3 records the values of the three metrics in the above example under different contexts (different weeks). In Table 3, the combination of the year column and the week column represents each week, and the values of each metric corresponding to the week are stored in the same row as the corresponding week, so that they can be read and displayed by the summary data report.
[0065] According to one embodiment of the present disclosure, the at least one static table may include at least one of the following: a first static table, each row of which corresponds to a different date; a second static table, each row of which corresponds to a different week; and a third static table, each row of which corresponds to a different month.
[0066] That is, in addition to creating a static table containing a date column and a static table containing a combination of a year column and a week column for an itemized data report, you can also create a static table with the month as the context for it.
[0067] In an example, a static table is created by the following DAX code:
[0068]
[0069] The static table created in the above DAX code is named "final_report_data_monthly", which reflects the value of the metric in the context of each month. Assume that there is a date table "date_table" in the system, which contains time-related columns, for example, a date column representing each day, a year column representing the year, a month column representing the month, and a week column representing each week. The above code selects the year column ('date_table'[year_id]) representing the year and the month column ('date_table'[month_id]) representing each month from "date_table", thereby forming the year column "year" and the month column "month" of the temporary table temp_table1. Then, the DAX function SUMMARIZE() is used to remove duplicates from the year column "year" and the month column "month" of the temporary table temp_table1 to obtain the temporary table temp_table2. Next, the temporary table temp_table3 is formed with the help of the temporary table temp_table2. Temporary table temp_table3 contains the year column "year" and month column "month" selected from temporary table temp_table2, as well as columns corresponding to the three measurement values Painting_LineP_Rate, Painting_LineQ_Rate, and Painting_LineP+Q_Rate given in the above example: "sub1_Painting_LineP_Rate", "sub1_Painting_LineQ_Rate", and "sub1_Painting_LineP+Q_Rate". Finally, temporary table temp_table3 is returned as final_report_data_monthly. Table 4 below shows the Figure 3An example of a static table with month as the context created by the example in .
[0070]
[0071] Table 4
[0072] In the example of Table 4, the context is uniquely determined by combining the multiple context columns (e.g., year column and month column). Table 4 records the values of the three metric values in the above example under different contexts (different months). In Table 4, the combination of the year column and the month column represents each month, and the values of each metric value corresponding to the month are stored in the same row as the corresponding month, so that they can be read and displayed by the summary data report.
[0073] Now return to reference Figure 2 In the summary data report display step 230, a portion of the summary data report is displayed based on the data in the at least one static table. The summary data report includes data items corresponding to the values of the metric values of the itemized data report under the selected context.
[0074] According to one embodiment of the present disclosure, displaying a portion of the summary data report may include displaying the portion of the summary data report using PowerBI. Figure 4 An example of display of a summary data report according to an embodiment of the present invention is shown. Figure 4 In the example, the summary data report includes data items from the following multiple sub-item data reports: body paint yield rate, front hood paint yield rate, rear hood paint yield rate, and door paint yield rate. Figure 4 In the example, when the user selects the date February 8, 2023, the body painting yield rate KPI for that date will be displayed based on the above static table (i.e., Table 2). That is, the body painting yield rate of assembly line P is 96.95%, the body painting yield rate of assembly line Q is 95.12%, and the overall body painting yield rate of assembly lines P and Q is 95.96%, as shown in Figure 2. Figure 4 The data are shown in the ellipse enclosed in Figure 2.
[0075] According to one embodiment of the present disclosure, obtaining a sub-item data report includes obtaining multiple sub-item data reports. The method 200 may also include: automatically creating at least one static table for each of the multiple sub-item data reports; and displaying the summary data report based on the data in the static table created for the multiple sub-item data reports. According to an embodiment of the present disclosure, similar to the body paint yield rate (see Tables 2-4 above), static tables can be created for other sub-item data reports (front hood paint yield rate, rear hood paint yield rate, and door paint yield rate) for use as a data source for the summary data report. Please note that in Figure 4 In the example of the summary data report shown in Figure 4 ), it also includes data copied from other itemized data reports to the corresponding static tables. For example, Figure 4 The upper right part of the chart shows the front hood paint yield rate (similarly, including assembly line P, assembly line Q and overall yield rate). Figure 4 The lower left part shows the rear hood paint yield rate, and Figure 4 The lower right part shows the door paint yield rate.
[0076] According to one embodiment of the present disclosure, displaying a portion of the summary data report includes periodically updating the display of the portion of the summary data report. In one example, the display of a portion or all of the summary data report may be automatically updated daily, weekly, or monthly. In this way, managers can see the latest KPIs in a timely manner.
[0077] According to one embodiment of the present disclosure, before each update of the display of a portion of the summary data report, the at least one static table is automatically created for the itemized data report. That is, before the display of the summary data report is updated, the static table serving as the data source of the summary data report is automatically recreated, and the static table can reflect the latest data in the itemized data report. In the above example, for example, the static table in Table 2 can be created once a day and before the corresponding portion of the summary data report is refreshed, the static table in Table 3 can be created once a week and before the corresponding portion of the summary data report is refreshed, and the static table in Table 4 can be created once a month and before the corresponding portion of the summary data report is refreshed.
[0078] By adopting the technical solution of the present invention, it is possible to realize automatic refresh of summary data reports based on itemized data reports, saving labor costs and ensuring 100% data accuracy without manual operation. In addition, by adopting the technical solution of the present invention, it is possible to flexibly increase or decrease KPIs in summary data reports without having to rewrite DAX for this purpose, thereby greatly saving labor costs while improving configuration flexibility.
[0079] The present invention may be a system, a method and / or a computer program product. The computer program product may include a computer-readable storage medium carrying computer-readable program instructions for causing a processor to implement various aspects of the present invention.
[0080] According to one embodiment of the present invention, a computer system is provided, the computer system comprising one or more processors and a memory coupled to the one or more processors. The memory stores computer-readable program instructions, and the instructions are executed by the one or more processors to: obtain an itemized data report, the itemized data report comprising at least one data item corresponding to a measure value written using data analysis expressions (DAX); automatically create at least one static table for the itemized data report, wherein at least one column of the static table comprises different values of the measure value in different contexts; and based on the data in the at least one static table, display a portion of the summary data report, wherein the summary data report comprises data items corresponding to the values of the measure value of the itemized data report in a selected context.
[0081] According to another embodiment of the present invention, a computer-readable storage medium is provided, on which computer-readable program instructions are stored, and when the instructions are executed by a processor, the following are performed: obtaining an itemized data report, the itemized data report including at least one data item corresponding to a measure value written using data analysis expressions (DAX); automatically creating at least one static table for the itemized data report, wherein at least one column of the static table includes different values of the measure value in different contexts; and based on the data in the at least one static table, displaying a portion of the summary data report, wherein the summary data report includes data items corresponding to the values of the measure value of the itemized data report in a selected context.
[0082] According to another embodiment of the present invention, there is provided a device for updating a summary data report based on an itemized data report, comprising: a device for obtaining an itemized data report, the itemized data report including at least one data item corresponding to a measure value written using data analysis expressions (DAX); a device for automatically creating at least one static table for the itemized data report, wherein at least one column of the static table includes different values of the measure value in different contexts; and a device for displaying a portion of the summary data report based on data in the at least one static table, wherein the summary data report includes data items corresponding to the values of the measure value of the itemized data report in a selected context.
[0083] A computer-readable storage medium may be a tangible device that can hold and store instructions used by an instruction execution device. A computer-readable storage medium may be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples of computer-readable storage media (a non-exhaustive list) include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disk read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, such as a punch card or a raised structure in a groove on which instructions are stored, and any suitable combination of the foregoing. As used herein, a computer-readable storage medium is not to be interpreted as a transient signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., a light pulse through a fiber optic cable), or an electrical signal transmitted through a wire.
[0084] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to each computing / processing device, or downloaded to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network can include copper transmission cables, optical fiber transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. The network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in the computer-readable storage medium in each computing / processing device.
[0085] The computer program instructions for performing the operation of the present invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages, such as Smalltalk, C++, etc., and conventional procedural programming languages, such as "C" language or similar programming languages. Computer-readable program instructions may be executed entirely on a user's computer, partially on a user's computer, as an independent software package, partially on a user's computer, partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., using an Internet service provider to connect via the Internet). In some embodiments, an electronic circuit, such as a programmable logic circuit, a field programmable gate array (FPGA), or a programmable logic array (PLA), may be personalized by utilizing the state information of the computer-readable program instructions, and the electronic circuit may execute the computer-readable program instructions, thereby realizing various aspects of the present invention.
[0086] Various aspects of the present invention are described herein with reference to the flow charts and / or block diagrams of the methods, devices (systems) and computer program products according to embodiments of the present invention. It should be understood that each box of the flow chart and / or block diagram and the combination of each box in the flow chart and / or block diagram can be implemented by computer-readable program instructions.
[0087] These computer-readable program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processor of the computer or other programmable data processing device, a device that implements the functions / actions specified in one or more boxes in the flowchart and / or block diagram is generated. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions cause the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable medium storing the instructions includes a manufactured product, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0088] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operating steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0089] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to multiple embodiments of the present invention. In this regard, each square box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and a part of the module, program segment or instruction includes one or more executable instructions for realizing the specified logical function. In some alternative implementations, the function marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square boxes can actually be executed substantially in parallel, and they can sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs the specified function or action, or can be implemented with a combination of special hardware and computer instructions.
[0090] The embodiments of the present invention have been described above, and the above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used herein are selected to best explain the principles of the embodiments, practical applications, or technical improvements to the technology in the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.
Claims
1. A method for updating a summary data report based on an itemized data report, comprising: Obtaining an itemized data report, the itemized data report including at least one data item corresponding to a measure value written using Data Analysis Expressions (DAX); For the itemized data report, automatically create at least one static table, wherein at least one column of the static table includes different values of the metric value in different contexts; and Based on the data in the at least one static table, a portion of the summary data report is displayed, wherein the summary data report includes data items corresponding to the values of the metric values of the itemized data report under the selected context.
2. The method according to claim 1, wherein: Obtaining the itemized data report includes obtaining a plurality of itemized data reports, and the method further includes: For each of the plurality of itemized data reports, automatically creating at least one static table; and The summary data report is displayed based on the data in the static table created for the plurality of itemized data reports.
3. The method according to claim 1, wherein: The static table further includes a context column representing the context, and each row in the context column represents a different context. The method according to claim 3 , wherein the context column in the static table is a column representing time. 5 . The method according to claim 3 , wherein the context column comprises a plurality of context columns, and the context is uniquely determined by combining the plurality of context columns in one row of the static table.
6. The method according to claim 4, wherein: The column representing time in the static table is a column representing one of the following times: Day, week, month, or year.
7. The method of claim 6, wherein the at least one static table comprises at least one of: A first static table, each row of which corresponds to a different date; a second static table, each row of the second static table corresponding to a different week; and A third static table, each row of the third static table corresponds to a different month. 8 . The method of claim 6 , wherein automatically creating at least one static table comprises creating the at least one static table using a DAX function. 9 . The method of claim 1 , wherein displaying a portion of the aggregate data report comprises periodically updating the display of the portion of the aggregate data report.
10. The method according to claim 9, wherein: The at least one static table is automatically created for the itemized data report before each update of the display of the portion of the summary data report. 11 . The method of claim 1 , wherein displaying a portion of the summary data report comprises displaying the portion of the summary data report using Power BI.
12. A computer system comprising: one or more processors; and A memory coupled to the one or more processors, the memory storing computer-readable program instructions, which, when executed by the one or more processors, perform the method of any one of claims 1-11.
13. A computer-readable storage medium storing computer-readable program instructions, wherein the instructions, when executed by a processor, perform the method according to any one of claims 1 to 11.
14. An apparatus for updating a summary data report based on an itemized data report, comprising means for implementing the steps of the method according to any one of claims 1 to 11.