
A place for AI forward engineers and leaders
Watch sessions on building AI agents grounded in your governed data.

Data transformation sits at the heart of every ETL pipeline. It turns messy source data into consistent formats your teams can actually trust. This guide covers the complete transformation process, from data cleaning and mapping to validation and documentation, along with security considerations and performance optimization strategies. You'll also learn when to choose traditional ETL over extract, load, transform (ELT) approaches based on your compliance requirements and infrastructure.
Here are the main points to keep in mind:
ETL transformation is the "transform" part of the "extract, transform, load" process. The whole ETL process aims to collect, prepare, and store data successfully in a single central repository. In this context, transformation means converting raw, inconsistent data into a usable format that matches your target system's requirements.
ETL transformations can differ depending on the data set, the end destination system, the quality of the data, and your end goal with the data. Transformation usually involves cleaning the data and formatting it to make it easy to store. But the specifics? Those vary wildly.
To illustrate what transformation actually produces, consider this simple before-and-after example:
The transformation process standardized the name formatting, corrected and unified the date formats, removed the duplicate record, and converted revenue to a consistent numeric format. This is distinct from simple data formatting (which only changes how data displays without altering structure) and from ELT modeling (which runs transformations inside the warehouse after loading raw data).
While the exact ins and outs of data transformation may vary from company to company, here are some of the basic key components of data transformation in ETL:
ETL data transformation has several benefits that directly impact business outcomes. The ETL process helps companies understand data, which, in turn, helps them make more informed business decisions and gain more market insights.
Here's the thing most people underestimate: ETL gathers data from multiple different sources and combines them, giving companies a holistic view of what's happening across the organization. Most ETL processes can gather data from all your company's data sources, including your customer relationship management (CRM) platform, enterprise resource planning (ERP) tools, databases, email repositories, and system logs. The more data a company has, the more clearly it understands its customers, products, and competitors.
Not only does ETL gather and centralize the data, but the transformation phase of the process cleans the data. Getting rid of errors and duplicates means you have more accuracy. Companies can make strategic decisions based on real-time ETL data to prepare the organization for the future.
Two main ETL transformation types exist. Teams usually call the first type multistage data transformation. In this process, the pipeline extracts the data from its source and moves it to a staging area where the transformations happen. Once the transformation is complete, the pipeline can store the data in a warehouse.
Alternatively, you can transform your data using a different method called in-warehouse data transformation. Rather than waiting for the transformation before loading data into the warehouse, you can load your data directly into the warehouse and transform it there. This approach works best with a cloud data warehouse with sufficient processing power and when raw data storage is acceptable from a compliance standpoint.
For traditional multistage data transformation, here's a step-by-step guide to the process:
Identify all the sources from which you will need to gather data. Know what kinds of file types these sources will give you. You will also need to have a goal in mind so you know what format the data will need to be in. That will help you transform the data correctly.
This step is also a good time to do a quick quality check on your data. If you're importing poor-quality data, it could cause issues with the transformation process and the insights down the road. Profile your source data for duplicates, outliers, null patterns, and schema inconsistencies before transformation begins. Catching these issues at the source stage prevents downstream errors and reduces rework.
The primary output of this step is a documented source inventory with schema definitions and quality assessment notes.
This step involves mapping the data fields from your source data and matching the corresponding fields in the target format. Your data transforms correctly and gives you consistent results when mapping is done well.
For example, if your CRM stores customer identifiers as "customerid" but your warehouse expects "custkey," your mapping specification documents this relationship along with any required transformations (such as data type conversions). And this is the step many teams overlook: assuming field names that look similar across systems contain the same data is a recipe for disaster. Always verify the actual content and format of each field before mapping.
The output here is a source-to-target mapping specification that serves as the blueprint for your transformation logic.
Create a script (or use a pre-made tool) to transform your data in the format you want to store it. The script or tool will help clean and reformat your data.
During this step, your transformation logic executes against the staged data, producing transformed records ready for validation. Route any records that fail transformation rules to an error quarantine table for review rather than dropping them silently.
After transforming your data, you should check it and ensure the transformation is accurate and complete. Run validation checks that compare row counts between source and target, verify that required fields are populated, and confirm data types match your target schema.
This is also the time to finalize your transformation design artifacts. Three core deliverables make pipelines maintainable and auditable:
These artifacts ensure that anyone who needs to repeat or modify the process knows exactly how you got your results.
You can tailor results and gain more business insights when you use different data transformations. The following table summarizes the most common transformation types:
Data cleaning involves identifying and correcting errors, inconsistencies, and inaccuracies in your data. Deduplication finds duplicate records and removes the extras so you have a more accurate data set.
Consider this example of cleaning and deduplication in action:
The transformation lowercased email addresses, standardized status values, unified date formats, removed the duplicate record, and applied a default value for the null status.
Running deduplication without first standardizing the fields you're comparing causes more problems than it solves. Two records might represent the same entity but appear different due to formatting inconsistencies.
When using data aggregation techniques, you combine multiple records into summary values. The individual records have meaning on their own, but when they're aggregated, they offer insights at a higher level.
For example, you can aggregate advertising spend from a certain period with site sales from the same period. This can give you an idea of your advertising campaigns' effectiveness by capturing revenue that link clicks or cookies may not directly attribute.
Here's how aggregation transforms transaction-level data into a monthly summary:
The SQL logic for this transformation would look like:
SELECT customerid, DATETRUNC('month', orderdate) as month, SUM(amount) as totalrevenue, COUNT(*) as ordercountFROM ordersGROUP BY customerid, DATETRUNC('month', order_date)
Splitting is when you split apart data. For example, if you have people's names as part of your data, you can split it into first names and last names.
Joining combines data points from different sources. For example, if you're trying to calculate your expenses, you'll need to join together employee salaries, advertising spend, costs of software platforms, and other cost centers from their respective source systems. Be careful with join logic. Mismatched keys or unexpected nulls in join columns can silently drop records or create duplicates that inflate your results.
Data filtering removes records that do not meet specified criteria. You might filter out test transactions, exclude records from specific regions, or remove data outside a relevant time window.
Sorting organizes records in a specific order, which can be important for downstream processing or when loading data into systems that expect ordered input. For time-series data, sorting by timestamp ensures that incremental loads process records in the correct sequence.
Applying filters too early in the pipeline can inadvertently remove records needed for other transformations or aggregations.
Derivation takes existing data and derives a new insight from it. If you need to build a new warehouse to ship more products, you can look at a map of where your target demographic resides and cross-reference it with cheap property prices to derive a data set of feasible places to build a new facility.
If you're combining data from multiple sources, you may have the same kind of data under different names. Perhaps one data source from customers has "income" and data from another source has "net income." Are these the same? If so, integrate them; if not, rename one data category for clarification.
When gathering data from multiple sources, the data may be in different formats. For example, you may have dates in your data set, some of which are month-day-year and some day-month-year. The format revision phase makes sure all the data is in the same format, making it consistent and preparing it for easy storage and retrieval from a database later.
Other common format standardizations include currency conversions, unit conversions (metric to imperial), phone number formatting, and encoding standardization (UTF-8).
Where do transformations happen? And what does that mean for your infrastructure, costs, and data governance requirements? That is the core question here.
With ETL, transformations occur in a staging area before data reaches your warehouse. With ELT, raw data loads directly into the warehouse, and transformations run there using the warehouse's compute resources.
Choose ETL when:
Choose ELT when:
ELT has become increasingly common for multi-source environments because centralizing raw data before transforming reduces complexity and takes advantage of warehouse compute at scale.
Protecting data during transformation is a growing concern, especially when pipelines handle personally identifiable information (PII) or data subject to regulations like the General Data Protection Regulation (GDPR), the California Consumer Privacy Act (CCPA), or the Health Insurance Portability and Accountability Act (HIPAA).
Map the following controls to specific stages in your pipeline:
At the staging layer (before transformation):
During transformation:
At the warehouse layer:
General pipeline security:
For GDPR compliance, ensure your transformation logic can support right-to-deletion requests by maintaining clear data lineage. For HIPAA, verify that the pipeline encrypts protected health information (PHI) both in transit and at rest throughout the entire pipeline.
Data transformation in ETL is a complicated process. If teams do not handle it carefully, the transformation stage of ETL can lead to inaccurate data entering your data warehouse. Poorly transformed data offers misguided insights, incorrect generalizations, and may even cause errors or crashes in other software systems.
When ETL workflows are streamlined, they can handle larger volumes of data and process batches faster. You can make your workflows more efficient by employing best practices such as standardizing naming conventions before you start transformation, profiling your data carefully, and adding metadata to enrich log data.
At least a few errors are inevitable during a first-time transformation, so it's best to design a process to handle malformed or incomplete data before it causes problems. You'll also want to create a thorough quality check system to validate your data.
Structure your data quality rules into four categories:
Check that the pipeline includes all necessary fields, removes excluded fields, and stores data as the correct data type and in the correct format. Consider implementing automated ETL testing approaches that run these checks on every pipeline execution.
ETL transformations can be time-consuming and take a lot of code generation. You can consider parallel processing, which involves distributing data processing tasks across multiple nodes. Parallel processing can help you save time and maximize resource utilization.
Beyond parallelism, incremental load strategies significantly improve performance:
If you're working with large amounts of data, data compression can help you save storage space, reduce loading time, and help the code execute more quickly. If you're still struggling with a lack of processing power, you can use a scheduler to optimize ETL workloads. Schedulers distribute tasks across multiple servers, which takes less time and fewer resources.
Even well-designed transformation pipelines encounter problems.
Schema drift occurs when a source system adds, removes, or renames columns without warning. Your pipeline expects a certain structure, and when that structure changes, transformations fail or produce incorrect results. To handle schema drift, implement schema validation at ingestion that compares incoming data against expected schemas. Use data contracts with source system owners to get advance notice of changes, and design quarantine patterns that isolate unexpected records for review rather than failing the entire pipeline.
Late-arriving data happens when records arrive after the batch window closes. A transaction from Monday might not appear in your source system until Wednesday, but your Monday aggregations have already run. Address this by designing idempotent reprocessing capabilities and using watermark-based incremental loads that can incorporate late records into historical periods.
Data quality issues at the source teams often discover only after transformation fails. Nulls in required fields, values outside expected ranges, encoding problems, all of these can break downstream logic. Profile source data regularly and implement early validation that catches issues before they propagate through your pipeline.
Performance degradation over time happens as data volumes grow. Transformations that ran in minutes start taking hours. Monitor execution times, implement partitioning strategies, and regularly review whether you can convert full reloads to incremental processing.
Choosing the right approach to ETL transformation depends on your data volumes, technical capabilities, and infrastructure.
For teams evaluating tools, consider these categories:
No SQL skills? No problem. At Domo, the belief is that data transformation is for everyone. You shouldn't have to be a professional data analyst to reformat data and gain insights.
Domo's ETL software easily combines data from multiple sources with DataFusions (no SQL required). If you do happen to be a data analyst nerd, though, Domo's rich platform allows you to complete processing on a dataset in R or Python directly, as part of ETL data processing. Learn more about how data wrangling fits into your broader data strategy.