You are here: Pega Platform database > Database tables and columns > Property optimization > Optimizing properties in select values gadget

Optimizing properties in Select values gadget

To improve value retrieval performance, you can add and remove optimizations for fields in the Select values gadget on report definitions and the Report Editor. When you add or edit a filter in a report definition rule, you use the Select values gadget to select a value that the property of a filter is equal to. If the property is equal to many values, populating the Select values gadget can result in poor performance. By optimizing the property of the filter, the number of values that are queried is reduced, resulting in improved retrieval performance.

This feature is not supported in a multitenant environment.

  1. In the Application Explorer, in the search text field, enter Data-Admin-DistinctValueIndex and press Enter.
  2. Click Data-Admin-DistinctValueIndex to open the Data-Admin-DistinctValueIndex class.
  3. Click Create to create a distinct value index instance of the property that you want to optimize. You must define the property as a text, integer, or decimal type.
    1. In the Short description field, enter a brief description of the instance.
    2. In the Class name field, enter the name of the class that the property is associated with. The class cannot have security restrictions defined for it.
    3. In the Property name field, enter the name of the property whose values you want to retrieve.
    4. Click Save.

    An agent calls the populateDistinctValues activity, which searches the specified class and caches the distinct values of the property in a table.

  4. In the Report Definition rule form, on the Data Access tab, clear the Report on descendant class instances check box. The Report Definition rule form must not have a subreport.

  5. In the Report Editor or Report Definition rule form, click Select values. The Select values gadget retrieves the distinct values of the property from the cache table after the agent runs and populates the table. The Available values list is now populated with distinct values of the property.