> ## Documentation Index
> Fetch the complete documentation index at: https://domoinc-openapi-sync-dataflows.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Magic ETL Tiles: Split Join and Split Filter

### Intro

This article explains how to use two tiles under Actions in Magic ETL:

* **Split Join**
* **Split Filter**

<Frame>
  <img src="https://mintcdn.com/domoinc-openapi-sync-dataflows/7rKG8XghCcV-Hmry/images/kb/ka0Vq000000Qeg9-00N5w00000Ri7BU-0EMVq00000CsNGr.jpg?fit=max&auto=format&n=7rKG8XghCcV-Hmry&q=85&s=658dc1c606b90654ca5789b5bbe76362" style={{width: 640, height: 365}} width="936" height="534" data-path="images/kb/ka0Vq000000Qeg9-00N5w00000Ri7BU-0EMVq00000CsNGr.jpg" />
</Frame>

***

### Configure the Split Join Tile

To join two input tables and output both matched and unmatched records (such as Inner join, Left anti-join, or Right anti-join), configure the **Split Join** tile as shown in the following steps:

1. Drag the **Split Join** tile from **Combine Data** into the canvas. The tile is larger than a standard Join tile and expands as you enable more outputs.

   <Frame>
     <img alt="A screenshot of a phoneAI-generated content may be incorrect." src="https://mintcdn.com/domoinc-openapi-sync-dataflows/7rKG8XghCcV-Hmry/images/kb/ka0Vq000000Qeg9-00N5w00000Ri7BU-0EMVq00000CsNS9.jpg?fit=max&auto=format&n=7rKG8XghCcV-Hmry&q=85&s=b745b7599ed92625bbf607bbc60e3dea" style={{width: 188, height: 428}} width="623" height="1421" data-path="images/kb/ka0Vq000000Qeg9-00N5w00000Ri7BU-0EMVq00000CsNS9.jpg" />
   </Frame>
2. Choose the left table and right table, either by dragging the arrows from the inputs to the tile, or by selecting the table names from the dropdowns in the configuration menu.
3. Configure your join and column handling the same way you would in the regular join tile.

   <Frame>
     <img alt="A screenshot of a computerAI-generated content may be incorrect." src="https://mintcdn.com/domoinc-openapi-sync-dataflows/7rKG8XghCcV-Hmry/images/kb/ka0Vq000000Qeg9-00N5w00000Ri7BU-0EMVq00000CsNVN.jpg?fit=max&auto=format&n=7rKG8XghCcV-Hmry&q=85&s=f89fddf75b06f29a9dc95ad6ec8d70fb" style={{width: 760, height: 408}} width="1272" height="681" data-path="images/kb/ka0Vq000000Qeg9-00N5w00000Ri7BU-0EMVq00000CsNVN.jpg" />
   </Frame>
4. Under **Output names**, check the boxes next to which outputs you would like.

   You can rename them.

   <Frame>
     <img alt="A screenshot of a computerAI-generated content may be incorrect." src="https://mintcdn.com/domoinc-openapi-sync-dataflows/7rKG8XghCcV-Hmry/images/kb/ka0Vq000000Qeg9-00N5w00000Ri7BU-0EMVq00000CsNTl.jpg?fit=max&auto=format&n=7rKG8XghCcV-Hmry&q=85&s=85d959cf437bed69d167e3e426961add" style={{width: 764, height: 326}} width="1418" height="604" data-path="images/kb/ka0Vq000000Qeg9-00N5w00000Ri7BU-0EMVq00000CsNTl.jpg" />
   </Frame>

   The result on the canvas is multiple nodes representing the outputs selected. You can build your downstream DataFlow from any of those outputs.

   <Frame>
     <img alt="A screenshot of a computer screenAI-generated content may be incorrect." src="https://mintcdn.com/domoinc-openapi-sync-dataflows/7rKG8XghCcV-Hmry/images/kb/ka0Vq000000Qeg9-00N5w00000Ri7BU-0EMVq00000CsNQX.jpg?fit=max&auto=format&n=7rKG8XghCcV-Hmry&q=85&s=d032319cfb6a705ad3b68c06470242eb" style={{width: 390, height: 274}} width="700" height="492" data-path="images/kb/ka0Vq000000Qeg9-00N5w00000Ri7BU-0EMVq00000CsNQX.jpg" />
   </Frame>

   <Tip>
     **Tip:** The tile expands horizontally as you add outputs. Rearrange the canvas for readability. You can hide unused outputs in the configuration panel.
   </Tip>

### Configure the Split Filter Tile

To filter a DataSet into multiple named outputs based on formula conditions, and optionally capture all other rows in an *Else* output, use the **Split Filter** tile as outlined in the following steps:

1. Drag the **Split Filter** tile from **Filter** into the canvas. The tile expands as you add more outputs.

   <Frame>
     <img alt="A screenshot of a phoneAI-generated content may be incorrect." src="https://mintcdn.com/domoinc-openapi-sync-dataflows/7rKG8XghCcV-Hmry/images/kb/ka0Vq000000Qeg9-00N5w00000Ri7BU-0EMVq00000CsNgf.jpg?fit=max&auto=format&n=7rKG8XghCcV-Hmry&q=85&s=3982af3000c6435048aad0d4010a9a6a" style={{width: 174, height: 404}} width="548" height="1272" data-path="images/kb/ka0Vq000000Qeg9-00N5w00000Ri7BU-0EMVq00000CsNgf.jpg" />
   </Frame>
2. Configure the Formula filters. Each formula represents a different stream that will be output from the tile.

<Note>
  **Note:** You can only configure formula filters and not filter rules in this tile.
</Note>

1. Choose whether to output all unfiltered rows as an *Else* .

   <Frame>
     <img alt="A screenshot of a computerAI-generated content may be incorrect." src="https://mintcdn.com/domoinc-openapi-sync-dataflows/7rKG8XghCcV-Hmry/images/kb/ka0Vq000000Qeg9-00N5w00000Ri7BU-0EMVq00000CsNiH.jpg?fit=max&auto=format&n=7rKG8XghCcV-Hmry&q=85&s=988e9a95eb21c3cb81bf76684c283ac2" style={{width: 399, height: 178}} width="2802" height="1248" data-path="images/kb/ka0Vq000000Qeg9-00N5w00000Ri7BU-0EMVq00000CsNiH.jpg" />
   </Frame>
2. You can name any of the filter outputs, as well as the *Else* output.

   The result on the canvas will be multiple nodes representing the outputs selected. You can build your downstream DataFlow from any of those outputs.

   <Frame>
     <img alt="A screenshot of a computerAI-generated content may be incorrect." src="https://mintcdn.com/domoinc-openapi-sync-dataflows/7rKG8XghCcV-Hmry/images/kb/ka0Vq000000Qeg9-00N5w00000Ri7BU-0EMVq00000CsNf3.jpg?fit=max&auto=format&n=7rKG8XghCcV-Hmry&q=85&s=2b8619c4889484452c2601468ac8f8b9" style={{width: 281, height: 318}} width="680" height="770" data-path="images/kb/ka0Vq000000Qeg9-00N5w00000Ri7BU-0EMVq00000CsNf3.jpg" />
   </Frame>

   <Tip>
     **Tip:** For complex, rule-based filtering, you can still use standard Filter tiles in combination. Split Filter is optimized for formula-driven, multi-stream splits.
   </Tip>

### Example Use Cases

* **Join auditing:** Use Split Join to join *Customer A* (left) to *Customer B* (right). Output *Matched* rows for normal processing, *Left Only* rows to an error or reconciliation DataFlow, and *Right Only* rows for data quality review—all from one join step.
* **Multi-region sales processing:** Use the Split Filter to create one output per region (e.g., `Region = 'West'` , `Region = 'East'` , and so on). Process each region independently downstream, and use *Else* to capture rows with no region value.

### FAQ

<Accordion title="Do I have to use every output I configure?">
  No. You can use only the outputs you need. You can also hide unused outputs in the configuration panel.
</Accordion>

<Accordion title="What happens when I add more outputs?">
  The tile expands automatically, which might require rearranging the canvas for clarity.
</Accordion>

<Accordion title="I see a new join type called “Anti-join.” What is it?">
  An *Anti-join* (left or right) returns rows from one table that don’t have a corresponding match in the other table. It’s useful for finding missing or unmatched records. You can achieve the same result using Split Join outputs (*Left Only* or *Right Only* ) or with dedicated anti-join logic.
</Accordion>
