Generic LOAD key, attribute, value
Generic load (pivot attribute/value data) in Power BI
A Generic load turns key/attribute/value rows into one table per attribute, linked by key. In Power BI you usually pivot to a single wide table with Table.Pivot. It errors on duplicate attribute values unless you give it an aggregation.
What it does in Qlik
Generic LOAD Object, Attribute, Value creates a separate table for every distinct attribute (for example Product.Color and Product.Weight), each holding Object and that attribute. The tables are linked through Object. Many scripts then join them back into one table.
Qlik example
Props:
Generic LOAD ProductID, Property, Value FROM [lib://Data/properties.qvd] (qvd);Power BI equivalent
Power Query
= Table.Pivot(Source, List.Distinct(Source[Property]), "Property", "Value", List.First)Without the last argument (List.First here), a duplicate ProductID/Property pair raises an error ("There were too many elements in the enumeration"). Choosing an aggregation makes the duplicate rule explicit.
Gotchas and behaviour differences
- The column list is fixed when the query is evaluated. New attributes appear as new columns after refresh, and visuals that use a column that disappears will break.
- All pivoted values share one type, usually text. Set types per column after pivoting.
- For a very large or open-ended attribute list, keep the long (EAV) table and use a matrix visual instead of pivoting.
Official documentation
- Generic (script prefix) (Qlik Help)
- Pivot columns (Microsoft Learn)
- Table.Pivot (Power Query M) (Microsoft Learn)
Related pages
CrossTable(attribute, data [, n])
CrossTable (unpivot)
CrossTable turns a wide table (for example one column per month) into attribute/value rows. Power Query's Unpivot other columns does the same. Both drop null cells, so row counts usually match.
Direct equivalent
[Inner|Left|Right|Outer] Join / Keep
Join and Keep
Qlik joins on all fields with the same name, and a plain Join is a full outer join. Power Query merges need explicit key columns and a join kind. Keep filters a table without merging, which maps to a semi-join filter or an inner merge you don't expand.
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.