Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Регулярные выражения в PQ
 
Для добавления возможности работать с регулярными выражениями в PQ использовал статью https://www.planetaexcel.ru/techniques/7/13310/.
Хотел дополнительно реализовать удаление дубликатов внутри функции JS через конструкцию new Set
Код
var arr = [...new Set(x.match(pattern))];
var result = arr.join(delim);

но PQ выдал ошибку "Expression.Error: Элементов в перечислении было недостаточно".
Решил все таки задачу с помощью самого PQ, через Text.Combine(List.Distinct(Text.Split(...
Может кто-то сталкивался с подобной задачей и все таки есть решение через JS?

И еще вопрос, опять же с JS - есть ли возможность отсортировать вывод результатов поиска по рег. выражению по группам поиска, а не по очередности вхождения в исходную строку?  
Дело  в том, что код
Код
let fx=(txt as text, regex as text, delim as text) =>
    Web.Page(
        "<script>
            var x = '" & txt & "';
            var delim = '" & delim & "';
            var pattern = /" & regex & "/gm;
            var result = x.match(pattern).join(delim);
            if (x.match(pattern)!= null) {
                document.write(result);
                } else {
                document.write(null);
                }
                
         </script>")[Data]{0}[Children]{0}[Children]{1}[Text]{0}

in
fx

выдает найденные подстроки в том порядке, в котором они находятся в подстроке, а нужно что бы согласно условиям поиска, разделенных | в рег. выражении.
Изменено: Иван Ган - 10.03.2025 17:18:19
Powerquery: выборка по условию из нескольких столбцов, в том числе на соответствие критерию максимум/минимум
 
Здравствуйте!
Есть таблица, содержащая список файлов с полями "Имя", "Путь", "Дата создания", и др.
Названия файлов могут повторяться, но в разных папках и с разными датами создания.
Из этого списка нужно отобрать те строки в которых Дата модификации максимальна, но список должен содержать исходный набор полей.
Если делать с помощью группировки, то придется отсекать поле Путь, что бы найти максимум по полю "Дата создания", а мне нужно узнать где находится файл с последней датой создания.
Изменено: Иван Ган - 27.01.2025 15:54:57
Формирование запросов HTTP из Excel/VBA
 
В корпоративной сети есть сервис поиска материалов через web/https.
Я ввожу наименование материалы и сервис выдает список наиболее подходящих МТР, в виде таблицы.
Возможно ли из excel/vba формировать запросы к этому сервису и обрабатывать полученные результаты?
Обработка полученных результатов и выбор наиболее подходящего из найденных - это другой вопрос.
Какие условия для этого необходимы, например поддержка HHTP API и др?
Дело в том, что список позиций/наименований которым нужно подобрать из НСИ исчисляется тысячами, и в ручную это оооочень долго.
Отображение итогового столбца по строкам в нужной позиции сводной таблицы
 
Подскажите, возможно ли отобразить в сводной таблице итоговый столбец  по строкам не последним, а например четвертым п счёту.
В таблице во вложении общий итог - крайний правый столбец, а нужен в позиции выделенной желтым.
Изменено: Иван Ган - 28.09.2023 09:23:35
Поиск позиции в массиве по двум и более условиям (вхождение подстроки)
 
Есть таблица Таблица16
Формула подсчёта количества строк по двум условиям даёт результат = 1
=СЧЁТЕСЛИМН(Таблица16[Наименование];"*"&СЖПРОБЕЛЫ([@Наименование])&"*";Таблица16[Дата регистрации];[@[Дата регистрации]])

жирным выделено условие проверки вхождения искомой подстроки в поле [Наименование]

Возможно ли найти позицию этой строки в таблице Таблица16, где одно из условий - вхождение нужной подстроки?
Вариант использования функций ВПР и ИНДЕКС, в случае с двумя условиями, проверяет только точное совпадение с искомой строкой:
=ИНДЕКС(Таблица16[Состояние];ПОИСКПОЗ(1;(Таблица16[Наименование]=СЖПРОБЕЛЫ([@Наименование]))*(Таблица16[Дата регистрации]=[@[Дата регистрации]]);0))

Во вложении пример, в итоговой таблице при точном совпадении Наименования связка Индекс+ПоискПоз  отрабатывает, как надо.  
Реализация функции МаксЕслиМн и СумЕслиМн в вычисляемом столюце с помощью PowerQuery
 
Здравствуйте!
Подскажите, как реализовать вычисление максимального  значения с дополнительным условием по другому полю (столбцу) в PowerQuery и суммирование по условию? В TSQL это делал, а вот здесь затруднения.

Пример исходной таблицы и нужной во вложении Книга2.xlsx (32.04 КБ)
Частичное транспонирование таблицы с помощью PowerQuery
 
Здравствуйте!
Возможно ли частично транспонировать таблицу, т.е. преобразовать значения в столбцах в значения строки, причем значения некоторых левые столбцов исходной таблицы оставить без изменений?
Количество транспонируемых столбцов в строки переменная величина.

Пример во вложении (Книга2). Синяя таблица - исходная, в которой колонки с датами содержат значения, преобразуемые в строки, колонка "Тип значения" содержит названия добавляемых колонок в новой таблице. Желтая - транспонированная таблица.
Подсчёт количества строк, разница между значениями колонок которых удовлетворяет условию
 
Есть таблица в которой строки - это активности (работы), колонки - название работы, плановая дата начала, окончания, фактическая дата начала, окончания.
Нужно подсчитать количество строк для которых работа просрочена, т.е. колонка план. дата начала < чем факт. дата начала и аналогично с датой окончания.
СЧЁТЕСЛИМН, как я понял не умеет сравнивать разность колонок, например следующая запись будет не верной (выделено)
=СЧЁТЕСЛИМН(Данные!B:B;[@Шифр];Данные!D:D;"<>";Данные!L:L-Данные!F:F;"<1")

Возможно ли как то реализовать формулу подсчёта без использования VBA и создания промежуточных столбцов в исходной таблице, для подсчёта разности между сравниваемыми столбцами?
Power query: Таблица содержит ошибки переполнения, При запуске запроса выводится ошибка переполнения
 
Здравствуйте!
Подскажите, в чём может быть причина возникновения ошибки и как её локализовать?


Тип всех данных поставил "any".
Создал отдельный лист с данными, оставив только минимальный набор колонок (10 столбцов)
В итоге запрос сработал без ошибок.

Не рабочий запрос:
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="СтатусПоставки"]}[Content],
    #"Повышенные заголовки" = Table.PromoteHeaders(Источник, [PromoteAllScalars=true]),
    #"Измененный тип" = Table.TransformColumnTypes(#"Повышенные заголовки",{
        {"Пп", type any}, 
   {"ОР", type any}, 
   {"Производство", type any}, 
   {"Наименование проекта", type any}, 
   {"СПП-элемент", type any}, 
   {"Комплектовщик", type any}, 
   {"Куратор", type any}, 
   {"КСП", type any}, 
   {"Часть проекта", type any}, 
   {"Материал", type any}, 
   {"Наименование материала по РВ", type any}, 
   {"Наименование материала в заявке", type any}, 
   {"Наименование ТМЦ", type any}, 
   {"Ед. изм.", type any}, 
   {"Кол-во к закупу", type any}, 
   {"Закупщик", type any}, 
   {"Стоимость", type any}, 
   {"Заявка", type any}, 
   {"Источник", type any}, 
   {"Срок начала реализации проекта", type any}, 
   {"Срок окончания реализации проекта", type any}, 
   {"Дата создания Заявки", type any}, 
   {"Дата Поставки По Заявке", type any}, 
   {"Статус поставки", type any}, 
   {"Статус корректный", type any}, 
   {"Дата статуса", type any}, 
   {"Номер контракта", type any}, 
   {"Дата Поставки Из договора", type any}, 
   {"Прогнозная дата поставки", type any}, 
   {"Договор подряда", type any}, 
   {"Дата оприходования на склад", type any}, 
   {"Учитывать", type any}, 
   {"Прогнозный срок перемещения на подрядчика ", type any}, 
   {"Перемещение на склад подрядчика", type any}, 
   {"Процент выполнения поставки", type any}, 
   {"Не вовлеченные ТМЦ", type any}, 
   {"Стоимость НВИ", type any}, 
   {"Причина возникновения НВИ", type any}, 
   {"Комментарий Планирование", type any}, 
   {"Комментарий Закупщика ", type any}, 
   {"Наличие риска", type any}})
in
    #"Измененный тип"
Изменено: Иван Ган - 16.09.2022 07:19:42
Группировка данных, условие на функцию-агрегатор (аналог СУММЕСЛИМН(), подсчёт уникальных значений в рамках группировки), Условие на группировку и вычисляемое поле
 
Здравствуйте!

Может кто то сталкивался с такой задачей, как вычислить сразу несколько агрегатов, для каждого из которых разные условия [не]включения одной и той же записи исходного набора. Например, вычисление количества чисел больше и меньше 10 — отдельными полями.

В случай SQL, код, например,  может быть таким:
Код
Код для PostgreSQL
SELECT
  count(*) FILTER(WHERE prime < 10) countlt
, count(*) FILTER(WHERE prime > 10) countgt
FROM
  unnest('{2,3,5,7,11,13,17,19}'::integer[]) prime;

Как подобное реализуется в Power query + excel?

Изменено: Юрий М - 09.09.2022 14:13:43
Страницы: 1
Наверх