Table.AddRankColumn Function in Power Query

The Table.AddRankColumn function in Power Query is used to add a new column to a table that assigns a rank to each row based on specified criteria.

Syntax

Table.AddRankColumn(
table as table,
newColumnName as text,
comparisonCriteria as any,
optional options as nullable record) as table 

The function has the following parameters:

Example: Add a column named Ranking and give the ranking based on the Marks column values in the descending order.

Power Query M

let
  MyTable = Table.FromRecords(
    {
      [CustomerID = 1, Name = "Ashish", Marks = 568], 
      [CustomerID = 2, Name = "Katrina", Marks = 855], 
      [CustomerID = 3, Name = "Alia", Marks = 380], 
      [CustomerID = 4, Name = "Vicky", Marks = 458], 
      [CustomerID = 5, Name = "Mohini", Marks = 278], 
      [CustomerID = 6, Name = "Meenakshi", Marks = 289], 
      [CustomerID = 7, Name = "Esha", Marks = 875], 
      [CustomerID = 8, Name = "Anjali", Marks = 380]
    }
  ), 
  Return = Table.AddRankColumn(MyTable, "Ranking", {"Marks", Order.Descending})
in
  Return  

The result of the above code is shown below:

Table.AddRankColumn function in Power Query

Let’s change the RankKind.

Power Query M

let
  MyTable = Table.FromRecords(
    {
      [CustomerID = 1, Name = "Ashish", Marks = 568], 
      [CustomerID = 2, Name = "Katrina", Marks = 855], 
      [CustomerID = 3, Name = "Alia", Marks = 380], 
      [CustomerID = 4, Name = "Vicky", Marks = 458], 
      [CustomerID = 5, Name = "Mohini", Marks = 278], 
      [CustomerID = 6, Name = "Meenakshi", Marks = 289], 
      [CustomerID = 7, Name = "Esha", Marks = 875], 
      [CustomerID = 8, Name = "Anjali", Marks = 380]
    }
  ), 
  Return = Table.AddRankColumn(MyTable, "Ranking", {"Marks", Order.Descending}, [RankKind = RankKind.Ordinal])
in
  Return 

The result of the above code is shown below:

Table.AddRankColumn function in Power Query