Overview
The Data Transformation node is a transformation node in a Weave workflow that applies column-level actions to the upstream data. Each upstream column expands into one or more action rows; each action row picks an action (Replace, Prepend, Pattern, Deidentification, Rename, Tag, Create New, Change Format, Datatype Conversion, Expression, Append) and supplies action-specific parameters. Multiple actions can be stacked on the same column.
Data Transformation is structurally distinct from the Data Preparation nodes (Cleansing, Imputation, Filter, Sorting, etc.) — those nodes apply a single operation type each across selected columns; Data Transformation orchestrates a heterogeneous mix of actions per column, with one node supporting all eleven action types simultaneously.
Note: “Weave” is the current name for what earlier interface versions called “Workflow.” This reference uses “Weave.”
When to use it
- Modifying column values across rows — Replace specific values, Prepend or Append tokens, apply Pattern-based substitution, evaluate Expression formulas.
- Renaming column headers — useful when downstream consumers expect specific naming conventions or when source columns have technical names that need user-friendly labels.
- Converting column data types — decimal to integer, string to date, etc. — to match downstream node or destination requirements.
- Creating computed columns via Expression with arithmetic on upstream values.
- Copying columns (Create New) to preserve originals alongside transformed versions, often paired with Deidentification.
- Tagging related columns for grouped operations, particularly for address-field deidentification.
Action catalog
Eleven actions are available in the action dropdown. Each row in this table summarizes the action, its parameters, and its primary use case.
| Action | Parameters | Effect | Primary use |
| Replace | Old value, New value | Substitutes Old with New across all rows in the column. Exact value matching. | Value normalization (“Government” → “Govt”), data correction. |
| Prepend | Prepend value | Adds the value as a prefix to every cell. | Standard prefixes (“Mr. “, “USD-“), product-family tagging. |
| Pattern | Old pattern, New pattern | Pattern-based value substitution. Similar to Replace; exact matching semantics. | Pattern-level rewriting (“None” → “Nil”, removing common substrings). |
| Deidentification | Generator (20 sub-types), Method (Random / Consistent / Pass Through) | Masks values using the selected generator and method. See the Deidentification generator sub-types table below. | PII protection, test datasets, regulatory compliance. |
| Rename | Rename value (new column name) | Changes the column header. Downstream references must use the new name. | Naming convention alignment, user-friendly labels. |
| Tag | Tag name | Assigns a tag to the column. Tagged columns are grouped for related-column operations (primarily Deidentification of address fields). | Address-field grouping for joint deidentification. |
| Create New | New column name | Creates a new column as a copy of the selected column. The new column appears alongside the original. | Preserve originals alongside Deidentified copies; create reference duplicates. |
| Change Format | Change the format of the column | Finds text and replaces it. | Replaces the text with another value mentioned by user. |
| Datatype Conversion | Target data type (Int, Float, String, etc.) | Converts column values to the target type. | Type alignment for downstream nodes or destinations. |
| Expression | Expression string using @Column_name syntax | Evaluates the expression for each row. | Computed columns, arithmetic transformations (@Price*2). |
| Append | Append value | Adds the value as a suffix to every cell. | Standard suffixes (” Inc.”, “-revised”), unit annotations. |
Deidentification — generator sub-types
Twenty generator sub-types are available in the Deidentification action’s second dropdown. Each generator targets a specific kind of column.
| Generator | Use for |
| State Generator | Deidentifying the state portion of an address. |
| First Name Generator | Deidentifying first names. |
| Last Name Generator | Deidentifying last names. |
| Zip Generator | Deidentifying ZIP / postal codes from an address. |
| Date Generator Past | Deidentifying a date column with a value earlier than the source value. |
| DOB Generator | Deidentifying date of birth specifically. |
| Alpha Numeric Generator | Deidentifying text columns with random alphanumeric values. |
| Email Generator | Deidentifying email addresses. |
| Alpha Generator | Deidentifying text columns with random alphabetic-only values. |
| City Generator | Deidentifying the city portion of an address. |
| Decimal Generator | Deidentifying numeric columns with random decimal values. |
| Numeric Generator | Deidentifying numeric columns with random numeric values. |
| Phone Generator | Deidentifying phone numbers. |
| Random Existing Data Generator | Deidentifying by drawing random values from an existing list of values. |
| Address 1 Generator | Deidentifying the Address 1 portion of an address. |
| Address 2 Generator | Deidentifying the Address 2 portion of an address. |
| Full Address Generator | Deidentifying a full address string. |
| Full Name Generator | Deidentifying a full name string. |
| Date Generator Future | Deidentifying a date column with a value later than the source value. |
| Static Generator | Replacing all values with a single static value entered by the Designer. |
Deidentification — methods
Three methods are available in the Deidentification action’s third dropdown. The method controls the determinism of the generator.
| Method | Behavior |
| Random | Generates a fresh random deidentified value for every row, even when source values repeat. Same source value can produce different masked values across rows. |
| Consistent | Same source value always maps to the same deidentified value (within the run). Repeated source values get repeated masked values. |
| Pass Through | The deidentified value is the same as the source value. No masking is applied. |
Multi-action stacking on a column
A single column can have multiple action rows. Click the + Action icon on an existing row to add another row under the same column.
| Stack example | Result |
| Deidentification (Alpha Numeric, Random) → Create New (New_Product) | The Product column is masked with random alphanumerics; a new “New_Product” column is created as a copy. [SME verify: whether the copy contains the pre-masking or post-masking value depends on execution order interpretation] |
| Replace (“Government” → “Govt”) → Append (” Sector”) | First “Government” becomes “Govt”; then ” Sector” is appended, producing “Govt Sector”. |
| Rename (Country → Place) → Tag (Tag1) | The column is renamed to Place; the renamed column carries the Tag1 tag. |
Key behaviors
Per-column action orchestration. Data Transformation is unique among Weave’s transformation nodes: it doesn’t apply a single operation type uniformly. Each upstream column has its own independent configuration; each column can have its own action (or stacked actions). This makes Data Transformation the most flexible value-modification node — and the most complex to configure, since each column needs its own decision.
Multi-action stacking on a single column. The + Action icon allows multiple action rows per column. Stacking is unprecedented across other Weave nodes — every other transformation node applies a single operation per node. Stacking enables compositions like “deidentify then copy” or “convert type then apply expression” within a single Data Transformation node, avoiding the chain of multiple specialized nodes.
Deidentification is the article’s deepest action. With twenty generator sub-types covering most common PII shapes (names, addresses, dates, phone, email, numeric, decimal, alphanumeric) and three methods (Random for unpredictable masking, Consistent for joinable masking, Pass Through for staging), Deidentification on its own is comparable in complexity to several other entire Data Preparation nodes. The Method choice is particularly consequential — Consistent preserves source-value relationships through the masking, enabling downstream joins and aggregations to remain meaningful.
Rename changes column names; downstream references must update. Renaming a column to a new name means downstream nodes (Filter, Sorting, Output, Result, other Data Transformations) that reference the column by its original name will break. Either: rename consistently across the pipeline; place the Rename late in the pipeline so upstream references aren’t affected; or update downstream node configurations after renaming.
Apply and Save are distinct commits. Apply commits the Data Transformation popup state and closes the popup. Save commits the node configuration. Both are required for the configuration to persist — clicking only Apply leaves the changes in an uncommitted state at the node level; closing the configuration without Save triggers the warning popup.