Record.FieldValues Function in Power Query

The Record.FieldValues function in Power Query M is used to retrieve all the values from a record as a list, in the order of the fields in the record.

Syntax

Record.FieldValues(record as record) as list

It takes a record as input and returns a list of the values (not keys!) in the same order they appear in the record.

Example: Return each row as a list item with field values.

Power Query M

// Start the 'let' block for defining the query steps
let
  // Step 1: Create a table named 'MyTable' using Table.FromRecords
  // Each record has three fields: CustomerID, Name, and Phone
  MyTable = Table.FromRecords(
    {
      [CustomerID = 1, Name = "Ashish", Phone = "123-4567"], 
      [CustomerID = 2, Name = "Katrina", Phone = "987-6543"], 
      [CustomerID = 3, Name = "Alia", Phone = "543-7890"], 
      [CustomerID = 4, Name = "Vicky", Phone = "676-8479"], 
      [CustomerID = 5, Name = "Mohini", Phone = "574-8864"], 
      [CustomerID = 6, Name = "Meenakshi", Phone = "574-8864"], 
      [CustomerID = 7, Name = "Esha", Phone = "574-8864"], 
      [CustomerID = 8, Name = "Anjali", Phone = "574-8864"]
    }
  ),

  // Step 2: Convert each row (record) in the table into a list of its values
  // Table.TransformRows applies a transformation to each row
  // Record.FieldValues(_) extracts all field values in a list format (ignores field names)
  AsList = Table.TransformRows(MyTable, each Record.FieldValues(_))

// Return the final list of lists as the output
in
  AsList

The output will be shown in the following image:

Power Query M

{
  {1, "Ashish", "123-4567"},
  {2, "Katrina", "987-6543"},
  {3, "Alia", "543-7890"},
  {4, "Vicky", "676-8479"},
  {5, "Mohini", "574-8864"},
  {6, "Meenakshi", "574-8864"},
  {7, "Esha", "574-8864"},
  {8, "Anjali", "574-8864"}
}

Example: Return the field values as a list item in the record.

Power Query M

let
  MyTable = Table.FromRecords(
    {
      [CustomerID = 1, Name = "Ashish", Phone = "123-4567"], 
      [CustomerID = 2, Name = "Katrina", Phone = "987-6543"], 
      [CustomerID = 3, Name = "Alia", Phone = "543-7890"], 
      [CustomerID = 4, Name = "Vicky", Phone = "676-8479"], 
      [CustomerID = 5, Name = "Mohini", Phone = "574-8864"], 
      [CustomerID = 6, Name = "Meenakshi", Phone = "574-8864"], 
      [CustomerID = 7, Name = "Esha", Phone = "574-8864"], 
      [CustomerID = 8, Name = "Anjali", Phone = "574-8864"]
    }
  ),
    ReturnFieldValues = Record.FieldValues(MyTable{1})
in
    ReturnFieldValues

The output will be shown in the following image:

Record.FieldValues function in Power Query