Data processing method and system

By providing a visual interactive interface in the data analysis product, users can generate data analysis language expressions through template selection and configuration operations, which solves the problems of high threshold and low efficiency in creating computational objects in existing technologies, and achieves higher accuracy and efficiency.

CN122633170APending Publication Date: 2026-08-25ALIPAY (HANGZHOU) INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610798252.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-06-03
Publication Date
2026-08-25

AI Technical Summary

Technical Problem

When creating computational objects in existing data analytics products, users need to deeply learn the syntax of data analytics languages, resulting in high barriers to entry, low efficiency, and poor accuracy.

Method used

It provides a visual interactive interface, including a template selection area and a template configuration area. Users can generate data analysis language expressions by selecting and configuring templates, and the system will automatically output the creation results.

Benefits of technology

It lowers the learning curve for users, improves the accuracy and efficiency of creating computational objects, and simplifies the operation process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122633170A_ABST
    Figure CN122633170A_ABST
Patent Text Reader

Abstract

The present specification provides a data processing method and system for creating a computing object (metric, computing column) in a data analysis product, comprising: in response to a creation request of a target object in the computing object by a first user, providing an interactive interface, the interactive interface comprising a template selection area and a template configuration area, the template selection area being configured to display a plurality of data analysis language expression predefined templates corresponding to the target object, the template configuration area being configured to display field configuration information of a data analysis language expression predefined template selected in the template selection area, obtaining an interactive operation of the first user on the interactive interface (the first user's selection operation on a target template in the template selection area, the configuration operation on the field configuration information of the target template in the template configuration area), and generating a creation result (such as a corresponding data analysis language expression) corresponding to the creation request according to the interactive operation. The efficiency and accuracy of creation can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of data analysis technology, and in particular to a data processing method and system. Background Technology

[0002] Data analytics products refer to software systems or services whose core objective is to help users gain insights from data, support decision-making, or automate analytical tasks. Creating computed objects (such as measures and computed columns) is a common operation in data analytics products.

[0003] In related technologies, when users create computational objects within data analytics products, they rely heavily on the complex syntax of data analytics languages ​​such as DAL. For example, users must first learn data analytics language functions and understand its syntax in order to write the corresponding data analytics language expressions in the editor according to their needs.

[0004] Therefore, the above methods have a high barrier to entry; users with limited (especially no) programming background may not be able to create computational objects. Furthermore, they also suffer from low creation efficiency and accuracy.

[0005] It should be noted that the above-mentioned related technologies are only information known to the inventor personally, and do not mean that the above information had entered the public domain before the application date of this specification, nor do they mean that it can be considered prior art in this specification. Summary of the Invention

[0006] This specification provides a data processing method and system to avoid at least one of the above-mentioned technical problems.

[0007] Firstly, this specification provides a data processing method for creating computational objects in a data analysis product, wherein the computational objects include measures and computed columns; the method includes: In response to a first user's request to create a target object in the computational object, an interactive interface is provided, wherein the interactive interface includes a template selection area and a template configuration area, the template selection area is configured to display several predefined templates of data analysis language expressions corresponding to the target object, and the template configuration area is configured to display the field configuration information of the predefined template of data analysis language expressions selected in the template selection area; The system obtains the first user's interaction operations on the interactive interface, including the first user's selection of a target template in the template selection area and configuration of field configuration information of the target template in the template configuration area; and... The creation result corresponding to the creation request is generated based on the interactive operation, wherein the creation result includes a target data analysis language expression corresponding to the interactive operation.

[0008] Secondly, this specification provides a data processing system, including: At least one storage medium storing at least one instruction set for data processing; At least one processor is communicatively connected to the at least one storage medium, wherein when the at least one processor is running, it reads the at least one instruction set and executes the method of the first aspect according to the instructions of the at least one instruction set.

[0009] Thirdly, this specification provides a computer-readable non-transitory storage medium, wherein the computer-readable non-transitory storage medium stores at least one instruction set, which is executed by at least one processor to implement the method as described in the first aspect.

[0010] As can be seen from the above technical solutions, the data processing method and system provided in this specification offer users a visual interactive interface corresponding to their creation requests, allowing users to perform interactive operations according to their creation needs. The data processing system can then determine the creation result based on the interactive operations, such as the corresponding data analysis language expression (specifically, a DAL expression). This eliminates the need for users to deeply learn or understand the syntax of data analysis languages, greatly reducing the creation threshold and improving the accuracy, reliability, and efficiency of creation.

[0011] The data processing methods and other functions of the systems provided in this specification are partially listed in the following description. The inventive aspects of the data processing methods and systems provided in this specification can be fully understood through practice or use of the methods, apparatus, and combinations described in the detailed examples below. Attached Figure Description

[0012] To more clearly illustrate the technical solutions in the embodiments of this specification, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this specification. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0013] Figure 1 This is a schematic diagram illustrating an application scenario of the data processing method provided in the embodiments of this specification; Figure 2 This is a schematic diagram of the structure of the data processing system provided in the embodiments of this specification; Figure 3 A flowchart illustrating the data processing method provided in the embodiments of this specification; Figure 4 A schematic diagram of an interactive interface for creating a metric provided in one embodiment of this specification; Figure 5 A schematic diagram of an interactive interface for creating a calculated column provided in one embodiment of this specification; Figure 6 A schematic diagram of an interactive interface for creating a metric, provided for another embodiment of this specification; Figure 7 A schematic diagram of the interactive interface for creating a calculated column provided in another embodiment of this specification; Figure 8 This is a schematic diagram illustrating the error message displayed when a field type is incorrect, as provided in the embodiments of this specification. Figure 9 A schematic diagram of the interface corresponding to the click caliber interpretation control provided in the embodiments of this specification; Figure 10 A schematic diagram of the interface corresponding to the click expression interpretation control provided in the embodiments of this specification; Figure 11 This is a schematic diagram of the interface corresponding to clicking "Continue Processing" in the embodiments of this specification. Detailed Implementation

[0014] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this specification. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this specification as detailed in the appended claims.

[0015] It should be understood that the terms “comprising” and “having”, and any variations thereof, in the embodiments of this specification are intended to cover but not exclude inclusion. For example, a product or device that includes a series of components is not necessarily limited to those components that are explicitly listed, but may include other components that are not explicitly listed or that are inherent to such product or device.

[0016] The term "and / or" in the embodiments of this specification describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.

[0017] In the embodiments of this specification, the term "multiple" refers to two or more, and other quantifiers are similar.

[0018] The terms “first,” “second,” “third,” etc., used in this specification are used to distinguish similar or related objects or entities and do not necessarily imply a specific order or sequence, unless otherwise indicated. It should be understood that such terms can be used interchangeably where appropriate, for example, in situations where implementation can proceed in an order other than those given in the embodiments illustrated or described in this specification.

[0019] As used in this specification, the term "unit / module" means any known or subsequently developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and / or software code capable of performing the functions associated with that element.

[0020] To facilitate the reader's understanding of this manual, at least some of the terms used in this manual are explained below: Metrics refer to calculated indicators in data analysis products, such as total sales or year-on-year growth rate, which are usually generated based on aggregation or logical operations on original fields.

[0021] Computed columns are new fields defined by performing partial calculations on multiple fields in a data analysis product data table (also known as a physical table, or simply a table). Examples include customer level tags generated based on consumption amount, whether an order was placed on a weekend based on the order date, and regional grouping based on the region field.

[0022] To avoid at least one of the technical problems mentioned in the background section above, this specification proposes a technical concept developed through inventive effort: for a user-initiated creation request to create a computational object, the data processing system can provide the user with a visual interactive interface to automatically generate creation results based on the user's interactive operations in the interface, such as corresponding data analysis language expressions (specifically, DAL expressions).

[0023] For example, in response to a user's creation request based on their creation needs, the data processing system can display a visual interactive interface to the user. The interactive interface includes predefined templates of data analysis language expressions and corresponding field configuration information.

[0024] In the interactive interface, users can select the target template corresponding to their creation needs through interactive operations (such as clicking, dragging, etc.) and configure the field configuration information of the target template.

[0025] Correspondingly, the data processing system fills in the field information of the target template based on the user's interactive operations, thereby obtaining and displaying the creation result to the user (such as a data analysis language expression, specifically a DAL expression).

[0026] The technical solutions provided in this specification are implemented based on the above-described technical concepts. As can be seen from the description of the above technical concepts, in the technical solutions provided in this specification, the data processing system provides users with a visual interactive interface corresponding to their creation requests. Users can then perform interactive operations on the interface according to their creation needs. The data processing system can then determine the creation result based on the interactive operations. This significantly reduces the creation threshold and improves the accuracy, reliability, and efficiency of creation, eliminating the need for users to engage in deep learning or understand the syntax of data analysis languages.

[0027] To facilitate readers' understanding of this manual, the application scenarios of this manual are introduced below.

[0028] The technical solutions provided in this specification are applicable to scenarios requiring the creation of computational objects. For example, the technical solutions provided in this specification can be applied to scenarios in industries such as e-commerce, finance, manufacturing, and retail where the creation of computational objects is required.

[0029] Taking the creation of computational objects in the e-commerce industry as an example: In e-commerce platform operational analysis, staff typically need to create calculation objects for complex metrics such as "high-value customer repurchase rate," "regional product sales share," and "new customer conversion efficiency during major promotional periods." These metrics often involve multi-dimensional filtering (e.g., "customer level XX and above"), conditional aggregation (e.g., "only count orders with successful payments"), and ratio calculations (e.g., "number of repeat customers / total number of customers"). Traditional methods mainly rely on staff (such as data engineers) to write corresponding data analysis language expressions, which suffers from drawbacks such as low efficiency and susceptibility to errors.

[0030] Using the technical solution provided in this manual, the data processing system can display a visual interactive interface to staff based on their creation requests. Correspondingly, through this interface, staff can select a template that matches their creation needs from preset analysis templates (such as "fixed dimension value percentage," "year-on-year / month-on-month comparison," "conditional count," etc.) and configure the template by dragging and dropping fields (such as "customer ID," "order status," "product category," etc.). Thus, the data processing system can automatically populate parameters into the template based on user interactions within the interface, generating expressions that conform to data analysis language specifications, thereby improving the efficiency, accuracy, and interpretability of object creation.

[0031] It should be noted that the above examples are only used to illustrate the application scenarios to which the technical solutions in this specification can be applied, and should not be construed as limiting the application scenarios.

[0032] Figure 1This is a schematic diagram illustrating an application scenario of the data processing method according to an embodiment of this specification. The data processing method described in this specification can be applied to, for example... Figure 1 Scenario 100 is shown. (e.g.) Figure 1 As shown, scenario 100 may include e-commerce platform 101 and its staff 102.

[0033] exist Figure 1 The image shows a data analysis interface for e-commerce platform 101, dynamically generated and displayed based on the actions (such as clicks) of staff member 102. This interface not only presents the dataset to be analyzed but also provides various controls for creating calculated objects, specifically including a "+Calculated Column" control and two function buttons: "+Measure".

[0034] like Figure 1 As shown. Through these controls, worker 102 can easily perform the following operations: click the "+Calculated Column" control to create a new calculated column; click the "+Measure" control to create a new measure.

[0035] Alternatively, in other embodiments, worker 102 may right-click on the dataset to be analyzed to select the corresponding metric control or calculated column control to create the corresponding metric or calculated column.

[0036] Figure 2 A hardware structure diagram of a data processing system 200 according to an embodiment of this specification is shown. The data processing system 200 can perform the data processing methods described in this specification. The data processing methods are described in other parts of this specification.

[0037] like Figure 2 As shown, the data processing system 200 may include at least one storage medium 203 and at least one processor 202. In some embodiments, the data processing system 200 may also include a communication port 204 and an internal communication bus 201. The data processing system 200 may also include I / O components 205.

[0038] The internal communication bus 201 can connect to different system components. For example, the internal communication bus 201 can connect to storage medium 203, processor 202, communication port 204, and I / O component 205.

[0039] I / O component 205 supports input / output between data processing system 200 and other components.

[0040] Communication port 204 is used for data communication between the data processing system 200 and external sources. For example, communication port 204 can be used for data communication between the data processing system 200 and a network. Communication port 204 can be a wired communication port or a wireless communication port.

[0041] Storage medium 203 may include a data storage device. The data storage device may be a non-transitory storage medium or a temporary storage medium. For example, the data storage device may include one or more of a disk 2031, a read-only storage medium (ROM) 2032, or a random access storage medium (RAM) 2033. Storage medium 203 also includes at least one instruction set stored in the data storage device. The instruction set includes computer program code, which may include programs, routines, objects, components, data structures, procedures, modules, etc., that perform the data processing methods provided in this specification.

[0042] At least one processor 202 may be communicatively connected to at least one storage medium 203. The at least one processor 202 is used to execute the at least one instruction set described above. When the data processing system 200 is running, the at least one processor 202 reads the at least one instruction set and executes the data processing method provided in this specification according to the instructions of the at least one instruction set. The processor 202 may execute all steps included in the data processing method. The processor 202 may be in the form of one or more processors. In some embodiments, the processor 202 may include one or more hardware processors, such as a microcontroller, microprocessor, reduced instruction set computer (RISC), application-specific integrated circuit (ASIC), application-specific instruction set processor (ASIP), central processing unit (CPU), graphics processing unit (GPU), physical processing unit (PPU), microcontroller unit, digital signal processor (DSP), field-programmable gate array (FPGA), advanced RISC machine (ARM), programmable logic device (PLD), any circuit or processor capable of performing one or more functions, or any combination thereof.

[0043] For illustrative purposes only, only one processor 202 is shown in the accompanying drawings of the data processing system 200. However, it should be noted that the data processing system 200 may also include multiple processors. Therefore, the operation and / or method steps disclosed in this specification may be executed by one processor or by multiple processors in combination. For example, if the processor 202 of the data processing system 200 described in this specification executes steps A and B, it should be understood that steps A and B may also be executed jointly or separately by two different processors 202 (e.g., the first processor executes step A, the second processor executes step B, or the first and second processors jointly execute steps A and B).

[0044] Please see Figure 3 , Figure 3 This is a flowchart illustrating the data processing method provided in the embodiments of this specification. Wherein, Figure 3The data processing method shown can be executed by a data processing system. For a description of the data processing system, please refer to the example above; it will not be repeated here.

[0045] like Figure 3 As shown, the method includes the following steps S301 to S303: S301: In response to the first user's request to create a target object in the computational object, an interactive interface is provided, wherein the interactive interface includes a template selection area and a template configuration area. The template selection area is configured to display several predefined templates of data analysis language expressions corresponding to the target object, and the template configuration area is configured to display the field configuration information of the predefined template of data analysis language expressions selected in the template selection area.

[0046] A calculation object refers to a data analysis unit that the first user can create, specifically including two types: measures and calculated columns. Measures can be aggregate expressions, such as sum, average, percentage, etc. Calculated columns can be expressions that are calculated row by row, such as "Profit = Sales Revenue - Cost".

[0047] The target object refers to the computed object that the first user currently wants to create, such as a measure or computed column.

[0048] An interactive interface refers to the user interface provided by a data processing system in response to a creation request. An interactive interface can include at least two areas: a template selection area and a template configuration area.

[0049] The template selection area displays several predefined data analysis language expression templates (i.e., predefined data analysis language expression templates). These predefined templates are predefined, structured expression frameworks used to generate the final data analysis language (such as DAL) expressions.

[0050] The template configuration area displays the field configuration information (such as placeholders, slots, etc.) required for the selected template. Field configuration information refers to the configuration requirements corresponding to each placeholder (or slot) in the template, such as binding a numeric field, a time field, etc.

[0051] For example, when a first user initiates a request to create a computed object (such as a measure or computed column), the data processing system can dynamically generate an interactive interface. This interface consists of two parts: Template selection area: Lists a set of predefined expression templates that match the target object type (measure / calculated column). Examples include templates for year-on-year comparison, percentage, and conditional count.

[0052] Template configuration area: Initially empty. After the first user selects the corresponding template from the template selection area, the required field configuration items for that template will be displayed, such as numerator field, denominator field, and base time field configuration items.

[0053] Based on the above analysis, it can be seen that the interactive interface includes a template selection area, which is used to display several predefined templates of data analysis language expressions (such as several custom templates of DAL expressions).

[0054] In some embodiments, several data analysis language expression predefined templates include several main class templates, each main class template corresponding to an analysis function type; at least one main class template contains several subclass templates, each subclass template corresponding to a data analysis language expression template.

[0055] A main class template is a category container formed by classifying several predefined templates according to their analysis function type. Each main class represents an analysis purpose, such as percentage analysis, time comparison, conditional statistics, etc. Relatively speaking, the main class template itself does not directly correspond to a specific expression template, but is used to organize subclasses.

[0056] Analysis function type refers to the category of application or logical function implemented by the calculation object, used to distinguish different analysis intentions. For example, calculating percentage and calculating year-on-year are different analysis function types.

[0057] A subclass template is a specific data analysis language expression template belonging to a main class template. Each subclass template corresponds to an instantiable expression structure.

[0058] For example, in this embodiment, the "several data analysis language expression predefined templates" are not a flat list, but rather adopt a two-level classification structure.

[0059] The first level is the main category template. This level of template can be understood as the main category template obtained by clustering the sub-category templates according to the analysis function type. For example, all templates related to proportion / percentage can be classified into the proportion analysis main category template; all templates related to time series comparison can be classified into the time comparison main category template.

[0060] The second level consists of subclass templates, which list multiple specific implementation templates for each main class under that functional type. For example, the main class template for percentage analysis may include subclass templates such as overall percentage, percentage within a group, and percentage of fixed dimension values.

[0061] For example, taking the target object as the metric, such as Figure 4As shown, the interactive interface includes a template selection area and a template configuration area. The template selection area can include a main class template and a subclass template. The main class template can include year-on-year and month-on-month comparison, percentage analysis, custom comparison, and ranking calculation main class templates. Under the percentage analysis main class template, there can be four specific implementation subclass templates: calculating fixed dimension percentage, calculating grouped global percentage, calculating grouped subset percentage, and calculating global percentage.

[0062] Accordingly, the selection operation can include the first user's click operation on the main class template, and the click operation on the subclass templates under the selected main class template, to determine the target template. For example... Figure 4 As shown, the target template is a subclass template for calculating the proportion of fixed dimension values.

[0063] So, if Figure 4 As shown, the template configuration area displays the field configuration information of the target template. This includes fields used to configure the target template, such as partition fields, customer level, and order date configuration items.

[0064] For example, taking the target object as a calculated column, such as... Figure 5 As shown, the interactive interface includes a template selection area and a template configuration area. The template selection area includes a main class template and a subclass template. The main class template includes time-related, grouping / binning, and size rounding. Under the grouping / binning main class template, there are specific implementation subclass templates for grouping and binning.

[0065] Accordingly, the selection operation can include the first user's click operation on the main class template, and the click operation on the subclass templates under the selected main class template, to determine the target template. For example... Figure 5 As shown, the target template is the "Grouping and Binding" subclass template.

[0066] So, if Figure 5 As shown, the template configuration area displays the field configuration information of the target template. This includes fields used to configure the target template, such as partition fields, customer level, and order date.

[0067] It should be understood that the above examples are for illustrative purposes only and represent possible main class templates, and should not be construed as limiting the main class template.

[0068] For example, such as Figure 6 As shown, the main class template for metrics can also include main class templates such as "binary operations of addition, subtraction, multiplication and division", "basic indicators", "time accumulation calculation" and "user growth related".

[0069] like Figure 7 As shown, the main class template for calculated columns can also include main class templates such as "binary operations of addition, subtraction, multiplication and division", "field type conversion", and "string related".

[0070] Similarly, the specific types in the subclass templates and the field configuration information in the template configuration area in the above examples are only for illustrative purposes, representing possible specific types and field configuration information of subclass templates, and should not be interpreted as limitations on subclass templates and field configuration information.

[0071] Based on the above analysis, in this embodiment, the data processing system provides an interactive interface with a hierarchical template selection area, including "Main Class Templates (by analysis function type) → Subclass Templates (specific expressions)". This allows a large number of templates to be categorized according to analysis intent, facilitating maintenance and future template additions by the data processing system, thereby improving the logicality and scalability of template organization. Furthermore, users do not need to face dozens of unordered templates; instead, they can first narrow down the scope within the main class templates and then select the specific form from the corresponding small set of main class templates, improving search and creation efficiency and optimizing the user experience.

[0072] In some embodiments, the main class template and the subclass template are determined by analyzing historical creation records of data analysis language expressions directly written by the user.

[0073] As can be seen from the description in the background technology above, in related technologies, users mainly rely on their prior learning and write corresponding data analysis language expressions in the editor according to their needs to complete the creation of computational objects.

[0074] Therefore, historical creation records can be understood as records of data analysis language expressions that users have written directly in the editor in the past due to their creation needs.

[0075] For example, a data processing system can obtain records of data analysis language expressions that users directly wrote in the editor within a certain historical time period to meet their creation needs, in order to obtain historical creation records.

[0076] Correspondingly, the data processing system can analyze historical creation records, such as statistically analyzing high-frequency function combinations, identifying common logical structures, and clustering similar expressions to obtain analysis results. Based on the analysis results, the data processing system can abstract general analysis function types to obtain a main class template, and summarize typical expression patterns to obtain subclass templates.

[0077] For example, let's take creating a metric as an example: The historical creation records include expressions manually written by multiple users (such as analysts) to calculate the "sales percentage excluding promotional days". The data processing system can identify the common structure of each expression and build a subclass template corresponding to "sales percentage excluding promotional days" based on the same structure, and determine it as the subclass template under "Conditional Percentage Analysis" (analysis function type) as the main class template.

[0078] In some embodiments, the data processing system can analyze historical creation records. Based on the above analysis, it can be seen that in this embodiment, the data processing system determines the main class template and subclass template by combining historical creation records. This allows the main class template and subclass template to originate from historical expressions written by real users, reflecting actual analysis needs, thereby improving the practicality and application fit of the templates, and thus improving the accuracy and reliability of the creation of computational objects.

[0079] In some embodiments, the interactive interface may further include a basic information area, which includes a name and field descriptions corresponding to the target template. The field descriptions are used to describe the semantics of the target object in natural language.

[0080] The basic information area is a component of the interactive interface, used to display metadata related to the currently created computational object. For example... Figure 6 As shown, the basic information area is used to display basic measurement information. Figure 7 As shown, the basic information area is used to display basic information about the calculated columns. And as... Figures 4 to 7 As shown, the basic information area can include names and field descriptions.

[0081] The name is an identifying name corresponding to the selected target template (such as "sales percentage", "customer level label", etc.), used to identify the metric or calculated column to be generated.

[0082] like Figure 4 and Figure 6 As shown, when the target object is a metric and the target template is the "Calculate the percentage of fixed dimension values" subclass template, the name can be "Calculate the percentage of fixed dimension values".

[0083] like Figure 5 and Figure 7 As shown, when the target object is a calculated column and the target template is a "Grouping and Binning" subclass template, the name can be "Grouping and Binning".

[0084] Field descriptions are natural language text generated based on the current configuration operation (such as fields bound by drag and drop), used to describe the semantics of the target object under the current configuration. For example... Figure 4 and Figure 6 As shown, the field description "Customer level is XX member, percentage of all customer level counts by occupation" is used to represent the semantics of "Calculate the percentage of fixed dimension values" under the current configuration operation. For example... Figure 5 and Figure 7 As shown, the field description "Customer Level" is used to represent the semantics of "Grouping and Binning" under the current configuration operation.

[0085] In some embodiments, the first user can edit the name and field descriptions to obtain personalized names and field descriptions.

[0086] It's worth noting that the basic information area can also include other content. For example... Figure 5 , Figure 7 As shown, the basic information area may also include table information for creating computational objects, such as "Select Table". The first user can select the appropriate table from the selectable preset tables to create the computational object.

[0087] In addition, combined Figure 6 and Figure 7 As can be seen, the template selection area can also include a selection box. For example... Figure 6 As shown, the first user can enter keywords for the main class template or subclass template in the selection box to quickly select the corresponding metric template. Similarly, as... Figure 7 As shown, the first user can enter keywords for the main class template or subclass template in the selection box to quickly select the corresponding calculated column template.

[0088] Based on the above analysis, in this embodiment, the visual interactive interface may further include a basic information area to improve the understandability of creating computational objects, thereby further improving creation efficiency and enhancing user experience.

[0089] S302: Obtain the first user's interactive operations on the interactive interface. The interactive operations include the first user's selection of the target template in the template selection area and the configuration of the field configuration information of the target template in the template configuration area.

[0090] Accordingly, the first user can perform interactive operations in the interface according to their creation needs. For example, the first user can select a template corresponding to their creation needs in the template selection area, and configure the field configuration information of the selected template in the configuration area based on their creation needs.

[0091] In other words, the operations performed by the first user on the interactive interface mainly fall into two categories: Click on a template in the template selection area to select it as the target template; In the template configuration area, bind specific source fields to the placeholders for each field of the template (e.g., drag the "Molecular Field" into the "Sales Amount" field).

[0092] Continue to combine Figure 1 Following the example of the e-commerce platform above, assuming the first user is employee 102, who wants to create a metric, specifically a metric for "calculating the percentage of fixed-dimensional values," then: After the first user clicks the "+Measure" control, the data processing system can pop up a pop-up window like this: Figure 4 , Figure 6 The interactive interface shown.

[0093] like Figures 4 to 7 As shown, the interactive interface includes a template selection area, which contains multiple predefined templates for data analysis language expressions.

[0094] Suppose that in the template selection area, the first user selects the "Fixed Dimension Value Percentage" template; The template configuration area can display, for example: Figure 4 The configuration items shown include: "Partition Field", "Customer Level", "Order Date", etc.

[0095] Therefore, the first user can configure the field configuration information of the target template in the template configuration area.

[0096] For example, suppose the first user wants to create a computed column, specifically wanting to create "grouping and binning", then: After the first user clicks the "+Calculated Column" control, the data processing system can pop up a pop-up window like this: Figure 5 , Figure 7 The interactive interface shown is similarly illustrated. It includes a template selection area containing multiple predefined templates for data analysis language expressions.

[0097] Suppose that in the template selection area, the first user selects the "Grouping and Binding" template; The template configuration area can display multiple configuration items, such as "partition field", "customer level", and "order date".

[0098] Similarly, the first user can configure the field configuration information of the target template in the template configuration area.

[0099] Additionally, it's worth noting that the target object can be either a measure or a calculated column. Although measures and calculated columns are two different types of computed objects, the creation method for both is the same in this manual. Therefore, to avoid tedious explanations, this manual primarily uses the creation of a measure as an example for illustrative demonstration.

[0100] S303: Generate a creation result corresponding to the creation request based on the interactive operation, wherein the creation result includes the target data analysis language expression corresponding to the interactive operation.

[0101] For example, based on the above interactive operations, the data processing system can fill the fields selected by the first user configuration operation into the corresponding positions of the target template, thereby generating a complete target data analysis language (such as DAL) expression as the result of this creation request.

[0102] Based on the above analysis of S301 to S303, it can be seen that in this embodiment, the data processing system guides the first user to perform interactive operations based on their creation needs through a visual interactive interface, and automatically outputs the corresponding data analysis language expression based on the interactive operation. This can reduce the learning cost, lower the creation threshold, and improve creation efficiency and reliability.

[0103] Based on the above analysis, interactive operations can include selection operations and configuration operations.

[0104] In some embodiments, the template configuration area includes a field configuration display area and a slot filling display area; the configuration operation includes a drag operation in which a first user drags a field from the field configuration display area to the slot filling display area.

[0105] The field configuration display area is a sub-area within the template configuration area, used to display a list of fields that users can select.

[0106] like Figure 4 or Figure 5 As shown, the field configuration display area is used to display a list of fields for the target template that the first user can select. Specific examples include "Partition Fields," "Customer Level," and "Order Date."

[0107] The slot filling display area is another sub-area in the template configuration area besides the field configuration display area. It is used to display the configuration item placeholders (i.e., "slots") required by the currently selected template (i.e. the target template). Each slot corresponds to a parameter to be filled in the target template.

[0108] The slot fill display area is used to display the slots required by the target template. For example... Figure 4 As shown, specific slots include "fields for which percentages are to be calculated" and "grouping dimensions," etc. Figure 5 As shown, the slots are specifically designated as "Condition 1", "Condition 2", etc.

[0109] Drag and drop refers to the operation where the first user interacts with the graphical interface, selects a field element in the field configuration display area, and then drags and places it into a slot in the slot filling display area using the mouse or touch.

[0110] In other words, the field configuration display area is the starting point of the drag-and-drop operation, providing the field source. The slot filling display area is the ending point of the drag-and-drop operation, providing parameters to the slots of the target template.

[0111] For example, such as Figures 4 to 7As shown, the template configuration area comprises two sub-areas. One sub-area is the field configuration display area, which mainly lists the fields available in the current context as optional input sources. The other sub-area is the slot filling display area, which determines the parameters to be provided to the slots in the target template based on the first user's drag-and-drop operation.

[0112] Continuing with the example above, suppose the first user selects the "Month-on-Month Growth" sub-template in the template selection area. The template configuration area displays a field configuration display area and a slot filling display area. The field configuration display area shows a list of fields, such as "Sales Amount," "Number of Orders," and "Order Date"; the slot filling display area shows two slots, such as "Measurement Field" and "Time Field."

[0113] The first user can perform drag-and-drop operations, such as dragging "Sales Amount" from the field configuration display area into the "Measure Field" slot of the slot filling display area, and dragging "Order Date" from the field configuration display area into the "Time Field" slot of the slot filling display area.

[0114] In addition, combined Figure 6 and Figure 7 As can be seen, the field configuration display area can include more fields, and the first user can also quickly select the corresponding field through search.

[0115] Based on the above analysis, in this embodiment, the template configuration area includes a field configuration display area and a slot filling display area, and the configuration operation includes dragging fields from the field configuration display area to the slot filling display area. This allows the first user to complete parameter binding directly in a "what you see is what you get" manner without having to remember field names or switch input focus. This improves the intuitiveness and efficiency of the configuration operation, thereby increasing the accuracy and efficiency of creation.

[0116] Accordingly, S303 may include: obtaining configuration information corresponding to the drag-and-drop operation, filling the configuration information into the target template, and obtaining the target data analysis language expression.

[0117] Configuration information refers to the data recorded by the data processing system after the first user performs a drag-and-drop operation, showing the binding relationships between fields and slots. For example: "Molecular field slot ← [Sales Revenue]", "Time field slot ← [Order Date]". Therefore, the data processing system can substitute the specific field values ​​in the above binding relationship into the corresponding placeholder positions in the target template, thereby forming a complete and executable data analysis language expression.

[0118] In other words, the data processing system can capture the binding relationship between fields and slots based on the drag-and-drop operation of the first user to obtain configuration information, so as to fill the field values ​​in the configuration information into the placeholders of the target template, thereby obtaining the target data analysis language expression.

[0119] For example, after the first user completes the operation of dragging a field from the "Field Configuration Display Area" to the "Slot Fill Display Area", the data processing system can record the mapping relationship established by the drag operation. For example: slot ID "numerator" is bound to the field "[Sales Amount]"; slot ID "time_field" is bound to the field "[Order Date]". These mapping relationships can be used as configuration information.

[0120] Assuming the target template includes RATIO({{numerator}}), the data processing system can replace the field values ​​in the configuration information with the corresponding placeholders in the target template to perform interpolation on the target template, such as {{numerator}} → [sales amount], to obtain the corresponding data analysis language expression.

[0121] Based on the above analysis, in this embodiment, the data processing system first obtains the field-slot binding relationship (i.e., configuration information) generated based on drag-and-drop operations, and then fills it into the placeholders of the target template. This allows drag-and-drop operations to be reliably and predictably converted into effective data analysis language expressions, avoiding handwriting errors, thus improving both the accuracy and efficiency of creation.

[0122] Based on the above analysis, it can be seen that the data processing system determines the configuration information based on drag-and-drop operations, and fills the target template based on the configuration information to obtain the target data analysis language expression.

[0123] To ensure that drag-and-drop operations are translated into valid configuration information, in some embodiments, the data processing system may add a verification mechanism when obtaining the configuration information. For example, in response to a drag-and-drop operation, the data processing system may determine the first field type of the dragged field and the second field type of the target slot, where the target slot is the slot in the slot-filled display area where the dragged field is placed. If the first field type and the second field type are the same, then the configuration information is obtained.

[0124] The dragged field refers to the field element that the first user drags out from the field configuration display area (such as [Sales Amount] in the example above).

[0125] The first field type refers to the field type of the dragged field, such as "numeric", "date", "text", etc.

[0126] The target slot refers to the specific slot in the display area where the dragged field will be placed. Examples include the "Molecular Field" slot and the "Time Dimension" slot.

[0127] The second field type refers to the field type required or corresponding to the target slot. For example, the "Molecular Field" slot requires "numeric type", and the "Time Dimension" slot requires "date type", etc.

[0128] The data processing system can then determine whether the type of the first field is the same as the type of the second field. For example, if the type of the second field is "numeric", then it can check whether the type of the first field is also "numeric". If so, the data processing system will then record the drag-and-drop operation as valid configuration information.

[0129] For example, when a first user drags a field into a slot, the data processing system can obtain the first field type of that field, such as the [Order Date] field being of type "Date," and the second field type, such as the "Time Field" slot being pre-required to be of type "Date." The data processing system will compare the first field type with the second field type. If the comparison shows that both the first and second field types are "Date," the data processing system determines that the drag-and-drop operation is valid and obtains the configuration information.

[0130] Based on the above analysis, it can be seen that in this embodiment, the data processing system adds a field type verification mechanism so that when the type of the dragged field is the same as the type required by the target slot, the drag operation is converted into valid configuration information, which can improve the validity of the configuration information and thus achieve the accuracy and reliability of generating target data analysis language expressions.

[0131] In other embodiments, the first field type and the second field type may be different field types. In this case, the data processing system can output a prompt message to indicate the field types supported by the corresponding operation, allowing the first user to make adaptive adjustments.

[0132] For example, if the first field is of type "text" and the second field is of type "numeric", then the data processing system can output a prompt message.

[0133] like Figure 8As shown, assuming the drag-and-drop operation involves dragging the "Customer Level" field (text type) from the field configuration display area into the "Date" slot in the slot fill display area, the data processing system can output the prompt message "Please drag the baseline date field used to calculate the percentage," or the prompt message could also include "Only date type fields are supported," so that the first user can re-drag based on this prompt message. Correspondingly, the data processing system does not need to establish a binding; the operation is ineffective, meaning it does not need to obtain configuration information to avoid incorrectly generating data analysis language expressions.

[0134] Based on the above analysis, the interactive interface can include a template selection area and a template configuration area to provide a visual interface for the first user. Correspondingly, the data processing system can generate relevant data analysis language expressions based on the first user's interactive operations within the interface.

[0135] Therefore, in some embodiments, the interactive interface also includes an expression preview area, which may include an expression visualization area for displaying the target data analysis language expression.

[0136] For example, the expression preview area is a component of the interactive interface, and this area includes an expression visualization area that can be used to provide the first user with the ability to display expressions related to the current configuration.

[0137] like Figures 4 to 7 As shown, in addition to the basic information area, template selection area, and template configuration area mentioned in the example above, the interactive interface also includes an expression preview area. This expression preview area includes an expression visualization area, which displays the target data analysis language expression generated by the data processing system after the first user completes the configuration operation (such as the drag-and-drop operation in the example above).

[0138] Taking DAL (Data Analysis Language) as an example, such as Figure 6 As shown, the expression visualization area displays the DAL expression for the metric. Figure 7 As shown, the expression visualization area can display the DAL expression of the calculated column. It is worth noting that if the first user adjusts their previous operations in the template selection area or template configuration area, such as switching the selection of sub-templates or switching the drag-and-drop operation of fields in the template configuration area, the expression visualization area can dynamically display the corresponding DAL expression.

[0139] Based on the above analysis, in this embodiment, the interactive interface also includes an expression preview area, which further includes an expression visualization area. This visualization area displays the generated target data analysis language expression to the first user. This allows for a dynamic and visual display of the data analysis language expression corresponding to the interactive operation, thereby improving the user experience.

[0140] In some embodiments, the expression preview area further includes an interactive control area, which includes interactive controls, including at least one of interpretation, expression explanation, and further processing; the data processing method provided in this specification also includes at least one of the following examples: Example 1) In response to the first user's trigger operation on the interpretation of the caliber, a preview SQL statement and preview results converted from the target data analysis language expression are displayed in the interactive interface.

[0141] Example 2) In response to the first user's trigger action on the expression interpretation, display semantic interpretation information of the target data analysis language expression in the interactive interface.

[0142] Example 3) In response to the first user's trigger operation to continue processing, the system jumps to and populates the target data analysis language expression into the expression editor page, so as to adjust the target data analysis language expression based on the first user's editing operation on the expression editor page.

[0143] Interactive controls refer to user-operable elements provided in the interactive control area of ​​the expression preview area, used to trigger corresponding functions. Interactive controls can include one or more of the following: definition interpretation, expression explanation, and further processing.

[0144] like Figures 4 to 7 As shown, this manual mainly uses three interactive controls—caliber interpretation, expression explanation, and further processing—as examples for illustrative explanation.

[0145] Regarding Example 1 above): Figure 9 As shown, the first user can click the interpretation control, and the data processing system can display a preview SQL statement (such as an SQL expression) and preview results converted from the target data analysis language expression in the interactive interface.

[0146] Regarding Example 2 above): Semantic explanation information refers to the user-readable and understandable explanation of the logic of an expression.

[0147] like Figure 10As shown, if the target data analysis language expression is a DAL expression, the first user can click the expression explanation control, and the data processing system can display the semantic explanation information of the DAL expression in the interactive interface (such as explaining what the expression "does" in natural language or structured description).

[0148] Regarding Example 3 above): An expression editor page refers to an editing interface (such as a code editor) that allows the first user to write or modify expressions in the target data analysis language.

[0149] For example, a first user can click the "Continue Processing" control, and the data processing system can either jump to the expression editor page from the current interface, or display the expression editor page within the current interface. The data processing system can then populate the target data analysis language expression into the expression editor page, where the first user can edit (e.g., modify) the target data analysis language expression. The data processing system can then adjust the target data analysis language expression based on the first user's edits to regenerate the target data analysis language expression.

[0150] In some embodiments, such as Figure 11 As shown, in response to the first user clicking the "Continue Processing" control, the data processing system can output a prompt message to indicate whether the first user really wants to go to the editor page and to suggest that the first user can modify the target data analysis language expression in the current interface.

[0151] If the user clicks Figure 11 The confirmation control shown indicates that the data processing system will populate the target data analysis language expression into the expression editor page, so that the first user can edit (such as modify) the target data analysis language expression in the expression editor page.

[0152] Conversely, if the user clicks Figure 11 If the cancel control is shown, the data processing system will not adjust the page and will still provide the current interactive interface to the first user.

[0153] Based on the above analysis, it can be seen that in this embodiment, the data processing system can improve the flexibility and diversity of creation and enhance the user experience by introducing at least one of the three controls: caliber interpretation, expression interpretation, and further processing.

[0154] In some embodiments, in response to an adjustment operation performed by a first user on a configuration operation based on a preview result, a target data analysis language expression is regenerated based on the adjustment operation.

[0155] For example, after the first user clicks the interpretation control, the interactive interface can display a preview result corresponding to the target data analysis language expression. The first user can judge the correctness of the preview result, and if the user judges that the preview result is biased, the user can return to the template configuration area (or related configuration interface) to modify the previous configuration operation (such as changing fields, adjusting conditions, etc.).

[0156] Correspondingly, the data processing system can regenerate the target data analysis language expression based on the modification and other adjustment operations.

[0157] For example, suppose that after the first user clicks the interpretation control, the first user sees a preview result (such as a numerical value) derived from the current target expression in the interactive interface. The first user can then estimate the accuracy of this preview result.

[0158] If the preview result does not meet expectations, such as the preview result value being too large or too small, the first user can return to the template selection area and template configuration area, for example, to select another sub-type template in the target selection area; or change the original field [order amount] to [payment amount], etc., to adjust the previous drag-and-drop operation.

[0159] The data processing system can detect the above adjustment operations and use them as a new configuration input to regenerate the corresponding data analysis language expression.

[0160] Therefore, as Figure 6 As shown, the interactive control area can be used for measurement verification and secondary editing. Based on the above analysis, the first user can perform measurement verification based on the preview results (such as judging the correctness of the preview results), and if the verification fails (such as the preview results have deviations), the first user can return to the template configuration area (or related configuration interface) to modify the previous configuration operations (such as changing fields, adjusting conditions, etc.) for secondary editing.

[0161] Based on the above analysis, it can be seen that in this embodiment, the data processing system can regenerate the target data analysis language expression by combining the feedback of the preview results, which can enable rapid trial and error and correction, thereby significantly reducing the configuration threshold, improving the accuracy and flexibility of creation, and enhancing the user experience.

[0162] Based on the above analysis, it can be seen that the data processing system can provide a visual interactive interface, allowing users to perform interactive operations (such as selection and drag-and-drop). Therefore, the data processing system can fill the slots in the template corresponding to the creation requirements based on these interactive operations, thereby generating the corresponding data analysis language expressions, i.e., generating the corresponding creation results.

[0163] In some embodiments, after generating the target data analysis language expression, the data processing system can also verify the target data analysis language expression to improve the accuracy and reliability of the creation.

[0164] For example, the data processing system can validate the target data analysis language expression from a syntactic perspective. If the validation is successful, the expression is created successfully. Conversely, if the validation fails, such as when the target data analysis language expression does not conform to the syntactic description, the data processing system can also provide the first user with a validation failure message. This allows the first user to modify the drag-and-drop operation or the target data analysis language expression based on the message, thereby regenerating the target data analysis language expression.

[0165] In some embodiments, the user who creates the corresponding data analysis language expression (such as the first user who creates the target data analysis language expression), or other users, may need to edit the already created data analysis language expression again. Therefore, the method provided in this specification further includes: in response to a second user's request to edit a historical creation result, in the following manner: Method 1) if the historical creation result has been edited by the expression editor, then jump to the expression editor page corresponding to the historical creation result; Method 2) if the historical creation result has not been edited by the expression editor, then jump to the expression visualization area page corresponding to the historical creation result.

[0166] The second user is the user who initiates the request to edit the historical creation results. This user may be the first user or another user, and this embodiment does not limit it.

[0167] Historical creation results refer to data analysis language expressions created by the data processing system based on user creation requirements for previously created computed objects (measures or computed columns) using the methods described above. For example, the target data analysis language expression created in the example above.

[0168] For example, after the data processing system receives an edit request initiated by a second user, the data processing system can determine whether the historical creation results have been edited by the expression editor.

[0169] For method 1), if the historical creation result was edited by the expression editor—that is, the historical creation result was manually modified during its lifecycle by navigating to the expression editor page via the continue processing control—then the data processing system can navigate to the expression editor page and load the current expression into the editor for a second user to continue manually adjusting it.

[0170] Conversely, for method 2), if the historical creation result is one that has not been edited by the expression editor—meaning it was generated entirely through the template configuration process without any manual adjustments in the expression editor—then the data processing system can redirect to the page containing the original template configuration process (e.g., an interactive interface including template selection, field configuration display, slot filling display, and expression visualization areas) to allow a second user to modify the configuration again via drag-and-drop or similar methods.

[0171] Based on the above analysis, in this embodiment, the data processing system, by considering whether the historical creation results have been edited, redirects users to different pages upon an edit request. This allows the second user to make modifications within an interface that matches their expectations, while preserving the user's original creation method, ensuring a consistent, efficient, and unambiguous editing experience. This improves the effectiveness, reliability, and accuracy of subsequent edits.

[0172] In some embodiments, during the process of generating creation results based on interactive operations, the data processing system can first construct an abstract syntax tree corresponding to the interactive operations, and then fill the target template according to the abstract syntax tree to obtain the creation result, such as a target data analysis language expression.

[0173] An Abstract Syntax Tree (AST) is a tree-like data structure used to represent the logical structure corresponding to user interaction operations.

[0174] For example, the data processing system can convert the drag-and-drop operation of the first user into an abstract syntax tree, and map the structure and content of the abstract syntax tree into placeholders in the target template, ultimately generating a complete target data analysis language expression.

[0175] For example, after the first user completes the configuration operation, such as after the first user completes the drag-and-drop operation, the data processing system constructs the configuration information (the binding relationship between fields and slots) into an abstract syntax tree.

[0176] Specifically, if the target template is a subclass template of "aggregate summation" and the slot is bound to the field [sales amount], then the root node of the abstract syntax tree can be "summation SUM", and its child nodes can be [sales amount]. The data processing system can traverse the abstract syntax tree, extract node information (input function name, field name, nested structure, etc.), and fill it into the corresponding position in the target template to finally generate the target data analysis language expression.

[0177] Among them, the data processing system can use a recursive approach to construct the abstract syntax tree.

[0178] For example, a subclass template corresponds to a predefined nested structure, or an abstract syntax tree framework. The predefined nested structure of a subclass template is used to characterize which (sub)components the subclass template includes, how the (sub)components are combined (such as function calls, conditional branches, numerators / denominators, etc.), and whether each (sub)component can be further bound to fields or trigger the next level of template logic, etc.

[0179] Specifically, regarding the construction of the abstract syntax tree for the target template, the data processing system can recursively create corresponding syntax nodes for each template level (i.e., the logical hierarchy between the target template and its internal (sub)components) based on the predefined nested structure of the target template; for template levels containing sub-expressions, its subtrees are recursively constructed; for configuration items that bind fields or constants, leaf nodes are created, thereby forming a complete abstract syntax tree.

[0180] Based on the above analysis, it can be seen that in this embodiment, the data processing system first constructs an abstract syntax tree based on interactive operations, then fills the target template based on this abstract syntax tree, and finally generates the target data analysis language expression. This can improve the structure, accuracy, and maintainability of the creation process, thereby further improving the accuracy and reliability of the creation.

[0181] In some embodiments, after constructing the abstract syntax tree, the data processing system can start from the root node, recursively traverse each child node, and match the corresponding expression generation rules according to the type of each node to generate the corresponding target data analysis language fragment.

[0182] For example, the abstract syntax tree includes various types of nodes, such as function nodes (used to represent aggregation or transformation functions), field nodes (used to represent physical table fields), operator nodes (used to represent comparison, arithmetic, or logical operations), and condition nodes (used to represent filtering logic).

[0183] For each node type, the data processing system pre-defines corresponding expression generation rules: function nodes correspond to function call generation rules, such as SUM({{field}}); field nodes correspond to column reference generation rules, such as [{{field_name}}]; operator nodes correspond to operator generation rules, such as {{left}}>{{right}}; and condition nodes correspond to condition expression generation rules, such as FILTER(..., {{condition}}) or WHERE {{condition}} in SQL.

[0184] Correspondingly, during the traversal of the abstract syntax tree, the data processing system applies the corresponding generation rules based on the current node type, and substitutes the results generated by the child nodes as parameters, recursively combining them into a complete expression. Ultimately, this method generates a complete expression that conforms to the syntax of the target data analysis language.

[0185] It is worth noting that the above examples are merely illustrative of possible implementations of the data processing method described in this specification, and should not be construed as limiting the implementation of the data processing method described in this specification. For example, based on the above technical concept, some of the technical features described above can be combined to obtain new embodiments; new technical features can be added to the above examples to obtain new embodiments; some technical features can be removed from the above examples to obtain new embodiments; some technical features in the above examples can be replaced with other technical features; some technical features and their order in the above examples can be adjusted to obtain new embodiments, and so on, which will not be listed here.

[0186] Based on the above-described technical concept, this specification also provides a computer-readable non-transitory storage medium storing at least one instruction set, which, when executed by a processor, performs the steps of the data processing method described in this specification.

[0187] In some possible implementations, various aspects of this specification can also be implemented as a program product comprising program code. When the program product is run on the data processing system 200, the program code causes the data processing system 200 to perform the steps of the data processing method described in this specification. The program product for implementing the above method may employ a portable compact disc read-only memory (CD-ROM) containing program code and may run on the data processing system 200. However, the program product of this specification is not limited thereto. In this specification, a readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system. The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media include: electrical connections having one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. The computer-readable storage medium may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable storage medium may also be any readable medium other than a readable storage medium that can send, propagate, or transmit programs for use by or in connection with an instruction execution system, apparatus, or device. Program code contained on a readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof. Program code for performing the operations described herein can be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java and C++, and conventional procedural programming languages ​​such as C or similar languages. The program code can be executed entirely on data processing system 200, partially on data processing system 200, as a standalone software package, partially on data processing system 200 and partially on a remote data processing system, or entirely on remote data processing system 200.

[0188] It should be noted that the collection, storage, use, processing, transmission, provision, and disclosure of user-related information (such as customer level, customer occupation, etc.) involved in the technical solution of this specification all comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0189] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require a specific or sequential order to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.

[0190] In summary, after reading this detailed disclosure, those skilled in the art will understand that the foregoing detailed disclosure is presented by way of example only and is not restrictive. Although not explicitly stated herein, those skilled in the art will understand that this specification requires various reasonable changes, improvements, and modifications to the embodiments. These changes, improvements, and modifications are intended to be made by this specification and are within the spirit and scope of the exemplary embodiments described herein.

[0191] Furthermore, certain terms in this specification have been used to describe embodiments of this specification. For example, "an embodiment," "an embodiment," and / or "some embodiments" mean that a particular feature, structure, or characteristic described in connection with that embodiment may be included in at least one embodiment of this specification. Therefore, it is to be emphasized and understood that two or more references to "an embodiment" or "an embodiment" or "alternative embodiment" in various parts of this specification do not necessarily refer to the same embodiment. Moreover, specific features, structures, or characteristics may be suitably combined in one or more embodiments of this specification.

[0192] It should be understood that in the foregoing description of the embodiments in this specification, various features are combined in a single embodiment, drawing, or description for the purpose of simplifying the description and to aid in understanding a feature. However, this does not mean that the combination of these features is necessary, and those skilled in the art, upon reading this specification, may readily identify some of the devices as separate embodiments. That is, the embodiments in this specification can also be understood as an integration of multiple secondary embodiments. And the content of each secondary embodiment is valid even if it contains fewer than all the features of a single foregoing disclosed embodiment.

[0193] Every patent, patent application, publication of a patent application, and other material cited herein, such as articles, books, specifications, publications, documents, and literature (excluding any related historical examination documents), is referenced for all purposes relevant to this document, including in the specification and claims herein. However, in the event of any inconsistency or conflict between the descriptions, definitions, and / or terms used in the foregoing and those used herein, the descriptions, definitions, and / or terms used herein shall prevail.

[0194] Finally, it should be understood that the embodiments disclosed herein are illustrative of the principles of the embodiments described in this specification. Other modified embodiments are also within the scope of this specification. Therefore, the embodiments disclosed in this specification are merely examples and not limitations. Those skilled in the art can implement the applications described in this specification using alternative configurations based on the embodiments in this specification. Therefore, the embodiments in this specification are not limited to the embodiments precisely described in the applications.

Claims

1. A data processing method for creating computed objects in a data analysis product, the computed objects including measures and computed columns; the method comprising: In response to a first user's request to create a target object in the computational object, an interactive interface is provided, wherein the interactive interface includes a template selection area and a template configuration area, the template selection area is configured to display several predefined templates of data analysis language expressions corresponding to the target object, and the template configuration area is configured to display the field configuration information of the predefined template of data analysis language expressions selected in the template selection area; The system obtains the first user's interaction operations on the interactive interface, including the first user's selection of a target template in the template selection area and configuration of field configuration information of the target template in the template configuration area; and... The creation result corresponding to the creation request is generated based on the interactive operation, wherein the creation result includes a target data analysis language expression corresponding to the interactive operation.

2. The method according to claim 1, wherein, The predefined templates for several data analysis language expressions include several main class templates, each corresponding to a type of analysis function; at least one main class template contains several subclass templates, each corresponding to a data analysis language expression template.

3. The method according to claim 2, wherein, The main class template and subclass template are determined by analyzing the historical creation records of data analysis language expressions directly written by the user.

4. The method according to claim 1, wherein, The template configuration area includes a field configuration display area and a slot filling display area; the configuration operation includes the first user dragging a field from the field configuration display area to the slot filling display area.

5. The method according to claim 4, wherein, Generating a target data analysis language expression corresponding to the interactive operation includes: Obtain the configuration information corresponding to the drag-and-drop operation; and The configuration information is filled into the target template to obtain the target data analysis language expression.

6. The method according to claim 5, wherein, Obtain the configuration information corresponding to the drag-and-drop operation, including: In response to the drag operation, the first field type of the dragged field and the second field type corresponding to the target slot are determined, wherein the target slot is the slot in the slot-filled display area where the dragged field is dragged; and If the first field type and the second field type are the same field type, then the configuration information is obtained.

7. The method according to claim 1, wherein, The interactive interface also includes an expression preview area; the expression preview area includes an expression visualization area, which is used to display the target data analysis language expression.

8. The method according to claim 7, wherein, The expression preview area further includes an interactive control area, which includes interactive controls, including at least one of interpretation, expression explanation, and further processing; the method also includes at least one of the following: In response to the first user's trigger operation on the interpretation of the caliber, a preview SQL statement and preview result converted from the target data analysis language expression are displayed in the interactive interface; In response to the first user's triggering operation to interpret the expression, semantic interpretation information of the target data analysis language expression is displayed in the interactive interface; In response to the first user's trigger operation for continued processing, the target data analysis language expression is provided and populated into the expression editor page to adjust the target data analysis language expression based on the first user's editing operation on the expression editor page.

9. The method according to claim 8, wherein, The method further includes: In response to the first user's adjustment operation on the configuration operation based on the preview result, the target data analysis language expression is regenerated based on the adjustment operation.

10. The method according to claim 8, wherein, The method further includes: Obtain the second user's edit request for the historical creation results; If the historical creation result is a result edited by the expression editor, then jump to the expression editor page corresponding to the historical creation result; If the historical creation result is one that has not been edited by the expression editor, then the page will jump to the expression visualization area corresponding to the historical creation result.

11. The method according to claim 1, wherein, The interactive interface also includes a basic information area, which includes a name and field descriptions corresponding to the target template. The field descriptions are used to describe the semantics of the target object in natural language.

12. The method according to claim 1, wherein, Generate a creation result corresponding to the creation request based on the interactive operation, including: Construct an abstract syntax tree corresponding to the interactive operation; The target template is populated based on the abstract syntax tree to obtain the target data analysis language expression.

13. A data processing system, comprising: At least one storage medium storing at least one instruction set for data processing; At least one processor is communicatively connected to the at least one storage medium, wherein when the at least one processor is running, it reads the at least one instruction set and executes the method as described in any one of claims 1 to 12 according to the instructions of the at least one instruction set.