Difference between revisions of "Aggregate Functions"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Line 7: Line 7:
! Methods !! Field Types
! Methods !! Field Types
|-
|-
| SUM(object_id, object_field, criteria) || number, currency, boolean
| SUM(object_name, object_field, criteria) || number, currency, boolean
|-
|-
| AVG(object_id, object_field, criteria) || number, currency, boolean
| AVG(object_name, object_field, criteria) || number, currency, boolean
|-
|-
| MAXIMUM(object_id, object_field, criteria) || number, currency, date
| MAXIMUM(object_name, object_field, criteria) || number, currency, date
|-
|-
| MINIMUM(object_id, object_field, criteria) || number, currency, date
| MINIMUM(object_name, object_field, criteria) || number, currency, date
|-
|-
| COUNT(object_id, criteria) || n/a
| COUNT(object_id, criteria) || n/a
Line 24: Line 24:
:* '''criteria: -''' A condition that specifies the object records that are part of the collection.  
:* '''criteria: -''' A condition that specifies the object records that are part of the collection.  
::* Typically, the criteria examines a Lookup field in the specified object and matches that value against the ID of the current record. For example, in a Customer record, the criteria might select for Orders that have a Lookup to the current Customer:
::* Typically, the criteria examines a Lookup field in the specified object and matches that value against the ID of the current record. For example, in a Customer record, the criteria might select for Orders that have a Lookup to the current Customer:
:::<tt>'related_to_Customer =' + record_id</tt>  
:::<tt>AVG(Orders, related_to_Customer, 'related_to_Customer =' + record_id</tt>  
:::''Learn more:'' [[Common:Filter Expressions in APIs|Filter Expressions in APIs]]
:::''Learn more:'' [[Common:Filter Expressions in APIs|Filter Expressions in APIs]]


Line 34: Line 34:
:* The AVG() of a boolean field gives the percentage that are yes/true.
:* The AVG() of a boolean field gives the percentage that are yes/true.


{{Note|The results doenot take into account user-security restrictions. These functions operate on  
{{Important|The results do not take into account user-security restrictions. These functions operate on  
the entire set of records in an [[Object]], regardless of user capabilities.}}
the entire set of records in an [[Object]], regardless of user capabilities.}}



Revision as of 20:38, 10 February 2012

These functions give you the ability to select a group of records from an arbitrary object and produce an aggregate value, without having to write Java code.

Methods Field Types
SUM(object_name, object_field, criteria) number, currency, boolean
AVG(object_name, object_field, criteria) number, currency, boolean
MAXIMUM(object_name, object_field, criteria) number, currency, date
MINIMUM(object_name, object_field, criteria) number, currency, date
COUNT(object_id, criteria) n/a

where:

  • object_id - Object Name or Object Identifier
  • object_field - Field in the specified object
Restriction: A Lookup field cannot be used.
  • criteria: - A condition that specifies the object records that are part of the collection.
  • Typically, the criteria examines a Lookup field in the specified object and matches that value against the ID of the current record. For example, in a Customer record, the criteria might select for Orders that have a Lookup to the current Customer:
AVG(Orders, related_to_Customer, 'related_to_Customer =' + record_id
Learn more: Filter Expressions in APIs
  • Criteria must contain at least one index field. If index is combination of fields, the criteria must contain first field in that index. (It does not need to be a unique index, but an index is required, for performance.)
Note: The maximum number indexes currently allowed in an index definition is 5.
Considerations
  • The SUM() of a boolean field gives a count of values that are yes/true.
  • The AVG() of a boolean field gives the percentage that are yes/true.

Warn.png

Important: The results do not take into account user-security restrictions. These functions operate on the entire set of records in an Object, regardless of user capabilities.

Availability

The Aggregate Functions are available here:

  • Validations
  • Data Policies
  • Criteria (Action Based - Add, Updae, Delete, Import Record, Ownership Change, Workflow State Change)
  • Add/Update Record Action
  • Calendar Data Policies - Criteria Not Support
  • Calendar Data Policies - Add/Update Record Actions Aggregate functions will be evaluated.
  • Default Values
  • Formula Fields

They are not available here:

  • Layout Rules
  • Custom Access Criteria
  • Reports