Страницы: 1
RSS
PQ. Фильтрация списка без преобразования в таблицу., Есть список, необходимо отфильтровать названия полей, которые содержат слово "Date".
 
Здравствуйте!

Прошу помочь с решением задачи.
Как фильтровать таблицу списком - я понял: Table.SelectRows(      source, each List.Contains(list_filter, [Код]))
Не могу понять как отфильтровать список не переводя его в таблицу. Я пробовал:
Код
let
    Источник =          Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    ИзменённыйТип =     Table.TransformColumnTypes(
                            Источник,{
                                {"Поле 1 Date", type date},
                                {"Поле 2", type text},
                                {"Поле 3  Date", type date},
                                {"Поле 4", type text}
                            }
                        ),
    СписокПолей =       Table.ColumnNames(ИзменённыйТип),
    СписокПолейФильтр = List.Select(
                            СписокПолей,
                            each {_, (t) => List.Contains(t, "Date")}
                        )

in
    СписокПолейФильтр


Благодарю!
 
Доброе время суток.
ivanka, всё же может уже почитать спецификацию языка?
Код
    СписокПолейФильтр = List.Select(
                            СписокПолей,
                            (t) => Text.Contains(t, "Date")
                        )
 
Цитата
Андрей VG написал:
Text.Contains(t, "Date")
:evil:  всё сильно проще оказалось....

Цитата
Андрей VG написал:
всё же может уже почитать спецификацию языка?
Я почитал, не то подобрал.
Да, я понял свою ошибку.... такая простая ошибка...

Благодарю!
Изменено: ivanka - 19.04.2021 20:17:37
 
Андрей VG, здравствуйте!

Подскажите пожалуйста, имеется ли возможность, при выполнении фильтрации "СписокПолей", исключить некоторые поля из вхождения в список?
К примеру:

Код
    СписокПолейФильтр = List.Select(
                            СписокПолей,
                            (t) => Text.Contains(t, "Date"),
                             
                            кроме поля "Поле 1 Date"

                        )

Изменено: ivanka - 21.04.2021 10:38:44
 
Код
    СписокПолейФильтр = List.Select(
                            СписокПолей,
                            each Text.Contains(_, "Date") and not Text.Contains(_, "Поле 1 Date")
                        )
Изменено: surkenny - 21.04.2021 10:49:24
 
surkenny, благодарю!  
Страницы: 1
Наверх