Table.Partition

Updated on

Table.Partition is a Power Query M function that divides a table into a list of groups based on a column value and a hash function. The function returns a list of tables that have been partitioned according to the specified parameters.

Compatible with: Power BI Service Power BI Desktop Excel Microsoft 365

Syntax

Table.Partition(
   table as table,
   column as text,
   groups as number,
   hash as function,
) as list

Description

Partitions the table into a list of groups number of tables, based on the value of the column and a hash function. The hash function is applied to the value of the column row to obtain a hash value for the row. The hash value modulo groups determines in which of the returned tables the row will be placed.

  • table: The table to partition.
  • column: The column to hash to determine which returned table the row is in.
  • groups: The number of tables the input table will be partitioned into.
  • hash: The function applied to obtain a hash value.

Examples

Partition the table ( {[a = 2, b = 4], [a = 6, b = 8], [a = 2, b = 4], [a = 1, b = 4]} ) into 2 tables on column [a], using the value of the columns as the hash function.

Table.Partition( 
    Table.FromRecords( {
        [a = 2, b = 4],
        [a = 1, b = 4],
        [a = 2, b = 4],
        [a = 1, b = 4]
    } ),
    "a",
    2,
    each _
 )

 /* Output: 
{
    Table.FromRecords( {
        [a = 2, b = 4],
        [a = 2, b = 4]
    } ),
    Table.FromRecords( {
        [a = 1, b = 4],
        [a = 1, b = 4]
    } )
}
 */ 

Other functions related to Table.Partition are:

Contribute » | Contributors: Rick de Groot
Microsoft documentation: https://learn.microsoft.com/en-us/powerquery-m/table-partition