Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The dashboard logic is executed only once, so you don’t do not have to take care of caching, storing . Storing data in api.global or api.local makes no changedifference, so that which is why those options are not used. The main focus in in Therefore, the dashboard design therefore is focuses primarily on efficient data querying.

Data

...

Querying

Dashboards usually query the data sources or datamartsData Sources or Datamarts. Those are usually big data, so efficient querying of e.g. of sales transactions is a key here. It is usually not possible and not even desired to read the whole table in the memory, therefore the data being queried should ideally be aggregated. Also a good filtering using inputs comes into play here.

If you need to link the main table with other tables, the best way is to utilize the database engine to do that. Joining the data by groovy Groovy is less performing performant since the data needs need to transfered be transferred from the database to the node over a network. So the it is best is to use a datamart Datamart that links the needed tables e.g. , such as Customer or Product information, potentially also extension tables or company tables (countries, sales orgs or other code tables). For those these tables you can utilize creation of a data sources Data Sources using templates that will create system dataloads Data Loads that will allow you to copy the Master tables data automatically. For other tables such as Price records, quote lines etc. you can utilize a custom calculation dataload, Calculation Data Load – the element with the boilerplate code can be generated in Studio using an element template.

If the DM Datamart cannot be used, e.g. because of different field names or a date type column such as “Valid From”, then you can utilize DatamartContext.executeQuery or DatamartContext.executeSqlQuery() functions. Groovy Consoles in Studio can help you to design those queries and will give you imagination an idea about how long they run.

Data

...

Growth

Analytical data, such as sales transactions, grows grow significantly over time. It is not uncommon that a dashboard created and approved by business during the project development may start timing out after data being grown for a few months – because the data grew in volume. So keep that in mind when designing the dashboard. Having good Good filtering capabilities using inputs may help to keep the dashboard still working when user uses functional when users use more strict filters. Also making more inputs as mandatory help to helps enforce data reduction.