Is dynamic entity selection slow?

Hi all,

 

so recently we were trying to create some kind of 'save my current selection' button. You could also call it report variants, or saved queries,...

One of the ideas was to filter all the entities dynamically. See Dynamic Select.

Now the thing we were working on, didn't really work the way we intended, but we kept dynamic select for the time entities. (e.g. past 30 days, past 6 months). Shortly thereafter report execution time increased by something between 50% and 100%.

 

Does anyone else experience it similarly?

 

BR, Ray

Tagged:

Answers

  • Björn Reuber
    Björn Reuber Employee, Community Captain
    500 Likes Fourth Anniversary 100 Comments 5 Answers

    Hi,

     

    everything has it cost. For dynamic Selection you can assume to have something like an "additional" Layer in selection, which always execets the layouts on a selection change/Screen Refresh (cause the underlaying cube might have changed). And this need some time.

     

    For Selection you normaly have following executiion Order:

    Security, Screen Selection, Dynamic Selection

     

    Regards

    Björnm

  • Hi Björn Reuber,

    thank you for the insight! I was expecting following mechanism of dynamic selection:

    1. dynamic selection is created/applied (e.g. screen opened with a dynamic selection)
    2. static selection resulting from dynamic selection is computed and applied to the screen and its elements. That selection is cached.
    3. whenever there's a change on the entity or the cube involved in the dynamic selection, the selection cache is invalidated and the static selection is recomputed and in case of changes reapplied to the screen.

     

    For the curious, in case of the dynamic filtering of time entities we chose a different way. We created a couple of custom time entites (see Defining custom time entities and Defining time entities relationships).

    We created entities for the past 30 days and the past 6 months. Those entities don't suffer from performance loss, but need to be updated daily as part of a loading procedure. They also come with a price which is: "You can define up to four custom time entities or three if Fiscal Year is enabled.".

     

    BR,

    Ray