--- title: "Columnar Table Node" slug: "columnar-table-node-1" updated: 2024-09-23T08:52:12Z published: 2024-09-23T08:52:12Z canonical: "help.csgi.com/columnar-table-node-1" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.csgi.com/docs/llms.txt > Use this file to discover all available pages before exploring further. # Columnar Table Node ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/image2018-5-31_18-10-26(1).png?sv=2026-02-06&spr=https&st=2026-10-26T19%3A32%3A34Z&se=2026-10-26T20%3A32%3A34Z&sr=c&sp=r&sig=CGIGKqSgHdr7kl%2F5qFwWkIB0G8LxLv8IeoNWSQYC6cs%3D) 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. ### Recommended places to use this node: 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' (i.e. - input), and each row after the 'results' row is called a 'result' (i.e. - output). - Columnar tables are particularly good for 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 from 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 be true, can be used to set multiple output results. - The first rule where all rules are true is the decision; any decision placed after will not be evaluated. Hence, it is always best to have your strictest decisions on the left. ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/2024-09-23_14-17-13.png?sv=2026-02-06&spr=https&st=2026-10-26T19%3A32%3A34Z&se=2026-10-26T20%3A32%3A34Z&sr=c&sp=r&sig=CGIGKqSgHdr7kl%2F5qFwWkIB0G8LxLv8IeoNWSQYC6cs%3D) --- ## Adding a Columnar Table **Step 1**: Click **Create** and choose the **Columnar Table** in the 'Logic' section. ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/Screenshot%202024-07-31%20at%2010.11.18%E2%80%AFPM.png?sv=2026-02-06&spr=https&st=2026-10-26T19%3A32%3A34Z&se=2026-10-26T20%3A32%3A34Z&sr=c&sp=r&sig=CGIGKqSgHdr7kl%2F5qFwWkIB0G8LxLv8IeoNWSQYC6cs%3D) **Step 2**: The columnar table starts blank, as below. To add new decisions, click **Add Decision**. This will prompt for the decision column name, which is shown at the top of the table. ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/Screenshot%202024-07-31%20at%2010.16.20%E2%80%AFPM.png?sv=2026-02-06&spr=https&st=2026-10-26T19%3A32%3A34Z&se=2026-10-26T20%3A32%3A34Z&sr=c&sp=r&sig=CGIGKqSgHdr7kl%2F5qFwWkIB0G8LxLv8IeoNWSQYC6cs%3D)Image Caption ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/Screenshot%202024-07-31%20at%2010.17.47%E2%80%AFPM.png?sv=2026-02-06&spr=https&st=2026-10-26T19%3A32%3A34Z&se=2026-10-26T20%3A32%3A34Z&sr=c&sp=r&sig=CGIGKqSgHdr7kl%2F5qFwWkIB0G8LxLv8IeoNWSQYC6cs%3D)*Starting screen for Columnar Tables*After assigning a name to the decision, the name will appear in the first empty column on the right. **Step 3**: After adding a decision, to add a new rule that needs to be evaluated, click on the **+** icon next to Rules. ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/Screenshot%202024-07-31%20at%2010.18.47%E2%80%AFPM.png?sv=2026-02-06&spr=https&st=2026-10-26T19%3A32%3A34Z&se=2026-10-26T20%3A32%3A34Z&sr=c&sp=r&sig=CGIGKqSgHdr7kl%2F5qFwWkIB0G8LxLv8IeoNWSQYC6cs%3D) **Step 4:** After a decision and a rule have been made, select the white open space between the rule and decision to put in the evaluation logic. The criteria for the decision and the rule intersection is a JavaScript expression entered into the Edit Rule panel on the right-hand side of the page. ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/Screenshot%202024-07-31%20at%2010.19.33%E2%80%AFPM.png?sv=2026-02-06&spr=https&st=2026-10-26T19%3A32%3A34Z&se=2026-10-26T20%3A32%3A34Z&sr=c&sp=r&sig=CGIGKqSgHdr7kl%2F5qFwWkIB0G8LxLv8IeoNWSQYC6cs%3D)*Using the 'Basic' window to add a rule that evaluates whether or not the customer has opted-in to receive email communication* **Step 5**: After a decision, a rule, and the evaluation logic have been created, add the results to generate the desired outputs if a decision evaluates to true. - Click on the plus icon **+** next to the Results label to add the results to the decision table. ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/Screenshot%202024-07-31%20at%2010.20.51%E2%80%AFPM.png?sv=2026-02-06&spr=https&st=2026-10-26T19%3A32%3A34Z&se=2026-10-26T20%3A32%3A34Z&sr=c&sp=r&sig=CGIGKqSgHdr7kl%2F5qFwWkIB0G8LxLv8IeoNWSQYC6cs%3D) The value for the Result for a particular column can be a literal value, a schema location, or a public variable. The Result Value is set via the panel on the right-hand side of the screen. ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/2024-09-23_14-20-06.png?sv=2026-02-06&spr=https&st=2026-10-26T19%3A32%3A34Z&se=2026-10-26T20%3A32%3A34Z&sr=c&sp=r&sig=CGIGKqSgHdr7kl%2F5qFwWkIB0G8LxLv8IeoNWSQYC6cs%3D) - Click in the result box for that decision to show the current value in the Edit Result Value and Schema, Literal, or Public Variable chooser. ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/2024-09-23_14-21-29.png?sv=2026-02-06&spr=https&st=2026-10-26T19%3A32%3A34Z&se=2026-10-26T20%3A32%3A34Z&sr=c&sp=r&sig=CGIGKqSgHdr7kl%2F5qFwWkIB0G8LxLv8IeoNWSQYC6cs%3D) **Step 6**: For each characteristic created, a data source must be added to the list of parameters outside of the node at the graph level. --- ## Validation Warnings ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/Invalid(5).png?sv=2026-02-06&spr=https&st=2026-10-26T19%3A32%3A34Z&se=2026-10-26T20%3A32%3A34Z&sr=c&sp=r&sig=CGIGKqSgHdr7kl%2F5qFwWkIB0G8LxLv8IeoNWSQYC6cs%3D): All the invalid notifications will be displayed after expanding the **Invalid Drop-down**. | Warning | Note | | --- | --- | | Columnar tables must have at least one column | No decision columns have been created. Use the Add Decision button to add a decision column. | | Columnar tables must have at least one rule. | A decision column has been created, but no rule has been added to the table. | --- ### Errors ![](https://cdn.document360.io/c578bb14-e570-4b6e-93ed-f6c5b8a2d8a1/Images/Documentation/Screenshot%202024-07-31%20at%2010.37.29%E2%80%AFPM.png?sv=2026-02-06&spr=https&st=2026-10-26T19%3A32%3A34Z&se=2026-10-26T20%3A32%3A34Z&sr=c&sp=r&sig=CGIGKqSgHdr7kl%2F5qFwWkIB0G8LxLv8IeoNWSQYC6cs%3D) - ColumnarTable is unable to find value for a rule with this data source - this means that the incoming data did not contain the expected value in the schema or public variable --- ## See Also: - [Troubleshooting and Debugging](/v1/docs/troubleshooting-and-debugging%20%20%20%20%20%20) - [Business Logic Nodes](/v1/docs/business-logic-nodes%20%20%20%20%20%20) - [Columnar Table Node](/v1/docs/columnar-table-node%20%20%20%20%20%20) - [Decision Tree Node](/v1/docs/decision-tree-node%20%20%20%20%20%20) - [2D Table Node](/v1/docs/2d-table-node%20%20%20%20%20%20) - [Conditional Node](/v1/docs/conditional-node%20%20%20%20%20%20)