Practical notes for the hard migrations.
Patterns for reading legacy workflows, preserving transformation intent, and turning visual ETL into code your team can review and maintain.
Converting SSIS Packages (.dtsx) to Azure Data Factory
Lifting SSIS into Azure Data Factory is two migrations, not one. The row-level logic becomes a Mapping Data Flow, and the control flow becomes something else entirely.
Read the guideConverting Alteryx Workflows (.yxmd) to SQL
Alteryx workflows encode logic in a tool canvas, not text. Converting one to SQL reliably starts with mapping each tool to its exact equivalent — including the tools that don't have a clean one.
Read articleConverting SSIS Packages (.dtsx) to SQL and PySpark
SSIS packages mix two different things: control flow (task orchestration) and data flow (row-level transformation). Converting them to SQL or PySpark starts with separating the two.
Read articleConverting Power Query (M Code) to SQL
Power Query is the one input format that's code, not a node graph. That changes how you convert it: the structure has to be recovered from a let-binding chain instead of a canvas.
Read articleConverting Tableau Prep Flows to SQL Automatically
Most Tableau Prep migrations stall because teams cannot see the exact logic inside the flow. The fastest path is to extract the structure first, then generate readable SQL that engineers can review.
Read articleTableau Prep to AWS Glue: What to Keep and Simplify
AWS Glue is a practical target for teams standardizing on the AWS data stack, but migration works best when the generated job stays DataFrame-first and avoids unnecessary DynamicFrame complexity.
Read articleUnderstanding Legacy ETL Flows Without the Original Builder
The real problem with legacy ETL is not just old tooling. It is missing context. Teams need a repeatable way to explain what a flow does before they can migrate, consolidate, or replace it.
Read articleTableau Prep to dbt: Why a Scaffold Beats a Single SQL File
If the output of a migration is only one long SQL file, the team still has work left to do. dbt needs structure: models, sources, and schema files that match the generated logic.
Read article