Table.Schema

Updated on

Table.Schema is a Power Query M function that generates a table describing the properties of the input table’s columns, including column name, position, type, and other metadata. The function returns a table with the column properties.

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

Syntax

Table.Schema( table as table ) as table

Description

Returns a table describing the columns of table.

Each row in the table describes the properties of a column of table:

Column NameDescription
NameThe name of the column.
PositionThe 0-based position of the column in table.
TypeNameThe name of the type of the column.
KindThe kind of the type of the column.
IsNullableWhether the column can contain null values.
NumericPrecisionBaseThe numeric base (for example, base-2 or base-10) of the NumericPrecision and NumericScale fields.
NumericPrecisionThe precision of a numeric column in the base specified by NumericPrecisionBase. This is the maximum number of digits that can be represented by a value of this type (including fractional digits).
NumericScaleThe scale of a numeric column in the base specified by NumericPrecisionBase. This is the number of digits in the fractional part of a value of this type. A value of 0 indicates a fixed scale with no fractional digits. A value of null indicates the scale is not known (either because it is floating or not defined).
DateTimePrecisionThe maximum number of fractional digits supported in the seconds portion of a date or time value.
MaxLengthThe maximum number of characters permitted in a text column, or the maximum number of bytes permitted in a binary column.
IsVariableLengthIndicates whether this column can vary in length (up to MaxLength) or if it is of fixed size.
  
NativeTypeNameThe name of the type of the column in the native type system of the source (for example, nvarchar for SQL Server).
NativeDefaultExpressionThe default expression for a value of this column in the native expression language of the source (for example, 42 or newid() for SQL Server).
  
DescriptionThe description of the column.

Examples

The Table.Schema function returns schema information from a table. This can be useful to inspect the contents of a table, but also to return specific information.

For instance, if you want to return the textual representation of a data type, you could store it within a table and then use Table.Schema to pick up the relevant data type as text.

Here’s how:

// Returns: "This sentence refers to a 'text' type"
let
    myType = type text,
    myTable= #table( type table[ c = myType ], {{ "" }} ),
    tableSchema = Table.Schema( myTable ),
    typeAsText = tableSchema[Kind]{0},
    SentenceIncludingType = "This sentence refers to a '" & typeAsText & "' type"
in
    SentenceIncludingType

Learn more about Table.Schema in the following articles:

Other functions related to Table.Schema are:

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

2023-2026 © BI Gorilla. All rights are reserved. Information from Microsoft docs is property of Microsoft Corp. | Privacy Policy