AGGREGATION FUNCTION CONTROL IN DATA MODELING USING ARTIFICIAL INTELLIGENCE
Methods, systems, and apparatus, including computer-readable media, for aggregation function control in data modeling using artificial intelligence. In some implementations, the system stores a data model for one or more data sets, where the data model identifies a set of data objects in the one or more data sets. The system stores a setting for a particular data object specifying whether the data object is aggregatable with respect to a particular dimension. The system receives a user prompt though a chatbot interface, and the system provides a request to one or more artificial intelligence and/or machine learning (AI/ML) models based on the user prompt. The request (i) indicates the data objects identified in the data model and (ii) indicates the setting for the particular data object. The system provides a response based on output generated by the one or more AI/ML models in response to the request.
1 . A method performed by one or more computers, the method comprising:
storing, by the one or more computers, a data model for one or more data sets, wherein the data model identifies a set of data objects in the one or more data sets;
storing, by the one or more computers, a setting for a particular data object specifying whether the data object is aggregatable with respect to a particular dimension;
receiving, by the one or more computers, a user prompt though a chatbot interface;
providing, by the one or more computers, a request to one or more artificial intelligence and/or machine learning (AI/ML) models based on the user prompt, wherein the request (i) indicates the data objects identified in the data model and (ii) indicates the setting for the particular data object specifying whether the data object is aggregatable with respect to the particular dimension; and
providing, by the one or more computers, a response to the user prompt based on output generated by the one or more AI/ML models in response to the request.
2 . The method of claim 1 , wherein storing the setting comprises storing the setting in the data model.
3 . The method of claim 1 , wherein storing the setting comprises storing the setting in an object definition for the particular data object that is stored in a semantic graph.
4 . The method of claim 1 , wherein the setting specifies that the particular data object is non-aggregatable with respect to the particular dimension.
5 . The method of claim 4 , further comprising storing a second setting that specifies an alternative type of value to be provided instead of an aggregation of the particular data object.
6 . The method of claim 5 , wherein the alternative type of value comprises a beginning value of a series, an ending value of the series, a maximum value of the series, or a minimum value of the series.
7 . The method of claim 1 , wherein the particular dimension comprises time, date, location, geographical area, people, or products.
8 . The method of claim 1 , comprising storing, for one or more of the data objects, data specifying one of a plurality of different aggregation functions to use for calculating aggregations of values for the one or more data objects.
9 . The method of claim 1 , wherein the output generated by the one or more AI/ML models is used to send data processing instructions or a structured query language (SQL) statement to a database system, wherein the database system is configured to provide results while enforcing the setting for the particular data object.
10 . The method of claim 9 , comprising providing the results to the one or more AI/ML models in a second request;
wherein providing the response to the user prompt comprises providing text that the one or more AI/ML models generated based on the results from the database system.
11 . The method of claim 1 , wherein storing the setting for the particular data object comprises storing (i) a first setting indicating that the particular data object is non-aggregatable with respect to a first dimension, and (ii) a second setting indicating that the particular data object is aggregatable with respect to a second dimension that is different from the first dimension.
12 . The method of claim 1 , comprising storing a second setting that specifies, for one or more data values, (i) a first aggregation function to be used for a first dimension and (ii) a second aggregation function to be used for a second dimension, wherein the second aggregation function is different from the first aggregation function.
13 . The method of claim 1 , wherein the set of data objects comprises a fact metric data object that combines characteristics of a fact data object with an ability for aggregation at a level of a data store or database, before retrieval of data values or transfer of data values from the data store or database over a network
14 . The method of claim 13 , comprising providing an instruction to retrieve data for the fact metric data object, wherein the instruction is for a data store or database to perform a filter operation or an aggregation of values of the fact metric data object and return the filtered or aggregated result instead of retrieving values in a column of data corresponding to the fact metric and a column of data for the filter operation or aggregation.
15 . The method of claim 13 , wherein the fact metric data object specifies an order of operations to be performed for retrieving values of the fact metric, wherein the order of operations is different from a second order of operations used for facts or metrics, and wherein the order of operations involves a filter condition or aggregation to be applied by a data storage system or data storage service such that data retrieval transfers the filtered or aggregated result and does not transfer the unfiltered source data values for the fact metric.
16 . A system comprising:
one or more computers; and
one or more computer-readable media storing instructions that are operable, when executed by the one or more computers, to perform operations comprising:
storing, by the one or more computers, a data model for one or more data sets, wherein the data model identifies a set of data objects in the one or more data sets;
storing, by the one or more computers, a setting for a particular data object specifying whether the data object is aggregatable with respect to a particular dimension;
receiving, by the one or more computers, a user prompt though a chatbot interface;
providing, by the one or more computers, a request to one or more artificial intelligence and/or machine learning (AI/ML) models based on the user prompt, wherein the request (i) indicates the data objects identified in the data model and (ii) indicates the setting for the particular data object specifying whether the data object is aggregatable with respect to the particular dimension; and
providing, by the one or more computers, a response to the user prompt based on output generated by the one or more AI/ML models in response to the request.
17 . The system of claim 16 , wherein storing the setting comprises storing the setting in the data model.
18 . The system of claim 16 , wherein storing the setting comprises storing the setting in an object definition for the particular data object that is stored in a semantic graph.
19 . The system of claim 16 , wherein the setting specifies that the particular data object is non-aggregatable with respect to the particular dimension.
20 . One or more non-transitory computer-readable media storing instructions that are operable, when executed by the one or more computers, to perform operations comprising:
storing, by the one or more computers, a data model for one or more data sets, wherein the data model identifies a set of data objects in the one or more data sets;
storing, by the one or more computers, a setting for a particular data object specifying whether the data object is aggregatable with respect to a particular dimension;
receiving, by the one or more computers, a user prompt though a chatbot interface;
providing, by the one or more computers, a request to one or more artificial intelligence and/or machine learning (AI/ML) models based on the user prompt, wherein the request (i) indicates the data objects identified in the data model and (ii) indicates the setting for the particular data object specifying whether the data object is aggregatable with respect to the particular dimension; and
providing, by the one or more computers, a response to the user prompt based on output generated by the one or more AI/ML models in response to the request.