MicroStrategy ONE
How MicroStrategy processes functions
Functions supported by the Intelligence Server are of three types:
-
Those that can be processed only by the Analytical Engine, such as finance functions.
If the Analytical Engine does not support a given function, a compound metric containing the function cannot be smart metric enabled. This is because smart metrics change the default order of metric evaluation and only the Analytical Engine can support such a change. -
Those that can be processed only by the database, such as date-and-time functions.
If a database platform does not support a given function that can only be processed by the database, that function cannot be calculated. For a list of functions supported for each certified database type, see the Functions Reference. -
Those that can be processed either by the Analytical Engine or by the database.
If the database can perform the calculation, the SQL Engine sends the instructions to the database; otherwise, the Analytical Engine processes the task.
MicroStrategy Intelligence Server has an engine component, which comprises the following:
-
SQL Engine: Generates the SQL and associated logic for functions performed by the database, and communicates with the Analytical Engine as necessary.
-
Query Engine: Sends the SQL generated by the SQL Engine to the data warehouse for execution.
-
Analytical Engine: Extends the capability of the system beyond what the RDBMS provides. For example, it performs complex calculations on a result set returned from the data warehouse, such as statistical and financial functions, subtotal calculations on the result set, metric calculations that are not or cannot be performed using SQL, such as complex functions, and so on.
While this extends the capabilities of the RDBMS that you are using, calculations that require the Analytical Engine can require additional system resources and processing time. To determine if a function is supported by your RDBMS or will be evaluated by the Analytical Engine, review the function support listed in the Functions Reference.