Dynamic dashboard with guided discovery
Embodiments include methods and systems for configuring a dashboard with a plurality of components. Data sets populated by a plurality of data attributes and associated data attribute values can be received, where the dashboard is configured to display data from the data sets. A plurality of components can be provided on the dashboard including a guided discovery component that displays suggested filters for the dashboard according to one or more of the received data sets. A selection of a filter for the dashboard can be received at one of the components and the components can be dynamically filtered based on the received filter. The suggested filters displayed by the guided discovery component can also be dynamically adjusted based on the received filter, where one or more suggested filters are dynamically hidden and one or more suggested filters are dynamically displayed based on the received filter.
1. A method for configuring a dashboard with a plurality of components, the method comprising:
ingesting, based on data load rules, a plurality of data sets populated by a plurality of data attributes and associated data attribute values,
providing a plurality of components on a dashboard, wherein at least a first component displays data from a first data set and a second component displays data from a second data set;
receiving, at one of the components, a selection of at least one filter for the dashboard, wherein the selected filter corresponds to a given data attribute or data attribute value from the first data set; and
dynamically filtering the first component and the second component using the selected filter, wherein,
the second component is filtered based on one or more data association rules between the first data set and the second data set,
the one or more data association rules comprise a bi-directional association rule between the first data set and the second data set, and
the bi-directional association rule links the given data attribute or data attribute value from the first data set to a given data attribute or data attribute value from the second data set.
2. The method of claim 1 , wherein dynamically filtering the first component and the second component using the selected filter comprises:
dynamically filtering data from the first data set displayed in the first component using the given data attribute or data attribute value from the first data set; and
dynamically filtering data from the second data set displayed in the second component using the given data attribute or data attribute value from the second data set.
3. The method of claim 1 , wherein, prior to the ingesting, data from the first data set and second data set is stored in a database for the dashboard, and the ingesting the first data set and the second data set comprises updating the database for the dashboard.
4. The method of claim 3 , wherein,
a data load rule for the first data set comprises an incremental load and a data load rule for the second data set comprises a full load,
ingesting the first data set using an incremental load comprises updating data stored in the database for the first data set with new data from the first data set being ingested, and
ingesting the second data set using a full load comprises overwriting data stored in the database for the second data set with data from the second data set being ingested.
5. The method of claim 1 , wherein the data attributes of the first data set and the second data set comprise a numerical attribute type or a categorical attribute type.
6. The method of claim 1 , wherein at least one of the first component or the second component comprises a graph or chart component that is dynamically filtered according to the selected filter.
7. The method of claim 6 , wherein the selected filters comprise a selection of a portion of the graph or chart component that corresponds to the given data attribute or data attribute value from the first data set and the graph or chart component is filtered according to the selection.
8. The method of claim 1 , wherein the first and second components are declaratively configured using a plurality of input forms that correspond to declarative SQL commands.
9. The method of claim 8 , wherein data displayed by the first component is retrieved from the ingested first data set using one or more declarative SQL commands defined using the plurality of input forms, and data displayed by the second component is retrieved from the ingested second data set using one or more declarative SQL commands defined using the plurality of input forms.
10. The method of claim 1 , wherein the one or more data sets comprise multi-dimensional data sets that store hierarchical data, the given data attribute or data attribute value from the first data set that corresponds to the selected filter comprises a parent data attribute of one or more child data attributes of the first data set, and the given data attribute or data attribute value from the second data set comprises a parent data attribute of one or more child data attributes of the second data set.
11. A non-transitory computer readable medium having instructions stored thereon that, when executed by a processor, cause the processor to configure a dashboard with a plurality of components, the configuring comprising:
ingesting, based on data load rules, a plurality of data sets populated by a plurality of data attributes and associated data attribute values,
providing a plurality of components on the dashboard, wherein at least a first component displays data from a first data set and a second component displays data from a second data set;
receiving, at one of the components, a selection of at least one filter for the dashboard, wherein the selected filter corresponds to a given data attribute or data attribute value from the first data set; and
dynamically filtering the first component and the second component using the selected filter, wherein,
the second component is filtered based on one or more data association rules between the first data set and the second data set,
the one or more data association rules comprise a bi-directional association rule between the first data set and the second data set, and
the bi-directional association rule links the given data attribute or data attribute value from the first data set to a given data attribute or data attribute value from the second data set.
12. The computer readable medium of claim 11 , wherein dynamically filtering the first component and the second component using the selected filter comprises:
dynamically filtering data from the first data set displayed in the first component using the given data attribute or data attribute value from the first data set; and
dynamically filtering data from the second data set displayed in the second component using the given data attribute or data attribute value from the second data set.
13. The computer readable medium of claim 11 , wherein, prior to the ingesting, data from the first data set and second data set is stored in a database for the dashboard, and the ingesting the first data set and the second data set comprises updating the database for the dashboard.
14. The computer readable medium of claim 13 , wherein,
a data load rule for the first data set comprises an incremental load and a data load rule for the second data set comprises a full load,
ingesting the first data set using an incremental load comprises updating data stored in the database for the first data set with new data from the first data set being ingested, and
ingesting the second data set using a full load comprises overwriting data stored in the database for the second data set with data from the second data set being ingested.
15. The computer readable medium of claim 11 , wherein the data attributes of the first data set and the second data set comprise a numerical attribute type or a categorical attribute type.
16. The computer readable medium of claim 11 , wherein at least one of the first component or the second component comprises a graph or chart component that is dynamically filtered according to the selected filter.
17. The computer readable medium of claim 16 , wherein the selected filters comprise a selection of a portion of the graph or chart component that corresponds to the given data attribute or data attribute value from the first data set and the graph or chart component is filtered according to the selection.
18. A system for configuring a dashboard with a plurality of components, the system comprising:
a memory; and
a processor, coupled to the memory, configured to:
ingest, based on data load rules, a plurality of data sets populated by a plurality of data attributes and associated data attribute values,
provide a plurality of components on the dashboard, wherein at least a first component displays data from a first data set and a second component displays data from a second data set;
receive, at one of the components, a selection of at least one filter for the dashboard, wherein the selected filter corresponds to a given data attribute or data attribute value from the first data set; and
dynamically filter the first component and the second component using the selected filter, wherein,
the second component is filtered based on one or more data association rules between the first data set and the second data set,
the one or more data association rules comprise a bi-directional association rule between the first data set and the second data set, and
the bi-directional association rule links the given data attribute or data attribute value from the first data set to a given data attribute or data attribute value from the second data set.