# Documentation
> All the information you need to build on MODLR.
Guides, tutorials, and references for modelling, formulas, and processes.
## Table of Contents
### Overview
- [Technical | MODLR Documentation](/technical.md): This Documentation is intended for use with the MODLR™ CPM Cloud.
- [What is MODLR](/technical/what-is-modlr.md): MODLR has been designed and purpose built to address Performance Management and Financial Planning & Analysis needs as a single platform of integrated components.
- [MODLR Architecture](/technical/modlr-architecture.md): MODLR Architecture
- [Network Architecture | MODLR Documentation](/technical/network-architecture.md): The MODLR network is structured such that all users connect to the MODLR Gateway using their web browser.
- [MODLR Security](/technical/modlr-security.md): MODLR security can be considered across Instance Security, Application Security, and Authentication.
- [User Interfaces | MODLR Documentation](/technical/user-interfaces.md): There are multiple ways of accessing information within the MODLR Cloud.
- [User Roles | MODLR Documentation](/technical/user-roles.md): Users belong to one of three access levels; Modeller, Analyst or Collaborator.
### Account Management
- [Changing your password](/technical/changing-your-password.md): In the top right corner, click on your name.
- [Setting up Two-Factor-Authentication](/technical/setting-2fa.md): Two-Factor-Authentication can be enabled from the Account Settings page.
- [Client Login and Password Rules](/technical/company-security.md): Security preferences can be set for all users on this company account.
### Single Sign-On (SSO)
- [Single Sign-On (SSO)](/technical/sso.md): MODLR supports Single Sign-On (SSO) for user authentication using OpenID Connect (OIDC).
- [SSO with Azure AD (Microsoft Entra ID)](/technical/sso-azure.md): How to configure Single Sign-On (SSO) with Azure Active Directory (Microsoft Entra ID).
- [SSO with Google](/technical/sso-google.md): How to configure Single Sign-On (SSO) with Google Workspace.
- [SSO with Okta](/technical/sso-okta.md): How to configure Single Sign-On (SSO) with Okta.
### Understand MODLR
- [Logging into MODLR](/technical/logging-into-modlr.md): The MODLR Gateway can be accessed by any modern web browser.
- [Getting Started](/technical/getting-started.md): There are two landing pages when logging into MODLR.
- [Navigation within MODLR](/technical/navigation-within-modlr.md): How the MODLR Gateway is organised, and a complete map of where to find every area of the platform.
### Instances
- [About Instances](/technical/about-instances.md): An instance is an isolated MODLR environment beneath a Client, such as Production, Development, or Test.
- [Configuring a new instance](/technical/configuring-a-new-instance.md): When provisioning a new instance, the following objects are installed on first access.
- [Instance Security](/technical/instance-security.md): Instance Security governs read, write, or no access to objects within a MODLR model.
- [How to switch your active instance](/technical/how-to-switch-your-active-instance.md): In the current version of MODLR gateway you can have one active instance at a time.
- [How to Restart a server](/technical/how-to-restart-a-server.md)
### Models
- [Creating a Model](/technical/creating-a-model.md): Models are needed to hold cubes and dimensions pertaining to a business model of a business function such as performance management, value driver modelling, waterfall analysis, or inventory management.
- [Architecting a Model](/technical/architecting-a-model.md): A set of five standard tables for documenting a Model's design - Dimensions, Cubes, calculation logic, inter-Cube data flows and data sources - before building it in Gateway.
- [Model Configuration](/technical/model-configuration.md): When creating a new model, several new items are created by default.
- [Navigating a Model](/technical/navigating-model.md): By selecting a model, the user is presented with a new screen for developing and browsing model objects.
- [Model Objects](/technical/model-objects.md): Every object type that lives inside a model, grouped the way the model's own navigation groups them, with links to the documentation for each.
#### Model Objects
- [Shortcuts](/technical/shortcuts.md): Shortcuts organise model objects - Workviews, Processes, Cards, and more - into folders, so related tasks can be grouped together for quick access.
- [Model Variables](/technical/model-variables.md): A Variable is a model-scoped key-value pair, read in Cards, Workviews, Cube Formulas, Processes, and the Excel Add-in.
- [Mappings](/technical/mappings.md): A Mapping is a model-level lookup table that associates elements on one set of dimensions with elements on another, used to move data between cubes whose structures don't line up.
- [Tables](/technical/tables.md): A Table is a relational table held in the instance's Internal Datastore, used as a staging area for data on its way into Dimensions and Cubes, or as structured storage alongside them.
- [Model Styles](/technical/model-styles.md): Styles are a model-wide library of named CSS formats, managed from the Manage Model page and applied to Workview cells.
- [Packages](/technical/packages.md): Packages are MODLR's proprietary export/import format for moving pre-built model objects between models or instances.
- [Security Package](/technical/security-package.md): A prebuilt security cube, dimensions, processes and card that give instance administrators a front-end UI for configuring model security.
##### Security Package
- [Security Package Processes](/technical/security-package-processes.md): Every process shipped with the Security Package, with its full source, grouped by the role it plays.
### Dimensions
- [About Dimensions](/technical/about-dimensions.md): Dimensions are used to represent the hierarchical relationships between different elements when used in a cube.
- [Element Operators](/technical/element-operators.md): MODLR supports the use of Element Operators within both Workviews and Cards to create temporary groupings and dynamic element selections without modifying the underlying hierarchy structure.
#### About Dimensions
- [Elements](/technical/elements.md): An element is a single member of a dimension - the individual data category that identifies a cell. This page covers the element types, how elements are created, and how aliases and consolidations relate to them.
- [Creating a Dimension Manually](/technical/creating-dimension-manually.md): Dimensions can be created and maintained manually using the various frontends of the platform.
- [Managing a Dimension Manually](/technical/managing-dimension-manually.md): Clicking Manage on an existing dimension within the model page will open the Dimension Manager for the selected dimension.
- [Creating a Dimension via a Process](/technical/creating-dimension-via-process.md): All of the following functions are documented in full in the Process Documentation section of the portal.
- [Hybrid Dimension Builds](/technical/hybrid-dimension-builds.md): A pattern for Dimensions that are partly built by a Process and partly curated by hand - using an Unmapped [Dimension] parent so new elements from the source system never go missing.
- [Designing a Dimension](/technical/designing-a-dimension.md): A methodology for designing a Dimension - spotting the dimensions hidden in an existing model, and the four core decisions that shape how well a Dimension performs and how easy it is to maintain.
- [About the Time Dimension](/technical/about-the-time-dimension.md): How MODLR builds a Time dimension automatically from three model variables, and what each of its standard Hierarchies is for.
- [About the Scenario Dimension](/technical/about-the-scenario-dimension.md): How to structure a Scenario dimension with parallel Planning and Archive Hierarchies, so formulas and reports stay correct as scenarios come and go.
#### Element Operators
- [`[+]`](/technical/addition-operator.md): The [+] operator allows multiple hierarchy elements to be grouped together into a temporary parent.
- [`[&]`](/technical/intersection-operator.md): The [&] operator creates a temporary parent from only the descendants shared by two parents, excluding anything held by one but not the other.
- [`[>]`](/technical/range-operator.md): The [>] operator allows a temporary parent to be created from a sequential range of elements within a flat hierarchy.
### Cubes
- [About Cubes](/technical/creating-cubes.md): A cube is a data structure that stores data in a multidimensional form and enables fast querying and analysis of the data.
- [Cube Validation](/technical/cube-validation.md): Cube validation can be applied to the measures dimension, on String Elements.
- [Cube Logs](/technical/cube-logs.md): Every change made to a value in a Cube can be recorded in a Cube Log, capturing the cell's address, its value before and after, who made the change, and where it was made from.
#### About Cubes
- [Creating Cubes](/technical/creating-a-cube.md): Most cubes are created manually and the data for the cube is loaded via a Process.
- [Creating Cubes](/technical/creating-a-cube-via-process.md): All of the following functions are documented in full in the Process Documentation section of the portal.
#### Cube Validation
- [Simple Validation](/technical/cube-validation-simple.md)
- [Formula Validation](/technical/cube-validation-formula.md)
- [Cascading Validation](/technical/cube-validation-cascading.md)
##### Formula Validation
- [User-Based Validation](/technical/cube-validation-user-based.md)
### Dataspreading
- [Dataspreading](/technical/dataspreading.md): Dataspreading allows the manipulation of large amounts of data in a cube through quick-to-use commands.
#### About Dataspreading
- [/clear](/technical/dataspreading-clear.md): Clears the current cell and all descendant cells.
- [/copy](/technical/dataspreading-copy.md): Copys the current cell and all descendant cells based on the specified relative location.
- [/set](/technical/dataspreading-set.md): Sets the cell intersection to the input number.
- [/add](/technical/dataspreading-add.md): Adds the input number to the cell intersection.
- [/subtract](/technical/dataspreading-subtract.md): subtracts the input number from the cell intersection.
- [/multiply](/technical/dataspreading-multiply.md): Multiplies the cell intersection by the input number.
- [/divide](/technical/dataspreading-divide.md): Divides the cell intersection value by the input number.
### Formulas
- [Formulas](/technical/formulas.md): MODLR has formulas in three places - on cubes, on card properties, and on workview set instructions. They share a syntax but do different jobs.
- [Formula Syntax](/technical/formula-syntax.md): Operators Used in Formulas and Functions
- [MODLR Number Formats](/technical/modlr-formats.md): The number-format pattern syntax used across MODLR - in NUMBERFORMAT(), the Format Number process node, formula-driven Set Instructions, and Cards - with the fixed Workview Set Instructions that shortcut the most common patterns.
- [Formulas in Cards](/technical/formulas-in-cards.md): Any card component property can be driven by a formula instead of a fixed value, so a card responds to its context rather than being hardcoded.
- [Advanced Functions](/set-instructions/advanced-functions.md): Reference for Advanced Functions in MODLR.
- [Testing and explaining formulas](/technical/testing-and-explaining-formulas.md): Validate and test a cube formula before committing it, then trace a value back through the formulas that produced it - from the editor, or from a cell with Explain Value.
#### Cube Formulas
- [Formula Syntax](/technical/opening-the-formula-editor.md): To add a new formula, right click on a cell within a workview and select Edit Formula
- [Writing a Cube Formula](/technical/writing-a-cube-formula.md): Cube formula allows business logic to be embedded within cubes and calculated in real-time.
- [Understanding a Cell Address](/technical/understanding-a-cell-address.md): A cell address identifies one element per dimension - and since element names aren't unique across a dimension's hierarchies, the hierarchy itself is often part of the address.
- [Types of References in Formula](/technical/types-of-references-in-formula.md): Reference Types
- [Linking Cubes Using Formula](/technical/linking-cubes-using-formula.md): Cube data can flow from one cube to another using Formula.
- [Rolling Values Using Formula](/technical/rolling-values-using-formula.md): Rolling balances and depreciation calculations can be implemented using the SEQUENCE workview function.
- [Feeders, Invalidations and Rules](/technical/feeders-invalidations-and-rules.md): .hidden-table{ border: none !important; background: none !important; }
##### References in Formula
- [Direct References](/technical/direct-references.md): When to use: When making simple links/calculations between cells
- [LINK References](/technical/link-references.md): When to use: When making simple links/calculations between cells.
- [SEQUENCE References](/technical/sequence-references.md): When to use: Cumulation calculations, Rolling Balances (e.g.
- [LINKBY References](/technical/linkby-references.md): When to use
### Workviews
- [Creating Workviews](/technical/creating-workviews.md): Workviews act as a window to a section of the underlying cube.
- [Arranging & Stacking Dimensions](/technical/arranging-and-stacking-dimensions.md): Every dimension on a cube sits in one of four positions in the Workview's Dimension Editor. Rearranging them pivots the same cube into completely different reports.
- [Workview Sets and Set Editor](/technical/workview-sets-and-set-editor.md): When a dimension is a selectable or hidden dimension, they can have one set definition.
- [Simple Set Functions](/technical/simple-set-functions.md): Reference for Simple Set Functions in MODLR.
- [Advanced Set Functions](/technical/advanced-set-functions.md): Reference for Advanced Set Functions in MODLR.
- [Using Model Variables](/technical/using-model-variables.md): A model variable can be inserted into a set, provided its value is an element of the dimension whose set is being edited.
- [Sequential Set Functions](/technical/sequential-set-functions.md): Sequence functions are available for each dimension hierarchy which will insert the next member of a hierarchy at the end of the set or the prior member of the hierarchy at the beginning of the set.
- [Using Cell and Heading Styles](/technical/using-cell-and-heading-styles.md): Cells displayed within MODLR Workviews are styled using CSS (cascading style sheets).
### Integrations
- [Our Integrations](/technical/our-integrations.md): A full list of the platforms MODLR integrates with, grouped by category, along with how each one connects.
- [Requesting a New Integration](/technical/requesting-an-integration.md): MODLR adds new integrations and documentation on request, at no charge to the requester.
- [Creating an integration](/technical/creating-an-integration.md): MODLR allows you to integrate with external tools such as Xero, SalesForce etc.
- [Webhooks](/technical/webhooks.md): Webhooks let an external system trigger a MODLR process by calling a unique URL.
#### Webhooks
- [Mailgun Example Webhook](/technical/webhooks-mailgun.md): An example webhook process that validates and processes an inbound Mailgun email.
### Datasources
- [What is a Datasource](/technical/what-is-a-datasource.md): A Datasource is an object which holds all the authentication information about a data system.
- [Adding a Datasource](/technical/adding-a-datasource.md): How to add a new Datasource to MODLR via the Gateway.
- [How to use Datasource data in MODLR](/technical/using-datasource-data.md): How to read and write data from a Datasource within a Process, using datasource.client and related functions.
- [Flat File Load](/technical/flat-file-load.md): How to set up a Flat File Load integration, for platforms that exchange data as files rather than through an API.
- [Reading Excel Files in MODLR](/technical/reading-excel-files.md): How to read data out of an Excel workbook (.xlsx/.xlsm) in a Process, for example when a scheduled export lands as an Excel file rather than a CSV.
- [Adding a JDBC Driver](/technical/datasources-jdbc.md): A JDBC driver (Java Database Connectivity driver) is a small piece of software that allows MODLR to connect to different databases.
- [Adding a JDBC Driver](/technical/datasources-jdbc-gallery.md): The following is a small sample library of JDBC class names, connection URI's and download links for a selection of commonly used databases.
- [Manage Datastore](/technical/datastore.md): The Datastore area browses the tables held in the instance's Internal Datastore, and the rows inside them, without writing SQL.
- [Accessing MySQL Directly](/technical/accessing-mysql-directly.md): The MySQL instance which comes with each MODLR instance can be accessed directly using 3rd Party software.
- [Accessing MySQL via Gateway](/technical/accessing-mysql-via-gateway.md): Within the MODLR Gateway is a page which allows modellers to view, search and modify records in the local MySQL Database called Manage Data.
- [Using MODLR Data in External Systems](/technical/using-modlr-data-in-external-systems.md): How to make MODLR data available to a reporting tool, data warehouse or downstream application - export the Cube data and the Dimension structures to Tables, and have the external system query the database.
- [Accessing Files via FTP](/technical/ftp.md): Each MODLR instance includes an FTP server that exposes the instance filesystem.
#### Accessing Files via FTP
- [SFTP](/technical/ftp-sftp.md): SFTP transfers files securely over SSH and is the recommended way to access your instance filesystem.
- [FTPS (Deprecated)](/technical/ftp-ftps.md): FTPS is the older protocol and is provided for backwards compatibility only.
### Processes
- [Creating Processes](/technical/creating-processes.md): Processes are objects which can create, manipulate and remove objects within a model (including the model’s applications).
- [Scriptable Process (Custom Process)](/technical/scripted-processes.md): Processes can either have mappings which build dimensions, hierarchies, cubes and aliases or a script which can do a wider range of activities.
- [Using Process Prompts](/technical/using-process-prompts.md): When used in the pre () function, upon execution of the process this function will raise a question to the user executing the process.
- [Aborting a Process Programmatically](/technical/aborting-a-process-programmatically.md): Scripted processes can be aborted using a function.
- [Logging within a Process](/technical/logging-within-a-process.md): outputText the line of text to output to the server log.
- [Scheduling Processes](/technical/scheduling-processes.md): A Schedule runs a Process automatically at a monthly, weekly or daily interval. More granular intervals are available through the API using cron-format arguments.
- [Sending SMS via Processes](/technical/sending-sms-via-processes.md): The MODLR function library has built-in functions for SMS notifications.
- [Sending Email via Processes](/technical/sending-email-via-processes.md): The MODLR function library has built-in functions for email notifications.
- [Example Processes](/technical/example-processes.md)
- [Process Libraries](/technical/process-libraries.md)
### Applications
- [About Applications](/technical/about-applications.md): An application is a curated section of a single model, presenting a set of screens to end users - and the only way a Collaborator ever reaches MODLR.
- [Creating an Application](/technical/creating-application.md): An Application is a curated section of a single Model.
- [Application Objects](/technical/application-objects.md): Every object type that lives inside an application, grouped the way an application uses them, with links to the documentation for each.
#### Application Objects
- [Screens](/technical/screens.md): A Screen is a web page on an Application, made of a header, its content, and a footer. Headers and footers hold a menu or a custom page; the content holds a dashboard, workview, card or custom page.
- [Menus](/technical/menus.md): A Menu is an object that provides navigation between the Screens of an Application, attached to a Screen as its header or footer and maintained as new screens are built.
- [Dashboard Overview](/technical/dashboard-overview.md): Overview of MODLR Dashboards and the widgets available within them.
- [Custom Pages](/technical/custom-pages.md): Custom pages are the front-end HTML, CSS, and JavaScript components of an application.
- [Contributors](/technical/contributors.md): A contributor is any user who has access to an application.
- [Embed Tokens](/technical/embed-tokens.md): Embed tokens generate a URL that gives public or password-protected access to a screen, without requiring a MODLR login.
- [Access Tags and Application Security](/technical/access-tags-and-application-security.md): Access Tags are MODLR's Application Security layer, controlling which screens and elements a user can access.
##### Access Tags and Application Security
- [Element Access Tags](/technical/access-tags-element.md): Element access tags provide collaborators with access to elements from a selected dimension of the model associated with the application.
- [Screen Access Tags](/technical/access-tags-screen.md): Screen access tags provide collaborators with access to specific planning screens of the Application.
### How to guides
- [How to switch your active instance](/technical/how-to-switch-your-active-instance.md): In the current version of MODLR gateway you can have one active instance at a time.
- [How to open a Workview (Report)](/technical/how-to-open-a-workview.md): From the home page within gateway
- [How to run a process](/technical/how-to-run-a-process.md): How to run a Process by hand from the Gateway, fill in the inputs it asks for, and review the run afterwards in the Task Manager.
- [How to optimise your model](/technical/how-to-optimise-your-model.md)
- [How to Restart a server](/technical/how-to-restart-a-server.md)
#### How to optimise a model
- [How to Restrict a Formula](/technical/how-to-restrict-a-formula.md)
- [How to remove unused data from a cube](/technical/how-to-remove-data-from-a-cube.md)
### User Management
- [Adding Modellers](/technical/adding-modellers.md): Modeller users have administrative access to your MODLR Instance.
- [Adding Collaborators](/technical/adding-collaborators.md): Collaborator users will only have access to the applications they are added to, and within those applications they can only access that which is allowed based on their Access Tags.
### Operations
- [Logs and Monitoring](/technical/logs-and-monitoring.md): The Server Monitor is where running tasks, server health, the service log and the FTP service are inspected - the first place to look when a Process fails or an instance is slow.
- [File Manager](/technical/file-manager.md): The File Manager browses the instance filesystem - the shared directory where CSVs awaiting load, images used in Cards, exported files and Packages all live.
- [Instance Settings](/technical/instance-settings.md): Instance Settings holds configuration applying across the whole instance - security groups, process secrets, webhooks, API keys and the instance landing page.
- [Restful API](/technical/restful-api.md): All communication between the MODLR Gateway and the MODLR Instances are completed over the stateless RESTfull API.
### Other
- [Subprocessors](/technical/subprocessors.md): Third-party subprocessors engaged by MODLR to process customer data as part of delivering the platform.
### MODLR vs Excel
- [MODLR vs Excel - Understanding Data](/technical/modlr-vs-excel-understanding-data.md): How MODLR addresses every number by a complete, self-describing identity, compared to a number's meaning being implied by its position in an Excel sheet.
- [MODLR vs Excel - Aggregation / SUM](/technical/modlr-vs-excel-aggregation-sum.md): How aggregating a Quarter, Half and Full Year in MODLR compares to writing and maintaining SUM formulas in Excel.
- [MODLR vs Excel - Formulas](/technical/modlr-vs-excel-formulas.md): How MODLR formulas, restricted to Dimension elements rather than fixed cell ranges, keep applying automatically as a model grows - compared to Excel formulas that need updating.
- [MODLR vs Excel - Populating Worksheets with Data](/technical/modlr-vs-excel-populating-worksheets.md): How MODLR keeps a model populated with Actuals via scheduled integrations, compared to manually exporting and transforming data into Excel.
### MODLR vs SQL
- [MODLR vs SQL - Aggregation & Hierarchies](/technical/modlr-vs-sql-aggregation-and-hierarchies.md): How rolling accounts up into EBITDA and Net Profit is defined once as an Account Dimension hierarchy in MODLR, compared to mapping tables, CASE logic and recursive queries maintained by hand across every SQL view.
- [MODLR vs SQL - Governance & Write-back](/technical/modlr-vs-sql-governance-and-write-back.md): How MODLR keeps the data, the calculation logic, security, write-back and every reporting surface - web, Excel, PowerPoint, embeds - inside one governed model, compared to a SQL warehouse with a separately administered, typically read-only BI layer on top.
- [MODLR vs SQL - Reporting vs Decisions](/technical/modlr-vs-sql-reporting-vs-decisions.md): How MODLR's Scenario dimension and live recalculation support acting on a decision and testing a sensitivity, compared to a SQL warehouse built to report on what already happened.
- [MODLR vs SQL - When to Use Each](/technical/modlr-vs-sql-when-to-use-each.md): A decision guide for when a relational SQL + BI stack is genuinely the right tool, and when the need for governed hierarchies, write-back or driver-based planning tips the balance toward MODLR.
### MODLR vs Anaplan & TM1
- [MODLR vs Anaplan & TM1](/technical/modlr-vs-anaplan-and-tm1.md): How MODLR compares to IBM Planning Analytics (TM1) and Anaplan - its lineage, where it deliberately diverges from each, and how to translate concepts between platforms.
### Getting Started
- [Modelling Guides | MODLR Documentation](/modelling-guides.md): Modelling Tutorials will guide you through the development of some core components to a Corporate Planning model such as Operating Expenditure, Salaries and Wages, Travel and Depreciation planning.
### Operational Expenditure Model
- [Creating an Operational Expenditure Model](/modelling-guides/creating-an-operational-expenditure-model.md): Profit and Loss Models are the core central model for Corporate Planning.
- [Creating Model](/modelling-guides/creating-an-operational-expenditure-model/introduction.md): We will begin by creating a new model from our home page.
- [Creating a Dimension](/modelling-guides/creating-an-operational-expenditure-model/creating-a-dimension.md): Let’s create some of the necessary dimensions.
- [Creating the Year Dimension](/modelling-guides/creating-an-operational-expenditure-model/creating-the-year-dimension.md): Similar to the previous section, go to back to the dimensions tab and click New Dimension and name it Year with type Standard.
- [Creating the Department Dimension](/modelling-guides/creating-an-operational-expenditure-model/creating-the-department-dimension.md): Create a new dimension called Department and this will have two hierarchies, one for the full company structure and another which just focuses on our Profit Centres which are our storefronts and our online department.
- [Creating the Account Dimension](/modelling-guides/creating-an-operational-expenditure-model/creating-the-account-dimension.md): The Account dimension is a cut-down Profit and Loss structure.
- [Creating the Scenario Dimension](/modelling-guides/creating-an-operational-expenditure-model/creating-the-scenario-dimension.md): For the Scenario dimension, we will choose the dimension type as Scenario.
- [Creating a Cube](/modelling-guides/creating-an-operational-expenditure-model/creating-a-cube.md): Now on the Model page, we can see all of the dimensions created so far.
- [Using Instructions](/modelling-guides/creating-an-operational-expenditure-model/using-instructions.md): Within our workview we can use the set instructions to change the elements that each dimension is displaying.
- [Adding Data to the Report](/modelling-guides/creating-an-operational-expenditure-model/adding-data-to-the-report.md): Data can be entered into the cube as long as none of the corresponding elements to the selected cell have children.
- [Duplicating Workviews](/modelling-guides/creating-an-operational-expenditure-model/duplicating-workviews.md): We will save the Workview by right-clicking on the column header and selecting Duplicate Workview.
- [Uploading Data](/modelling-guides/creating-an-operational-expenditure-model/uploading-data.md): We will load the Actuals for Financial Year 2017 from the Sample Data file that you may have downloaded earlier.
- [Data Process](/modelling-guides/creating-an-operational-expenditure-model/data-process.md): Now that the data is held within the file manager, we will create a data process to import it.
- [Adding Formula](/modelling-guides/creating-an-operational-expenditure-model/adding-formula.md): We will add some basic formula to our cube.
- [Template for Operating Expenditure](/modelling-guides/creating-an-operational-expenditure-model/template-for-operating-expenditure.md): Double click on 800 - Profit and add the instructions shown in the screenshot by using the dropdown present in the Instruction editor.
- [Sets](/modelling-guides/creating-an-operational-expenditure-model/sets.md): We didn't cover the concepts of Sets earlier.
- [Comparing Data Against Actuals for 2017](/modelling-guides/creating-an-operational-expenditure-model/comparing-data-against-actuals-for-2017.md): Double click on the highlighted cell on the top left.
- [Phasing Method](/modelling-guides/creating-an-operational-expenditure-model/phasing-method.md): To hold the Phasing method, we will need a new measure element.
- [Creating Phasing Dimension](/modelling-guides/creating-an-operational-expenditure-model/creating-phasing-dimension.md): From our Model page, go to the Dimensions tab and click on New Dimension and name it Phasing and hit Save.
- [Phasing Rule](/modelling-guides/creating-an-operational-expenditure-model/phasing-rule.md): We will store the phasing method and amount in the middle columns set.
- [Data Validation](/modelling-guides/creating-an-operational-expenditure-model/data-validation.md): By using the data validation option we can point the Phasing measure to the Phasing dimension we just created.
- [Explain Value](/modelling-guides/creating-an-operational-expenditure-model/explain-value.md): We can use the explain value function on any cell to reveal the calculation logic taking place under the hood.
- [Prior Year Trend formula](/modelling-guides/creating-an-operational-expenditure-model/prior-year-trend-formula.md): Presently if we set the Phasing to Prior Year Trend no formula is applied and so I can change the value of the cell.
- [Custom Header](/modelling-guides/creating-an-operational-expenditure-model/custom-header.md): We can add a new custom header to the report on columns from the panel on the left side.
- [Hiding Dimension Headers](/modelling-guides/creating-an-operational-expenditure-model/hiding-dimension-headers.md): If we combine the custom heading with an advanced function to hide the actual dimension headers, we can reduce the clutter on the page dramatically.
- [Disable Set Instruction](/modelling-guides/creating-an-operational-expenditure-model/disable-set-instruction.md): If we need to make changes to the dimension sets which have been hidden we can pause the set instructions across the workview, this will prevent all the advanced instructions from processing and ensure that we can still see and modify th…
### Revenue Model
- [Introduction](/modelling-guides/creating-a-revenue-model/introduction.md): Earlier, we developed our operating spend phasing formula for even phasing and last year trend.
- [Creating Product Dimension](/modelling-guides/creating-a-revenue-model/creating-product-dimension.md): To begin let's create the dimension called Product and choosing the dimension type as Standard.
- [Creating Pricing Cube](/modelling-guides/creating-a-revenue-model/creating-pricing-cube.md): Next we will create our Pricing cube.
- [Creating a Month List](/modelling-guides/creating-a-revenue-model/creating-month-list.md): In preparation for adding formulas to our workviews we will need a hierarchy which acts as an ordered list of months.
- [Creating Pricing Cube Workview](/modelling-guides/creating-a-revenue-model/creating-pricing-cube-workview.md): Let’s take a look at the new Pricing cube and create our planning template for Pricing.
- [Adding Styles](/modelling-guides/creating-a-revenue-model/adding-styles.md): To manually inputed cells easier to see, we can create new styles and apply them to our workview.
- [Sales Cube](/modelling-guides/creating-a-revenue-model/sales-cube.md): We can move on the the Sales cube which is where we will be planning unit sales by store.
- [Sales Cube Workviews](/modelling-guides/creating-a-revenue-model/sales-cube-workviews.md): We will start by making a simple reporting view showing unit sales by store.
- [Linking Cubes](/modelling-guides/creating-a-revenue-model/linking-cubes.md): The last thing we need to do is link the Profit and Loss to the Sales cube to pull through our target Revenue and Cost of Sales amounts.
- [Number Formatting](/modelling-guides/creating-a-revenue-model/number-formatting.md): Double Click on the highlighted cell and remove existing instructions.
### Travel Planning Model
- [Introduction](/modelling-guides/creating-a-travel-planning-model/introduction.md): Collecting and Calculating the Travel Expenditure is an area of corporate budgeting where MODLR can assist easily.
- [Creating a Year Dimension](/modelling-guides/creating-a-travel-planning-model/creating-year-dimension.md): Within your chosen model, create a dimension named Year by going to Dimensions tab, New Dimension and then use the settings provided in the corresponding image and hit Create Dimension.
- [Creating a Month Dimension](/modelling-guides/creating-a-travel-planning-model/creating-month-dimension.md): We will create a new dimension called Month using the settings provided in the corresponding image and hit Create Dimension.
- [Creating a Trip Dimension](/modelling-guides/creating-a-travel-planning-model/creating-trip-dimension.md): Each individual trip will be entered on a separate row in the data entry screen.
- [Creating a Scenario Dimension](/modelling-guides/creating-a-travel-planning-model/creating-scenario-dimension.md): Create a dimension named Scenario and Scenario as the Dimension Type and hit Create Dimension.
- [Adding a Department/Cost Centre Dimension](/modelling-guides/creating-a-travel-planning-model/adding-a-department-cost-centre-dimension.md): Now we are going to add another dimension which represents the Business Structure.
- [Destination Dimension](/modelling-guides/creating-a-travel-planning-model/destination-dimension.md): We will create a new Dimension named for destinations.
- [Creating the Travel Cube](/modelling-guides/creating-a-travel-planning-model/creating-travel-cube.md): Create a Cube by going to Cube → New Cube.
- [Creating the Travel Planning Workview](/modelling-guides/creating-a-travel-planning-model/creating-travel-planning-workview.md): Now that we have our cube and dimensions ready, we will create a Workview (report).
- [Updating the Measures Dimension with Travel Measures](/modelling-guides/creating-a-travel-planning-model/updating-measures-dimension-with-travel-measures.md): The Travel Measures dimension presently On Columns still contains the default measure which is the default for a new cube.
- [Configuring the Measures](/modelling-guides/creating-a-travel-planning-model/configuring-measures.md): Now that the Measure dimension has been updated for travel planning we can update our workview to report on the new measures we have just created.
- [Basic Formatting](/modelling-guides/creating-a-travel-planning-model/basic-formatting.md): To increase a column’s width, go to the column set editior and click Apply Header Sizing using Formula
- [Adding Data Validation](/modelling-guides/creating-a-travel-planning-model/adding-data-validation.md): Within the Trip Planning View workview, we can now make drop lists which restrict what options users have when editing Text fields.
- [Creating Another Cube and Workview for Travel Rates](/modelling-guides/creating-a-travel-planning-model/creating-cube-and-workview-travel-rates.md): Now that the Travel cube has all the dimensions we need to plan travel expenses, Its time to build a separate workview and cube to hold the corporate rate card for Airfares, Accommodation Expenses and Allowances.
- [Modifying Travel Rates Measure](/modelling-guides/creating-a-travel-planning-model/modifying-travel-rates-measure.md): Edit the Travel Rates Measures dimension to reflect the Sample Spreadsheet Rate card Worksheet columns.
- [Adding Formula to a Cube (Business Logic)](/modelling-guides/creating-a-travel-planning-model/adding-formula-to-cube.md): To complete the Travel model, it will need to calculate Flight Costs, Accommodation Costs and Allowances while allowing Transit Expenses to be entered manually.
- [Making the Report look nicer](/modelling-guides/creating-a-travel-planning-model/making-report-look-nicer.md): Open the Set Editor for the Trip Dimension by double clicking on any of the header items (grey cells) on the left-hand side of the grid.
- [Review the Model](/modelling-guides/creating-a-travel-planning-model/review-model.md): Close the current workview as it is ready for collaborators to plan with.
- [Build a Departmental Workview](/modelling-guides/creating-a-travel-planning-model/build-a-departmental-workview.md): Create a new Workview to report on the Travel Expenditure per Department by Month.
### Getting Started
- [Visual Process Guides](/visual-process-guides.md): name="Sales Build Visual Process" width="100%" height="500px" data="sales-build/data.json" />
### JavaScript Runtime
- [JavaScript Features](/process-functions/js-support.md): The MODLR scripting engine includes a small set of common JavaScript utilities that web and Node.js developers typically expect.
### Alias Functions
- [alias.create](/process-functions/alias-create.md): Creates an alias within a dimension.
- [alias.createOrWipe](/process-functions/alias-createorwipe.md): Creates an alias within a dimension if it doesn't exist, or wipes the data on the alias if it already exists.
- [alias.delete](/process-functions/alias-delete.md): Deletes an alias from within a dimension permanently.
- [alias.exists](/process-functions/alias-exists.md): Checks whether an alias exists within a dimension.
- [alias.get](/process-functions/alias-get.md): Returns the alias of a given element from within the dimension.
- [alias.set](/process-functions/alias-set.md): Updates the alias of a given element within the dimension.
- [alias.wipe](/process-functions/alias-wipe.md): Wipes the data on an alias within a dimension, keeping the alias itself.
### Card Functions
- [card.execute](/process-functions/card-execute.md): Returns an executed card with specified context & variables in a specified format.
### Console Functions
- [console.error](/process-functions/console-error.md): Writes an error to the process log.
- [console.log](/process-functions/console-log.md): Write a line of text to the logs, This function is commonly used to debug or output status updates from scripts into console.
- [console.warn](/process-functions/console-warn.md): Writes a warning to the process log.
### Cube Functions
- [cube.create](/process-functions/cube-create.md): Creates a cube within a model.
- [Crosstab](/process-functions/cube-crosstab.md): A grid of cube data, read row by row, with several values on each row.
- [cube.dimensionCount](/process-functions/cube-dimensioncount.md): Returns the number of dimensions in a cube.
- [cube.dimensions](/process-functions/cube-dimensions.md): Returns the dimensions in a cube.
- [cube.exists](/process-functions/cube-exists.md): Checks whether a cube exists.
- [cube.formulaEvaluation](/process-functions/cube-formulaevaluation.md): Turns a cube's formula evaluation on or off.
- [cube.get](/process-functions/cube-get.md): Returns the value at an intersection of a cube.
- [cube.getId](/process-functions/cube-getid.md): Returns the id of a cube.
- [cube.getName](/process-functions/cube-getname.md): Returns the name of a cube.
- [cube.increment](/process-functions/cube-increment.md): Adds a value to what is already in a cube cell, instead of replacing it.
- [cube.invalidate](/process-functions/cube-invalidate.md): Invalidates a cube and clears its consolidation cache.
- [cube.log](/process-functions/cube-log.md): Turns a cube's change log on or off.
- [cube.reevaluateDimensions](/process-functions/cube-reevaluatedimensions.md): Re-evaluates the cube feeds that use one or more dimensions.
- [cube.reevaluateElement](/process-functions/cube-reevaluateelement.md): Re-evaluates the cube formulas affected by an element.
- [cube.reevaluateMapping](/process-functions/cube-reevaluatemapping.md): Re-evaluates the cube feeds that use a mapping.
- [cube.remove](/process-functions/cube-remove.md): Deletes a cube from a model. This can't be undone.
- [cube.set](/process-functions/cube-set.md): Sets the value at an intersection of a cube.
- [Slice](/process-functions/cube-slice.md): The rows of cube data at a selection of intersections.
- [cube.wipe](/process-functions/cube-wipe.md): Wipes the data at a selection of intersections in a cube.
- [cube.wipeBatchActive](/process-functions/cube-wipebatchactive.md): Starts or ends a batch of cube wipes.
### Datasource Functions
#### Datasource
- [Batch](/process-functions/batch.md): Writes many rows to a database table in grouped statements instead of one at a time.
- [DatasourceClient](/process-functions/datasourceclient.md): Runs SQL queries and statements against a JDBC or BigQuery datasource.
- [datasource.insert](/process-functions/datasource-insert.md): Runs an INSERT statement against a datasource and returns the new row's key.
- [datasource.select](/process-functions/datasource-select.md): Runs a SELECT statement against a datasource and returns the rows as a JSON string.
- [datasource.update](/process-functions/datasource-update.md): Runs an INSERT, UPDATE, DELETE or CREATE statement against a datasource.
#### Files
- [CSVReader](/process-functions/csv-reader.md): Reads a CSV file row by row, as objects keyed by column heading or as raw value arrays.
- [CSVWriter](/process-functions/csv-writer.md): Writes rows to a CSV file, one array of values per row.
- [PDFReader](/process-functions/pdf-reader.md): Reads a PDF file one page at a time.
- [datasource.directoryCreate](/process-functions/datasource-directorycreate.md): Creates a directory.
- [datasource.directoryDelete](/process-functions/datasource-directorydelete.md): Deletes a directory and everything in it.
- [datasource.directoryExists](/process-functions/datasource-directoryexists.md): Checks whether a directory exists.
- [datasource.fileLastModified](/process-functions/datasource-filelastmodified.md): Returns when a file was last changed.
- [datasource.files](/process-functions/datasource-files.md): Lists the files in a directory.
- [datasource.fileSize](/process-functions/datasource-filesize.md): Returns the size of a file.
- [datasource.folders](/process-functions/datasource-folders.md): Lists the sub-directories in a directory.
- [datasource.parseXml](/process-functions/datasource-parsexml.md): Reads an XML file and returns it as an object.
- [datasource.readFile](/process-functions/datasource-readFile.md): Reads a file, as text, lines, parsed JSON or XML, or base64.
- [datasource.renameFile](/process-functions/datasource-renameFile.md): Renames or moves a file.
- [datasource.writeFile](/process-functions/datasource-writeFile.md): Writes text or bytes to a file. Missing folders in the path are created.
- [datasource.binaryLoad](/process-functions/datasource-binaryload.md): Returns a file's contents as a base64 string.
- [datasource.binarySave](/process-functions/datasource-binarysave.md): Saves a base64 string to a file as bytes.
#### External
- [FTPClient](/process-functions/ftpclient.md): Transfers files and manages directories on a remote FTP, FTPS or SFTP server.
- [S3Bucket](/process-functions/s3bucket.md): Lists, uploads, downloads and shares objects in an Amazon S3 bucket.
#### Cache
- [datasource.cacheClear](/process-functions/datasource-cacheclear.md): Removes every key from the server-wide in-memory cache.
- [datasource.cacheExists](/process-functions/datasource-cacheexists.md): Checks whether a key is in the server-wide in-memory cache.
- [datasource.cacheGet](/process-functions/datasource-cacheget.md): Returns a value from the server-wide in-memory cache.
- [datasource.cacheList](/process-functions/datasource-cachelist.md): Returns every key in the server-wide in-memory cache.
- [datasource.cacheRemove](/process-functions/datasource-cacheremove.md): Removes a key from the server-wide in-memory cache.
- [datasource.cacheSet](/process-functions/datasource-cacheset.md): Stores a value in the server-wide in-memory cache.
#### Utils
- [datasource.base64Bytes](/process-functions/datasource-base64Bytes.md): Decodes a base64 string into an array of bytes.
- [datasource.gzip](/process-functions/datasource-gzip.md): Compresses a file into a gzip file.
- [datasource.ungzip](/process-functions/datasource-ungzip.md): Decompresses a gzip file.
- [datasource.unzip](/process-functions/datasource-unzip.md): Extracts a zip file.
- [datasource.zip](/process-functions/datasource-zip.md): Zips one or more files into a single zip file.
### Dimension Functions
- [dimension.aliases](/process-functions/dimension-aliases.md): Returns the aliases in a dimension.
- [dimension.audit](/process-functions/dimension-audit.md): Checks a dimension for orphaned elements, which are elements that no longer appear in any hierarchy, and optionally removes them.
- [dimension.create](/process-functions/dimension-create.md): Creates a dimension of the given type.
- [dimension.createOrWipe](/process-functions/dimension-createorwipe.md): Creates a dimension if it doesn't exist, or removes all of its elements if it does.
- [dimension.delete](/process-functions/dimension-delete.md): Deletes a dimension.
- [dimension.elementCount](/process-functions/dimension-elementcount.md): Returns the number of elements in a dimension.
- [dimension.elements](/process-functions/dimension-elements.md): Returns a page of the element names in a dimension.
- [dimension.exists](/process-functions/dimension-exists.md): Checks whether a dimension exists.
- [dimension.getId](/process-functions/dimension-getid.md): Returns the id of a dimension.
- [dimension.getName](/process-functions/dimension-getname.md): Returns the name of a dimension.
- [dimension.hierarchies](/process-functions/dimension-hierarchies.md): Returns the hierarchies in a dimension.
- [dimension.item](/process-functions/dimension-item.md): Returns the name of the element at a position in a dimension.
- [dimension.set](/process-functions/dimension-set.md): Runs set instructions on a dimension and returns the elements they select, in order.
- [dimension.size](/process-functions/dimension-size.md): Returns the number of elements in a dimension.
- [dimension.wipe](/process-functions/dimension-wipe.md): Removes every element from a dimension, along with its hierarchies' structure. The dimension itself is kept.
### Element Functions
- [element.delete](/process-functions/element-delete.md): Deletes an element from a dimension and from every hierarchy it's in.
- [element.exists](/process-functions/element-exists.md): Checks whether a leaf element exists in a dimension.
- [element.principal](/process-functions/element-principal.md): Returns an element's name from one of its aliases.
- [element.create](/process-functions/element-create.md): Creates an element in a dimension, outside any hierarchy.
### Hierarchy Blueprint
- [HierarchyBlueprint](/process-functions/hierarchy-hierarchyblueprint.md): Builds a hierarchy in memory, validates it, and publishes it into a dimension.
- [PublishReport](/process-functions/publishreport.md): The result of publishing a HierarchyBlueprint.
- [ValidationReport](/process-functions/validationreport.md): The result of validating a HierarchyBlueprint.
- [blueprint.add](/process-functions/blueprint-add.md): Adds an element to a blueprint without a parent. When published, it becomes a top-level element of the hierarchy.
- [blueprint.addChild](/process-functions/blueprint-addchild.md): Adds an element to a blueprint as the child of another element.
- [blueprint.create](/process-functions/blueprint-create.md): Creates a named blueprint for building a hierarchy whose depth isn't known in advance. Nothing changes in the model until it's published.
- [blueprint.publish](/process-functions/blueprint-publish.md): Applies a blueprint to a hierarchy, creating the hierarchy and any missing elements.
### Hierarchy Functions
#### Hierarchies
- [hierarchy.create](/process-functions/hierarchy-create.md): Creates a hierarchy in a dimension.
- [hierarchy.createOrWipe](/process-functions/hierarchy-createorwipe.md): Creates a hierarchy in a dimension if it doesn't exist, or removes its structure if it does.
- [hierarchy.delete](/process-functions/hierarchy-delete.md): Deletes a hierarchy from a dimension.
- [hierarchy.exists](/process-functions/hierarchy-exists.md): Checks whether a hierarchy exists.
- [hierarchy.wipe](/process-functions/hierarchy-wipe.md): Removes every element from a hierarchy. The hierarchy itself, and the dimension's elements, are kept.
#### Structure
- [hierarchy.group](/process-functions/hierarchy-group.md): Adds a leaf element under a parent, creating either if they don't exist.
- [hierarchy.removeChild](/process-functions/hierarchy-removechild.md): Removes an element from under one parent.
- [hierarchy.structure](/process-functions/hierarchy-structure.md): Nests one parent element under another, creating either if they don't exist.
- [hierarchy.unwind](/process-functions/hierarchy-unwind.md): Removes an element and everything below it from a hierarchy. The dimension's elements aren't deleted.
#### Parents & Children
- [hierarchy.childByIndex](/process-functions/hierarchy-childbyindex.md): Returns the name of a child of a parent element.
- [hierarchy.childCount](/process-functions/hierarchy-childcount.md): Returns the number of children of a parent element.
- [hierarchy.descendants](/process-functions/hierarchy-descendants.md): Returns the leaf elements below a parent element in a hierarchy.
- [hierarchy.elementHasAncestor](/process-functions/hierarchy-elementhasancestor.md): Checks whether an element has another element anywhere above it in a hierarchy, not just as its immediate parent.
- [hierarchy.iterateChildren](/process-functions/hierarchy-iteratechildren.md): Iterates through the children of an element in a hierarchy.
- [hierarchy.parentByIndex](/process-functions/hierarchy-parentbyindex.md): Returns the name of one of an element's immediate parents.
- [hierarchy.parentCount](/process-functions/hierarchy-parentcount.md): Returns the number of immediate parents an element has in a hierarchy.
#### Members
- [hierarchy.hasMember](/process-functions/hierarchy-hasmember.md): Checks whether an element exists in a hierarchy.
- [hierarchy.hasRootMember](/process-functions/hierarchy-hasrootmember.md): Checks whether an element is a top-level element of a hierarchy.
- [hierarchy.offset](/process-functions/hierarchy-offset.md): Returns the element a set number of positions before or after another element in a hierarchy.
- [hierarchy.position](/process-functions/hierarchy-position.md): Returns the position of an element in a hierarchy.
- [hierarchy.rootElements](/process-functions/hierarchy-rootelements.md): Returns the top-level elements of a hierarchy.
### HTTP Functions
- [web.delete](/process-functions/web-delete.md): Sends an HTTP DELETE request to a URL.
- [web.disableSSLVerification](/process-functions/web-disablesslverification.md): Turns off SSL certificate checks for web requests.
- [web.download](/process-functions/web-download.md): Downloads a file from a URL to the MODLR filesystem.
- [web.get](/process-functions/web-get.md): Sends an HTTP GET request to a URL.
- [web.patch](/process-functions/web-patch.md): Sends an HTTP PATCH request to a URL.
- [web.post](/process-functions/web-post.md): Sends an HTTP POST request to a URL.
- [web.put](/process-functions/web-put.md): Sends an HTTP PUT request to a URL.
- [web.setConnectionTimeout](/process-functions/web-setconnectiontimeout.md): Sets how long a web request waits to connect before timing out.
- [web.setReadTimeout](/process-functions/web-setreadtimeout.md): Sets how long a web request waits for the next data from the server before timing out.
- [web.setTransferTimeout](/process-functions/web-settransfertimeout.md): Sets how long a web request can take to transfer its data before timing out.
- [web.setWriteTimeout](/process-functions/web-setwritetimeout.md): Sets how long a web request waits to send the next data to the server before timing out.
#### Legacy
- [http.base64](/process-functions/http-base64.md): Sends an HTTP request and returns the response base64-encoded.
- [http.download](/process-functions/http-download.md): Downloads a file from a URL to the MODLR filesystem.
- [http.headersAdd](/process-functions/http-headersadd.md): Adds a header to the http requests that follow.
- [http.headersClear](/process-functions/http-headersclear.md): Clears the headers added with http.headersAdd.
- [http.raw](/process-functions/http-raw.md): Sends an HTTP request and returns the response as a string.
### Notifications
- [EmailBuilder](/process-functions/emailbuilder.md): Builds and sends an email.
- [notification.sms](/process-functions/notification-sms.md): Sends an SMS to a user.
- [notification.email](/process-functions/notification-email.md): Sends an email.
### Mapping Functions
- [mapping.create](/process-functions/mapping-create.md): Creates a mapping table.
- [mapping.delete](/process-functions/mapping-delete.md): Deletes a mapping.
- [mapping.exists](/process-functions/mapping-exists.md): Checks whether a mapping exists.
- [mapping.rowAdd](/process-functions/mapping-rowadd.md): Adds a row to a mapping.
- [mapping.rowDelete](/process-functions/mapping-rowdelete.md): Deletes a row from a mapping.
- [mapping.rowUpdate](/process-functions/mapping-rowupdate.md): Updates a row in a mapping.
- [mapping.findUsingLeft](/process-functions/mapping-findusingleft.md): Finds a mapping row by its left keys.
- [mapping.findUsingRight](/process-functions/mapping-findusingright.md): Finds a mapping row by its right keys.
- [mapping.wipe](/process-functions/mapping-wipe.md): Removes all rows from a mapping.
### Process Functions
- [process.execute](/process-functions/process-execute.md): Runs a process, in this model or another, and waits for it to finish.
- [process.exists](/process-functions/process-exists.md): Checks whether a process exists in the model.
- [process.fork](/process-functions/process-fork.md): Queues a process to run in parallel when process.join is called.
- [process.join](/process-functions/process-join.md): Runs every process queued with process.fork and waits for them all to finish.
- [process.listAll](/process-functions/process-listall.md): Lists all processes in a model.
- [process.reject](/process-functions/process-reject.md): Rejects the current record in a process's data function.
- [process.skip](/process-functions/process-skip.md): Skips the current record in a process's data function.
- [process.status](/process-functions/process-status.md): Returns the state of a process run started by process.execute.
### Script Functions
#### Process
- [script.environment](/process-functions/script-environment.md): Returns the environment the MODLR instance runs in.
- [script.getRecordsProcessed](/process-functions/script-getrecordsprocessed.md): Returns how many records the process has processed so far.
- [script.modelId](/process-functions/script-modelid.md): Returns the id of the model the process is in.
- [script.modelName](/process-functions/script-modelname.md): Returns the name of the model the process is in.
- [script.processId](/process-functions/script-processid.md): Returns the id of the running process.
- [script.processName](/process-functions/script-processname.md): Returns the name of the running process.
#### User
- [script.getUserEmail](/process-functions/script-getuseremail.md): Returns the email address of the user running the process.
- [script.getUserId](/process-functions/script-getuserid.md): Returns the id of the user running the process.
- [script.getUserName](/process-functions/script-getusername.md): Returns the name of the user running the process.
#### Prompts
- [script.checkbox](/process-functions/script-checkbox.md): Asks the user running the process to tick or untick a checkbox.
- [script.note](/process-functions/script-note.md): Shows a note to the user before the process runs.
- [script.prompt](/process-functions/script-prompt.md): Asks the user running the process for a value.
#### Run Control
- [script.abort](/process-functions/script-abort.md): Marks the process as aborted, with a reason.
- [script.complete](/process-functions/script-complete.md): Stops the process immediately and marks the run as succeeded, showing the given reason.
- [script.fail](/process-functions/script-fail.md): Stops the process immediately and marks the run as failed, showing the given reason.
#### Datasource
- [script.escape](/process-functions/script-escape.md): Escapes a string so it can be used in a SQL query.
- [script.getQuery](/process-functions/script-getquery.md): Returns the SQL set with script.processUpdateQuery.
- [script.processUpdateQuery](/process-functions/script-processupdatequery.md): Changes the SQL used by the process's datasource.
#### Variables
- [script.variableDelete](/process-functions/script-variabledelete.md): Deletes a model variable.
- [script.variableGet](/process-functions/script-variableget.md): Returns the value of a model variable.
- [script.variableSet](/process-functions/script-variableset.md): Sets a model variable, creating it if needed.
#### Utilities
- [script.getOAuth](/process-functions/script-getoauth.md): Returns the tokens for an integration.
- [script.library](/process-functions/script-library.md): Imports another JavaScript file into the process.
- [script.log](/process-functions/script-log.md): Writes a message to the process log.
- [script.qrcode](/process-functions/script-qrcode.md): Creates a QR code as a PNG image.
- [script.save](/process-functions/script-save.md): Saves the server.
- [script.shell](/process-functions/script-shell.md): Runs a shell command that has been set up on the MODLR instance.
- [script.uuid](/process-functions/script-uuid.md): Generates a random version 4 UUID (universally unique identifier).
#### Legacy
- [script.execute](/process-functions/script-execute.md): Runs another process.
- [script.getAccessTags](/process-functions/script-getaccesstags.md): Returns the access tags of a user.
- [script.getTaggedUsers](/process-functions/script-gettaggedusers.md): Returns the users that have an access tag.
- [script.getUserMultithreadingEnabled](/process-functions/script-getusermultithreadingenabled.md): Returns whether user multithreading is enabled.
- [script.setUserMultithreadingEnabled](/process-functions/script-setusermultithreadingenabled.md): Sets whether user activity uses multithreading.
### User Security
- [userSecurity](/process-functions/userSecurity.md): Manages instance security settings, user accounts and security groups.
- [Groups](/process-functions/userSecurity-groups.md): Creates, finds and deletes security groups.
- [Group](/process-functions/userSecurity-group.md): A security group and its model, object and element permissions.
- [Users](/process-functions/userSecurity-users.md): Looks up user accounts.
- [User](/process-functions/userSecurity-user.md): A user account, with its security groups, access levels and application tags.
### Security Functions
#### Applications & Users
- [ApplicationSecurity](/process-functions/security-application.md): Manages an application's users, access tags and screens.
- [security.applications](/process-functions/security-applications.md): Get an interface to manage each application in a model and its contents.
- [security.applicationScreensInMenu](/process-functions/security-applicationscreensinmenu.md): Returns a list of screens used in a menu.
- [security.createUser](/process-functions/security-createuser.md): Creates a user on your MODLR account and, by default, emails them an invitation.
- [security.removeUser](/process-functions/security-removeuser.md): Removes a user from your MODLR account.
- [security.resetUserPassword](/process-functions/security-resetuserpassword.md): Emails a user a link to reset their password.
- [security.users](/process-functions/security-users.md): Returns every user as a JSON-encoded array of user objects.
##### ApplicationSecurity
- [ApplicationUsers](/process-functions/security-application-users-interface.md): The users assigned to an application.
- [ApplicationTags](/process-functions/security-application-tags.md): An application's access tags, and which users hold them.
- [ApplicationScreens](/process-functions/security-application-screens.md): An application's screens.
###### ApplicationTags
- [ElementTag](/process-functions/security-application-elementtag.md): An access tag that controls which elements of a dimension its users can read or write.
- [ScreenTag](/process-functions/security-application-screentag.md): An access tag that controls which screens its users can see.
###### ApplicationScreens
- [ApplicationScreen](/process-functions/security-application-screen.md): A single screen in an application.
##### Legacy
- [security.applicationAddScreenTag](/process-functions/security-applicationaddscreentag.md): Create a new screen tag in an application.
- [security.applicationAddTag](/process-functions/security-applicationaddtag.md): Adds a tag to an application.
- [security.applicationAddTagElementSecurity](/process-functions/security-applicationaddtagelementsecurity.md): Add element security for a tag in an application.
- [security.applicationAddUser](/process-functions/security-applicationadduser.md): Adds a user to an application.
- [security.applicationEditScreenTag](/process-functions/security-applicationeditscreentag.md): Edit an existing screen tag in an application.
- [security.applicationRemoveAllTags](/process-functions/security-applicationremovealltags.md): Removes all tags in an application.
- [security.applicationRemoveTag](/process-functions/security-applicationremovetag.md): Removes a single tag from an application.
- [security.applicationRemoveUser](/process-functions/security-applicationremoveuser.md): Removes a user from an application.
- [security.applicationTagExists](/process-functions/security-applicationtagexists.md): Checks whether a tag exists on an application. Returns a boolean value.
- [security.applicationTaggedElements](/process-functions/security-applicationtaggedelements.md): Returns the elements available to a tag in an application as a JSON-encoded array.
- [security.applicationTaggedUsers](/process-functions/security-applicationtaggedusers.md): Returns the users holding a particular tag in an application as a JSON-encoded array.
- [security.applicationTags](/process-functions/security-applicationtags.md): Returns the tags on an application as a JSON-encoded array of tag objects.
- [security.applicationUserAddTag](/process-functions/security-applicationuseraddtag.md): Adds a single tag to a user in an application, keeping their existing tags.
- [security.applicationUserElementAccess](/process-functions/security-applicationuserelementaccess.md): Get the access mode available to the user for a particular element in a dimension.
- [security.applicationUserElements](/process-functions/security-applicationuserelements.md): Lists all elements on a dimension visible to a user in an application, as a JSON-encoded array.
- [security.applicationUserHasTag](/process-functions/security-applicationuserhastag.md): Checks if a particular user in an application has a specific tag.
- [security.applicationUserRemoveAllTags](/process-functions/security-applicationuserremovealltags.md): Removes all tags for an user in an application.
- [security.applicationUserRemoveTag](/process-functions/security-applicationuserremovetag.md): Removes a tag for an user in an application.
- [security.applicationUsers](/process-functions/security-applicationusers.md): Returns the users on an application as a JSON-encoded array of user objects.
- [security.applicationUserScreenAccess](/process-functions/security-applicationuserscreenaccess.md): Returns true or false whether or not the user has access to a screen.
- [security.applicationUserScreens](/process-functions/security-applicationuserscreens.md): List all screens visible to the user on a particular application.
- [security.applicationUserSetTags](/process-functions/security-applicationusersettags.md): Replaces all of a user's tags in an application with the supplied comma-separated list.
- [security.applicationUsersWithTag](/process-functions/security-applicationuserswithtag.md): Returns an object of users and their information that have a specified tag within a given application.
- [security.applicationUserTags](/process-functions/security-applicationusertags.md): Returns the tags held by a user in an application as a JSON-encoded array of {id, name} objects.
- [security.applicationWipeTagElementSecurity](/process-functions/security-applicationwipetagelementsecurity.md): Removes element security for a tag from an application.
- [security.applicationWipeTagScreenSecurity](/process-functions/security-applicationwipetagscreensecurity.md): Removes element security for a tag from an application.
- [security.applicationWipeUsers](/process-functions/security-applicationwipeusers.md): Wipes all users in an application.
- [security.currentUserEmail](/process-functions/security-currentuseremail.md): Retrieves the email of the current user.
- [security.currentUserId](/process-functions/security-currentuserid.md): Retrieves the user id of the current user.
- [security.currentUserName](/process-functions/security-currentusername.md): Retrieves the full name of the current user.
- [security.getUserEmail](/process-functions/security-getuseremail.md): Get the email address of a user from their user id.
- [security.getUserId](/process-functions/security-getuserid.md): Get the id of a user from their email; returns 0 when the user is not found.
- [security.getUserName](/process-functions/security-getusername.md): Get the full name of a user from their user id.
#### Hashing
- [security.md5](/process-functions/security-md5.md): Generates an MD5 hash of a string.
- [security.sha1](/process-functions/security-sha1.md): Generate a SHA1 hash from a string.
- [security.sha1hmac](/process-functions/security-sha1hmac.md): Generate a SHA1 HMAC hash.
- [security.sha256](/process-functions/security-sha256.md): Generate a SHA256 hash from a string.
- [security.sha256hmac](/process-functions/security-sha256hmac.md): Generate a SHA256 HMAC hash.
- [security.sha256HmacHex](/process-functions/security-sha256hmachex.md): Generate a SHA256 HMAC hash, returned as a hex-encoded string.
#### Secrets
- [security.getSecret](/process-functions/security-getsecret.md): Retrieves a secret value from the server's secret manager by key.
### Table Functions
- [table.create](/process-functions/table-create.md): Creates a table in the model.
- [table.delete](/process-functions/table-delete.md): Deletes a table from the model, with its rows.
- [table.exists](/process-functions/table-exists.md): Checks whether the model has a table.
- [table.list](/process-functions/table-list.md): Lists the model's tables.
- [table.fieldAdd](/process-functions/table-fieldadd.md): Adds a field to a table in the model.
- [table.fieldRemove](/process-functions/table-fieldremove.md): Removes a field from a table in the model.
- [table.fieldExists](/process-functions/table-fieldexists.md): Checks whether a table in the model has a field.
- [table.fields](/process-functions/table-fields.md): Lists the fields of a table in the model.
- [table.truncate](/process-functions/table-truncate.md): Removes all rows from a table in the model.
### Workbook Functions
- [ExcelWorkbook](/process-functions/excel-workbook.md): An Excel workbook to read, write, style and save.
- [workbook.columnIndexToName](/process-functions/workbook-columnindextoname.md): Returns a column's letter from its index.
- [workbook.columnNameToIndex](/process-functions/workbook-columnnametoindex.md): Returns a column's index from its letter.
- [workbook.getColumnName](/process-functions/workbook-getcolumnname.md): Returns a column's letter from its index.
- [workbook.workbookFromQuery](/process-functions/workbook-workbookfromquery.md): Runs a SQL query and returns the results as an Excel workbook, base64-encoded.
#### Legacy
- [workbook.convertFromBase64](/process-functions/workbook-convertfrombase64.md): Decodes a base64 workbook into an Apache POI workbook.
- [workbook.convertToBase64](/process-functions/workbook-converttobase64.md): Encodes an Apache POI workbook as base64.
- [workbook.create](/process-functions/workbook-create.md): Creates an Apache POI workbook.
- [workbook.open](/process-functions/workbook-open.md): Opens an Excel file as an Apache POI workbook.
### Workview Functions
- [workview.cache](/process-functions/workview-cache.md): Runs a workview for every title combination so the results are cached.
- [workview.definitionGet](/process-functions/workview-definitionget.md): Returns a workview's definition.
- [workview.execute](/process-functions/workview-execute.md): Runs a workview and returns its results.
- [workview.export](/process-functions/workview-export.md): Runs a workview and exports it as an Excel file.
- [workview.list](/process-functions/workview-list.md): Lists the model's workviews.
### Overview
- [Custom Pages](/custom-pages.md): Custom pages let you extend an application with content, logic, and user experiences that go beyond standard screens and workviews.
### Custom Pages
- [Custom](/custom-pages/client-side-pages.md): Client-side pages run in the user's browser.
- [Server Template Blocks](/custom-pages/custom-server-blocks.md): Custom pages can include a server-executed block by using a script tag with runat="server".
- [Available Functions](/custom-pages/client-side-functions.md): This section documents helpers and APIs that are available specifically to custom pages.
#### Available Functions
- [ServerClient](/custom-pages/client-side-serverclient.md): A lightweight fetch wrapper for making requests to the /serverside/execute endpoint, with optional request deduplication, abort control, and structured error handling.
- [serverside (Deprecated)](/custom-pages/client-side-serverside-legacy.md): Note that this has been deprecated in favour of ServerClient
### Serverside Pages
- [Introduction](/custom-pages/server-side-pages.md): Server-side pages run on the MODLR server instead of in the browser.
- [Available Functions](/custom-pages/server-side-functions.md): Server-side pages can use MODLR process functions and other server-executed runtime features.
### Visual Processes
- [Visual Processes | Introduction](/visual-process-editor.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Cheat Sheet](/visual-process-editor/cheatsheet.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Nodes](/visual-process-editor/nodes.md): Documentation for MODLR, the corporate performance management and planning cloud.
#### Nodes
##### Flow Control
###### Branching
- [Abort](/visual-process-editor/nodes/abortnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Branch](/visual-process-editor/nodes/branchnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Sequence](/visual-process-editor/nodes/sequencenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Switch](/visual-process-editor/nodes/switchnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
###### Error Handling
- [Retry](/visual-process-editor/nodes/retrynode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Throw](/visual-process-editor/nodes/thrownode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Try / Catch](/visual-process-editor/nodes/trycatchnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
###### Iteration
- [Break](/visual-process-editor/nodes/breaknode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Continue](/visual-process-editor/nodes/continuenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Do While Loop](/visual-process-editor/nodes/dowhileloopnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [For Each (List)](/visual-process-editor/nodes/foreachlistnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [For Each (Map)](/visual-process-editor/nodes/foreachmapnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [For Loop](/visual-process-editor/nodes/forloopnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [While Loop](/visual-process-editor/nodes/whileloopnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
###### Timing
- [Sleep](/visual-process-editor/nodes/sleepnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Throttle](/visual-process-editor/nodes/throttlenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Wait Until Time](/visual-process-editor/nodes/waituntiltimenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
###### Utilities
- [Cache](/visual-process-editor/nodes/cachenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
##### Collections
- [Collection Count](/visual-process-editor/nodes/collectioncountnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
###### List
- [List Add Item](/visual-process-editor/nodes/listadditemnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [List Create](/visual-process-editor/nodes/listcreatenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [List Difference](/visual-process-editor/nodes/listdifferencenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [List Distinct](/visual-process-editor/nodes/listdistinctnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [List First Item](/visual-process-editor/nodes/listfirstitemnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [List From JSON](/visual-process-editor/nodes/listfromjsonnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [List Get Item](/visual-process-editor/nodes/listgetitemnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [List Insert Item](/visual-process-editor/nodes/listinsertitemnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [List Last Item](/visual-process-editor/nodes/listlastitemnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [List Merge](/visual-process-editor/nodes/listmergenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [List](/visual-process-editor/nodes/listnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [List Range](/visual-process-editor/nodes/listrangenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [List Remove Item At](/visual-process-editor/nodes/listremoveitematnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [List Set Item](/visual-process-editor/nodes/listsetitemnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
###### Map
- [Map Add To (MODLR Formula)](/visual-process-editor/nodes/mapaddtoformulanode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Map Add To](/visual-process-editor/nodes/mapaddtonode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Map Create](/visual-process-editor/nodes/mapcreatenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Map Flatten](/visual-process-editor/nodes/mapflattennode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Map From JSON](/visual-process-editor/nodes/mapfromjsonnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Map From XML](/visual-process-editor/nodes/mapfromxmlnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Map Get Value](/visual-process-editor/nodes/mapgetitemnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Map List Keys](/visual-process-editor/nodes/mapgetkeysnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Map List Values](/visual-process-editor/nodes/mapgetvaluesnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Map Key Exists](/visual-process-editor/nodes/mapkeyexistsnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Map Merge](/visual-process-editor/nodes/mapmergenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Map](/visual-process-editor/nodes/mapnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Map Remap](/visual-process-editor/nodes/mapremapnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Map Remap (Mapping)](/visual-process-editor/nodes/mapremapschemanode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Map to List](/visual-process-editor/nodes/maptolistnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Map Transform (MODLR Formula)](/visual-process-editor/nodes/maptransformformulanode.md): Documentation for MODLR, the corporate performance management and planning cloud.
##### Cube Operations
###### General
- [Cube Create](/visual-process-editor/nodes/cubecreatenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Cube Delete](/visual-process-editor/nodes/cubedeletenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Cube Dimension Count](/visual-process-editor/nodes/cubedimensioncountnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Cube Exists](/visual-process-editor/nodes/cubeexistsnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Cube Get ID](/visual-process-editor/nodes/cubegetidnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Cube Get Name](/visual-process-editor/nodes/cubegetnamenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Cube Invalidate](/visual-process-editor/nodes/cubeinvalidatenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Cube List Dimensions](/visual-process-editor/nodes/cubelistdimensionsnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Cube List](/visual-process-editor/nodes/cubelistnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Cube Rename](/visual-process-editor/nodes/cuberenamenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Cube Wipe (List)](/visual-process-editor/nodes/cubewipelistnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Cube Wipe (Map)](/visual-process-editor/nodes/cubewipemapnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Cube Wipe (String)](/visual-process-editor/nodes/cubewipestringnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
###### Query
- [Cube Get (List)](/visual-process-editor/nodes/cubegetlistnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Cube Get (String)](/visual-process-editor/nodes/cubegetstringnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Cube Update (List)](/visual-process-editor/nodes/cubeinsertlistnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Cube Update (Map)](/visual-process-editor/nodes/cubeinsertmapnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Cube Slice (List)](/visual-process-editor/nodes/cubeslicelistnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Cube Slice (Map)](/visual-process-editor/nodes/cubeslicemapnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Cube Slice (String)](/visual-process-editor/nodes/cubeslicestringnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
###### Properties
- [Cube is Formula Evaluating](/visual-process-editor/nodes/cubeisformulaevaluatingnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Cube is Logging](/visual-process-editor/nodes/cubeisloggingnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Cube Set Formula Evaluation](/visual-process-editor/nodes/cubesetformulaevaluationnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Cube Set Logging](/visual-process-editor/nodes/cubesetloggingnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
##### Dimension & Hierarchy
###### Dimension
- [Dimension Create Multiple](/visual-process-editor/nodes/dimensioncreatemultiplenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Dimension Create](/visual-process-editor/nodes/dimensioncreatenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Dimension Delete](/visual-process-editor/nodes/dimensiondeletenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Dimension Element Parents](/visual-process-editor/nodes/dimensionelementparentsnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Dimension Exists](/visual-process-editor/nodes/dimensionexistsnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Dimension has Element](/visual-process-editor/nodes/dimensionhaselementnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Dimension Rename](/visual-process-editor/nodes/dimensionrenamenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Dimension Wipe](/visual-process-editor/nodes/dimensionwipenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
###### Hierarchy
- [For Each Child in Hierarchy](/visual-process-editor/nodes/foreachchildinhierarchy.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [For Each Parent in Hierarchy](/visual-process-editor/nodes/foreachparentinhierarchy.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [For Each Root in Hierarchy](/visual-process-editor/nodes/foreachrootinhierarchy.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [For Element Range](/visual-process-editor/nodes/forelementrange.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Hierarchy Create](/visual-process-editor/nodes/hierarchycreatenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Hierarchy Delete](/visual-process-editor/nodes/hierarchydeletenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Hierarchy Exists](/visual-process-editor/nodes/hierarchyexistsnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Hierarchy has Element](/visual-process-editor/nodes/hierarchyhaselementnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Hierarchy has Root Element](/visual-process-editor/nodes/hierarchyhasrootelementnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Hierarchy Insert Element](/visual-process-editor/nodes/hierarchyinsertelementnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Hierarchy Wipe](/visual-process-editor/nodes/hierarchywipenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
###### Alias
- [Alias Create](/visual-process-editor/nodes/aliascreatenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Alias Delete](/visual-process-editor/nodes/aliasdeletenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Alias Exists](/visual-process-editor/nodes/aliasexistsnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Alias Get](/visual-process-editor/nodes/aliasgetnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Alias Set](/visual-process-editor/nodes/aliassetnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Alias Wipe](/visual-process-editor/nodes/aliaswipenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
##### Mapping
- [Mapping Delete](/visual-process-editor/nodes/mappingdeletenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Mapping Exists](/visual-process-editor/nodes/mappingexistsnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Mapping Wipe](/visual-process-editor/nodes/mappingwipenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
##### String Operations
- [String Format](/visual-process-editor/nodes/stringformatnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String](/visual-process-editor/nodes/stringnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String Template](/visual-process-editor/nodes/stringtemplatelistnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String Template (Map)](/visual-process-editor/nodes/stringtemplatemapnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [To JSON String](/visual-process-editor/nodes/tojsonstringnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [To String](/visual-process-editor/nodes/tostringnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
###### Comparison
- [String Contains](/visual-process-editor/nodes/stringcontainsnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String Ends With](/visual-process-editor/nodes/stringendswithnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String Equals](/visual-process-editor/nodes/stringequalsnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String is Alpha](/visual-process-editor/nodes/stringisalphanode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String is Alphanumeric](/visual-process-editor/nodes/stringisalphanumericnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String is Digit](/visual-process-editor/nodes/stringisdigitnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String Is Null or Empty](/visual-process-editor/nodes/stringisnulloremptynode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String Is Null or Whitespace](/visual-process-editor/nodes/stringisnullorwhitespacenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String is Numeric](/visual-process-editor/nodes/stringisnumericnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String Matches Regex](/visual-process-editor/nodes/stringmatchesregexnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Starts With](/visual-process-editor/nodes/stringstartswithnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
###### Manipulation
- [String Concat](/visual-process-editor/nodes/stringconcatnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String Join](/visual-process-editor/nodes/stringjoinnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String Pad Left](/visual-process-editor/nodes/stringpadleftnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String Pad Right](/visual-process-editor/nodes/stringpadrightnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String Repeat](/visual-process-editor/nodes/stringrepeatnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String Replace](/visual-process-editor/nodes/stringreplacenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String Split](/visual-process-editor/nodes/stringsplitnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String Substring](/visual-process-editor/nodes/stringsubstringnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String to Lower](/visual-process-editor/nodes/stringtolowernode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String to Title](/visual-process-editor/nodes/stringtotitlenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String to Upper](/visual-process-editor/nodes/stringtouppernode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String Trim](/visual-process-editor/nodes/stringtrimnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
###### Information
- [String Index Of](/visual-process-editor/nodes/stringindexofnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String Last Index Of](/visual-process-editor/nodes/stringlastindexofnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [String Length](/visual-process-editor/nodes/stringlengthnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
##### Math
- [Absolute](/visual-process-editor/nodes/absolutenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Add](/visual-process-editor/nodes/addnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Ceil](/visual-process-editor/nodes/ceilnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Clamp](/visual-process-editor/nodes/clampnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Divide](/visual-process-editor/nodes/dividenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Exp](/visual-process-editor/nodes/expnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Floor](/visual-process-editor/nodes/floornode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Max](/visual-process-editor/nodes/maxnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Min](/visual-process-editor/nodes/minnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Modulo](/visual-process-editor/nodes/modulonode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Multiply](/visual-process-editor/nodes/mulitplynode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Power](/visual-process-editor/nodes/powernode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Round](/visual-process-editor/nodes/roundnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Sign](/visual-process-editor/nodes/signnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Square Root](/visual-process-editor/nodes/sqrtnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Subtract](/visual-process-editor/nodes/subtractnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
##### Logic
- [And](/visual-process-editor/nodes/andnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Boolean](/visual-process-editor/nodes/booleannode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Equals](/visual-process-editor/nodes/equalnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Greater](/visual-process-editor/nodes/greaternode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Greater or Equal](/visual-process-editor/nodes/greaterorequalnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Less](/visual-process-editor/nodes/lessnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Less or Equal](/visual-process-editor/nodes/lessorequalnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Negate](/visual-process-editor/nodes/negatenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Not Equals](/visual-process-editor/nodes/notequalnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Or](/visual-process-editor/nodes/ornode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Xor](/visual-process-editor/nodes/xornode.md): Documentation for MODLR, the corporate performance management and planning cloud.
##### I/O
###### Files & Directories
- [Directory Create](/visual-process-editor/nodes/directorycreatenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Directory Delete](/visual-process-editor/nodes/directorydeletenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Directory List](/visual-process-editor/nodes/directorylistnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [File Copy](/visual-process-editor/nodes/filecopynode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [File Delete](/visual-process-editor/nodes/filedeletenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [File Exists](/visual-process-editor/nodes/fileexistsnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [File Move](/visual-process-editor/nodes/filemovenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [File Read](/visual-process-editor/nodes/filereadnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [File Write](/visual-process-editor/nodes/filewritenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
###### Archiving
- [Archive](/visual-process-editor/nodes/archivenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Extract Archive](/visual-process-editor/nodes/extractarchivenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
###### CSV
- [CSV Reader](/visual-process-editor/nodes/csvreadernode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [CSV Writer Close](/visual-process-editor/nodes/csvwriterclosenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [CSV Writer](/visual-process-editor/nodes/csvwriternode.md): Documentation for MODLR, the corporate performance management and planning cloud.
###### Web & APIs
- [Basic Auth](/visual-process-editor/nodes/basicauthnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Bearer Auth](/visual-process-editor/nodes/bearerauthnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [FTP Connection](/visual-process-editor/nodes/ftpconnectionnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [FTP Directory](/visual-process-editor/nodes/ftpdirectorynode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [FTP Download](/visual-process-editor/nodes/ftpdownloadnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [FTP Upload](/visual-process-editor/nodes/ftpuploadnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [HTTP Form Request](/visual-process-editor/nodes/httpformrequestnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [HTTP Request](/visual-process-editor/nodes/httprequestnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Integration](/visual-process-editor/nodes/integrationnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [OAuth 1.0 Auth](/visual-process-editor/nodes/oauth1authnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Send Email](/visual-process-editor/nodes/sendemailnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
###### Datasource
- [Datasource Alter Table](/visual-process-editor/nodes/datasourcealtertableschemanode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Datasource Batch Flush](/visual-process-editor/nodes/datasourcebatchflushnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Datasource Batch Create](/visual-process-editor/nodes/datasourcebatchinsertcreatenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Datasource Batch Insert (Map)](/visual-process-editor/nodes/datasourcebatchinsertmapnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Datasource Batch Insert (List)](/visual-process-editor/nodes/datasourcebatchinsertnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Datasource Create Table](/visual-process-editor/nodes/datasourcecreatetableschemanode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Datasource Execute](/visual-process-editor/nodes/datasourceexecutenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Datasource Mapping](/visual-process-editor/nodes/datasourcemappingnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Datasource Paginated Query](/visual-process-editor/nodes/datasourcepaginatedquerynode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Datasource Query](/visual-process-editor/nodes/datasourcequerynode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Datasource Query (Stream)](/visual-process-editor/nodes/datasourcequerystreamnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
###### S3
- [S3 Connection](/visual-process-editor/nodes/s3connectionnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [S3 Download File](/visual-process-editor/nodes/s3downloadfilenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [S3 List Objects](/visual-process-editor/nodes/s3listobjectsnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [S3 Upload File](/visual-process-editor/nodes/s3uploadfilenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
##### Date & Time
- [Date Time Adjust](/visual-process-editor/nodes/datetimeadjustnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Date Time Component](/visual-process-editor/nodes/datetimecomponentnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Date Time Difference](/visual-process-editor/nodes/datetimedifferencenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Date Time Format](/visual-process-editor/nodes/datetimeformatnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Date Time Parse](/visual-process-editor/nodes/datetimeparsenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Date Time Range](/visual-process-editor/nodes/datetimerangenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Date Time UTC Now](/visual-process-editor/nodes/datetimeutcnownode.md): Documentation for MODLR, the corporate performance management and planning cloud.
##### Number
- [Double](/visual-process-editor/nodes/doublenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Integer](/visual-process-editor/nodes/integernode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Format Number](/visual-process-editor/nodes/numberformatnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
##### Random
- [Random Double](/visual-process-editor/nodes/randomdoublenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Random Integer](/visual-process-editor/nodes/randomintegernode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Random UUID](/visual-process-editor/nodes/randomuuidnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
##### Debugging
- [Assert](/visual-process-editor/nodes/assertnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Logger](/visual-process-editor/nodes/loggernode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Log Level](/visual-process-editor/nodes/loglevelnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Note](/visual-process-editor/nodes/notenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Stopwatch](/visual-process-editor/nodes/stopwatchnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
##### Custom
- [Custom Process](/visual-process-editor/nodes/customprocessnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [MODLR Formula](/visual-process-editor/nodes/modlrformulanode.md): Documentation for MODLR, the corporate performance management and planning cloud.
##### Variables & Arguments
- [Argument](/visual-process-editor/nodes/argumentnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Variable Accumulate](/visual-process-editor/nodes/globalvariableaccumulatenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Variable List Get Item](/visual-process-editor/nodes/globalvariablegetlistitemnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Variable Map Get Value](/visual-process-editor/nodes/globalvariablegetmapitemnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Variable](/visual-process-editor/nodes/globalvariablenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Variable Set](/visual-process-editor/nodes/globalvariablesetnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Model Variable](/visual-process-editor/nodes/modelvariablenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Model Variable Set](/visual-process-editor/nodes/modelvariablesetnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Secret](/visual-process-editor/nodes/secretnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
##### Encryption / Encoding
- [AES-256-CBC Decrypt](/visual-process-editor/nodes/aesdecryptnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [AES-256-CBC Encrypt](/visual-process-editor/nodes/aesencryptnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Base64 Decode](/visual-process-editor/nodes/base64decodenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Base64 Encode](/visual-process-editor/nodes/base64encodenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Hash String](/visual-process-editor/nodes/hashstringnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [HMAC](/visual-process-editor/nodes/hmacnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [OTP](/visual-process-editor/nodes/otpnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Secure Random String](/visual-process-editor/nodes/securerandomstringnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [URL Decode](/visual-process-editor/nodes/urldecodenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [URL Encode](/visual-process-editor/nodes/urlencodenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
##### Graph
- [Graph Output](/visual-process-editor/nodes/graphoutputnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Graph Status](/visual-process-editor/nodes/graphstatusnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Iterable Subprocess](/visual-process-editor/nodes/iterablesubgraphnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Subprocess](/visual-process-editor/nodes/subgraphnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
##### Processes
- [Process Execute](/visual-process-editor/nodes/processexecutenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Process Fork](/visual-process-editor/nodes/processforknode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Process Join](/visual-process-editor/nodes/processjoinnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Visual Process Execute](/visual-process-editor/nodes/visualprocessexecutenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Visual Process Fork](/visual-process-editor/nodes/visualprocessforknode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Visual Process Join](/visual-process-editor/nodes/visualprocessjoinnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
##### Cards
- [Card Execute](/visual-process-editor/nodes/cardexecutenode.md): Documentation for MODLR, the corporate performance management and planning cloud.
##### Users
- [Get User By Email](/visual-process-editor/nodes/usergetbyemailnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Get User By Id](/visual-process-editor/nodes/usergetbyidnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
### Cube Functions
#### Conditional Functions
- [AND](/cube-functions/and.md): Returns 1 if all of the conditions are evaluated to true.
- [IF](/cube-functions/if.md): Returns 1 if both the conditions are evaluated to true or if the cell being calculated has no elements which have children.
- [NOT](/cube-functions/not.md): Returns 1 if if the condition is evaluated to false.
- [OR](/cube-functions/or.md): Returns 1 if either of the conditions are evaluated to true.
- [SWITCH](/cube-functions/switch.md): Execute different expressions based on the input value of an expression, useful when there are few possible values.
- [XOR](/cube-functions/xor.md): Returns 1 or 0 based on two or more conditions.
#### Datasource Functions
- [SQLCOLUMN](/cube-functions/sqlcolumn.md): Only Executes Under: Cards
- [SQLCOLUMNNAME](/cube-functions/sqlcolumnname.md): Only Executes Under: Cards
- [SQLROW](/cube-functions/sqlrow.md): Only Executes Under: Cards
- [SQLVALUE](/cube-functions/sqlvalue.md): Only Executes Under: Cards
#### Date Functions
##### Construction & Parsing
- [DATE](/cube-functions/date.md): Returns the serial number of a date.
- [DATEVALUE](/cube-functions/datevalue.md): Converts a text string representing a date to a date value.
- [TIME](/cube-functions/time.md): Returns the time value from hour, minute and second components.
- [TIMEVALUE](/cube-functions/timevalue.md): Converts a text string representing a time into a time value.
- [NOW](/cube-functions/now.md): Only Executes Under: Cards, Workviews, Processes
- [TODAY](/cube-functions/today.md): Only Executes Under: Cards, Workviews, Processes
##### Components
- [DAY](/cube-functions/day.md): Returns the day of the month, a number between 1 and 31, from a given date.
- [MONTH](/cube-functions/month.md): Returns the month component of a given date value.
- [YEAR](/cube-functions/year.md): Returns the year component of a given date value.
- [HOUR](/cube-functions/hour.md): Returns the hour component of a given time value.
- [MINUTE](/cube-functions/minute.md): Returns the minute component of a given time value.
- [SECOND](/cube-functions/second.md): Returns the second component of a given time value.
- [WEEKDAY](/cube-functions/weekday.md): Returns the name of the weekday
- [WEEKDAYEX](/cube-functions/weekdayex.md): Returns the day of the week, a number between 1 and 7, from a given date.
- [WEEKNUM](/cube-functions/weeknum.md): Returns the week number of a given date based on a specified type of week.
##### Arithmetic & Differences
- [DATEDIF](/cube-functions/datedif.md): Calculates the difference between two dates or times, in the specified time unit.
- [DAYS](/cube-functions/days.md): Calculates the number of days between two dates.
- [EDATE](/cube-functions/edate.md): Calculates the date that is the specified number of months before or after a given date.
- [EOMONTH](/cube-functions/eomonth.md): Calculates the last day of the month that is the specified number of months before or after a given date.
- [MONTHDAYCOUNT](/cube-functions/monthdaycount.md): Returns the number of the specified weekdays in the provided month
- [MONTHDAYS](/cube-functions/monthdays.md): Returns the number of days in the provided month
- [MONTHWORKDAYS](/cube-functions/monthworkdays.md): Returns the number of working days in the provided month
- [NETWORKDAYS](/cube-functions/networkdays.md): Calculates the number of working days between two dates, excluding weekends and holidays.
- [SNETWORKDAYS](/cube-functions/snetworkdays.md): Calculates the number of working days between two dates, excluding weekends and holidays.
- [WORKDAY](/cube-functions/workday.md): Returns a date that is a specified number of working days (excluding weekends and holidays) away from a given start date.
##### Formatting
- [FORMATDATE](/cube-functions/formatdate.md): Converts an Excel date serial number to a string in the format 'yyyy-MM-dd'.
- [FORMATTIME](/cube-functions/formattime.md): Converts an Excel date/time serial number to a string in the format 'HH:mm:ss'.
#### Dimension Functions
##### Element Lookup
- [ALIAS](/cube-functions/alias.md): Returns the element for the specified dimension for the cell being calculated.
- [ELEMENT](/cube-functions/element.md): Returns the element from the dimension specified in the cube cell intersection which is presently being evaluated by the rules engine.
- [ELEMENTBYPOSITION](/cube-functions/elementbyposition.md): Returns the name of the element at a specified index (numeric position) in a specified dimension hierarchy.
- [ELEMENTEXISTS](/cube-functions/elementexists.md): Returns 1 if the element exists in the specified dimension or 0.
- [ELEMENTTYPE](/cube-functions/elementtype.md): Returns S or N based on the element for the specified dimension for the cell bring calculated.
- [MAPPEDELEMENT](/cube-functions/mappedelement.md): Returns the element for the specified dimension within a mapping entry.
- [OFFSET](/cube-functions/offset.md): Returns the name of the element at a specified index (numeric position) relative to the specified element in a specified dimension hierarchy.
##### Hierarchy & Parent-Child
- [CHILD](/cube-functions/child.md): Returns the name of the child element based on the specified dimension, hierarchy, element and position of the child.
- [CHILDPOSITION](/cube-functions/childposition.md): Returns the position of the child element within a specific parent element within a specified dimension hierarchy.
- [CHILDREN](/cube-functions/children.md): Only Executes Under: Cards
- [DESCENDANTS](/cube-functions/descendants.md): Only Executes Under: Cards
- [ELEMENTHASANCESTOR](/cube-functions/elementhasancestor.md): Returns true (1) if the element from the specified dimension for the cell being evaluated is a descendant of the specified potential ancestor.
- [HASCOMMONCHILDREN](/cube-functions/hascommonchildren.md): Only Executes Under: Cards
- [HIERARCHYBYPOSITION](/cube-functions/hierarchybyposition.md): Returns the name of the hierarchy at the specified position in the dimension.
- [HIERARCHYHASMEMBER](/cube-functions/hierarchyhasmember.md): Returns 1 if the element exists in the specified hierarchy or 0.
- [ISLEAF](/cube-functions/isleaf.md): Returns true if the cell being calculated does not have any elements with children.
- [ISLEVELZERO](/cube-functions/islevelzero.md): Returns true if the element of the specified dimension for the cell being evaluated has no children.
- [LEVELSBETWEEN](/cube-functions/levelsbetween.md): Returns the number of steps from the Ancestor specified to the Descendant specified.
- [PARENT](/cube-functions/parent.md): Returns the name of the direct parent element based on the specified dimension, hierarchy, element and index of the parent.
##### Static Values & Properties
- [CONTAINSSTATICVALUES](/cube-functions/containsstaticvalues.md): Returns true if the cell or its children being calculated has a non-formula driven, non-zero value.
- [CONTEXTDUMP](/cube-functions/contextdump.md): Only Executes Under: Cards
- [COUNTSTATICVALUES](/cube-functions/countstaticvalues.md): Returns the COUNT of user input values.
- [HASSTATICVALUE](/cube-functions/hasstaticvalue.md): Returns true if the cell being calculated has a non-formula driven, non-zero value.
- [SUMSTATICVALUES](/cube-functions/sumstaticvalues.md): Returns the SUM of user input values.
##### Counts & Indexes
- [CHILDCOUNT](/cube-functions/childcount.md): Returns the number of children within a specific parent element within a specified dimension hierarchy.
- [CUBEDIMENSIONBYPOSITION](/cube-functions/cubedimensionbyposition.md): Returns the name of the dimension at the specified position in the cube.
- [CUBEDIMENSIONCOUNT](/cube-functions/cubedimensioncount.md): Returns the number of dimensions in the specified cube.
- [HIERARCHYCOUNT](/cube-functions/hierarchycount.md): Returns the number of hierarchies in the specified dimension.
- [NTHCOUNT](/cube-functions/nthcount.md): Returns the number of bottom most descendant elements within a specific parent element within a specified dimension hierarchy.
- [PARENTCOUNT](/cube-functions/parentcount.md): Returns the number of parent elements in a hierarchy.
- [POSITION](/cube-functions/position.md): Returns a number which represents the specified elements position in a specified hierarchy.
#### Financial Functions
##### Depreciation
- [DB](/cube-functions/db.md): Returns depreciation of an asset for a specified period using the fixed-declining balance method.
- [DDB](/cube-functions/ddb.md): Returns the depreciation of an asset for a specified period using the double-declining balance method or another declining-balance method that you specify.
- [SLN](/cube-functions/sln.md): Calculates the straight-line depreciation of an asset for one period.
- [SYD](/cube-functions/syd.md): Calculates the sum-of-years'-digits depreciation of an asset for a specified period.
- [VDB](/cube-functions/vdb.md): Returns the depreciation of an asset for any period (or partial period) using the variable declining balance method.
##### Interest & Loans
- [FV](/cube-functions/fv.md): Calculates the future value of an investment based on constant payments and a constant interest rate.
- [IPMT](/cube-functions/ipmt.md): Calculates the interest portion of a loan payment for a given period.
- [NPER](/cube-functions/nper.md): Returns the total number of payment periods in an annuity based on periodic, constant payments and future value.
- [PMT](/cube-functions/pmt.md): Calculates the payment for a loan based on constant payments and a constant interest rate.
- [PPMT](/cube-functions/ppmt.md): Calculates the principal portion of a loan payment for a given period.
- [PV](/cube-functions/pv.md): Calculates the present value of an investment based on constant payments and a constant interest rate.
- [RATE](/cube-functions/rate.md): Calculates the interest rate per period of an annuity investment based on constant-amount periodic payments and the assumption of a constant interest rate.
##### Returns (IRR)
- [CUBEIRR](/cube-functions/cubeirr.md): Only Executes Under: Cards
- [CUBEXIRR](/cube-functions/cubexirr.md): Only Executes Under: Cards
##### Tax
- [ATO_DV](/cube-functions/atodv.md): Calculates depreciation for an asset using the Australian Tax Office (ATO) Diminishing Value method.
- [ATO_PC](/cube-functions/atopc.md): Calculates depreciation for an asset using the Australian Tax Office (ATO) Prime Cost method.
#### Modelling Functions
##### Consolidation
- [CONSOLIDATEAVERAGE](/cube-functions/consolidateaverage.md): Returns the average of all child values for a given consolidation intersection.
- [CONSOLIDATEAVERAGENOZEROS](/cube-functions/consolidateaveragenozeros.md): Returns the average of all child values excluding empty or 0 values for a given consolidation intersection.
- [CONSOLIDATEMAX](/cube-functions/consolidatemax.md): Returns the maximum value of all child values for a given consolidation intersection.
- [CONSOLIDATEMAXNOZEROS](/cube-functions/consolidatemaxnozeros.md): Returns the maximum value of all child values excluding empty or 0 values for a given consolidation intersection.
- [CONSOLIDATEMEDIAN](/cube-functions/consolidatemedian.md): Returns the median value of all child values for a given consolidation intersection.
- [CONSOLIDATEMEDIANNOZEROS](/cube-functions/consolidatemediannozeros.md): Returns the median value of all child values excluding empty or 0 values for a given consolidation intersection.
- [CONSOLIDATEMIN](/cube-functions/consolidatemin.md): Returns the minimum value of all child values for a given consolidation intersection.
- [CONSOLIDATEMINNOZEROS](/cube-functions/consolidateminnozeros.md): Returns the minimum value of all child values excluding empty or 0 values for a given consolidation intersection.
- [CONSOLIDATESTANDARDDEVIATION](/cube-functions/consolidatestandarddeviation.md): Returns the standard deviation of all child values for a given consolidation intersection.
- [CONSOLIDATESTANDARDDEVIATIONNOZEROS](/cube-functions/consolidatestandarddeviationnozeros.md): Returns the standard deviation of all child values excluding 0 values for a given consolidation intersection.
##### Descendant Values
- [FIRSTDESCENDANTVALUE](/cube-functions/firstdescendantvalue.md): Returns the first child value for a given consolidation intersection.
- [FIRSTPOPULATEDDESCENDANTVALUE](/cube-functions/firstpopulateddescendantvalue.md): FIRSTPOPULATEDDESCENDANTVALUE will return the first child with a value for a given consolidation intersection.
- [LASTDESCENDANTVALUE](/cube-functions/lastdescendantvalue.md): LASTDESCENDANTVALUE will return the first child value for a given consolidation intersection.
- [LASTPOPULATEDDESCENDANTVALUE](/cube-functions/lastpopulateddescendantvalue.md): LASTPOPULATEDDESCENDANTVALUE will return the last child with a value for a given consolidation intersection.
##### Links & Mapping
- [LINK](/cube-functions/link.md): This function is used to link cubes.
- [LINKBY](/cube-functions/linkby.md): Create a flow of information into the affected cells from the specified cubes using on a specified relative cell value as an element (on a dimension) in the target cube.
- [LINKDIM](/cube-functions/linkdim.md): This function is used with LINKDIM to ensure accurate calculation of LINKS.
- [MAPPING](/cube-functions/mapping.md): Processes the mapping in the specified direction.
##### Data & Variables
- [FIELD](/cube-functions/field.md): Returns the value of a field within the same record.
- [SEQUENCE](/cube-functions/sequence.md): This function is typically used in rolling balance calculations.
- [VARIABLE](/cube-functions/variable.md): Returns the value of a Model variable.
#### Numeric Functions
##### Arithmetic & Aggregation
- [ARRAY](/cube-functions/array.md): Creates an array from a list of values.
- [AVERAGE](/cube-functions/average.md): Returns the average value from a range of inputs.
- [AVERAGENOZEROS](/cube-functions/averagenozeros.md): Returns the average value from a range of inputs ignoring zeroes.
- [MAX](/cube-functions/max.md): Returns the maximum value from a range of inputs.
- [MIN](/cube-functions/min.md): Returns the minimum value from a range of inputs.
- [MOD](/cube-functions/mod.md): Returns the remainder when one number is divided by another.
##### Rounding & Sign
- [ABS](/cube-functions/abs.md): Returns a positive number regardless of the sign of the original number.
- [CEIL](/cube-functions/ceil.md): Returns the smallest (closest to negative infinity) numeric value that is greater than or equal to the argument and has no decimal places.
- [FLOOR](/cube-functions/floor.md): Returns the largest (closest to positive infinity) numeric value that is less than or equal to the argument and has no decimal places
- [INT](/cube-functions/int.md): See FLOOR.
- [ROUND](/cube-functions/round.md): Rounds the given number to a given number of decimal places
##### Trigonometric
- [ACOS](/cube-functions/acos.md): Returns the arc cosine of a number.
- [ASIN](/cube-functions/asin.md): Returns the arc sine of a number.
- [ATAN](/cube-functions/atan.md): Returns the arc tangent of a number.
- [COS](/cube-functions/cos.md): Returns the cosine of a number.
- [COSH](/cube-functions/cosh.md): Returns the hyperbolic cosine of a value.
- [SECH](/cube-functions/sech.md): Returns the hyperbolic secant of a value.
- [SIN](/cube-functions/sin.md): Returns the sine of a number.
- [TAN](/cube-functions/tan.md): Returns the tangent of a number.
##### Logarithmic & Power
- [EXP](/cube-functions/exp.md): Returns Euler's number e raised to the power of a double value.
- [LOG](/cube-functions/log.md): Returns the natural logarithm (base e) of a numeric value.
- [POW](/cube-functions/pow.md): See POWER.
- [POWER](/cube-functions/power.md): Returns the input number raised to the power of the exponent provided.
- [SQRT](/cube-functions/sqrt.md): Returns the positive square root of a numeric value
##### Statistical & Random
- [MEDIAN](/cube-functions/median.md): Returns the median of the given numbers.
- [MODE](/cube-functions/mode.md): Returns the most frequent occurring or repetitive value from a range of inputs.
- [RAND](/cube-functions/rand.md): Only Executes Under: Cards
- [RANDBETWEEN](/cube-functions/randbetween.md): Only Executes Under: Cards
- [STDDEV](/cube-functions/stddev.md): Returns the standard deviation of a range of inputs.
##### Conversion & Formatting
- [NUMBER](/cube-functions/number.md): Returns a numeric value from the input string.
- [NUMBERFORMAT](/cube-functions/numberformat.md): Returns the provided number formatted based on the given format.
- [STRING](/cube-functions/string.md): Returns a string value from the input number.
##### Search & Utility
- [CONTAINS](/cube-functions/contains.md): Returns 1 if the haystack contains the needle.
- [OCCURRENCES](/cube-functions/occurrences.md): Returns the count of occurrences of the needle in the haystack.
##### Colour
- [COLORDARKEN](/cube-functions/colordarken.md): Darkens a color by a given percentage.
- [COLORHUESHIFT](/cube-functions/colorhueshift.md): Performs a hue shift on a color.
- [COLORINVERT](/cube-functions/colorinvert.md): Inverts a color.
- [COLORLERP](/cube-functions/colorlerp.md): Returns a Linear Interpolation between two or more colors by a fraction.
- [COLORLIGHTEN](/cube-functions/colorlighten.md): Lightens a color by a given percentage.
#### String Functions
##### Manipulation
- [LEFT](/cube-functions/left.md): Returns a portion of the input string for an input number of characters starting from the left.
- [MID](/cube-functions/mid.md): Returns a portion of the input string from an input position, for an input number of characters starting from the left.
- [RIGHT](/cube-functions/right.md): Returns a portion of the input string for an input number of characters starting from the right.
- [REPEAT](/cube-functions/repeat.md): See REPT.
- [REPT](/cube-functions/rept.md): Repeats the input string a specified number of times.
- [SPLIT](/cube-functions/split.md): Parses a string using a delimiter and returns a component based on an index (zero based).
##### Search & Replace
- [LEN](/cube-functions/len.md): Returns the length of the input string.
- [REPLACE](/cube-functions/replace.md): Replace all occurrences of the search string with the replacement string.
- [SEARCH](/cube-functions/search.md): Returns the position of the needle argument in the haystack string argument.
- [SUBSTITUTE](/cube-functions/substitute.md): See REPLACE.
##### Case & Trim
- [LOWER](/cube-functions/lower.md): Returns the input string converted to lowercase.
- [PROPER](/cube-functions/proper.md): Capitalizes the first letter of each word in a text string and sets all other letters to lowercase.
- [TOGGLESTRING](/cube-functions/togglestring.md): Adds or removes a substring from a delimited string.
- [TRIM](/cube-functions/trim.md): Strips all whitespace or any characters you specify from both the beginning and end of the input string and returns the result.
- [TRIMLEFT](/cube-functions/trimleft.md): Removes all leading whitespace or any characters you specify from the beginning of the input string.
- [TRIMRIGHT](/cube-functions/trimright.md): Removes all leading whitespace or any characters you specify from the end of the input string.
- [UPPER](/cube-functions/upper.md): Returns the input string converted to upper case.
##### Encoding
- [URLDECODE](/cube-functions/urldecode.md): Returns the input string after decoding URL-encoded entities
- [URLENCODE](/cube-functions/urlencode.md): Returns the input string after encoding URL entities
#### User Functions
- [USERCARDACCESS](/cube-functions/usercardaccess.md): Only Executes Under: Cards
- [USERELEMENTACCESS](/cube-functions/userelementaccess.md): Only Executes Under: Cards, Workviews, Processes
- [USERHASGROUP](/cube-functions/userhasgroup.md): Returns either 1 or 0 depending on the user provided belongs to a security group.
### Set Instructions
- [Set Instructions](/set-instructions.md): Set instructions are built-in operations you apply to a dimension set to control how its members are selected, ordered, formatted and displayed within a Workview.
- [Element Instructions](/set-instructions/element-instructions.md): How elements actually get into a set - picked from the hierarchy explorer on the left of the Set Editor, one of three ways to populate a set alongside Insert Using Formula and Insert Element From Title.
- [Common Patterns](/set-instructions/common-patterns.md): How Set Instructions execute, and worked instruction sequences for the layouts you'll build most often - parent-and-children, totals at the bottom, context-driven Card sets, suppression, and sort-by-measure.
- [Set Formatting](/set-instructions/set-formatting.md): Reference for Set Formatting in MODLR.
- [Set Manipulation](/set-instructions/set-manipulation.md): Reference for Set Manipulation in MODLR.
- [Data Formatting](/set-instructions/data-formatting.md): Reference for Data Formatting in MODLR.
- [Advanced Functions](/set-instructions/advanced-functions.md): Reference for Advanced Functions in MODLR.
- [Sequential Functions](/set-instructions/sequential-functions.md): Reference for Sequential Functions in MODLR.
#### Set Formatting
- [Add Blank Space](/set-instructions/add-blank-space.md): Adds a blank, non-data entry into the set - a visual gap rather than an element.
- [Collapse Next Instruction / Collapse Using The Next Instruction](/set-instructions/collapse-next-instruction.md): A modifier that collapses whatever the next instruction targets, removing any children previously expanded beneath it.
- [Enable Drill Down](/set-instructions/enable-drill-down.md): Lets end users expand and collapse elements directly in a web Workview, without changing the instruction stack.
- [Expand](/set-instructions/expand.md): Adds the immediate children of every element in the working set, indented one level beneath their parent.
- [Expand All](/set-instructions/expand-all.md): Expands all elements in the working set down to the most expanded level
- [Expand Next Instruction / Expand Using The Next Instruction](/set-instructions/expand-next-instruction.md): A modifier that expands whatever the next instruction adds, without expanding the rest of the working list.
- [Indent](/set-instructions/indent.md): Adds one level of indentation to every element currently in the working set.
- [Reset Indents](/set-instructions/reset-indents.md): Removes all indentation from the elements currently in the working set.
- [Reverse (Subtotals At The Bottom)](/set-instructions/reverse-subtotals-at-the-bottom.md): Flips expansion order so parent (consolidation) elements appear after their children instead of before.
- [Set Default Using The Next Instruction](/set-instructions/set-default-using-the-next-instruction.md): Marks the element added by the next instruction as the default selection, e.g. for a title selectable.
#### Set Manipulation
- [Group By Value Using The Next Instruction (Ascending)](/set-instructions/group-by-value-using-the-next-instruction-ascending.md): Groups the working set by the value the next instruction produces, inserting blank rows between groups. Workview column axis only.
- [Group By Value Using The Next Instruction (Descending)](/set-instructions/group-by-value-using-the-next-instruction-descending.md): Groups the working set by the value the next instruction produces, inserting blank rows between groups, descending. Workview column axis only.
- [Remove Consolidations](/set-instructions/remove-consolidations.md): Removes every element that has children, leaving only leaf-level elements.
- [Remove Items Using The Next Instruction](/set-instructions/remove-items-using-the-next-instruction.md): A modifier that removes from the working set whatever elements the next instruction specifies.
- [Sort By Name (Ascending)](/set-instructions/sort-by-name-ascending.md): Sorts the working set alphabetically by element name, ascending.
- [Sort By Name (Descending)](/set-instructions/sort-by-name-descending.md): Sorts the working set alphabetically by element name, descending.
- [Sort By Value Using The Next Instruction (Ascending)](/set-instructions/sort-by-value-using-the-next-instruction-ascending.md): Sorts the working set by the value the next instruction produces, ascending. Workview column axis only.
- [Sort By Value Using The Next Instruction (Descending)](/set-instructions/sort-by-value-using-the-next-instruction-descending.md): Sorts the working set by the value the next instruction produces, descending. Workview column axis only.
#### Data Formatting
- [Format 0%](/set-instructions/format-0-percent.md): Formats data cells as a percentage with no decimal places, e.g. 12%.
- [Format 0,000](/set-instructions/format-0-000.md): Formats data cells as a whole number with thousand separators, e.g. 1,234,568.
- [Format 0,000.0](/set-instructions/format-0-000-0.md): Formats data cells with one decimal place and thousand separators, e.g. 1,234,567.9.
- [Format 0,000.00](/set-instructions/format-0-000-00.md): Formats data cells with two decimal places and thousand separators, e.g. 1,234,567.89.
- [Format 0,000.000](/set-instructions/format-0-000-000.md): Formats data cells with three decimal places and thousand separators, e.g. 1,234,567.890.
- [Format 0,000.0000](/set-instructions/format-0-000-0000.md): Formats data cells with four decimal places and thousand separators, e.g. 1,234,567.8900.
- [Format 0,000.00000](/set-instructions/format-0-000-00000.md): Formats data cells with five decimal places and thousand separators, e.g. 1,234,567.89000.
- [Format 0.0%](/set-instructions/format-0-0-percent.md): Formats data cells as a percentage with one decimal place, e.g. 12.3%.
- [Format 0.00%](/set-instructions/format-0-00-percent.md): Formats data cells as a percentage with two decimal places, e.g. 12.30%.
- [Format 0.000%](/set-instructions/format-0-000-percent.md): Formats data cells as a percentage with three decimal places, e.g. 12.300%.
- [Format Items Using The Next Instruction](/set-instructions/format-items-using-the-next-instruction.md): Applies a format to only the element(s) the next instruction specifies, rather than the whole working set.
- [Ignore New Formatting On Prior Members](/set-instructions/ignore-new-formatting-on-prior-members.md): A boundary marker - formatting instructions added after this point stop applying to elements added before it.
#### Advanced Functions
##### Formula-Driven
- [Apply Header Sizing Using Formula](/set-instructions/apply-header-sizing-using-formula.md): Sets the header width or height on elements in the working set based on a formula
- [Apply New Header Labels Using Formula / Override A Header Label Using Formula](/set-instructions/apply-new-header-labels-using-formula.md): Overrides the header element label on elements in the working set based on a formula
- [Apply Number Formatting Using Formula](/set-instructions/apply-number-formatting-using-formula.md): Adds a number formatting to elements in the working set based on a formula
- [Apply Style Using Formula](/set-instructions/apply-style-using-formula.md): Adds a cell style to elements in the working set based on a formula
- [Insert Using Formula](/set-instructions/insert-using-formula.md): Inserts an element into the working set using a formula
- [Link To Another Workview Using Formula](/set-instructions/link-to-another-workview-using-formula.md): Makes each row or column header in a Workview clickable, with the destination computed per element by a formula.
- [Override A Set Element Using Formula](/set-instructions/override-a-set-element-using-formula.md): Override any dimension's selected element based on a formula
##### Headers & Styling
- [Disable Input On Cells](/set-instructions/disable-input-on-cells.md): Marks cells associated with the working set as read-only, overriding the default where every leaf-level Workview cell is editable.
- [Hide Dimension Headers](/set-instructions/hide-dimension-headers.md): Hides all headers associated with this dimension, including any sets stacked alongside it on the same axis.
- [Hide Set Headers](/set-instructions/hide-set-headers.md): Hides the headers associated with this specific set.
- [Insert Cell Style / Style Cells](/set-instructions/insert-cell-style.md): Applies a named, pre-defined style to data cells associated with the working set. Shown in the editor as one "Style Cells" entry per style defined in the model.
- [Insert Heading Style / Style Headers](/set-instructions/insert-heading-style.md): Applies a named, pre-defined style to header cells associated with the working set. Shown in the editor as one "Style Headers" entry per style defined in the model.
- [Set The Alias For The Set / Show Alias](/set-instructions/set-the-alias-for-the-set.md): The set will use the equivalent names for each element from the alias provided, overriding the dimension's default alias. Shown in the editor as one "Show Alias" entry per alias defined in the model.
##### Element Insertion
- [Insert Element From Title](/set-instructions/insert-element-from-title.md): Inserts the element currently in context for a named dimension into the working set.
- [Insert The Next Element From A Hierarchy](/set-instructions/insert-the-next-element-from-a-hierarchy.md): Adds the element immediately after the current last element in a hierarchy - useful for rolling, relative time windows.
- [Insert The Previous Element From A Hierarchy](/set-instructions/insert-the-previous-element-from-a-hierarchy.md): Adds the element immediately before the current first element in a hierarchy - the mirror of Insert The Next Element From A Hierarchy.
- [Inserts A Variable Value Into The Working Set / Insert Variable](/set-instructions/inserts-a-variable-value-into-the-working-set.md): Inserts the element whose name matches a variable's current value, treating the variable's value as an element name. Shown in the editor as one "Insert Variable" entry per relevant model variable.
##### Variance
- [Variance % Using Prior Two Members](/set-instructions/variance-percent-using-prior-two-members.md): Creates a percentage variance entry from the last two members in the working set - later versus earlier.
- [Variance % Using Prior Two Members (Reversed)](/set-instructions/variance-percent-using-prior-two-members-reversed.md): Creates a percentage variance entry from the last two members in the working set - the reversed direction, earlier versus later.
- [Variance Using Prior Two Members](/set-instructions/variance-using-prior-two-members.md): Creates a variance entry from the last two members in the working set - the simple difference, later minus earlier.
- [Variance Using Prior Two Members (Reversed)](/set-instructions/variance-using-prior-two-members-reversed.md): Creates a variance entry from the last two members in the working set - the reversed difference, earlier minus later.
##### Suppression
- [Suppress Empty Elements (Except One)](/set-instructions/suppress-empty-elements-except-one.md): Like Suppress Zeros, but always keeps at least one element visible even if every element in the set is empty.
- [Suppress Zeros](/set-instructions/suppress-zeros.md): Removes any row or column where every visible cell is zero or empty, when Workview-level suppression is enabled.
#### Sequential Functions
- [Expand Next Instruction / Expand Using The Next Instruction](/set-instructions/expand-next-instruction.md): A modifier that expands whatever the next instruction adds, without expanding the rest of the working list.
- [Collapse Next Instruction / Collapse Using The Next Instruction](/set-instructions/collapse-next-instruction.md): A modifier that collapses whatever the next instruction targets, removing any children previously expanded beneath it.
- [Remove Items Using The Next Instruction](/set-instructions/remove-items-using-the-next-instruction.md): A modifier that removes from the working set whatever elements the next instruction specifies.
- [Sort By Value Using The Next Instruction (Ascending)](/set-instructions/sort-by-value-using-the-next-instruction-ascending.md): Sorts the working set by the value the next instruction produces, ascending. Workview column axis only.
- [Sort By Value Using The Next Instruction (Descending)](/set-instructions/sort-by-value-using-the-next-instruction-descending.md): Sorts the working set by the value the next instruction produces, descending. Workview column axis only.
- [Group By Value Using The Next Instruction (Ascending)](/set-instructions/group-by-value-using-the-next-instruction-ascending.md): Groups the working set by the value the next instruction produces, inserting blank rows between groups. Workview column axis only.
- [Group By Value Using The Next Instruction (Descending)](/set-instructions/group-by-value-using-the-next-instruction-descending.md): Groups the working set by the value the next instruction produces, inserting blank rows between groups, descending. Workview column axis only.
- [Format Items Using The Next Instruction](/set-instructions/format-items-using-the-next-instruction.md): Applies a format to only the element(s) the next instruction specifies, rather than the whole working set.
- [Set Default Using The Next Instruction](/set-instructions/set-default-using-the-next-instruction.md): Marks the element added by the next instruction as the default selection, e.g. for a title selectable.
### Overview
- [MS Excel Add-in | MODLR Documentation](/excel-addin.md): function downloadThenNavigate() {
- [Installation and Setup](/excel-addin/installation.md): Embark on your journey by mastering the installation and configuration process.
- [Basic Usage](/excel-addin/basic-usage.md): The MODLR excel add-in can be used to help with quick and efficient excel reporting.
- [Setting up your Model for Excel Add-in Use](/excel-addin/model-setup.md): While end users need to download and install the Excel Add-in to work within Excel, Models themselves must be prepared before they can be used.
- [Ribbon Overview](/excel-addin/ribbon-overview.md): The various ribbon groupings are defined below
- [Advanced Techniques](/excel-addin/advanced-techniques.md): The MODLR excel add-in allows for implementation of advanced reporting techniques that allow for a more custom and smooth report experience.
- [Functions](/excel-addin/functions.md): The MODLR excel add-in includes functions that allow the retrieval and sending of data to MODLR.
- [Cards in Excel](/excel-addin/cards-in-excel.md): In the MODLR excel addin, MODLR supports linking cards to cell ranges and executing them within Microsoft Excel.
- [Troubleshooting](/excel-addin/troubleshooting.md): The following section describes common troubleshooting scenarios.
- [Frequently Asked Questions](/excel-addin/faq.md): Something about Frequently Asked Questions
#### Ribbon Overview
- [Authentication](/excel-addin/authentication.md): The authentication group is used to Connect and Disconnect from MODLR.
- [Reporting](/excel-addin/reporting.md): Provides multiple commands that enables the access to data within the connected instance.
- [Model](/excel-addin/model.md): Provides commands that enables the editing of the model.
- [Symbols](/excel-addin/symbols.md): The Symbols group allows for the quick copying of key uncommon characters for MODLR use.
- [Settings](/excel-addin/settings.md): Provides access to the MODLR for Excel Settings, as seen below.
- [Live Workview](/excel-addin/live-workview.md): Live workviews allow MODRL excel workviews to be modified and used in excel.
#### Formula Functions
- [aliasget](/excel-addin/aliasget.md): Retrieve alias values for specific aliases and elements.
- [childcount](/excel-addin/childcount.md): Retrieve the count of children for an element in the provided dimension and hierarchy.
- [childget](/excel-addin/childget.md): Retrive the child element of a provided parent element in the provided dimension and hiearchy at the given index.
- [cubeget](/excel-addin/cubeget.md): Retrieves data from a cube based on the intersection of elements.
- [cubegetfirst](/excel-addin/cubegetfirst.md): CubeGetFirst is run during the initial pass, and can be used when another MODLR instruction relies on a value from a cube that needs to be retrived first.
- [CubeSend](/excel-addin/cubesend.md): Sends a value to the specified cube at the specified cell intersection.
- [parentcount](/excel-addin/parentcount.md): Retrieve the count of direct parents above an element in the provided dimension and hierarchy.
- [parentget](/excel-addin/parentget.md): Retrieve the direct parent at a given index for an element in the provided dimension and hierarchy.
- [variableget](/excel-addin/variableget.md): Retrieve the provided variable's value.
- [SetInstruction](/excel-addin/setinstruction.md): The SetInstruction formula makes a cell in Excel interactive.
### How to guides
- [How to run Cards in Excel](/excel-addin/how-to-run-cards-in-excel.md): How to run a Card against a cell range in the MODLR Excel Add-in.
### Cards Guide
#### Introduction
- [The Card Editor](/card-guides/card-editor.md): A tour of the Card Editor - finding and opening cards, the editing canvas, the live preview, the error console and the render profiler.
- [Components Basics](/card-guides/component-basics.md): Components are the building blocks of Cards, there are 20 different components found in the component library.
- [Styles](/card-guides/styles.md): Styles are an advanced Card feature that give you access to CSS-level attributes beyond the standard Properties panel, and can be attached to any component via its Custom Style property.
#### Components
- [Text Component](/card-guides/text.md): The Text component provides the ability to include text within the card.
- [Input Component](/card-guides/input.md): The input field enables the user to type in their own values that will then be sent into the cube.
- [Button Component](/card-guides/button.md): The button component is a flexible component that can enable end-users to
- [Image Component](/card-guides/image.md): The Image component allows the ability to include images within a card.
- [Chart Component](/card-guides/chart.md): The Chart component provides the ability to include different types of charts within the card.
- [Divider Component](/card-guides/divider.md): The Divider component provides the ability to visually separate components within the card.
- [Card Component](/card-guides/card.md): The Card component is used to add other cards within the card.
- [Text Component](/card-guides/list.md): The list component enables the ability to create lists within the card.
- [Grid Component](/card-guides/grid.md): The grid is a basic container that enables the creation of a table without needing to add specific dimension instructions (as the Table component does).
- [Container Component](/card-guides/container.md): The Container component is used to provide additional structure to the card.
- [Flexible Container Component](/card-guides/flexible-container.md): The flexible container is a Container component that utilises Flexbox CSS rules to allow for more flexible customisation of properties such as alignment.
- [Table Component](/card-guides/table.md): The Table Component allows the ability to create a table within the card that displays data from Cubes.
- [Variable Component](/card-guides/variable.md): Variables are dynamic, custom holders of data that can be referred to within formulas using the VARIABLE() syntax.
- [Tree Graph Component](/card-guides/tree-graph.md): The Tree Graph component allows you to display and explore hierarchical data from a cube, drilling through one or more dimensions.
- [Trigger Component](/card-guides/trigger.md): A trigger is a component used to send data into a cube instantly upon on execution.
- [Selectable Component](/card-guides/selectable.md): Selectables are dropdown lists that can be used to change the context or variables of a card.
- [Debugger Component](/card-guides/debugger.md): The debugger component is a developer tool used to trace card errors and review context, variables and formulas.
- [SQL Table Component](/card-guides/sql-table.md): The SQL Table card component is a powerful tool that fetches data directly from a database rather than from a MODLR Cube.
- [SQL Variable Component](/card-guides/sql-variable.md): SQL Variables can be used to store data fetched from a database table rather than a MODLR cube.
- [SQL Trigger Component](/card-guides/sql-trigger.md): The SQL Trigger component can be used to publish data directly into an SQL Table from a card.
#### Card Reporting Options
- [Cards in Screens](/card-guides/cards-in-screens.md): In an Application, a card is able to be added to a new screen directly.
- [Cards in Dashboards](/card-guides/cards-in-dashboards.md): In an Application, a card is able to be added to a screen through a dashboard.
- [Cards to PDF](/card-guides/cards-to-pdf.md): Cards are able to be viewed and downloaded as PDF files.
- [Cards to CSV](/card-guides/cards-to-csv.md): Cards are able to be downloaded as CSV files.
- [Cards in Excel](/card-guides/cards-in-excel.md): In the MODLR excel addin, MODLR supports linking cards to cell ranges and executing them within Microsoft Excel.
- [Cards in Emails](/card-guides/cards-in-emails.md): Cards are able to be attached to emails and automatically sent out to user groups through MODLR processes.
#### Guides
- [Adding a Table](/card-guides/adding-a-table.md): In this guide we will go over the simple steps to add a Table into a new card.
- [Adding a List](/card-guides/adding-a-list.md): This is done so that the card can fall back on default context when required.
- [Filtering and Sorting Tables](/card-guides/table-filtering-and-sorting.md): How to enable filtering and sorting on a Table component's columns, and the requirements each column must meet for it to work.
- [Security-based Conditionality](/card-guides/security-based-conditionality.md): In cards, it may be desired to change the state of components for users with particular access groups.
#### Interactivity
- [Adding Selections](/card-guides/adding-selections.md): Selectable components in cards enable quick changes to context or variables based on the user's selection.
- [Making Buttons change Variables](/card-guides/making-buttons-change-variables.md): Button components can be used to quickly update variables.
- [Making Buttons change Context](/card-guides/making-buttons-change-context.md): Button components can be used to quickly update context.
- [Making Buttons run a process](/card-guides/making-buttons-run-a-process.md): Button components can be configured to execute a process through the Process Name property located in the Interactivity section.
- [Making a Popup](/card-guides/making-a-popup.md): In this guide we will walk through how to create a pop up and some useful additonal formatting features that can be added to it.
- [Drill Down to SQL](/card-guides/drill-down-to-sql.md): Using a combination of Table and SQL Table components, a drill through into an SQL query can be created.
#### Charting and Visualisation
- [Making a Line / Bar / Area Chart](/card-guides/making-a-line-bar-area-chart.md): In this guide we will walk through the process of creating a line chart.
- [Making a Pie Chart](/card-guides/making-a-pie-chart.md): A simple pie chart can be made in cards using the Chart component.
- [Making a Scatter Plot](/card-guides/making-a-scatter-plot.md): A simple scatter plot chart can be made in cards using the Chart component.
- [Making a Waterfall](/card-guides/making-a-waterfall.md): A simple waterfall chart can be made in cards using the Chart component.
### Overview
- [MODLR for PowerPoint | MODLR Documentation](/powerpoint-addin.md): function downloadThenNavigate() {
- [Installation and Setup](/powerpoint-addin/installation.md): Get started with MODLR for PowerPoint by following this quick and easy installation and configuration guide.
- [Basic Usage](/powerpoint-addin/basic-usage.md): The MODLR PowerPoint add-in can be used to help with quick and efficient reporting within presentations.
- [Ribbon Overview](/powerpoint-addin/ribbon-overview.md): The various ribbon groupings are defined below
- [Troubleshooting](/powerpoint-addin/troubleshooting.md): The following section describes common troubleshooting scenarios.
#### Ribbon Overview
- [Authentication](/powerpoint-addin/authentication.md): The Authentication group is used to Connect and Disconnect from MODLR.
- [Instance](/powerpoint-addin/instance.md): The Instance group in the MODLR PowerPoint Add-In allows you to select which MODLR environment (or instance) you want to work with.
- [Cards](/powerpoint-addin/cards.md): The Cards group in the MODLR PowerPoint Add-In is used to insert MODLR cards in your presentation slides as images.
- [Settings](/powerpoint-addin/settings.md): The Settings section provides general configuration and diagnostic logs for the MODLR PowerPoint Add-In.
### Other
- [Advanced Techniques](/powerpoint-addin/advanced-techniques.md): The MODLR excel add-in allows for implementation of advanced reporting techniques that allow for a more custom and smooth report experience.
- [Alias Functions](/process-functions/alias-functions.md): These functions are used to manipulate dimension alias.
- [Build.Time and Date Environment](/technical/process-build-time-date-environment.md)
- [Business Central Integration Library](/technical/process-libraries-business-central-integration-library.md)
- [Business Central Integration Package](/technical/process-package-business-central-integration-package.md)
- [Business Central.Export.All](/technical/process-business-central-export-all.md)
- [Business Central.Export.Company](/technical/process-business-central-export-company.md)
- [Business Central.Export.generalLedgerEntries](/technical/process-business-central-export-general-ledger-entries.md)
- [Business Central.Export.Non Time Data](/technical/process-business-central-export-non-time-data.md)
- [Card Functions](/process-functions/card-functions.md): These functions are used to interact with MODLR cards from within processes.
- [Chargebee Example](/technical/process-chargebee-example.md)
- [ChatGPT Example](/technical/process-chatgpt-example.md)
- [Claude Example](/technical/process-claude-example.md)
- [Command Line Installation](/excel-addin/cli-installation.md): MODLR for Excel is distributed as an MSI (Microsoft Windows Installer) package, a common format for software installation on Windows systems.
- [Console Functions](/process-functions/console-functions.md): These functions are used mostly for debugging purposes.
- [CONTINUE](/cube-functions/continue.md): Stops evaluating the current formula and passes evaluation to the next formula in the cube's formula stack, or to the cell's static value if no further formula applies.
- [Cube Functions](/process-functions/cube-functions.md): These functions are used to manipulate cubes.
- [Cube Functions](/cube-functions.md): Cube functions are a set of built-in functions in MODLR that allow users to perform complex calculations and analysis on data stored in a multi-dimensional format known as a cube.
- [cubeset](/excel-addin/cubeset.md): Sorry this page is not available yet.
- [Datasource Create Table (Schema)](/visual-process-editor/nodes/datasourcetableschemanode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [Datasource Functions](/process-functions/datasource-functions.md): These functions are used to read or modify csv file, or to manipulate databases using SQL.
- [Deel Example](/technical/process-deel-example.md)
- [Dimension Functions](/process-functions/dimension-functions.md): These functions are used to manipulate dimensions.
- [Dimension.Date](/technical/process-dimension-date.md)
- [Eagle CRM Example](/technical/process-eaglecrm-example.md)
- [Element Functions](/process-functions/element-functions.md): These functions are used to manipulate dimension elements.
- [Fixer Example](/technical/process-fixer-example.md)
- [Group](/visual-process-editor/nodes/groupnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [HammerTech Example](/technical/process-hammertech-example.md)
- [Hierarchy Blueprint Functions](/process-functions/hierarchy-blueprint-functions.md): These functions are used to manipulate dimension hierarchies where its not possible to discern the depth of the dimension from the datasource.
- [Hierarchy Functions](/process-functions/hierarchy-functions.md): These functions are used to manipulate dimension hierarchies.
- [HIERARHCYHASMEMBER](/cube-functions/hierarhcyhasmember.md): Returns 1 if the element exists in the specified hierarchy or 0.
- [How to guides](/technical/how-to-guides.md): Reference for How to guides in MODLR.
- [HTTP Functions](/process-functions/http-functions.md): These functions are used to post and pull data from external websites.
- [http.document](/process-functions/http-document.md): This function downloads a webpage and returns a document object model using the jsoup library.
- [IRR](/cube-functions/irr.md): Only Executes Under: Cubes
- [Mapping Functions](/process-functions/mapping-functions.md): These functions are used to manipulate a model mapping.
- [Mapping.Date to Date.Date to Prior Year Date](/technical/process-mapping-date-to-date-date-to-prior-year-date.md)
- [Mapping.Date to Date.Date to Prior Year Month](/technical/process-mapping-date-to-date-date-to-prior-year-month.md)
- [Mapping.Date to Time.Date to Month](/technical/process-mapping-date-to-time-date-to-month.md)
- [Mapping.Time to Date.Month to Month](/technical/process-mapping-time-date-month-to-month.md)
- [Mapping.Time to Time.Month to Prior Month](/technical/process-mapping-time-to-time-month-to-prior-month.md)
- [Mapping.Time to Time.Month to Year Annual](/technical/process-mapping-time-month-to-year-annual.md)
- [Modelling Standards](/modelling-guides/standards.md): Using let not var where appropriate in defining variables, var should only be used for globals across the process.
- [MYOB AccountRight Example](/technical/process-myob-accountright-example.md)
- [NetSuite Examples](/technical/netsuite-examples.md): Two ways to pull data from NetSuite into MODLR - via the SuiteTalk REST API, or as a JDBC Datasource.
- [Notification Functions](/process-functions/notification-functions.md): These functions are used to notify collaborators via Processes or Custom Pages.
- [PAYAPPS Example](/technical/process-payapps-example.md)
- [Process Functions](/process-functions.md): Process functions in MODLR allow users to create custom server-side pages or processes that can be used to automate business processes and streamline workflows.
- [Procore Example](/technical/process-procore-example.md)
- [ProcurePro Example](/technical/process-procurepro-example.md)
- [PropertyMe Example](/technical/process-propertyme-example.md)
- [QuickBooks Example](/technical/process-quickbooks-example.md)
- [Sage MicrOpay Example](/technical/process-sage-micropay-example.md)
- [Salesforce Example](/technical/process-salesforce-example.md)
- [SAP ECC](/technical/sap-ecc.md): How MODLR integrates with SAP ECC - a Workaround built around a scheduled file export, since SAP ECC has no directly usable API in most environments.
- [Script Functions](/process-functions/script-functions.md): These functions are used to manipulate text and commentary.
- [script.md5](/process-functions/script-md5.md): Returns the MD5 hash of a string.
- [Security Functions](/process-functions/security-functions.md): Account User Management security.createUser(String name, String email, String mobile) security.currentUserEmail() security.currentUserName() security.currentUserId() security.getUserEmail(int userId) security.getUserName(int userId) secu…
- [Set Instructions in Scripts](/set-instructions/in-scripts.md): The set instructions that cube.crosstab and dimension.set accept, written as code.
- [Start](/visual-process-editor/nodes/startnode.md): Documentation for MODLR, the corporate performance management and planning cloud.
- [STET](/cube-functions/stet.md): Stops the entire formula stack for the cell being calculated and returns its static value immediately, skipping every remaining formula - not just the current one.
- [SVG Map Component](/card-guides/svg-map.md): Lorem Ipsum
- [System.Dimension.Time](/technical/process-system-dimension-time.md)
- [Table Functions](/process-functions/table-functions.md): These functions are used to create and manipulate tables.
- [TechOne](/technical/techone.md): How MODLR integrates with TechOne - a Workaround combining an SFTP file pull with CSV parsing, since TechOne has no directly usable API.
- [Template Functions](/process-functions/template-functions.md): These functions are used for managing templates.
- [template.apply](/process-functions/template-apply.md): Fills in a Handlebars template with the data set by template.context.
- [template.context](/process-functions/template-context.md): Sets the data that template.apply fills a template with.
- [template.registerHelpers](/process-functions/template-registerhelpers.md): Registers Handlebars helpers from a JavaScript file.
- [Time Functions](/set-instructions/time-functions.md): Reference for Time Functions in MODLR.
- [Utility.Copy Scenario.Extended](/technical/process-utility-copy-cube-scenario-to-scenario-extended.md)
- [Utility.Copy Scenario.Simple](/technical/process-utility-copy-cube-scenario-to-scenario-simple.md)
- [Utility.Export.Cube to CSV](/technical/process-utility-export-cube-csv.md)
- [Utility.Export.Cube to Table](/technical/process-utility-export-cube-table.md)
- [Utility.Export.Dimension Descendants to Table](/technical/process-utility-export-dimension-descendants-table.md)
- [Utility.Export.Dimensions to Table](/technical/process-utility-export-dimension-table.md)
- [Workbook Functions](/process-functions/workbook-functions.md): These functions are used to manipulate Microsoft Excel Workbooks.
- [Workview Functions](/process-functions/workview-functions.md): These functions are used to interact with Workviews.
- [workview.visualize](/process-functions/workview-visualize.md): Returns the chart of a workview.
- [Xero Example](/technical/process-xero-example.md)
- [XIRR](/cube-functions/xirr.md): Only Executes Under: Cubes
- [Zambion Example](/technical/process-zambion-example.md)