Поделиться через


Table.TransformColumnTypes

Синтаксис

Table.TransformColumnTypes(table as table, typeTransformations as list, optional culture as nullable text) as table

О нас

Возвращает таблицу, применяя операции преобразования, к указанным столбцам с помощью необязательных региональных параметров.

  • table: входная таблица для преобразования.
  • typeTransformations: преобразования типов, которые нужно применить. Формат одного преобразования — {имя столбца, значение типа }. Список преобразований можно использовать для изменения типов нескольких столбцов одновременно. Если столбец не существует, возникает ошибка.
  • culture: (необязательно) Культура, используемая при преобразовании типов столбцов (например, "en-US"). Если запись указана для culture, она может содержать следующие поля:
    • Culture: параметры культуры, используемые при преобразовании типов столбцов (например, "en-US").
    • MissingField: если столбец не существует, возникает ошибка, если это поле не обеспечивает альтернативное поведение (например, MissingField.UseNull или MissingField.Ignore).

Значение типа в параметре typeTransformations может быть any, все типы number, text, все date, time, datetime, datetimezoneи duration типы, logicalили binary. Типы list, record, tableили function не допустимы для этого параметра.

Для каждого столбца, указанного в typeTransformations, обычно используется метод ".Метод From", соответствующий указанному значению типа, для выполнения преобразования. Например, если для столбца задано значение типа Currency.Type , функция Currency.From преобразования применяется к каждому значению в этом столбце.

Пример 1

Преобразуйте значения числа в первом столбце в текстовые значения.

использование

let
    Source = #table(type table [a = number, b = number],
    {
        {1, 2},
        {3, 4}
    }),
    #"Transform Column" = Table.TransformColumnTypes(
        Source, 
        {"a", type text}
    )
in
    #"Transform Column"

выход

#table(type table [a = text, b = number],
{
    {"1", 2},
    {"3", 4}
})

Пример 2

Преобразуйте даты в таблице в эквиваленты французского текста.

использование

let
    Source = #table(type table [Company ID = text, Country = text, Date = date],
    {
        {"JS-464", "USA", #date(2024, 3, 24)},
        {"LT-331", "France", #date(2024, 10, 5)},
        {"XE-100", "USA", #date(2024, 5, 21)},
        {"RT-430", "Germany", #date(2024, 1,18)},
        {"LS-005", "France", #date(2023, 12, 31)},
        {"UW-220", "Germany", #date(2024, 2, 25)}
    }),
    #"Transform Column" = Table.TransformColumnTypes(
        Source,
        {"Date", type text},
        "fr-FR"
    )
in
    #"Transform Column"

выход

#table(type table [Company ID = text, Country = text, Date = text],
    {
        {"JS-464", "USA", "24/03/2024"},
        {"LT-331", "France", "05/10/2024"},
        {"XE-100", "USA", "21/05/2024"},
        {"RT-430", "Germany", "18/01/2024"},
        {"LS-005", "France", "31/12/2023"},
        {"UW-220", "Germany", "25/02/2024"}
    })

Пример 3

Преобразуйте даты в таблице в эквиваленты немецкого текста и значения в таблице в процентах.

использование

let
    Source = #table(type table [Date = date, Customer ID = text, Value = number],
    {
        {#date(2024, 3, 12), "134282", .24368},
        {#date(2024, 5, 30), "44343", .03556},
        {#date(2023, 12, 14), "22", .3834}
    }),
    #"Transform Columns" = Table.TransformColumnTypes(
        Source, 
        {{"Date", type text}, {"Value", Percentage.Type}},
        "de-DE") 
in
    #"Transform Columns"

выход

#table(type table [Date = text, Customer ID = text, Value = Percentage.Type],
{
    {"12.03.2024", "134282", .24368},
    {"30.05.2024", "44343", .03556},
    {"14.12.2023", "22", .3834}
})