Skip to content

combine

combine

DomoDataflow Combine Data Actions

Actions for joining and combining datasets in Magic ETL v2. These correspond to the "Combine Data" category in the Domo ETL UI sidebar.

DomoDataflow_Action_MergeJoin dataclass

DomoDataflow_Action_MergeJoin(
    id: str,
    action_type: str = None,
    tile_type: str | None = None,
    name: str = None,
    depends_on: list[str] = None,
    disabled: bool = False,
    gui: dict = None,
    settings: dict = None,
    raw: dict = None,
    parent_actions: list[DomoDataflow_Action_Base] = None,
    join_type: str = None,
    keys1: list[str] = None,
    keys2: list[str] = None,
    relationship_type: str = None,
    schema_modification1: dict = None,
    schema_modification2: dict = None,
    step1: str = None,
    step2: str = None,
    tables: list[dict] = None,
)

Bases: DomoDataflow_Action_Base

Merge Join action - joins two data sources.

Attributes:

Name Type Description
join_type str

Type of join (INNER, LEFT, RIGHT, OUTER)

keys1 list[str]

Join keys from first input

keys2 list[str]

Join keys from second input

Example

join_action = dataflow.get_action_objects("MergeJoin")[0] print(f"Join type: {join_action.join_type}") print(f"Keys: {join_action.keys1} = {join_action.keys2}")

column_relationships property

column_relationships: set[ColumnRelationship]

Column relationships for MergeJoin tile.

Join keys → INDIRECT/JOIN (both sides)

DomoDataflow_Action_SplitJoin dataclass

DomoDataflow_Action_SplitJoin(
    id: str,
    action_type: str = None,
    tile_type: str | None = None,
    name: str = None,
    depends_on: list[str] = None,
    disabled: bool = False,
    gui: dict = None,
    settings: dict = None,
    raw: dict = None,
    parent_actions: list[DomoDataflow_Action_Base] = None,
    keys1: list[str] = None,
    keys2: list[str] = None,
    step1: str = None,
    step2: str = None,
    inner_table: str = None,
    left_anti_table: str = None,
    right_anti_table: str = None,
    tables: list[dict] = None,
)

Bases: DomoDataflow_Action_Base

Split Join action - performs a join that splits into multiple outputs.

Creates inner, left anti, and right anti outputs from a single join.

Attributes:

Name Type Description
keys1 list[str]

Join keys from first input

keys2 list[str]

Join keys from second input

inner_table str

Name of inner join output

left_anti_table str

Name of left anti join output

right_anti_table str

Name of right anti join output

Example

splitjoin_action = dataflow.get_action_objects("SplitJoin")[0] print(f"Inner: {splitjoin_action.inner_table}")

column_relationships property

column_relationships: set[ColumnRelationship]

Column relationships for SplitJoin tile.

Join keys → INDIRECT/JOIN (both sides) Non-key columns from both inputs → DIRECT/IDENTITY (passthrough)

SplitJoin produces three outputs (inner, leftAnti, rightAnti). The join keys are INDIRECT because they're used in the join condition, not as output values.

DomoDataflow_Action_UnionAll dataclass

DomoDataflow_Action_UnionAll(
    id: str,
    action_type: str = None,
    tile_type: str | None = None,
    name: str = None,
    depends_on: list[str] = None,
    disabled: bool = False,
    gui: dict = None,
    settings: dict = None,
    raw: dict = None,
    parent_actions: list[DomoDataflow_Action_Base] = None,
    inputs: list[str] = None,
    union_type: str = None,
    strict: bool = False,
    schema_source: str = None,
    tables: list[dict] = None,
)

Bases: DomoDataflow_Action_Base

Union All action - combines multiple data sources vertically.

Attributes:

Name Type Description
inputs list[str]

List of input action IDs

union_type str

Type of union (UNION_ALL, UNION, etc.)

strict bool

Whether to enforce strict schema matching

Example

union_action = dataflow.get_action_objects("UnionAll")[0] print(f"Combining {len(union_action.inputs)} inputs")

column_relationships property

column_relationships: set[ColumnRelationship]

Column relationships for UnionAll tile.

UnionAll stacks rows from multiple inputs. Each output column maps to the same-named column in each input (IDENTITY).