Жаль, я надеялся на чудо. Чуда не произошло. 
Спасибо! Тему можно считать закрытой.

Спасибо! Тему можно считать закрытой.
26.08.2025 09:26:31
Andrew Rubanov, спасибо за наводку.
|
|
|
21.08.2025 10:58:41
AlienSx, соглашусь с Вами в определенной степени.
Изначально задача решалась с помощью regexp и всё, действительно, "работало", но медленно. Вероятно, мой первоначальный пример был некорректен, т.к. не охватывал все возможные "варианты для отсечения". Как результат, предложенные ответы были "высокоскоростные", но не решали задачу полностью в части охвата слов для отсечения. Дальнейшие запросы от меня были попыткой получить доработанное "скоростное" решение с учетом более "полного охвата". Согласен, что в данный момент, задача смещается в несколько другом направлении. Предположу, что увеличение разнообразия количества возможных вариантов слов, которые требуется отсечь, приведут к решению, которое, по скорости не будет особо отличаться от варианта с regexp. В таком случае, тему можно закрывать. Благодарю всех за посильную помощь и советы. |
|
|
20.08.2025 21:29:46
sotnikov,
"контрагент" я записал для примера. В оригинале слова "контрагент" нет в принципе. Вместо него идут всевозможные названия юрлиц, ИП, физлиц. С и без обозначения формы собственности. Причём, форма собственности может быть как краткой (ООО, ОАО, ИП), так и полной (Общество с ограниченной ответственностью и т.п.) |
|
|
16.08.2025 12:59:53
sotnikov, спасибо.
Если я правильно понял, то предложенный Вами вариант подходит, когда нужно отделить что-то слева до конца строки. Видимо, пример, не совсем удачный, т.к. представляет только один вариант "замены". Вопрос к предложенному Вами варианту: а можно ли каким-то образом в функцию записать разделитель, состоящий из нескольких символов, а не просто по одному вроде "точки" или "скобки"? + еще один вопрос: а как быть в случае, когда требуется удалить какую-то часть внутри строки, например, между разделителями, причем, разделители могут отличаться друг от друга? |
|
|
15.08.2025 08:07:04
Добрый день,
Прошу совета, можно ли как-то ускорить обработку запроса с заменой регулярных выражений. 1. Есть большая (основная) таблица (выписка) с кучей полей, в том числе, поле "Контрагент" 2. В поле "Контрагент" организации пишутся, зачастую, с дополнительной информацией, вроде номеров расчетных и лицевых счетов, доп. офисов и т.п. 3. Необходимо в поле "Контрагент" оставить только само название контрагента + краткую форму собственности (ООО, АО и т.п.) 4. Для решения этой задачи использую следующую функцию:
5. Функцию вызываю для каждого поля "Контрагент" в основной таблице, где в качестве txt - значение поля, lst - ссылка на список значений регулярных варажений (см. скриншот). Всё работает, но оооочень медленно. Есть ли какие-либо варианты, чтобы ускорить обработку таблицы с заменой ненужных значений? Заранее благодарю за конструктивные ответы |
|||
|
27.03.2025 17:51:36
gling, спасибо, но, что-то я не могу разобраться в вашем примере совсем.
Зачем "план-факт", операции и т.д., если мне нужно - только среднее значение за год на основании количеств уникальных товаров? Поясните, пожалуйста, свой пример или, возможно, вы приложили не тот файл? |
|
|
27.03.2025 16:49:19
Добрый день,
Прошу помочь с решением следующей задачи: 1. Есть Таблица с списком, допустим, проданных товаров за период (Дата | Id товара | Кол-во | Цена | Сумма) 2. Необходимо рассчитать количество уникальных товаров, проданных за месяц 3. Среднее количество проданных уникальных товаров за год. В файле - пример таблицы, где в каждой строке собрано количество уникальных товаров, проданных за месяц.
Заранее благодарю за ответы. |
|||
|
19.02.2025 11:14:17
Alex, ОГРОМНОЕ спасибо!
Дополнительный вопрос, если позволите, а то я совсем запутался, . Итоговую меру: М1:
М1А
А мера: М2:
При этом, М2 всегда "пустая" (в случае установленного фильтра по году). Почему? Как влияет на исходный контекст фильтра первый аргумент в М2? |
|||||||
|
18.02.2025 17:37:45
Alex, согласен, сглупил. Конечно, это - "ошибка". (в "нервном порыве" написал, когда ничего не получалось).
До этой "ошибки" формула была следующей: Прибыль ПГ:=CALCULATE([ВСЯ Прибыль];filter('Заказы';'Заказы'[Id]<=5);SAMEPERIODLASTYEAR('Calendar'[Date])) Но при такой формуле в мера не вычислялась вовсе. Как я понимаю, из-за того, что Sameperiod...пытался наложиться на даты из таблицы "Прибылей". А т.к. связи между ними нет, то и - пусто. Другой вариант формулы был: Прибыль ПГ:=CALCULATE([ВСЯ Прибыль];filter('Заказы';'Заказы'[Id]<=5 && SAMEPERIODLASTYEAR('Calendar'[Date]))) Но при такой, как раз "дублируются" данные - одинаковые, что за текущий, что за предыдущий годы. "Сработал" такой вариант: Прибыль ПГ:=CALCULATE([Прибыль ТГ];SAMEPERIODLASTYEAR('Calendar'[Date])) Но, непонятно, что не так со вторым вариантом? |
|
|
18.02.2025 15:13:39
Добрый день,
Прошу помочь разобраться как отразить в сводной таблице корректные данные за предыдущий год. Исходные данные: 1. Таблица "заказы", с данными о заказах с некой "опорной датой" (Id заказчика, Id заказа, опорная дата, стоимость заказа) 2. "Опорная дата" связана с "Календарем" 3. Дополнительно существует еще несколько таблиц, допустим, две, которые связаны с основной таблицей "Заказов" по Id заказа. 3.1. Одна таблица - оплаты по Id заказа 3.2. Другая таблица - расходы по Id заказа 3.3. Даты в этих таблицах не имеют значения 4. Прибыль рассчитывается как разница между "Оплатами" и "Расходами" Необходимо создать сводную таблицу, в которой бы все было сведено по Заказчику (строки). Столбцы - Даты (в частности, ГОДЫ из Календаря). В значения необходимо иметь возможность вывести данные о Прибыли в текущем и предыдущим году с учетом дополнительных фильтров. Если накладываю только один фильтр на "Прибыль" вроде Sameperiodlastyear('Каленадь'[дата]), то вроде как считает, как надо. Если дополнительно накладываю фильтр на заказы, то значения для Прибылей становятся одинаковыми, что за текущий, что за предыдущие годы. Пример - во вложении. В чем моя ошибка? Заранее благодарю за конструктивные ответы. |
|
|
01.02.2025 22:49:18
Добрый день,
прошу помочь советом с решением следующей задачи: 1. Есть таблица (см. Пример.xlsx), в которой обозначены работы (ID) и даты, в которые эти работы были проведены. 2. Необходимо рассчитать: среднее количество работ, которыми занимались в месяц. 3. Возможно, для созданной меры есть более простое написание, нежели сделанное через Filter(...), см. Пример. Описание "Примера": 1. Таблица слева - исходные данные 2. Таблица справа - сводная (из PP) 3. Таблица внизу ("Сводная (по месяцам)") - требуемый итог. Создал меру, которая показывает по дням "была ли работа" или нет. Но, данная мера при сворачивании месяца также отражает общее количество уникальных работ, без учета количества дней, в которые этими работами "занимались". А хотелось бы создать меру так, чтобы она отражала именно среднее количество работ в месяц с учетом количества дней "отданных" конкретной работе. + При отсутствии в "Строках" сводной таблицы фильтра по ID работ, таблица бы также отражала среднее суммарное значение количества работ за месяц/квартал/год (в зависимости от варианта фильтра по "столбцам"). Заранее благодарю за конструктивные советы. |
|
|