Table.Profile

Table

Returns a profile of the values in each column of a table.

Examples on this page use shared sample tables. View them to understand the input data before reading the examples below.

Syntax

Table.Profile(table as table, optional additionalAggregates as nullable list) as table

Parameters

NameTypeRequiredDescription
tabletableYesThe table to profile.
additionalAggregateslistNoOptional list of additional aggregate functions to include in the profile.

Return Value

tableA table with one row per column, containing statistics like min, max, average, count, and distinct count.

Remarks

Table.Profile generates summary statistics for each column in a table. The output includes columns like Column, Min, Max, Average, StandardDeviation, Count, NullCount, and DistinctCount. The statistics computed depend on the column's data type — for example, Average and StandardDeviation are only meaningful for numeric columns.

This function is useful for data exploration and quality checks — quickly identifying columns with nulls, unexpected ranges, or low cardinality.

Examples

Example 1: Profile the Sales table

let
    Source = Table.SelectColumns(Sales, {"UnitPrice", "Quantity", "Region"}),
    Profiled = Table.Profile(Source)
in
    Table.SelectColumns(Profiled, {"Column", "Min", "Max", "Average", "Count", "DistinctCount"})
Result
Column
Min
Max
Average
Count
DistinctCount
1UnitPrice1512046.8885
2Quantity1104.8887
3RegionEastWestnull83

Compatibility

Power BI Desktop Power BI Service Excel Desktop Excel Online Dataflows Fabric Notebooks