Altair® Panopticon

 

Adding a Branch Operator

The branch operator will split a stream into one or more branches. The path for a stream is determined by a configured predicate within the branch operator.

The predicate expression will be evaluated for each incoming record. A record will be routed to the first branch with a matching predicate.

Steps:

1.    In the Application page, click  and select Branch in the Add Operator pane .

The Branch node  icon displays in the Graph panel, as well as the properties to be defined in the Operator Settings panel, and the preview of the data in the Schema panel.

 

The left (inbound) edge allows you connect to an input data or operator. The right (outbound) edges allow you to add more streams.

2.    In the Operator Settings panel, define or select the following required properties:

Property

Description

Node ID

The ID of the branch operator.

Inputs

Automatically connects to the currently-selected operator.

You can select another ID of the operator that will be the source of the data in the Inputs drop-down list.

The preview of the data (INPUT/OUTPUT) is displayed in the Schema panel.

Predicate

A list of predicates. Each predicate contains an expression that will be evaluated for each record.

 

3.    To add more predicates, click . A new predicate entry displays.

Enter at least two expressions.

You can also:

·         check the topmost box to select all of the fields

·         delete a field entry in the Field List by checking its box and clicking

4.    Save the changes.

 

Example

<branch> <id>Branch</id> <predicates> <!-- One_Day_Change < 0 --> <predicate>One_Day_Change < 0</predicate> <!-- One_Day_Change >= 0 --> <predicate>One_Day_Change >= 0</predicate> </predicates> </branch>

 

 

Example 2

<streams> <stream> <source>Input</source> <sink> <operator>Branch</operator> </sink> </stream> <stream> <source>Branch</source> <port>1</port> <sink> <operator>Output1</operator> </sink> </stream> <stream> <source>Branch</source> <port>2</port> <sink> <operator>Output2</operator> </sink> </stream> </streams>