Information for:

# Columnar Table node¶

The Columnar Table node allows complex decisions with multiple inputs and outputs to be created easily. Essentially, it is a visual interface that can hold many if-then-else statements in one place to evaluate rules and make decisions.

The columnar table is commonly used across processes that are used to filter records through exclusion logic, or decide what kind of content a person is going to receive in a tweet, email, or personalized web experience. As the columnar table is a generic piece of logic, it has a wide range of uses and applications.

## General Usage¶

• In the columnar table, each column is called a decision, each row is called a rule (for example, input), and each row after the results row is called a result (for example, output).
• Columnar tables are particularly good for the circumstances where you may have a large number of input fields, but the combination of decisions is quite sparse compared to the number of combinations. It is good practice to have a catch-all rule where all rules are blank (and hence true) to ensure that a result is always generated.
• All decisions are evaluated left-to-right, and the rules in a decision are evaluated from top-to-bottom.
• A blank rule will accept any input and will always return true.
• Each decision if evaluated to true can be used to set multiple output results.
• The first rule where all rules are true is the decision and any decision that is placed after will not be evaluated. Hence, it is always best to have your strictest decisions on the left.

## Creating a columnar table¶

To create a columnar table, perform the following actions:

2. Identify the project you wish to modify.
3. Click the Project Editor icon.
4. In the top left-hand corner of the screen, click the Action Menu icon.
5. Select + Create New from the list.
6. Enter the name of your new Columnar Table node in the Name field.
7. Scroll through the list of node types to find the Logic section, and click Columnar Table.
8. Click Create New Item.
10. Click Save.

New decisions can be added by clicking Add Decision, which will prompt you for the column name to display at the top of the table. After assigning a name to the decision, the name will appear in the first empty column to the right of Add Decision.

After adding a decision, you can add rules to be evaluated by performing the following steps:

1. Click the Plus icon next to Rules.
2. In the pop-up window, provide a Rule Name and click Add.
3. Point your mouse to the white, open intersection between your decision and your rule, and click in the empty space, turning it blue.
4. In the right-hand side of the page, scroll to the Edit Rule pane and click the Expand icon.
5. Optionally, provide a description for your rule.
7. Add in the conditions for your rule (examples below), and click Save Changes To Rule.

After a decision, a rule, and evaluation logic have been created, add the results to generate the desired outputs if a decision evaluates to TRUE:

1. Click the Plus icon next to Results.
2. Provide a Result Name and click Add.
3. Point your mouse to the white, open intersection between your decision and your result, and click in the empty space, turning it blue.
4. In the right-hand side of the page, scroll to the Edit Result Value pane, and click the Expand icon.
5. The value for the result can be a literal value, a schema location or a public variable.
6. Clicking in the result box for that decision will show the current value in the Edit Result Value and Schema, Literal or Public Variable chooser.

For each characteristic created, a data source must be added in the list of parameters outside of the node at the graph level.

## Validation warnings¶

Warning Description
A columnar table must have at least one column No decision columns have been created. Use Add Decision to add a decision column.
A columnar table must have at least one rule A decision column has been created but no rule has been added to the table.

## Errors¶

• ColumnarTable unable to find value for rule with this data source – the incoming data did not contain the expected value in the schema or public variable.