Table.Schema

La función Table.Schema devuelve información sobre las columnas de la tabla indicada.

Sintaxis

Table.Schema(
    table as table
) as table

Parámetros
  • table: tabla a evaluar
Información adicional

La información incluida en el resultado es la siguiente:

  • Name: nombre de la columna
  • Position: índice o posición de la columna (la situada en el extremo izquierdo recibe el índice 0)
  • TypeName: nombre del tipo de la columna
  • Kind: clase del tipo de la columna
  • IsNullable: valor que indica si la columna puede contener valores nulos o no
  • NumericPrecisionBase: base numérica (base-2, base-10) de los dos campos descritos a continuación: NumericPrecisionNumericScale
  • NumericPrecision: precisión de la columna (número máximo de dígitos que pueden representarse, incluyendo dígitos fraccionarios)
  • NumericScale: escala de la columna (número de dígitos de la parte fraccionaria). Un valor 0 indica valores enteros. Un valor null indica que se desconoce la entrada (por ser flotante o por no haberse definido)
  • DateTimePrecision: número máximo de dígitos fraccionarios que se admiten en el componente correspondiente a los segundos.
  • MaxLength: número máximo de caracteres permitidos (si se trata de una columna de texto) o número máximo de bytes permitidos (si se trata de una columna binaria)
  • IsVariableLength: valor que indica si la longitud de la columna puede variar (hasta MaxLength) o si es de tamaño fijo
  • NativeTypeName: nombre del tipo de la columna en el sistema de tipos nativo del origen de datos
  • NativeDefaultExpression: expresión predeterminada de un valor de esta columna en el lenguaje de la expresión nativa del origen de datos
  • Description: descripción de la columna
  • IsWritable: parámetro no documentado
Ejemplos

En este ejemplo partimos de una tabla con cuatro columnas, dos de ellas de tipo numérico, otra de tipo texto y la última de tipo date, y usamos la función Table.Schema para obtener información sobre ellas:

let
    Source = Table.FromRecords(
        {
            [id = 15, name = "John", sales = 25, lastsale = #date(2020, 4, 22)],
            [id = 21, name = "Alfonso", sales = 12, lastsale = #date(2020, 4, 22)],
            [id = 7, name = "John", sales = 10, lastsale = #date(2020, 4, 22)],
            [id = 33, name = "Marta", sales = 35, lastsale = #date(2020, 4, 22)]
        },
            type table[
                id = Number.Type,
                name = Text.Type,
                sales = Number.Type,
                lastsale = Date.Type
            ]
    )
in
    Table.Schema(
        Source
    )

Función M Table.Schema

Como puede apreciarse, se trata de una tabla con un gran número de columnas, por lo que la visualización no es cómoda (en la imagen anterior ni siquiera se muestran todas las columnas). Para poder visualizar toda la información, podemos convertir las cabeceras de la tabla resultado en una fila más con la función Table.DemoteHeaders y transponer el resultado con la función Table.Transpose:

let
    Source = Table.FromRecords(
        {
            [id = 15, name = "John", sales = 25, lastsale = #date(2020, 4, 22)],
            [id = 21, name = "Alfonso", sales = 12, lastsale = #date(2020, 4, 22)],
            [id = 7, name = "John", sales = 10, lastsale = #date(2020, 4, 22)],
            [id = 33, name = "Marta", sales = 35, lastsale = #date(2020, 4, 22)]
        },
            type table[
                id = Number.Type,
                name = Text.Type,
                sales = Number.Type,
                lastsale = Date.Type
            ]
    )
in
    Table.Transpose(
        Table.DemoteHeaders(
            Table.Schema(
                Source
            )
        )
    )

Función M Table.Schema
Categoría
Funciones de tabla
Enviado por admin el Dom, 06/09/2020 - 10:26