# 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 elements 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. - [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): Removes all given alias names from the element within the dimension. ### Card Functions - [card.execute](/process-functions/card-execute.md): Returns an executed card with specified context & arguments in a specified format. ### Console Functions - [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. ### CSV Reader - [CSVReader » close](/process-functions/csvreader-close.md): Closes the stream to the CSV file. - [CSVReader » getDelimeter](/process-functions/csvreader-getdelimeter.md): Returns the character the csv reader object is using to split data into cells in the connected csv file. - [CSVReader » getLineBreak](/process-functions/csvreader-getlinebreak.md): Returns the character the csv reader object is using to signify a line break in the connected csv file. - [CSVReader » getQuoteString](/process-functions/csvreader-getquotestring.md): Returns the character the csv reader object is using to signify quotes in the connected csv file. - [CSVReader » isEOF](/process-functions/csvreader-iseof.md): Returns a boolean. - [CSVReader » read](/process-functions/csvreader-read.md): No parameters - [CSVReader » setDelimeter](/process-functions/csvreader-setdelimeter.md): Set the delimeter character that the CSV Reader object uses to read the connected csv file. - [CSVReader » setLineBreak](/process-functions/csvreader-setlinebreak.md): Set the quote character that the CSV Reader object uses to read the connected csv file. - [CSVReader » setQuoteCharacter](/process-functions/csvreader-setquotecharacter.md): Set the quote character that the CSV Reader object uses to read the connected csv file. ### CSV Writer - [CSVWriter » close](/process-functions/csvwriter-close.md): The object the function is called with will no longer be useable. - [CSVWriter » getDelimeter](/process-functions/csvwriter-getdelimeter.md): Returns the character the csv writer object is using to split data into cells in the connected csv file. - [CSVWriter » getLineBreak](/process-functions/csvwriter-getlinebreak.md): Returns the character the csv writer object is using to signify line breaks in the connected csv file. - [CSVWriter » getQuoteCharacter](/process-functions/csvwriter-getquotecharacter.md): Returns the character the csv writer object is using to signify quotes in the connected csv file. - [CSVWriter » setDelimeter](/process-functions/csvwriter-setdelimeter.md): Set the delimeter character that the CSV Writer object uses to write to the connected csv file. - [CSVWriter » setLineBreak](/process-functions/csvwriter-setlinebreak.md): Set the quote character that the CSV Reader object uses to write to the connected csv file. - [CSVWriter » setQuoteCharacter](/process-functions/csvwriter-setquotecharacter.md): Set thequote character that theCSV Writerobject uses to write tothe connected csv file. - [CSVWriter » write](/process-functions/csvwriter-write.md): Inserts an array into the connected csv file as a new line. ### Cube Functions - [cube.create](/process-functions/cube-create.md): Creates a cube within a model. - [cube.dimensionCount](/process-functions/cube-dimensioncount.md): Returns the number of dimensions present in a cube within the specified model, this function returns an integer value. - [cube.dimensions](/process-functions/cube-dimensions.md): Returns the dimensions present in a cube within the specified model, this function returns a JSON string. - [cube.exists](/process-functions/cube-exists.md): Checks that a cube exists, this function returns a boolean. - [cube.formulaEvaluation](/process-functions/cube-formulaevaluation.md): Enable or disable cube formula evaluation, this is useful when adding lots of data to the cube in a short amount of time and formula evaluation might slow the process. - [cube.get](/process-functions/cube-get.md): Retrieves data from an intersection of elements from their respective dimensions within the cube. - [cube.getId](/process-functions/cube-getid.md): Returns the id of a cube within the specified model, this function is used to retrieve the id of a cube. - [cube.getName](/process-functions/cube-getname.md): Returns the name of a cube within the specified model, this function is used to retrieve the name of a cube. - [cube.increment](/process-functions/cube-increment.md): Increments the value at an intersection of elements from their respective dimensions within the target cube. - [cube.invalidate](/process-functions/cube-invalidate.md): Invalidates a cube and clears its consolidation cache. - [cube.log](/process-functions/cube-log.md): Either changes whether the cube outputs a change log. - [cube.reevaluateDimensions](/process-functions/cube-reevaluatedimensions.md): Re-evaluates cube feeds that use one or more dimensions in the current model. - [cube.reevaluateElement](/process-functions/cube-reevaluateelement.md): Re-evaluates cube formulas that are affected by a specific element within a dimension. - [cube.reevaluateMapping](/process-functions/cube-reevaluatemapping.md): Re-evaluates cube feeds that use a mapping in the current model. - [cube.remove](/process-functions/cube-remove.md): Removes a cube within a model permanently, when removing a cube within a model please note that this action is irreversible. - [cube.set](/process-functions/cube-set.md): Sets the value at an intersection of elements from their respective dimensions within the target cube. - [cube.slice](/process-functions/cube-slice.md): Slices data from an intersection of elements from their respective dimensions within the cube. - [cube.sliceStatic](/process-functions/cube-slicestatic.md): Slices data from an intersection of elements from their respective dimensions within the cube, returning static (raw) cell values. - [cube.wipeBatchActive](/process-functions/cube-wipebatchactive.md): Enable or disable cube wipe batching. - [cube.wipe](/process-functions/cube-wipe.md): Wipes the data from a selection of intersections within a target cube, where no members from a dimension are specified the wipe will apply to all members from that Dimension. ### Datasource Functions #### Read/Write - [datasource.client](/process-functions/datasource-client.md): Creates a configurable client for working with a datasource. - [datasource.csv](/process-functions/datasource-csv.md): Returns the specified csv file as an object. - [datasource.csvRead](/process-functions/datasource-csvread.md): Returns the specified csv file as an object. - [datasource.binaryLoad](/process-functions/datasource-binaryload.md): Note that this has been deprecated in favour of datasource.readFile - [datasource.binarySave](/process-functions/datasource-binarysave.md): Note that this has been deprecated in favour of datasource.writeFile - [datasource.createBatch](/process-functions/datasource-createBatch.md): Creates a Batch object which can batch database operations with configurable types such as insert, update, or ignore using a specified datasource. - [datasource.insert](/process-functions/datasource-insert.md): Note that this has been deprecated in favour of datasource.client - [datasource.update](/process-functions/datasource-update.md): Note that this has been deprecated in favour of datasource.client - [datasource.writeFile](/process-functions/datasource-writeFile.md): Writes data to a file in the MODLR file system. - [datasource.renameFile](/process-functions/datasource-renameFile.md): Renames or moves a file within the MODLR file system. - [datasource.select](/process-functions/datasource-select.md): Note that this has been deprecated in favour of datasource.client - [datasource.readFile](/process-functions/datasource-readFile.md): Reads data from a file in the MODLR file system. #### Files & Directories - [datasource.directoryCreate](/process-functions/datasource-directorycreate.md): Creates the given directory in the MODLR file manager system in the provided path. - [datasource.directoryDelete](/process-functions/datasource-directorydelete.md): Deletes the given directory in the MODLR file manager system in the provided path. - [datasource.directoryExists](/process-functions/datasource-directoryexists.md): Returns a boolean of the directory being found in the MODLR file system. - [datasource.fileLastModified](/process-functions/datasource-filelastmodified.md): Retrieves the last modified timestamp of a specified file from the MODLR filesystem. - [datasource.fileSize](/process-functions/datasource-filesize.md): Retrieves the size of a specified file from the MODLR filesystem. - [datasource.files](/process-functions/datasource-files.md): Lists all the files (non-directory items) in a specified directory from the MODLR filesystem. - [datasource.folders](/process-functions/datasource-folders.md): Lists all the folders (directories) in a specified directory from the MODLR filesystem. #### External Storage - [datasource.S3Bucket](/process-functions/datasource-s3bucket.md): Initializes a S3Bucket object to interact with AWS S3 using the provided credentials and bucket details. ##### datasource.S3Bucket - [S3Bucket](/process-functions/s3bucket.md): The S3Bucket object provides methods to interact with AWS S3. #### Encoding & Utilities - [datasource.atob](/process-functions/datasource-atob.md): Decodes a base64 encoded string. - [datasource.base64Bytes](/process-functions/datasource-base64Bytes.md): Decodes a base64 encoded string and returns it as a byte array. - [datasource.btoa](/process-functions/datasource-btoa.md): Converts a given byte array or string into a base64 encoded string. - [datasource.unzip](/process-functions/datasource-unzip.md): Unzips a zip file from the MODLR filesystem. - [datasource.zip](/process-functions/datasource-zip.md): Zips one or more files into a single zip file from the MODLR filesystem. ### FTP - [ftp.Connect](/process-functions/ftp-connect.md): Creates an FTPClient instance that can be used to interact with an ftp server. - [ftp.ConnectWithKeyFile](/process-functions/ftp-connectwithkeyfile.md): Creates an FTPClient instance that can be used to interact with an ftp server but using a key file to connect. #### FTPClient - [FTPClient » IsConnected](/process-functions/ftpclient-isconnected.md): Returns true if the client has successfully connected or false otherwise. - [FTPClient » Directory](/process-functions/ftpclient-directory.md): Lists the files and folders under a directory. - [FTPClient » Upload](/process-functions/ftpclient-upload.md): Upload a local file to the a location in the remote ftp server. - [FTPClient » Download](/process-functions/ftpclient-download.md): Download a remote file from the ftp server. - [FTPClient » MakeDirectory](/process-functions/ftpclient-makedirectory.md): Creates a directory on the ftp server. - [FTPClient » Rename](/process-functions/ftpclient-rename.md): Renames a remote file on the ftp server. - [FTPClient » Delete](/process-functions/ftpclient-delete.md): Delete a remote file in the ftp server. - [FTPClient » Disconnect](/process-functions/ftpclient-disconnect.md): Disconnects the FTPClient. ### Dimension Functions - [dimension.aliases](/process-functions/dimension-aliases.md): Returns the aliases in a dimension within the specified model. - [dimension.create](/process-functions/dimension-create.md): Creates a dimension within the specified model of the given type. - [dimension.createOrWipe](/process-functions/dimension-createorwipe.md): Creates a dimension, if it doesn't exist, within the specified model of the given type. - [dimension.delete](/process-functions/dimension-delete.md): Deletes a dimension within the specified model. - [dimension.elementCount](/process-functions/dimension-elementcount.md): Returns the number of elements in a dimension within the specified model. - [dimension.elements](/process-functions/dimension-elements.md): Returns the elements in a dimension within the specified model. - [dimension.exists](/process-functions/dimension-exists.md): Checks whether a dimension exists. - [dimension.getId](/process-functions/dimension-getid.md): This function is used to retrieve the id of a dimension. - [dimension.getName](/process-functions/dimension-getname.md): This function is used to retrieve the name of a dimension. - [dimension.hierarchies](/process-functions/dimension-hierarchies.md): This function is used to retrieve the hierarchies in a dimension, returns a JSON string object. - [dimension.item](/process-functions/dimension-item.md): This function is used to retrieve the name of an element in a dimension at specified index, returns a String. - [dimension.size](/process-functions/dimension-size.md): This function is used to retrieve the size of a dimension, returns an integer. - [dimension.wipe](/process-functions/dimension-wipe.md): Removes all elements from the dimension and subsequent hierarachy elements. ### Element Functions - [element.create](/process-functions/element-create.md): Note that this has been deprecated in favour of - [element.delete](/process-functions/element-delete.md): Deletes an element within a dimension. - [element.exists](/process-functions/element-exists.md): Checks whether a leaf element exists within a dimension. - [element.principal](/process-functions/element-principal.md): Returns the name of an element from the alias. ### Hierarchy Blueprint - [HierarchyBlueprint](/process-functions/hierarchy-hierarchyblueprint.md): Create a hierarchy blueprint for building and publishing hierarchy changes. - [blueprint.add](/process-functions/blueprint-add.md): Creates a blueprint for a hierarchy which can then be applied to any dimension. - [blueprint.addChild](/process-functions/blueprint-addchild.md): Adds a member as a child of another member. - [blueprint.create](/process-functions/blueprint-create.md): Creates a temporary blueprint object which can be used to update a dimension hierarchy. - [blueprint.publish](/process-functions/blueprint-publish.md): Applies a blueprint to a hierarchy, creating members in a dimension as well as a hierarchy where required. ### Hierarchy Functions #### Create/Modify - [hierarchy.create](/process-functions/hierarchy-create.md): Creates a hierarchy within a dimension. - [hierarchy.createOrWipe](/process-functions/hierarchy-createorwipe.md): Creates a hierarchy within a dimension if it doesn't exist or wipes the data on the hierarchy if it exists. - [hierarchy.delete](/process-functions/hierarchy-delete.md): Deletes a hierarchy within a dimension. - [hierarchy.removeChild](/process-functions/hierarchy-removechild.md): Removes a child element from a parent. - [hierarchy.wipe](/process-functions/hierarchy-wipe.md): Wipes the elements of a hierarchy. #### Navigation/Parent-Child - [hierarchy.childByIndex](/process-functions/hierarchy-childbyindex.md): Returns the name of a child element of a parent element in a hierarchy. - [hierarchy.childCount](/process-functions/hierarchy-childcount.md): Returns the number of children of a parent element in a hierarchy. - [hierarchy.iterateChildren](/process-functions/hierarchy-iteratechildren.md): Iterate through the children of an element in a hierarchy. - [hierarchy.parentByIndex](/process-functions/hierarchy-parentbyindex.md): Returns the name of one of the immediate parents of an element in a hierarchy. - [hierarchy.parentCount](/process-functions/hierarchy-parentcount.md): Returns the number of parent elements in a hierarchy. - [hierarchy.offset](/process-functions/hierarchy-offset.md): This function returns an element from hierarchy based on the offset provided. - [hierarchy.position](/process-functions/hierarchy-position.md): Returns the position of an element in the hierarchy. - [hierarchy.rootElements](/process-functions/hierarchy-rootelements.md): Returns all the root elements for a hierarchy in a dimension. - [hierarchy.descendants](/process-functions/hierarchy-descendants.md): Returns all elements that are descendants of a specific parent within a hierarchy. #### Query - [hierarchy.elementHasAncestor](/process-functions/hierarchy-elementhasancestor.md): You can prefix with the hierarchy using ancestorName. - [hierarchy.exists](/process-functions/hierarchy-exists.md): Checks whether a hierarchy exists. - [hierarchy.hasMember](/process-functions/hierarchy-hasmember.md): Checks whether a member exists within a hierarchy. - [hierarchy.hasRootMember](/process-functions/hierarchy-hasrootmember.md): Checks if a hierarchy has a specific element as its root member. - [hierarchy.structure](/process-functions/hierarchy-structure.md): Adds a hierarchy member as a child of another hierarchy member. #### Other - [hierarchy.group](/process-functions/hierarchy-group.md): Note this function should be used when linking a hierarchy member as a parent of a dimension member. - [hierarchy.unwind](/process-functions/hierarchy-unwind.md): Removes the structure from a hierarchy from a specified element down through all its descendants. ### HTTP Functions - [web.get](/process-functions/web-get.md): Sends a HTTP GET request to the specified URL. - [web.post](/process-functions/web-post.md): Sends a HTTP POST request to the specified URL. - [web.patch](/process-functions/web-patch.md): Sends a HTTP PATCH request to the specified URL. - [web.put](/process-functions/web-put.md): Sends a HTTP PUT request to the specified URL. - [web.delete](/process-functions/web-delete.md): Sends a HTTP DELETE request to the specified URL. - [web.download](/process-functions/web-download.md): Downloads a file to the MODLR Filesystem. - [web.disableSSLVerification](/process-functions/web-disablesslverification.md): Disables SSL/TLS certificate verification for HTTP requests. - [web.setConnectionTimeout](/process-functions/web-setconnectiontimeout.md): Sets the maximum time allowed for establishing an HTTP connection before timing out. - [web.setTransferTimeout](/process-functions/web-settransfertimeout.md): Sets the maximum time allowed for data transfer during an HTTP request before timing out. - [web.setReadTimeout](/process-functions/web-setreadtimeout.md): Sets the maximum allowed inactivity time while receiving a response during an HTTP request. - [web.setWriteTimeout](/process-functions/web-setwritetimeout.md): Sets the maximum allowed inactivity time while sending data during an HTTP request. ### HTTP Functions - [http.base64](/process-functions/http-base64.md): Replaced by web.get - [http.document](/process-functions/http-document.md): This function downloads a webpage and returns a document object model using the jsoup library. - [http.download](/process-functions/http-download.md): Replaced by web.download - [http.headersAdd](/process-functions/http-headersadd.md): Replaced by web.get - [http.headersClear](/process-functions/http-headersclear.md): Replaced by web.get - [http.raw](/process-functions/http-raw.md): Replaced by web.get ### Notifications - [EmailBuilder](/process-functions/emailbuilder.md): --- - [notification.email](/process-functions/notification-email.md): Note that this has been deprecated in favour of EmailBuilder - [notification.sms](/process-functions/notification-sms.md): This function can be used to send a notification through SMS. ### Mapping Functions - [mapping.create](/process-functions/mapping-create.md): One to one mappings are bidirectional, meaning when used in a cube formula it is possible to map from left-to-right and right-to-left. - [mapping.delete](/process-functions/mapping-delete.md): Deletes a mapping with the given name. - [mapping.exists](/process-functions/mapping-exists.md): Returns true or false if the mapping exists or does not. - [mapping.rowAdd](/process-functions/mapping-rowadd.md): Adds a row within a mapping table. - [mapping.rowDelete](/process-functions/mapping-rowdelete.md): Deletes a row within a mapping table. - [mapping.rowUpdate](/process-functions/mapping-rowupdate.md): Updates a row within a mapping table. - [mapping.findUsingLeft](/process-functions/mapping-findusingleft.md): Returns the definition for a row of the mapping table as a String of JSON Data. - [mapping.findUsingRight](/process-functions/mapping-findusingright.md): Returns the definition for a row of the mapping table as a String of JSON Data. - [mapping.wipe](/process-functions/mapping-wipe.md): Wipes all rows from a Mapping within a Model. ### Process Functions - [process.execute](/process-functions/process-execute.md): Executes a specified process within a given model, with optional parameters and execution modes. - [process.exists](/process-functions/process-exists.md): Checks if a specified process exists within the model. - [process.fork](/process-functions/process-fork.md): Schedules a process for asynchronous execution by adding it to a queue of processes. - [process.join](/process-functions/process-join.md): Initiates the execution of all processes that have been scheduled via process.fork(), allowing them to run concurrently. - [process.listAll](/process-functions/process-listall.md): Retrieves a list of all processes within the model. ### Processing Functions - [process.skip](/process-functions/process-skip.md): Use this function in the data method of a process to exit execution. - [process.reject](/process-functions/process-reject.md): Use this function in the data method of a process to exit execution. ### Script Functions #### Context - [script.environment](/process-functions/script-environment.md): This function is used to return the environment settings of the MODLR instance, whether production, or development. - [script.getAccessTags](/process-functions/script-getaccesstags.md): Returns the access tags of the specified user. - [script.getQuery](/process-functions/script-getquery.md): This function is commonly used to retrieve the SQL used in the datasource. - [script.getRecordsProcessed](/process-functions/script-getrecordsprocessed.md): Returns the number of records a process has processed so far. - [script.getTaggedUsers](/process-functions/script-gettaggedusers.md): Returns the users under specified tag. - [script.getUserEmail](/process-functions/script-getuseremail.md): Returns the email address of the calling user. - [script.getUserId](/process-functions/script-getuserid.md): Returns the identifier of the calling user. - [script.getUserMultithreadingEnabled](/process-functions/script-getusermultithreadingenabled.md): Returns whether user multithreading is enabled at the present time. - [script.getUserName](/process-functions/script-getusername.md): Returns the username of the calling user. - [script.setUserMultithreadingEnabled](/process-functions/script-setusermultithreadingenabled.md): Sets the boolean flag which determines whether user activity will make user of the multithreading capability of the MODLR Platform. - [script.modelId](/process-functions/script-modelid.md): Returns the identifier of the model within which this process exists. - [script.modelName](/process-functions/script-modelname.md): Returns the name of the model within which this process exists. - [script.processId](/process-functions/script-processid.md): Returns the identifier of the process which is executing. - [script.processName](/process-functions/script-processname.md): Returns the name of the process which is executing. #### Variables - [script.variableDelete](/process-functions/script-variabledelete.md): Deletes a variable in the Model. - [script.variableGet](/process-functions/script-variableget.md): Returns the value of a Model Variable. - [script.variableSet](/process-functions/script-variableset.md): Sets or creates a variable in the Model. #### Process Control - [script.abort](/process-functions/script-abort.md): This function is used to cancel the execution of a process when an un-handled error has occurred. - [script.execute](/process-functions/script-execute.md): This function is used to run another process. - [script.shell](/process-functions/script-shell.md): Allows the user to execute a shell script which has been preconfigured on the MODLR instance (via the instance config file) this can only be arranged via the support process. - [script.processUpdateQuery](/process-functions/script-processupdatequery.md): This function is commonly used to update the SQL provided to the datasource based on user input from a prompt. #### Data/IO - [script.library](/process-functions/script-library.md): This function is used to import another javascript file which has been uploaded to the server via FTP. - [script.save](/process-functions/script-save.md): Performs a server save. - [script.prompt](/process-functions/script-prompt.md): When used in the pre() function, upon execution of the process this function will raise a question to the user executing the process. - [script.getOAuth](/process-functions/script-getoauth.md): Returns a stringified value of tokens to connect with the specified integration. #### Utilities - [script.escape](/process-functions/script-escape.md): This function is commonly used to sanitize input from users which is then going to form part of a SQL query. - [script.log](/process-functions/script-log.md): This function is commonly used to debug or output status updates from scripts in processes. - [script.md5](/process-functions/script-md5.md): This function is commonly used to store passwords in databases without them being readable or recoverable. - [script.qrcode](/process-functions/script-qrcode.md): This function is used to create a QR Code in Portable Network Graphics (PNG) format. - [script.uuid](/process-functions/script-uuid.md): Generates a universally unique identifier (UUID). ### Model Security Functions - [userSecurity](/process-functions/userSecurity.md): userSecurity is an interface provided to manage instance security settings related to user accounts and groups. - [userSecurity.groups](/process-functions/userSecurity-groups.md): Provides an interface for managing security groups within the system. - [userSecurity.users](/process-functions/userSecurity-users.md): Provides an interface for managing user accounts within the system, facilitating operations such as retrieving, updating, and managing user details and their security groups. #### userSecurity.groups - [Group](/process-functions/userSecurity-group.md): Represents a security group within the system, providing methods to manage its properties and permissions. #### userSecurity.users - [User](/process-functions/userSecurity-user.md): Represents an individual user within the system, providing methods to manage their properties and groups. ### Security Functions - [security.application](/process-functions/security-application.md): Returns an object-oriented interface for managing application users, tags and screens. #### security.application - [Application Tags](/process-functions/security-application-tags.md): Returns the application tags object from security.application. - [Element Tag](/process-functions/security-application-elementtag.md): Returns an ElementTag object from the application tags object. - [Screen Tag](/process-functions/security-application-screentag.md): Returns a ScreenTag object from the application tags object. - [Application Users](/process-functions/security-application-users-interface.md): Returns the application users object from security.application. - [Application Screens](/process-functions/security-application-screens.md): Returns the application screens object from security.application. - [Application Screen](/process-functions/security-application-screen.md): Returns an ApplicationScreen object from the application screens object. #### Users - [security.applicationAddUser](/process-functions/security-applicationadduser.md): Adds a user to an application. - [security.applicationRemoveUser](/process-functions/security-applicationremoveuser.md): Adds a user to an application. - [security.applicationUsers](/process-functions/security-applicationusers.md): Returns the users on an application. - [security.applicationWipeUsers](/process-functions/security-applicationwipeusers.md): Wipes all users in an application. - [security.createUser](/process-functions/security-createuser.md): Creates an user. - [security.currentUserEmail](/process-functions/security-currentuseremail.md): Retrieves the email of the current user. - [security.currentUserId](/process-functions/security-currentuserid.md): Retrieves the Id of the current user. - [security.currentUserName](/process-functions/security-currentusername.md): Retrieves the username of the current user. - [security.getUserEmail](/process-functions/security-getuseremail.md): Get the email address of a user from its userId integer. - [security.getUserId](/process-functions/security-getuserid.md): Get the userId integer of user with a known email address. - [security.getUserName](/process-functions/security-getusername.md): Get the user's name from their userId (integer). - [security.removeUser](/process-functions/security-removeuser.md): Removes an user from the specified model. - [security.resetUserPassword](/process-functions/security-resetuserpassword.md): Send a Reset Password link to a user so they can reset their password. - [security.users](/process-functions/security-users.md): Returns the users on an account as a JSON array. #### Application Tags - [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.applicationRemoveAllTags](/process-functions/security-applicationremovealltags.md): Removes all tags in an application. - [security.applicationRemoveTag](/process-functions/security-applicationremovetag.md): Removes a tag from an application. - [security.applicationTagExists](/process-functions/security-applicationtagexists.md): Checks whether a tag exists on an application. - [security.applicationTaggedElements](/process-functions/security-applicationtaggedelements.md): Returns the list of elements available to a tag in an application - [security.applicationTaggedUsers](/process-functions/security-applicationtaggedusers.md): Returns the list of users with a particular tag in an application. - [security.applicationTags](/process-functions/security-applicationtags.md): Returns the tags on an application. - [security.applicationWipeTagElementSecurity](/process-functions/security-applicationwipetagelementsecurity.md): Removes element security for a tag from an application. #### Application User Tags & Elements - [security.applicationUserAddTag](/process-functions/security-applicationuseraddtag.md): Add a single tag to an user in an application. - [security.applicationUserElements](/process-functions/security-applicationuserelements.md): List all elements on a dimension visible to the user on a particular application. - [security.applicationUserElementAccess](/process-functions/security-applicationuserelementaccess.md): Get the access mode available to the user for a particular element in a dimension. - [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.applicationUserSetTags](/process-functions/security-applicationusersettags.md): Sets tag (removes existing tags and adds this) to an user in an application. - [security.applicationUserTags](/process-functions/security-applicationusertags.md): Returns the list of tags for a particular user in an application. #### Hashing & Crypto - [security.md5](/process-functions/security-md5.md): See script.md5. - [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 string. #### Secrets - [security.getSecret](/process-functions/security-getsecret.md): Retrieve the provided secret's value. ### Table Functions - [table.create](/process-functions/table-create.md): Create a table. - [table.delete](/process-functions/table-delete.md): Delete a table from the internal datastore. - [table.exists](/process-functions/table-exists.md): Check table exists. - [table.list](/process-functions/table-list.md): List all tables. - [table.fieldAdd](/process-functions/table-fieldadd.md): Add a field to a table. - [table.fieldRemove](/process-functions/table-fieldremove.md): Remove a field from a table. - [table.fieldExists](/process-functions/table-fieldexists.md): Check if a table field exists. - [table.fields](/process-functions/table-fields.md): List fields of a table. - [table.truncate](/process-functions/table-truncate.md): Truncate a table. ### Template Functions - [template.apply](/process-functions/template-apply.md): Applies a template. - [template.context](/process-functions/template-context.md): Populates the template variables with data. - [template.registerHelpers](/process-functions/template-registerhelpers.md): Registers a handlebar helper. ### Workbook Functions - [workbook.convertFromBase64](/process-functions/workbook-convertfrombase64.md): Returns a workbook that has been decoded from Base64 - [workbook.convertToBase64](/process-functions/workbook-converttobase64.md): Returns Base64 encoded data from a workbook. - [workbook.create](/process-functions/workbook-create.md): Returns a new Workbook XSSFWorkbook Object using the POI library. - [workbook.getColumnName](/process-functions/workbook-getcolumnname.md): Returns the name of a column based on the column number. - [workbook.open](/process-functions/workbook-open.md): Opens a Excel Workbook which is in the Server FTP Folder. - [workbook.workbookFromQuery](/process-functions/workbook-workbookfromquery.md): Returns a workbook from a JDBC SQL query. ### Workview Functions - [workview.cache](/process-functions/workview-cache.md): Caches a workview within the specified model. - [workview.definitionGet](/process-functions/workview-definitionget.md): This function returns the JSON representation of a Workview definition. - [workview.execute](/process-functions/workview-execute.md): This function executes a Workview and returns a JSON object. - [workview.visualize](/process-functions/workview-visualize.md): This function returns the visualization of the Workview. ### 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. - [CSV Reader](/process-functions/csv-reader.md): Following are the functions for the CSVReader object returned from the datasource.csvRead function. - [CSV Writer](/process-functions/csv-writer.md): Following are the functions for the CSVWriter object returned from the datasource.csv function. - [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.audit](/process-functions/dimension-audit.md): Reports, or removes, orphaned elements in a dimension - elements that still exist in the dimension but no longer appear in any hierarchy. - [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) - [FTP Functions](/process-functions/ftp-functions.md): These functions are used to connect ftp to an FTP Server. - [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. - [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. - [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… - [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. - [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) - [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. - [Xero Example](/technical/process-xero-example.md) - [XIRR](/cube-functions/xirr.md): Only Executes Under: Cubes - [Zambion Example](/technical/process-zambion-example.md)