Field notes

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.

Choose the file you have.

Each guide covers one source and target pair, including the parts that still need review.

dbtSeptember 20, 20268 min read

SSIS to dbt: Convert .dtsx Packages into dbt Models

An SSIS package carries row transformations and job orchestration in the same file. A usable dbt migration separates them before any model SQL is written.

Read the guide
dbt8 min

Alteryx to dbt: Convert .yxmd Workflows into Models

An Alteryx canvas and a dbt DAG describe related work in different forms. The migration succeeds when tool connections, branch semantics, and field behavior survive the move.

Read article
PySpark7 min

Alteryx to PySpark: Convert .yxmd Workflows into DataFrames

PySpark can express most row-level Alteryx work cleanly, but branch outputs, field types, and connection behavior need more care than a tool-name substitution.

Read article
dbt7 min

Power Query to dbt: Convert M Code into dbt Models

Power Query stores its logic as a chain of named expressions. dbt needs that chain rebuilt as SQL dependencies, sources, and models that a repository can own.

Read article
BigQuery7 min

Tableau Prep to BigQuery: Convert .tfl Flows into SQL

Moving the data source to BigQuery doesn't retire Tableau Prep. Replacing the flow means translating its transformation graph into BigQuery SQL that the warehouse can own.

Read article
Azure Data Factory7 min

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 article
Migration7 min

Converting Alteryx Workflows (.yxmd) to SQL

Alteryx workflows keep their logic in a tool canvas instead of text. Converting one to SQL reliably starts with the right file, then with mapping each tool to its exact equivalent, including the tools that don't have a clean one.

Read article
Migration6 min

Converting 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 article
Migration6 min

Converting 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 article
Migration6 min

Converting 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 article
AWS Glue5 min

Tableau 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 article
Analysis5 min

Understanding 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 article
dbt6 min

Tableau 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