Intelligent search modification guidance
A low-latency database analysis system outputs visualization data for presenting a visualization representing results data responsive to the request for data, and, in response to outputting the visualization data, generates a diverse plurality of candidate modifications for the request for data, outputs candidate modification data for presenting the diverse plurality of candidate modifications in association with the presentation of the visualization representing the results data, in response to outputting the candidate modification data, obtains user input data identifying a candidate modification from the diverse plurality of candidate modifications as a selected modification, in response to the user input data, executes a data-query expressing the request for data modified by the selected modification to obtain second results data responsive to the request for data modified by the selected modification, and in response to the second results data, outputs visualization data for presenting a visualization representing the second results data.
1 . A method comprising:
obtaining, by a database analysis system, first user input data indicating a request for data from the database analysis system;
obtaining an analytical-object generated by the database analysis system as a representation of the request for data to the database analysis system;
obtaining, using the analytical-object, a first data query automatically generated by the database analysis system to express the request for data in accordance with a defined structured query language associated with a database accessible by the database analysis system;
obtaining, by the database analysis system, first results data generated by the database executing the first data query, the first results data responsive to the request for data and current relative to obtaining the first user input data;
in response to obtaining the first results data, outputting visualization data for presenting a visualization representing the first results data;
in response to outputting the visualization data:
generating a diverse plurality of candidate modifications for the request for data including:
a first candidate modification for modifying the request for data in accordance with a first modification type; and
a second candidate modification for modifying the request for data in accordance with a second modification type that differs from the first modification type, wherein generating the diverse plurality of candidate modifications includes generating the diverse plurality of candidate modifications in accordance with a defined plurality of modification types wherein the defined plurality of modification types includes an additive modification type, a subtractive modification type, a comparative modification type, a filter modification type, a focus modification type, a historical modification type, and an outlier modification type; and
outputting candidate modification data for presenting the diverse plurality of candidate modifications in association with presenting the visualization representing the first results data;
in response to outputting the candidate modification data, obtaining second user input data identifying a candidate modification from the diverse plurality of candidate modifications as a selected modification;
in response to obtaining the second user input data, obtaining a modified request for data including the request for data modified by the selected modification;
obtaining a second data query automatically generated by the database analysis system to express the modified request for data in accordance with the defined structured query language;
obtaining, by the database analysis system, second results data generated by the database executing the second data query, the second results data responsive to the modified request for data and current relative to obtaining the second user input data; and
in response to obtaining the second results data, outputting visualization data for presenting a visualization representing the second results data.
2 . The method of claim 1 , wherein generating the diverse plurality of candidate modifications includes generating the first candidate modification such that the first candidate modification is a comparative modification indicating a comparison with respect to a first value and a second value indicated in the second results data.
3 . The method of claim 1 , wherein generating the diverse plurality of candidate modifications includes generating the first candidate modification such that the first candidate modification includes a text input element for modifying the request for data by adding a filter or a column.
4 . The method of claim 1 , wherein generating the diverse plurality of candidate modifications includes generating the first candidate modification such that, in response to determining that the first results data includes a date column, the first candidate modification includes a date filter modification.
5 . The method of claim 1 , wherein generating the diverse plurality of candidate modifications includes:
identifying a geographic region associated with a user associated with the second user input data; and
generating the first candidate modification such that the first candidate modification includes a geographic region modification in accordance with the geographic region.
6 . A database analysis system, comprising:
a memory that stores executable instructions; and
a processor that executes the instructions to:
obtain first user input data that indicates a request for data from the database analysis system;
obtain an analytical-object generated by the database analysis system as a representation of the request for data to the database analysis system;
obtain, based on the analytical-object, a first data query automatically generated by the database analysis system to express the request for data in accordance with a defined structured query language associated with a database accessible by the database analysis system;
obtain first results data generated by execution of the first data query by the database, the first results data responsive to the request for data and current relative to the first user input data;
in response to the first results data, output visualization data for presenting a visualization representing the first results data;
in response to outputting the visualization data:
generate a diverse plurality of candidate modifications for the request for data including:
a first candidate modification for modifying the request for data in accordance with a first modification type; and
a second candidate modification for modifying the request for data in accordance with a second modification type that differs from the first modification type, wherein, to generate the diverse plurality of candidate modifications, the processor executes the instructions to generate the diverse plurality of candidate modifications in accordance with a defined plurality of modification types, wherein the defined plurality of modification types includes an additive modification type, a subtractive modification type, a comparative modification type, a filter modification type, a focus modification type, a historical modification type, and an outlier modification type; and
output candidate modification data for presenting the diverse plurality of candidate modifications in association with the presentation of the visualization representing the first results data;
in response to outputting the candidate modification data, obtain second user input data identifying a candidate modification from the diverse plurality of candidate modifications as a selected modification;
in response to the second user input data, obtain a modified request for data including the request for data modified by the selected modification;
obtain a second data query automatically generated by the database analysis system to express the modified request for data in accordance with the defined structured query language;
obtain second results data generated by execution of the second data query by the database, the second results data responsive to the modified request for data and current relative to the second user input data; and
in response to the second results data, output visualization data for presenting a visualization representing the second results data.
7 . The database analysis system of claim 6 , wherein to generate the diverse plurality of candidate modifications the processor executes the instructions to generate the first candidate modification such that the first candidate modification is a comparative modification indicating a comparison with respect to a first value and a second value indicated in the second results data.
8 . The database analysis system of claim 6 , wherein to generate the diverse plurality of candidate modifications the processor executes the instructions to generate the first candidate modification such that the first candidate modification includes a text input element for modifying the request for data by adding a filter or a column.
9 . The database analysis system of claim 6 , wherein to generate the diverse plurality of candidate modifications the processor executes the instructions to generate the first candidate modification such that, in response to determining that the first results data includes a date column, the first candidate modification includes a date filter modification.
10 . The database analysis system of claim 6 , wherein to generate the diverse plurality of candidate modifications the processor executes the instructions to:
identify a geographic region associated with a user associated with the second user input data; and
generate the first candidate modification such that the first candidate modification includes a geographic region modification in accordance with the geographic region.
11 . A non-transitory computer-readable storage medium, comprising executable instructions such that execution of the instructions by a processor includes:
obtaining, by a database analysis system, first user input data indicating a request for data from the database analysis system;
obtaining an analytical-object generated by the database analysis system as a representation of the request for data to the database analysis system;
obtaining, using the analytical-object, a first data query automatically generated by the database analysis system to express the request for data in accordance with a defined structured query language associated with a database accessible by the database analysis system;
obtaining, by the database analysis system, first results data generated by the database executing the first data query, the first results data responsive to the request for data and current relative to obtaining the first user input data;
in response to obtaining the first results data, outputting visualization data for presenting a visualization representing the first results data;
in response to outputting the visualization data:
generating a diverse plurality of candidate modifications for the request for data including:
a first candidate modification for modifying the request for data in accordance with a first modification type; and
a second candidate modification for modifying the request for data in accordance with a second modification type that differs from the first modification type, wherein generating the diverse plurality of candidate modifications includes generating the diverse plurality of candidate modifications in accordance with a defined plurality of modification types, wherein the defined plurality of modification types includes an additive modification type, a subtractive modification type, a comparative modification type, a filter modification type, a focus modification type, a historical modification type, and an outlier modification type; and
outputting candidate modification data for presenting the diverse plurality of candidate modifications in association with presenting the visualization representing the first results data;
in response to outputting the candidate modification data, obtaining second user input data identifying a candidate modification from the diverse plurality of candidate modifications as a selected modification;
in response to obtaining the second user input data, obtaining a modified request for data including the request for data modified by the selected modification;
obtaining a second data query automatically generated by the database analysis system to express the modified request for data in accordance with the defined structured query language;
obtaining, by the database analysis system, second results data generated by the database executing the second data query, the second results data responsive to the modified request for data and current relative to obtaining the second user input data; and
in response to obtaining the second results data, outputting visualization data for presenting a visualization representing the second results data.
12 . The non-transitory computer-readable storage medium of claim 11 , wherein generating the diverse plurality of candidate modifications includes generating the first candidate modification such that the first candidate modification is a comparative modification indicating a comparison with respect to a first value and a second value indicated in the second results data.
13 . The non-transitory computer-readable storage medium of claim 11 , wherein generating the diverse plurality of candidate modifications includes generating the first candidate modification such that the first candidate modification includes a text input element for modifying the request for data by adding a filter or a column.
14 . The non-transitory computer-readable storage medium of claim 11 , wherein generating the diverse plurality of candidate modifications includes generating the first candidate modification such that, in response to determining that the first results data includes a date column, the first candidate modification includes a date filter modification.