To prevent the creation of formulas based on unpredictable data, formulas can only reference a top-level item in a production list, and not to individual list items. This is called formula reference protection.

Formula reference protection for production lists is imposed in both directions.

A formula reference to a property on a production list, and not to specific items in the list, is allowed.

With this type of formula reference, you can:

  • Create a formula reference to existing production lists.
  • Set lists that already have this formula reference as production lists.

Here is an example that of a formula that correctly references a property on a production list.

To create an allowed formula reference:

  1. Create a City stats list that has a numeric City area (sq mls) property.
  2. Create a City statistics module that uses the City stats list as a dimension on columns.  The module has a City land area (sq mi) numeric line item that uses a formula (see the City land area (sq mi) formula below) to obtain the City area (sq mi) list property values for each list item.
  3. Set the City stats list as a production list. You aren't blocked and the production list is created.

Examples of the City stats list, City statistics module, and City statistics module formula are shown below.

The table below displays an example of the City stats list with a numeric City area (sq mls) property in grid view:


ParentCodeCity Area (sq mi)
New York

18
Boston

15
Chicago

12
Washington

8

New YorkBostonChicagoWashington
City Population (m)8.63.42.75.3
City Land Area (sq mls)1815128

City Stats List.'City Area (sq mls)'

When you set a list as a production list, any attempt to create a formula that references an item in the list is blocked.

The example below shows how this formula error occurs when a Companies list is created and set as a production list.

To create a blocked formula with a production list:

  1. Create a Company grade module.
  2. Create a Companies list.
  3. Set the Companies list as a production list.
  4. Set the Companies list as a dimension on columns.
  5. Add a Company grade line item to the Company grade module.
  6. Format the Company grade line item as a single number.
  7. Create a formula for the Company grade value with a:
    • Conditional that embeds the ITEM function.
    • ITEM function references items in the Companies list to ensure only Company 1 gets a grading of 1.
  8. Save the formula.
    When you try to save the formula, you are blocked and an error message displays. To build a module with this formula, you must unset the Companies list as a production list.

Examples of the Company grade module and Company grade formula are shown below.

Company Grade module:


Company 1Company 2Company 3Company 4Company 5Company 6Company 7Company 8Total Companies
Company Grade000000000

Company Grade formula:

IF ITEM(Companies) = Companies.'Company 1' THEN 1 Else 2

If any item in the list you attempted to set as a production list is already referenced in a formula, then you are not able to set the list as a production list. The example below shows how this formula error occurs.

If any item in the list you attempt to set as a production list is already referenced in a formula, then you won't be able to set the list as a production list.

To create a blocked list:

  1. Create a Company status module.
  2. Create a Companies list.
  3. Set the Companies list as a dimension on columns.
  4. Create a Company class status line item.
  5. Format the Company class status line item with the Company class list.
  6. Create a Company class status formula with a:
    • Conditional that embeds an ITEM function to refer to the Companies items.
    • ITEM function references items in the Companies list to ensure only Company 1 gets a Class A status.
  7. Set the Companies list as a production list.
    When you attempt to set the Companies list as a production list, you are blocked. You must remove all formula references to list items before you set the list as a production list.

Examples of the Company class status formula and Company status module are shown below.

Company Class Status formula:

IF ITEM(Companies) = Companies.'Company 1' THEN Company Class.Class A Else Company Class.Class B

Company Status module:


Company 1Company 2Company 3Company 4Company 5Company 6Company 7Company 8Total Companies
Company Class StatusClass AClass BClass BClass BClass BClass BClass BClass B
Company Grade1074626856