Skip to main content

Get help for ARIS Process Mining functions and services

Pull-up operators

Pull-up operators allow to aggregate a new field based on the field values of superior or subordinate objects by traversing the object (instances) hierarchy structure.

A pull-up operator allows defining a source object for which values are aggregated and a scope object defining the start point for traversing the source object instances.

Optional filter expressions allow to specify which values should be considered in the aggregation.

The traversing aggregation is defined by the following three objects:

  • Target object

    The target object is defined by the object to which the new aggregated field is assigned. It is the object to which the values are aggregated.

  • Source object

    The source object is the object whose values are aggregated to the target object. Each target object instance is assigned the aggregated values of the source object instances related to it.

  • Scope object

    The scope object defines the start point for traversing the source object instances. Since the scope object defines the starting point for traversing the object instances, it must correspond to the target object, a parent object of the target object, or an object which has been traversed during the iteration.

Value aggregation

It is important to know, that the value aggregation is done by traversing the analysis model object hierarchy. Here, the object instance hierarchy is traversed for each target object instance and the defined value is calculated for each of these instances.

The value of the calculation is defined by the source object instances. Starting from the target object, the hierarchy is traversed to collect all reachable source objects related to the target. The scope object definition enables "moving up" the aggregation level when the source object is a sibling or part of a different subpath within the hierarchy (see the examples below). The value aggregated for each source object instance can be based on the field value of a source object instance, the field value of an object instance on the traversed path, or another aggregation starting on the source object instance.

Syntax

The general syntax of the pull-up operator looks like this:

PU_X("scope_object", "source_object", value [, filter_expression])

The following arguments are passed:

  • scope_object

    The scope object defines the start point for traversing the source object instances.

    Since the scope object defines the starting point for traversing the object instances,

    it must correspond to the target object, a parent object of the target object,

    or an object which has been traversed during the iteration.

  • source_object

    The object whose object instances field values or related object instances field values are aggregated.

  • value

    The field of the source object whose values are aggregated or an expression defining a value to be aggregated based on the source object instance.

  • filter_expression (optional)

    An optional filter that specifies which of the source object instances should be considered for aggregation.

NULL handling

The following behavior is applied for the object-value operators when aggregating NULL values:

  • PU_MIN and PU_MAX do not consider NULL as a value.

  • PU_CONCAT ignores NULL values while concatenating the defined values.

  • PU_COUNT and PU_COUNT_DISTINCT consider NULL as a value. (In particular as a distinct value.)

  • PU_AVG, PU_SUM, PU_MEDIAN, PU_STDDEV, PU_VAR, PU_POP_STD and PU_POP_VAR do not aggregate NULL values.

List of pull-up operators supported by the ARIS process language:

Operator type

Subtype

Syntax

Description

Pull up

Any

PU_ANY (scope: Table, source: Table, field: Field | Calculation, filter?: Boolean)

Pull up any value.

Pulls up the value of any matching field.

Average

PU_AVG (scope: Table, source: Table, field: Field | Calculation, filter?: Boolean)

Pull up average.

Calculates the average of all matching field values.

COUNT

PU_COUNT (scope: Table, source: Table, field: Field | Calculation, filter?: Boolean)

Pull up count.

Counts all matching field values.

Count distinct

PU_CTD (scope: Table, source: Table, field: Field | Calculation, filter?: Boolean)

Pull up count distinct.

Counts all matching distinct field values.

Maximum

PU_MAX (scope: Table, source: Table, field: Field | Calculation, filter?: Boolean)

Pull up maximum.

Calculates the maximum value of all matching field values.

Median

PU_MEDIAN (scope: Table, source: Table, field: Field | Calculation, filter?: Boolean)

Pull up median.

Calculates the median of all matching field values.

Minimum

PU_MIN (scope: Table, source: Table, field: Field | Calculation, filter?: Boolean)

Pull up minimum.

Calculates the minimum value of all matching field values.

Population standard deviation

PU_POP_VAR (scope: Table, source: Table, field: Field | Calculation, filter?: Boolean)

Pull up population standard deviation.

Calculates the population standard deviation of all matching field values.

Population variance

PU_POP_STD (scope: Table, source: Table, field: Field | Calculation, filter?: Boolean)

Pull up population variance.

Calculates the population variance of all matching field values.

Standard deviation

PU_STD (scope: Table, source: Table, field: Field | Calculation, filter?: Boolean)

Pull up standard deviation.

Calculates the standard deviation of all matching field values.

Sum

PU_SUM (scope: Table, source: Table, field: Field | Calculation, filter?: Boolean)

Pull up sum

Calculates the sum of all matching field values.

Variance

PU_VAR (scope: Table, source: Table, field: Field | Calculation, filter?: Boolean)

Pull up variance.

Calculates the variance of all matching field values.

Activity pull-up operators

Operator type

Subtype

Syntax

Description

Activity pull-up

Average: Activity

ACTIVITY_PU_AVG (field: Field | Calculation, filter?: Boolean)

Pull up activity field average.

Calculates the average of all matching field values and pulls the result up to case level.

Concatenate: Activity

ACTIVITY_PU_CONCAT (field: Field | Calculation, filter?: Boolean)

Pull up activity field concatenation.

Concatenates all matching field values and pulls the result up to case level.

Count: Activity

ACTIVITY_PU_COUNT (field: Field | Calculation, filter?: Boolean)

Pull up activity field count.

Counts all matching field values and pulls the result up to case level.

Count distinct: Activity

ACTIVITY_PU_CTD (field: Field | Calculation, filter?: Boolean)

Pull up activity field count distinct.

Counts all matching distinct field values and pulls the result up to case level.

First: Activity

ACTIVITY_PU_FIRST (field: Field | Calculation, filter?: Boolean)

Pull up first activity value.

Pulls up the value of the first matching field from activity to case level.

Last: Activity

ACTIVITY_PU_LAST (field: Field | Calculation, filter?: Boolean)

Pull up last activity value.

Pulls up the value of the last matching field from activity to case level.

Maximum: Activity

ACTIVITY_PU_MAX (field: Field | Calculation, filter?: Boolean)

Pull up activity field maximum.

Calculates the maximum value of all matching field values and pulls the result up to case level.

Median: Activity

ACTIVITY_PU_MEDIAN (field: Field | Calculation, filter?: Boolean)

Pull up activity field median.

Calculates the median of all matching field values and pulls the result up to case level.

Minimum: Activity

ACTIVITY_PU_MIN (field: Field | Calculation, filter?: Boolean)

Pull up activity field minimum.

Calculates the minimum value of all matching field values and pulls the result up to case level.

Population standard deviation: Activity

ACTIVITY_PU_POP_STD (field: Field | Calculation, filter?: Boolean)

Pull up activity field population standard deviation.

Calculates the population standard deviation of all matching field values and pulls the result up to case level.

Population variance: Activity

ACTIVITY_PU_POP_VAR (field: Field | Calculation, filter?: Boolean)

Pull up activity field population variance.

Calculates the population variance of all matching field values and pulls the result up to case level.

Standard deviation: Activity

ACTIVITY_PU_STD (field: Field | Calculation, filter?: Boolean)

Pull up activity field standard deviation.

Calculates the standard deviation of all matching field values and pulls the result up to case level.

Sum: Activity

ACTIVITY_PU_SUM (field: Field | Calculation, filter?: Boolean)

Pull up activity field sum.

Calculates the sum of all matching activity field values and pulls the result up to case level.

Variance: Activity

ACTIVITY_PU_VAR (field: Field | Calculation, filter?: Boolean)

Pull up activity field variance.

Calculates the variance of all matching field values and pulls the result up to case level.