---
schema_version: "1"
id: 2beba59cbc232bed245911f158cbb6d36db65fd6511d4198c211e87cd459b7b1
title: Lists and Arrays in Payout Rule Design
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/sales/264-0-0/spiff_payout_rule_lists_arrays.md
canonical_url: https://help.salesforce.com/s/articleView?id=sales.spiff_payout_rule_lists_arrays.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 3f8604c150866e1fa47da4aeaad22a24ef9ad283fd54d525592eaa81ca943b49
description: When creating a payout rule, sometimes you need a function that returns a list or array instead of a single data point. These list or array functions are typically used within other functions to create a formula that calculates a single final output.
products:
  - Sales Cloud
  - Sales Enablement
release: "264"
---
# Lists and Arrays in Payout Rule Design

When creating a payout rule, sometimes you need a function that returns a list or array instead of a single data point. These list or array functions are typically used within other functions to create a formula that calculates a single final output.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: both Salesforce Classic (not available in all orgs) and Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Enterprise</strong>, <strong>Unlimited</strong>, and <strong>Developer</strong> Editions</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available for an additional cost in: <strong>Professional</strong> Edition with Web Services API Enabled</td></tr></tbody></table>

For example, see all the quotas from a specific team and then use the sum of the resulting array as a worksheet calculation. Or, create a datasheet field that lists all reps on a specific team and then returns the number of reps.

Functions that return lists or arrays can consume more processing memory than normal calculations that just return one data point. To make your system as efficient as possible and keep the time it takes to recalculate your statements short, turn off tracing for these calculations.

## Lists versus Arrays

In Designer, lists and arrays have specific meanings.

A list is the output of a function or formula that returns all records in an object for the items that qualify. For example, the `members()` function returns a list of members in a team.

```
=members("AE - North America")
```

![List function output in cell](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sales-sales_performance_management-264-0-0-production-enus/b1f2feb4-26b8-444f-97f7-be2349869d93/sales_performance_management/images/spiff/spiff_payout_rule_list.png)

The list shows only the name of the object that the function queries. In this example, only the label User appears for each item returned because the function returns all user records for members of the team. A user record contains several attributes that aren't included in the list, such as, ID, Name, Effective Date, and so on.

An array is the output of a function or formula that shows the one data element you specify in the function for every returned record. For example, the `transform_list()` function returns an array of the members list and shows the value of a specific attribute for each user, such as their name.

```
=transform_list(members("AE - North America"), Name)
```

![Array function output in cell](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-sales-sales_performance_management-264-0-0-production-enus/b1f2feb4-26b8-444f-97f7-be2349869d93/sales_performance_management/images/spiff/spiff_payout_rule_array.png)

In this example, the `transform_list()` function returns each user's name but doesn't show any of the other attributes from each User record.