Cumulative Map Operations - Usage and Examples

 

Important

Microsoft Azure BizTalk Services (MABS) is being retired, and replaced with Azure Logic Apps. If you currently use MABS, then Move from BizTalk Services to Logic Appsprovides some guidance on moving your integration solutions to Logic Apps.

If you're brand new to Logic Apps, then we suggest getting started here:

Lists the Cumulative Map Operations in Microsoft Azure BizTalk Services.

Cumulative Map Operations

Map Operation

Description

Parameters

Output

Cumulative Sum

Returns the accumulated value of a record.

Requires exactly one input parameter:

Input:

A link from a tree node or a List operation that contains a numeric value. When using a List, the Cumulative operation can operate on a column of the list.

A numeric value that is the accumulated sum.

When using a List, an arithmetic expression using the different columns in the List can also return a numeric value. The Lists are written as item.ColumnName.

Cumulative Average

Returns the accumulated average value of a record.

Requires exactly one input parameter:

Input:

A link from a tree node or a List operation that contains a numeric value. When using a List operation, the Cumulative operation can operate on a column of the list.

A numeric value that is the accumulated average.

Cumulative Concatenate

Concatenate strings from a record in the source schema to a single record in the target schema.

Can have one and two input parameters:

Input:

A link from a tree node or a List operation that contains a string value. When using a List operation, the Cumulative operation can operate on a column of the list.

Separator:

Delimits the string values.

A string value that has been accumulated and concatenated.

Cumulative Maximum

Returns the accumulated maximum value of a record.

Requires exactly one input parameter:

Input:

A link from a tree node or a List operation that contains a numeric value. When using a List operation, the Cumulative operation can operate on a column of the list.

A numeric value that is the maximum value.

Cumulative Minimum

Returns the accumulated minimum value of a record.

Requires exactly one input parameter:

Input:

A link from a tree node or a List operation that contains a numeric value. When using a List operation, the Cumulative operation can operate on a column of the list.

A numeric value that is the minimum value.

Cumulative Count

Returns the number of times a specified repeating structure or value occurs.

Requires exactly one input parameter:

Input:

A link from a tree node or a List operation. When using a List operation, the Cumulative operation can operate on a column of the list.

A numeric value is the total count a repeating value occurs.

Error and Data Handling

BizTalk Services provides the ability to configure how an error is handled and how an empty or null node is handled. The error handling behavior of the following Cumulative Map Operations is configurable:

  • Cumulative Sum

  • Cumulative Minimum, Maximum and Average

Steps:

  1. Open a BizTalk Service project or the BizTalk Service Artifacts project in Visual Studio.

  2. Double-click a Transform (.trfm) to open the Transform Designer.

  3. In the Transform toolbar, select Settings.

Error Handling tab

In the Error Handling tab, the following Cumulative Map Operations have three Behavior options:

  • Cumulative Sum:

    • Fail map: The entire Transform is aborted. Since Transforms are executed within a pipeline, an error occurs within the pipeline and the error is then sent back to the client that sent the message.

    • Output default value NaN: If the Map Operation fails, NaN (Not a Number) is returned as the output.

    • Output default value 0: If the Map Operation fails, zero (0) is returned as the output.

  • Cumulative Minimum, Maximum and Average:

    • Fail map: The entire Transform is aborted. Since Transforms are executed within a pipeline, an error occurs within the pipeline and the error is then sent back to the client that sent the message.

    • Output default value NaN: If the Map Operation fails, NaN (Not a Number) is returned as the output.

    • Output default value 0: If the Map Operation fails, zero (0) is returned as the output.

Null/Empty Data Handling tab

In the Null/Empty Data Handling tab, there are three options:

  • Consider empty nodes in cumulative operations: By default, this is not checked. When not checked, no empty nodes are included in the iteration. When checked, all nodes, including empty nodes, are included in the iteration.

    EXAMPLE: There is a document with 10 <record> nodes. Three of these <record> nodes are empty. When Consider empty nodes in iterations is not checked, the Map Operation returns a value of seven. When Consider empty nodes in iterations is checked, the Map Operation returns a value of 10.

  • Consider empty nodes in iterations: By default, this is not checked. When not checked, no empty nodes are included in the iteration. When checked, all nodes, including empty nodes, are included in the iteration.

    EXAMPLE: there is a document with 10 <record> nodes. Three of these <record> nodes are empty. When Consider empty nodes in iterations is not checked, the Map Operation iterates seven times for the non-empty nodes. As a result, seven <record> nodes are generated in the Target. When Consider empty nodes in iterations is checked, the Map Operation iterates 10 times for all nodes, including the empty nodes. As a result, 10 <record> nodes are generated in the Target.

  • Target Node Generation: If empty nodes are configured to be considered, you choose to generate an empty node in the output or to not generate an empty node in the output. Specifically:

    • Do not generate empty nodes: Default option.

    • Generate empty nodes

    EXAMPLE: There is a document with 10 <record> nodes. Three of these <record> nodes are empty. Consider empty nodes in cumulative operations or Consider empty nodes in iterations are not checked, the Map Operation iterates seven times for the non-empty nodes. As a result, seven <record> nodes are generated in the Target. When Consider empty nodes in iterations is checked, the Map Operation iterates 10 times for all nodes, including the empty nodes. As a result, 10 <record> nodes are generated in the Target.

Additional Map Operations

String Map Operations - Usage and Examples

Loop Map Operations - Usage and Examples

Expressions in BizTalk Services - Usage and Examples

List Map Operations - Usage and Examples

Date / Time Map Operations - Usage and Examples

Miscellaneous Map Operations - Usage and Examples

See Also

Create a Transform or Map