MicroStrategy ONE
Processing Element Browsing
Attribute elements are typically stored in lookup tables in the data warehouse. This includes data that is unique to your business intelligence system, such as Northeast, Northwest, Central, and Asia in the Region attribute.
For a more thorough discussion of attribute elements, see the section in the Basic Reporting Help about the logical data model.
When users request attribute elements from the system, they are said to be element browsing and create what are called element requests. More specifically, this happens when users:
- Answer prompts when executing a report
- Browse attribute elements in Developer using the Data Explorer (either in the Folder List or the Report Editor)
- Use Developer's Filter Editor, Custom Group Editor, or Security Filter Editor
- Use the Design Mode on MicroStrategy Web to edit the report filter
When Intelligence Server receives an element request from the user, it sends a SQL statement to the data warehouse requesting attribute elements. When it receives the results from the data warehouse, it then passes the results back to the user. Also, if the element caching feature is turned on, it stores the results in memory so that additional requests are retrieved from memory instead of querying the data warehouse again. For more information on this, see Element Caches.
The most prominent Intelligence Server components related to element browsing are listed here.
Component | Function |
DB Element Server | Transforms element requests into report requests and then sends report requests to the warehouse. |
Element Net Server | Receives, de-serializes, and passes element request messages to the Element Server. |
Element Server | Creates and stores server element caches in memory. Manages all element requests in the project. |
Query Engine | Sends the SQL generated by the SQL Engine to the data warehouse for execution. |
Report Server | Creates and manages all server reporting instance objects. Maintains a cache of executed reports. |
Resolution Server | Resolves prompts for report requests. Works in conjunction with Object Server and Element Server to retrieve necessary objects and elements for a given request. |
SQL Engine Server | Generates the SQL needed for the report. |
The diagram below shows the element request execution steps. An explanation of each step follows the diagram.
- Intelligence Server receives the request.
- The Element Server checks for a server element cache that can service the request. If a server element cache exists, the element cache is returned to the client. Skip to the last step in this process.
- If no server element cache exists, the database Element Server receives the request and transforms it into a report request.
The element request at this point is processed like a report request: Intelligence Server creates a report that has only the attributes and possibly some filtering criteria, and SQL is generated and executed like any other report.
- The Report Server receives the request and creates a report instance.
- The Resolution Server receives the request and determines what elements are needed to satisfy the request, and then passes the request to the SQL Engine Server.
- The SQL Engine Server generates the necessary SQL to satisfy the request and passes it to the Query Engine Server.
- The Query Engine Server sends the SQL to the data warehouse.
- The elements are returned from the data warehouse to Intelligence Server and deposited in the server memory element cache by the Element Server.
- Intelligence Server returns the elements to the client.