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).