У меня есть запрос мощности, который я хочу извлечь значения, выделенные в строке 5, в другой столбец. Я могу легко использовать
Record.Field(#"Added Custom"{4},"Column17")
Но проблема в том, что это значение может появиться где угодно, от столбца 12 до столбца 20, но все равно в строке 5. Как я могу найти его в этой строке, чтобы извлечь его. Спасибо.





Чтобы найти единственное ненулевое значение в строке 5 между столбцами 12 и 20, используйте это, заменив слово «Источник» на ваше # «Имя предыдущего шага», вероятно, # «Добавленное пользовательское».
Value = List.RemoveNulls(Record.ToList(Table.SelectColumns(Source,List.Range(Table.ColumnNames(Source),11,9)){4})){0}
Альтернативная версия, которая ищет первый текст, содержащий { в строке 5 между столбцами 12 и 20.
Value = List.RemoveNulls(List.Transform(List.RemoveNulls(Record.ToList(Table.SelectColumns(Source,List.Range(Table.ColumnNames(Source),11,9)){4})), each if Text.Contains(_,"{") then _ else null)){0}
версия 2 Попробуйте это.... добавить столбец... пользовательский столбец с формулой
= try List.Transform(List.RemoveNulls(List.Range(Record.FieldValues(_),11,9)), each if Text.Contains(_,"{") then _ else null){0} otherwise null
затем щелкните правой кнопкой мыши по столбцу и заполните его, затем щелкните правой кнопкой мыши и заполните
Большое спасибо. Альтернативное решение сработало отлично, но я заметил, что когда я добавил строку ниже, чтобы скопировать значение в другой столбец, оно работает, но когда код достигает другого значения даты, он все равно копирует первую дату. Мне бы хотелось, чтобы дата менялась по мере появления новых дат. Возможно, я неправильно написал код ниже: #"Added Custom2" = Table.AddColumn(#"Expanded Custom.1", "MyDate", каждое значение)
Ты прав. Проблема здесь в том, что я читаю из нескольких файлов PDF. Для одного PDF-файла значение находится в строке 5. Теперь, когда я добавляю папку для чтения файлов, она по-прежнему выбирает строку 5. Возможно, я бы перефразировал вопрос, чтобы прочитать все строки и извлечь значения, которые переместить "{" в другую строку
Давайте продолжим обсуждение в чате.
Спасибо большое, ваши идеи помогли мне решить проблему. Я изменил ваше решение, и теперь оно работает.
Некоторые значения в строках не равны нулю, но все строки, которые я хочу извлечь, имеют следующий формат: 27^{th} февраля 2023 г., 2^{nd} июня 2023 г. и т. д. Уникальная особенность значение в том, что все они имеют фигурную скобку "{"