The Formulate module enables you to build custom KPIs, member lists, formulas, scripts, and more, using the Pyramid Query Language (PQL) or MDX. These can then be used in visualizations and queries to customize your content or inject formulas and values into your data - this includes Discover, Present, Publish and Illustrate content.
- Click here to see the Formulate Tutorials Video Library
Formulate vs Discover Calculations
Formulate logic can also be built directly in Discover using tools like 'Quick Calcs'. These calculations are shortcuts to building the matching logic in Formulate. However, the Formulate tools remains the principle venue to create and edit such content - offering rich graphical and scripting tools
Components in Formulate
The formulate module contains the following components:
Create custom members and measures; these are user-defined calculations written in either PQL or MDX, and can be used to derive values anywhere in the query.
A custom list (or set) is a user-defined group of elements, from a single hierarchy in the data model, that can be combined with a range of functions, such as filtering, sorting, and conditional logic. Custom lists are written in either PQL or MDX.
Create custom Key Performance Indicators (KPIs) and utilize them to identify trends and measure your organizational goals.
Parameters are used to inject dynamic elements into the query at runtime. They can be used to create custom members and lists, which are then added to the query. This functionality enables users to change complex logic in the query at runtime, without designing any complex artifacts on the server or on the client.
Write R and Python scripts for driving complex data cleansing or machine learning logic.
Create your own custom visualizations and share them with other users.
Open Formulate by clicking on the orange Formulate icon in the navigation panel on the left.
You can open Formulate from within another module by clicking the arrow on the module tab and select New Formulation.
Next, select the Formulate component you want to access: