Coming from Tableau Prep
Tableau Prep flows and Daedalus workflows share a shape: inputs on the left, steps in the middle, outputs on the right. The biggest change is that a Clean step does many things, while a Daedalus node does one. Expect a Clean step to become a short chain of nodes.
How Tableau Prep ideas map
| In Tableau Prep | In Daedalus |
|---|---|
| Flow | A workflow on the canvas, saved in a project folder on your machine. |
| Input step | A reader node. Drop a file or folder on the canvas, or add a source from the Drones panel on the left. |
| Clean step | A chain of small nodes: Filter, Rename, Cast Types, Text Operations, Replace Values and so on. |
| Aggregate, Pivot, Join, Union, New Rows, Script steps | One node each: Aggregate, Pivot or Unpivot, Join, Union, Densify, Code Gen. |
| Profile pane | The Metadata tab under the canvas, and the Describe and Column Profile nodes. |
| Data grid | The Data tab under the canvas, for whichever node you select. |
| Changes pane | Version history, in the toolbar's ⋯ menu. Undo works across every change too. |
| Output step | A writer node: Write CSV, Write Excel, Write to DB and others. |
| Publish, scheduling on Tableau Server or Cloud | Cloud runs run the project on a schedule. A read-only share link shows someone the workflow. |
Tableau Prep names in Daedalus
The most-used Tableau Prep names and what to reach for here. You can type any of them into the add-node menu or the ⌘K palette: the matching node shows a chip with the Tableau Prep name, so you learn the Daedalus name as you go. Where two nodes are listed, the first is the closest match.
Inputs
| Tableau Prep name | In Daedalus |
|---|---|
| Input step | CSV Reader or Excel Reader |
| Text file | CSV Reader |
| Microsoft Excel | Excel Reader or Write Excel |
| JSON file | JSON Reader |
| PostgreSQL | DB Reader or Write to DB |
| MySQL | DB Reader or Write to DB |
| Amazon S3 | S3 Reader or S3 Sink |
| Wildcard union | Directory (Add data source, Folder), then File and Union |
| Data Interpreter | Excel Reader or Row Limit |
| Published data sources | Daedalus Table Reader |
Clean step: filtering
| Tableau Prep name | In Daedalus |
|---|---|
| Selected Values | Filter |
| Wildcard Match | Filter |
| Range of Values | Filter or Clip Values |
| Range of Dates | Filter |
| Relative Date | Filter |
| Null Values | Filter or Fill Missing |
| Calculation | Filter or Add Column |
| Keep Only | Filter or Select Columns |
Clean step: fields
| Tableau Prep name | In Daedalus |
|---|---|
| Keep Only Field | Select Columns |
| Remove Field | Select Columns |
| Rename Field | Rename |
| Change Data Type | Cast Types or Parse |
| Duplicate Field | Add Column |
| Merge Fields | Add Column or Union |
| Calculated Field | Add Column or Multi-field Formula |
| Automatic Split | Split to Columns |
| Custom Split | Split to Columns or Regex Extract |
| Convert Dates | Extract Date/Time Parts or Truncate Date/Time |
Clean step: values
| Tableau Prep name | In Daedalus |
|---|---|
| Make Uppercase | Text Operations |
| Trim Spaces | Text Operations |
| Remove Punctuation | Text Operations |
| Edit Value | Replace Values |
| Replace with Null | Multi-field Formula |
| Group Values | Replace Values or Fuzzy Match |
| Spelling | Fuzzy Match or Match Grouping |
| Fill Down | Fill Missing |
Data roles
| Tableau Prep name | In Daedalus |
|---|---|
| Data Role | Assert or Expectations |
| Email Role | Assert |
| URL Role | URL Parse or Assert |
| Geographic Role | Assert or Geocode |
Steps
| Tableau Prep name | In Daedalus |
|---|---|
| Aggregate step | Aggregate |
| Pivot step | Unpivot or Pivot |
| Columns to Rows | Unpivot |
| Rows to Columns | Pivot |
| Join step | Join |
| Inner | Join |
| Left | Join or Lookup |
| Union step | Union |
| Mismatched Fields | Union |
| New Rows step | Densify or Generate Series |
| Script step | Code Gen or DuckDB Query |
| Predictions step | Linear Regression; fits OLS on your own rows, no Einstein model scoring |
Calculations
| Tableau Prep name | In Daedalus |
|---|---|
| {FIXED} | Group Aggregate |
| Rank | Rank |
| ROW_NUMBER | Add Row Number |
| RUNNING_SUM | Running Aggregations |
| Moving Calculation | Rolling Window |
| Difference From | Diff / Pct Change |
| LOOKUP | Shift / Lag |
| DATEPART | Extract Date/Time Parts |
| Tile | Rank or DuckDB Query |
Outputs
| Tableau Prep name | In Daedalus |
|---|---|
| Output step | Write CSV or Write Excel |
| Comma Separated Values (.csv) | Write CSV |
| Microsoft Excel (.xlsx) | Write Excel |
| Database table | Write to DB |
| Append to table | Write to DB or Write CSV |
| Published data source | Write Daedalus Table |
Panes and commands
| Tableau Prep name | In Daedalus |
|---|---|
| Profile pane | Column Profile or Describe; the Metadata tab under the canvas |
| Changes pane | Version history in the toolbar's ⋯ menu |
| Data Sample | Random Sample or Row Limit |
| Use all data | Every run reads all rows; sampling only affects previews |
| Run Flow | Run: the toolbar's Run button, or ⌘↵ |
| Schedule | Deploy & schedule to cloud in the toolbar's ⋯ menu |
| Publish | Share… in the toolbar's ⋯ menu makes a read-only link; Deploy & schedule to cloud in the toolbar's ⋯ menu |
| Export Packaged Flow | Export as Python library… in the toolbar's ⋯ menu |
| Tableau Agent | Code Gen; Extend with AI opens the Assistant pane |
Not in Daedalus yet
The main gaps are Tableau's own formats and some database connectors. When you type one of these names, the menu shows the hint below instead of a node.
| Tableau Prep name | What to do instead |
|---|---|
| Tableau Extract, Hyper | Hyper extracts can't be read; export to CSV or Parquet first |
| Tableau Data Extract (.hyper) | Can't write Hyper; Write Parquet or Write CSV instead |
| Microsoft SQL Server, Oracle, Google BigQuery, Databricks, SAP HANA | Not supported yet; PostgreSQL, MySQL and SQLite are |
| Other Databases (ODBC) | No ODBC; PostgreSQL, MySQL, SQLite or a DuckDB Query |
| Other Databases (JDBC) | No JDBC; PostgreSQL, MySQL, SQLite or a DuckDB Query |
| Box, Dropbox, Google Drive, OneDrive | No cloud-drive connector; sync the file locally and read it |
| PDF tables can't be read; export them to CSV or Excel first | |
| Statistical File | SAS/SPSS/R files not supported; convert to CSV or Parquet |
| Incremental refresh | No incremental refresh; each run reloads, fresh nodes are skipped |
| Initial SQL | No pre-connect SQL; run a DuckDB Query step instead |
| Create Parameter, Parameters | Add a Constant Table and bind node fields to it as a parameter |
| Custom Data Role, Publish as Data Role | No custom data roles; validate with Assert regex rules |
| Recommendations | No cleaning recommendations; Describe shows column profiles |
| Virtual Connections | No shared connection layer; use a saved DB connection |
| Einstein Discovery | No model scoring; Linear Regression fits OLS, else use Code Gen |
Tips for Tableau Prep users
- Type the Tableau Prep name. Columns to Rows finds Unpivot and {FIXED} finds Group Aggregate, each with a Tableau Prep: chip in the add-node menu and the ⌘K palette.
- Break a Clean step into nodes. One node per change keeps each step easy to check: click a node and the Data tab shows the data at that point.
- Keep Tableau in the loop with files. Daedalus can't read or write .hyper extracts, so write Parquet or CSV and point Tableau at that file.
- Data roles become checks. Use Assert or Expectations to check that emails, URLs and other values match the pattern you expect.
- Try a Dry run before writing to a database. The Run button's menu has Dry run: your writers really run, but into a throwaway place, so nothing reaches the real table.