DROP TABLE Temp; RENAME FIELD Cust TO Customer;
DROP and RENAME (tables and fields) in Power BI
Dropping a temporary table in Qlik maps to a staging query with Enable load unchecked. It feeds other queries but doesn't reach the model. DROP FIELD maps to Table.RemoveColumns, and RENAME FIELD to Table.RenameColumns. Qlik's "RENAME FIELDS USING map" maps to Table.RenameColumns with a list built from a mapping table.
Short answer: For staging tables, right-click the query and untick Enable load. For columns, use Remove Columns and Rename Columns. For bulk renames from a mapping table, use Table.RenameColumns(T, Table.ToRows(Map), MissingField.Ignore).
What it does in Qlik
DROP TABLE t;andDROP FIELD f [FROM t];remove things from the in-memory model.RENAME TABLE a TO b;andRENAME FIELD a TO b;rename them.RENAME FIELDS USING MapName;renames in bulk from a mapping table.
Qlik example
Map_Names: MAPPING LOAD OldName, NewName FROM [lib://Data/field_names.xlsx] (ooxml, embedded labels);
RENAME FIELDS USING Map_Names;
DROP FIELD TmpKey;
DROP TABLE Staging;Power BI equivalent
Power Query
= Table.RemoveColumns(Sales, {"TmpKey"}, MissingField.Ignore)
= Table.RenameColumns(Sales, {{"Cust", "Customer"}})
// bulk rename from a two-column mapping query (OldName, NewName)
= Table.RenameColumns(Sales, Table.ToRows(Map_Names), MissingField.Ignore)Staging tables
Keep staging logic in its own query and untick Enable load. Other queries can reference it, and it doesn't appear in the model. This is the equivalent of a table you load and later DROP.
Gotchas and behaviour differences
- A query that's referenced by several others can be evaluated more than once during refresh. That's unlike a Qlik resident table, which exists once in memory. For heavy staging, look at Dataflows or STORE patterns.
- Rename columns before you build measures and visuals. Renaming in the model (the Data pane) updates the measures that reference the column, but renaming later in Power Query can leave visuals and measures pointing at a field that no longer exists. Check after any late rename.
Official documentation
- Drop - script statement (Qlik Help)
- Rename - script statement (Qlik Help)
- Table.RenameColumns (Power Query M) (Microsoft Learn)
- Table.RemoveColumns (Power Query M) (Microsoft Learn)
Related pages
LOAD ... RESIDENT table; DROP TABLE table;
Resident load and intermediate tables
A Resident load reads a table already in memory. The Power Query equivalent is a referenced query, but it re-runs its source instead of reading from memory. Heavy multi-step transformations are better done upstream in a warehouse, dataflow or lakehouse.
Partial / different approach
QUALIFY *; UNQUALIFY CustomerID;
QUALIFY and UNQUALIFY
QUALIFY prefixes field names with the table name so Qlik doesn't associate tables on shared names. Power BI doesn't associate tables on shared names at query time. Relationships are model objects, and the same column name can exist in several tables. Desktop's "Autodetect new relationships" option (Options > Data Load) can create relationships from matching names at load, so check the Model view or turn it off. Most QUALIFY statements can simply be dropped. If you want prefixed names, use Table.PrefixColumns.
Partial / different approach
ApplyMap('MapName', expr [, default])
Mapping Load and ApplyMap
ApplyMap looks up a value in a two-column mapping table during load. In Power BI, use a merge in Power Query, a record lookup, or simply a relationship with RELATED. The behaviour differs for case sensitivity, duplicates and missing keys.
Partial / different approach
Spotted an error or a better pattern? QlikToDax is maintained by a working BI consultant; corrections are welcome via the About page. Last reviewed 2026-10-25.