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.

Partial / different approach Power Query

Short answer: Select the attribute column and choose Pivot column, with the value column and an aggregation (or "Don't aggregate" if the keys are unique). The result is one wide table, not many small ones.

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

Qlik script
Props:
Generic LOAD ProductID, Property, Value FROM [lib://Data/properties.qvd] (qvd);

Power BI equivalent

Power Query

Power Query M
= 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

Related pages

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.