Извлечь минимальную максимальную дату строки с несколькими датами - PullRequest
0 голосов
/ 25 января 2020

Как можно разделить минимальную и максимальную дату, расположенную в строке с датами умножения

Это в Power Query

8/31/2018, 8/29/2018, 4/9/2018, 8/29/2018, 8/29/2018

Результат в разных столбцах

min            max
29/8/2019      4/9/2019

Может кто-нибудь помочь мне разобраться?

Код: = Table.TransformColumns (# "Добавлен Custom4", {"FechaFinalTarea", каждый Text.Combine (List.Transform (_, Text) .From), ","), введите текст})

введите описание изображения здесь

Полный код: let Source = Etapa_1_Caricam, # "Сгруппированные строки" = Таблица .Group (Source, {"Num Form"}, {{"mynewtable", каждый _, таблица типов [Num Form = текст, DupForm = текст, Creado En = дата, FechaCreac = дата, SLA = номер, имя инициатора = текст , Бизнес-единица = текст, описание БУ = текст, форма типо = текст, описание проекта = текст, текстовое поле = текст, поле 12 = число, назначенная задача = текст, статус = номер]}}), # «добавлено пользовательское» = Table.AddColumn (# "Сгруппированные строки", "Task_Etapa1", каждый Table.Column ([mynewtable], "Texto tarea")), # "Извлеченные значения" = Table.TransformColumns (# "Добавлено Custom ", {" Task_Etapa1 ", каждый Text.Combine (List.Transform (, Text.From),", "), введите текст}), #" Added Custom1 "= Table.AddColumn (#" Извлеченные значения "," Iniciador ", каждый Table.Column ([mynewtable]," Имя инициатора ")), #" Извлеченные значения1 "= Table.TransformColumns (#" Добавлен пользовательский1 ", {" Iniciador ", каждый Text.Combine (Список. Transform (, Text.From), ","), type text}), # "Извлеченный текст перед разделителем" = Table.TransformColumns (# "Извлеченные значения1", {{"Iniciador", каждый Text.BeforeDelimiter ( , ","), введите текст}}), # "Добавлен Custom2" = Table.AddColumn (# "Извлеченный текст перед разделителем", "Пользовательский", каждый Table.Column ([mynewtable], "Descripción del proyecto") ")), #" Извлеченные значения2 "= Table.TransformColumns (#" Добавлено Custom2 ", {" Custom ", каждый Text.Combine (List.Transform (, Text.From),", "), ввести текст }), # "Вставленный текст перед разделителем" = Table.AddColumn (# "Извлеченные значения2", "Текст перед разделителем", каждый Text.BeforeDelimiter ([Пользовательский], ","), введите текст), # "Удаленные столбцы" = Table.RemoveC olumns (# "Вставленный текст перед разделителем", {"Custom"}), # "Переименованные столбцы" = Table.RenameColumns (# "Удаленные столбцы", {{"Текст перед разделителем", "Descripcion del Proyecto"}}), # "Added Custom3" = Table.AddColumn (# "Переименованные столбцы", "FechaInicio", каждый Table.Column ([mynewtable], "Creado En")), # "Извлеченные значения3" = Table.TransformColumns (# "Добавлен Custom3 ", {" FechaInicio ", каждый Text.Combine (List.Transform (, Text.From),", "), введите текст}), #" Вставленный текст перед Delimiter1 "= Table.AddColumn (#" Извлечено Значения3 "," Текст до разделителя ", каждый Text.BeforeDelimiter ([FechaInicio],", "), введите текст), #" Вставленный текст после разделителя "= Table.AddColumn (#" Вставленный текст до разделителя1 "," Текст после Разделитель ", каждый Text.AfterDelimiter ([FechaInicio],", "), введите текст), #" Удаленные столбцы1 "= Table.RemoveColumns (#" Вставленный текст после разделителя ", {" Текст после разделителя "," Текст перед разделителем " "}), #" Извлеченный текст перед разделителем1 "= Table.TransformColumns (#" Удаленные столбцы1 ", {{" FechaInicio ", eac h Text.BeforeDelimiter (, ","), введите текст}}), # "Added Custom4" = Table.AddColumn (# "Извлеченный текст перед Delimiter1", "FechaFinalTarea", каждый Table.Column ([mynewtable]) , "FechaCrea c")), # "Извлеченные значения4" = Table.TransformColumns (# "Добавлено Custom4", {"FechaFinalTarea", каждый Text.Combine (List.Transform (_, Text.From), "," ), введите текст}) в # "Извлеченные значения4"

1 Ответ

1 голос
/ 25 января 2020

В ваших входных данных нет даты 29/8/2019 (или любой даты, относящейся к 2019 году). Вы также представили один из своих «результатов» как day/month/year. Это может быть просто несколько опечаток, но из-за этого ваши «результаты» и вопрос становятся неясными и трудными для понимания.

Один из подходов, приведенных ниже, должен работать, если я правильно понял.


Если ваша исходная таблица похожа на приведенную ниже (где все даты в формате month/day/year и являются частью одной строки, разделенной запятыми):

Input table

затем я получаю этот вывод (обратите внимание на столбцы min и max):

Output table

, используя этот код :

let
    initialTable = Table.FromRows({{"8/31/2018, 8/29/2018, 4/9/2018, 8/29/2018, 8/29/2018"}}),
    split = Table.AddColumn(initialTable, "datesToCheck", each List.Transform(Text.Split([Column1], ","), each Date.FromText(_, "en-US")), type list),
    minAndMax = Table.AddColumn(split, "toExpand", each [min = List.Min([datesToCheck]), max = List.Max([datesToCheck])], type record),
    expanded = Table.ExpandRecordColumn(minAndMax, "toExpand", {"min", "max"})
in
    expanded

Тем не менее, если ваша исходная таблица имеет вид, подобный приведенному ниже (где даты находятся в своих собственных столбцах для начала):

Input table

затем я получаю этот вывод (обратите внимание на столбцы min и max):

Output table

, используя код ниже:

let
    initialTable = Table.FromRows({List.Transform({"8/31/2018", "8/29/2018", "4/9/2018", "8/29/2018", "8/29/2018"}, each Date.FromText(_, "en-US"))}),
    split = Table.AddColumn(initialTable, "datesToCheck", each Record.FieldValues(_), type list),
    minAndMax = Table.AddColumn(split, "toExpand", each [min = List.Min([datesToCheck]), max = List.Max([datesToCheck])], type record),
    expanded = Table.ExpandRecordColumn(minAndMax, "toExpand", {"min", "max"})
in
    expanded

Судя по вашему коду, ваша таблица содержит столбец таблицы (называемый mynewtable), внутри которого есть столбец с именем FechaCreac, который сам не содержит дат. Я не могу проверить это, но я рекомендую вам заменить эти строки в вашем коде:

  #"Added Custom4" = Table.AddColumn(#"Extracted Text Before Delimiter1", "FechaFinalTarea", each Table.Column([mynewtable],"FechaCreac")),
  #"Extracted Values4" = Table.TransformColumns(#"Added Custom4", {"FechaFinalTarea", each Text.Combine(List.Transform(_, Text.From), ", "), type text})
in
  #"Extracted Values4"

на:

  #"Added Custom4" = Table.AddColumn(#"Extracted Text Before Delimiter1", "FechaFinalTarea", each let dates = Table.Column([mynewtable],"FechaCreac") in [min = List.Min(dates), max = List.Max(dates)]),
  expanded = Table.ExpandRecordColumn(#"Added Custom4", "FechaFinalTarea", {"min", "max"})
in
  expanded

, и это должно показать вам min и max столбцы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...