ETL Aggregate component that represents data aggregation operations in ETL workflows. Displays as an octagon shape indicating data summarization/grouping.
Member
Kind
Description
ETLAggregate()
Method
Initializes a new instance of the ETLAggregate class.
ETL Conditional Split component that routes rows to multiple outputs based on conditions. Displays as a diamond with multiple output ports. Evaluates conditions in order; first match wins. Unmatched rows go to default output.
Member
Kind
Description
string Conditions
Property
Split conditions (JSON array of SplitCondition)
bool HasDefaultOutput
Property
Include default output for unmatched rows
ETLConditionalSplit()
Method
Initializes a new instance of the ETLConditionalSplit class.
Base visual for ETL nodes: rounded rectangle with a header/title and optional subtitle. Provides helpers to create and maintain input/output connection points along the left/right edges.
ETL Derived Column component for adding calculated columns to the data flow. Displays as a rectangle with expression builder support. Supports multiple derived columns with expressions using built-in function library.
Member
Kind
Description
string DerivedColumns
Property
Derived columns (JSON array of DerivedColumnDefinition)
string OutputSchema
Property
Output schema (JSON array of ColumnDefinition)
ETLDerivedColumn()
Method
Initializes a new instance of the ETLDerivedColumn class.
ETL Lookup component that enriches data by joining with reference data. Displays as a cylinder with two inputs (main data + reference data). Supports caching strategies for performance optimization.
Member
Kind
Description
CacheMode CacheMode
Property
Cache strategy: None, Partial, Full
string MatchColumns
Property
Columns to match (CSV: MainCol=RefCol,...)
string ReturnColumns
Property
Columns to return from reference (CSV)
bool FailOnNoMatch
Property
Fail if lookup finds no match
string OutputSchema
Property
Output schema (JSON array of ColumnDefinition)
ETLLookup()
Method
Initializes a new instance of the ETLLookup class.
ETL SCD (Slowly Changing Dimension) component for managing dimension updates. Displays as a special cylinder with historical tracking icon. Supports Type 1 (overwrite) and Type 2 (historical with effective dates).
Member
Kind
Description
ScdType Type
Property
SCD Type: Type1 (overwrite), Type2 (historical)
string BusinessKeys
Property
Business key columns (CSV) for matching existing records
ETL Target (Sink) node representing a destination like a table, file, or topic. Accepts one input, validates incoming schema vs ExpectedSchema, and shows warnings on mismatch.
Member
Kind
Description
string ConnectionString
Property
Destination connection string (masked in UI)
DestinationKind Destination
Property
Destination kind
string TableName
Property
Target table or object name
WriteMode Mode
Property
Append/Overwrite/Upsert
bool PreCreateTable
Property
Auto-create table from expected schema
string ExpectedSchema
Property
Expected schema (JSON array of ColumnDefinition)
string DataQualityRules
Property
Data quality validation rules (JSON array of DataQualityRule)
ETLTarget()
Method
Initializes a new instance of the ETLTarget class.
ETL Transform node with basic operations: Select/Project, Filter, Map/Compute. Exposes OutputSchema (JSON of ColumnDefinition) for downstream nodes and lines.
Member
Kind
Description
TransformKind Kind
Property
Transform kind
string Expression
Property
Filter/Map expression (simple syntax)
string OutputSchema
Property
Output schema (JSON array of ColumnDefinition)
string GroupBy
Property
Aggregate group-by columns (CSV)
string JoinKeyLeft
Property
Join key in left input
string JoinKeyRight
Property
Join key in right input
ETLTransform()
Method
Initializes a new instance of the ETLTransform class.
Helper used by external orchestrators or editor buttons to infer OutputSchema from upstream schemas for Aggregate and Join kinds. This is a lightweight heuristic.
Small SQL-like expression engine for ETL derived columns, conditional splits, filters, and custom data-quality rules. Supports: literals (number/string/TRUE/FALSE/NULL), column references ([Column], "Column", `Column`, or bare identifiers), arithmetic (+ - * / %), comparisons (= == != <> < <= > >=), logical operators (AND OR NOT), IS NULL / IS NOT NULL, LIKE, and a built-in function library. Unknown columns evaluate to null.
Flattens structured JSON/XML into tabular rows (dictionaries) for ETL processing, and infers a tabular schema from flattened rows. Nested objects become dot-separated columns (address.city); arrays are preserved as JSON text so no data is lost; XML attributes become "@name" columns.
Infers a tabular schema from flattened rows. Numeric columns merge to FLOAT, mixed types fall back to STRING, and sparse/missing values mark the column nullable.