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

Страницы: 1 2 3 След.
ABC-анализ с учетом среза по годам (PP)
 
AlienSx, большое спасибо за ссылку!!!
ABC-анализ с учетом среза по годам (PP)
 
В результате:
1. В PP так и не придумал, как сделать доп. поле так, чтобы заказчики группировались по ABC-группам с учетом "года".
2. Подумывал сделать в PQ, но также из-за нескольких годов, не получилось.
3. Остановился на "мерах": сделал ABC-группу доп. столбцом в сводной таблице.

Всем еще раз спасибо за советы и участие!
ABC-анализ с учетом среза по годам (PP)
 
Спасибо за ответы.
Виноват, что комментарии даю столь поздно - не было доступа к Интернет.
Попробую разобраться через "меры". Если не получится - переформулирую запрос + сделаю более "правильный" пример.
ABC-анализ с учетом среза по годам (PP)
 
Добрый день,
запутался в контекстах и т.п.
Прошу помочь разобраться в следующем вопросе:
1. Есть таблица с заказами за 2 года
2. Заказы выполнялись разными отделами (допустим "Отдел А" , "Отдел Б", "Отдел В")
3. Необходимо выполнить ABC-анализ определенных отделов по сумме заказов: разделить суммы заказов только "нужных" отделов (например, Б и В) на 3 группы, в зависимости от доли суммы заказов, выполненных "нужным" отделом
3а. Полученная сводная таблица должна реагировать на срез "по годам": т.е. показывать конечные данные с учетом года (или без учета, если выбраны все годы).

Сделал через PP, работает вроде как, но:
1. На срез по годам не реагирует совсем (т.е. общая сумма заказов от которой считаются проценты (сделал вычисляемым столбцом) - всегда общая за все время)
2. Странно получается общая сумма в каждой итоговой группе (ABC) - вроде через switch прописаны варианты 0,8, 0,95, и т.д. Но итоги как-то не соответствуют. Наверное, итоговые проценты рассчитываются, все-таки, неверно. Хотелось бы получить суммы процентов как можно ближе к указанным для каждой группы (насколько возможно).

Прошу помочь советом или примером.
"Пример" прилагаю.
Заранее благодарю за помощь и участие.
PQ. List.Generate. Перечисление аргументов функции без each
 
Дмитрий Никитин, спасибо!
PQ. List.Generate. Перечисление аргументов функции без each
 
Спасибо, но речь немного не об этом.
Вопрос был как переписать подобную функцию без помощи each, если в записи более одного поля:
Виноват, пример был неудачным.
Код
List.Generate(
    () => [num = 1, Name = "Иван", Surname = "Иванов"],
    each [num] <= 10,
    each [num = [num] + 1]
)

Переписать List.Generate без each так,
Код
List.Generate(
    () => [num = 1, Name = "Иван", Surname = "Иванов"],
    (x) => ?,
    (x) => ?,
    (x) => [запись: поле num, поле Name, поле Surname]?
)
чтобы в результате получилось 10 записей, у которых поле num от 1 до 10, остальные поля - без изменений.
Изменено: Sviman144 - 05.12.2025 13:42:04
PQ. List.Generate. Перечисление аргументов функции без each
 
Добрый день,
прошу помочь "сообразить" как написать пример функции List.Generate без использования each
Пример:
Код
List.Generate(
    () => [num = 1],
    each [num] <= 10,
    each [num = [num] + 1]
)
Как переписать эту функцию так, чтобы не использовать конструкцию "each"? В виде:
Код
List.Generate(
    () => [num = 1],
    (x) => ?,
    (x) => ?,
)
Заранее благодарю за ответы по существу.
Изменено: Sanja - 05.12.2025 13:02:25
Удалить значения в строке в соседнем столбце от активной ячейки в умной таблице (VBA)
 
Задача решена.
Большое спасибо!
Тему можно считать закрытой.
Удалить значения в строке в соседнем столбце от активной ячейки в умной таблице (VBA)
 
Спасибо за оперативный ответ.
Один дополнительный вопрос, если позволите: Не могли бы вы чуть универсализировать функцию, дабы обращение к столбцу было не по имени, а,
например, по его индексу в таблице (для случая, когда эту функцию можно было использовать на нескольких таблицах с разными названиями столбцов).

Как вариант, возможно, как-то определить переменную, в которую попадал бы адрес текущей активной ячейки (как адрес в умной таблице)? И адрес этой переменной передавался бы вместо "Таблица1[Столбец1]"?
Удалить значения в строке в соседнем столбце от активной ячейки в умной таблице (VBA)
 
Добрый день,
Два вопроса:
1.  В VBA я не разбираюсь совсем, к сожалению. Вся задача решается в Эксель с помощью умных таблиц и формул.
Единственная загвоздка: Есть два списка в умной таблице. Один зависит от другого (сначала выбираешь значение в одном списке, затем - в другом с учетом выбранного значения в первом).
Необходимо удалять выбранные из второго списка значения при изменении значения в первом списке (в конкретной строке). Можно ли это реализовать без VBA? Если "нет", то как это сделать через VBA?
2. Можно ли для ячеек, в которых выбирается второй список сделать ссылку на список не просто, допустим, "B5", а ссылкой на соседнюю ячейку умной таблицы, т.е. второй список --> Таблица1[@Столбец1]?

Заранее благодарю за конструктивные советы.
Изменено: Sviman144 - 26.11.2025 20:53:50
Вывод исходных данных из сводной таблицы с учетом дополнительного контекста (PP)
 
Жаль, я надеялся на чудо. Чуда не произошло. :)
Спасибо! Тему можно считать закрытой.
Вывод исходных данных из сводной таблицы с учетом дополнительного контекста (PP)
 
Добрый день,

Прошу совета, как можно решить следующую задачу:

Есть таблица (см. пример).
Для таблицы определяется мера в PP ("Сумма (тип 1)").

Необходимо, чтобы при двойном нажатии на значение в соответствующем мере поле сводной таблицы получить не список всех "заказов", а только тех, которые участвовали в расчете меры.

Т.е. в примере сейчас нет разницы, если дважды щелкну на числа в мере "Общая сумма" или "Сумма (тип 1)". В обоих случаях я получу "все заказы". А хотелось бы сделать так, чтобы при двойном щелчке на значении каждой меры я получал бы таблицу только со строками, которые участвовали в расчете меры.

Это возможно или нет?

Заранее благодарю за ответы.
Функция SAMEPERIODLASTYEAR + ошибка в "непрерывности" дат в сводной (PP)
 
Ах, вот в чем дело. Понял. Спасибо. :)
Функция SAMEPERIODLASTYEAR + ошибка в "непрерывности" дат в сводной (PP)
 
Ок, я создал новый календарь через конструктор в модели данных и связал его с таблицей Заказы. Ошибка не исчезла. Все также - в одной сводной работает SAMEPERIODLASTYEAR, а в другой - нет.
Функция SAMEPERIODLASTYEAR + ошибка в "непрерывности" дат в сводной (PP)
 
georgem, хм,

У меня в примере, в Модели данных исходные таблицы Заказы и Календарь связаны. При этом таблица Календарь помечена как "таблица дат".
Разве этого недостаточно?
Функция SAMEPERIODLASTYEAR + ошибка в "непрерывности" дат в сводной (PP)
 
Добрый день,

Прошу помочь разобраться, почему в таблице "Сводная 1" мера [Итого PY (fx Sameperiod)]  с функцией SAMEPERIODLASTYEAR работает, а в другой - вызывает "Ошибку вычисления в мере..." по причине отсутствия непрерывности дат.

Получить данные за предыдущий аналогичный период (месяц) получается только через функцию PARALLELPERIOD ([Итого PY (fx Parallelperiod)])

См. пример во вложении.

Заранее благодарю за ответы.
Определить для сумм диапазоны значений (PQ)
 
sotnikov,
Огромное спасибо!
Так и знал, что всё не сложно.

Что-то я совсем отупел. Ничего сам сообразить не могу. :(

Спасибо еще раз.
Вопрос решен. Тему можно считать закрытой.
Определить для сумм диапазоны значений (PQ)
 
Добрый день,

Прошу помочь справиться со следующей задачей в PQ:
Есть таблица заказов, у каждого заказа - своя стоимость.
Есть таблица "диапазонов сумм" (от 100 до 200 тыс. руб., от 1 млн. до 2 млн. руб. и т.д)
Как в PQ определить в столбце с каждым заказов, в какой диапазон значений входит его стоимость (Столбец1 во вложенном примере).

Никак не могу справиться с задачей.
Заранее благодарю за содержательные ответы.
Низкая скорость обработки запроса с регулярными выражениями
 
Andrew Rubanov, спасибо за наводку.
Низкая скорость обработки запроса с регулярными выражениями
 
AlienSx, соглашусь с Вами в определенной степени.

Изначально задача решалась с помощью regexp и всё, действительно, "работало", но медленно.

Вероятно, мой первоначальный пример был некорректен, т.к. не охватывал все возможные "варианты для отсечения". Как результат, предложенные ответы были "высокоскоростные", но не решали задачу полностью в части охвата слов для отсечения.
Дальнейшие запросы от меня были попыткой получить доработанное "скоростное" решение с учетом более "полного охвата".
Согласен, что в данный момент, задача смещается в несколько другом направлении.

Предположу, что увеличение разнообразия количества возможных вариантов слов, которые требуется отсечь, приведут к решению, которое, по скорости не будет особо отличаться от варианта с regexp.

В таком случае, тему можно закрывать.

Благодарю всех за посильную помощь и советы.  
Низкая скорость обработки запроса с регулярными выражениями
 
sotnikov,

"контрагент" я записал для примера. В оригинале слова "контрагент" нет в принципе. Вместо него идут всевозможные названия юрлиц, ИП, физлиц. С и без обозначения формы собственности. Причём, форма собственности может быть как краткой (ООО, ОАО, ИП), так и полной (Общество с ограниченной ответственностью и т.п.)
Низкая скорость обработки запроса с регулярными выражениями
 
sotnikov, добрый вечер,

Есть ли какие-либо еще возможности, на Ваш взгляд, с учетом обновленного "примера" или надежды больше нет? ;)
Низкая скорость обработки запроса с регулярными выражениями
 
sotnikov, спасибо за участие :)

Обновленный пример прилагаю.
Изменено: Sviman144 - 16.08.2025 23:08:05
Низкая скорость обработки запроса с регулярными выражениями
 
sotnikov, спасибо.
Если я правильно понял, то предложенный Вами вариант подходит, когда нужно отделить что-то слева до конца строки.
Видимо, пример, не совсем удачный, т.к. представляет только один вариант "замены".

Вопрос к предложенному Вами варианту: а можно ли каким-то образом в функцию записать разделитель, состоящий из нескольких символов, а не просто по одному вроде "точки" или "скобки"?

+ еще один вопрос: а как быть в случае, когда требуется удалить какую-то часть внутри строки, например, между разделителями, причем, разделители могут отличаться друг от друга?
Низкая скорость обработки запроса с регулярными выражениями
 
Цитата
написал:
Без файла-примера только гадать...
Предположил, что формулы будет достаточно. Файл-пример прилагаю.
Цитата
написал:
И почему бы не делать это с помощью VBA.
Данная обработка - лишь  одна из многих для этой таблицы. Остальные обработки сделаны также в PQ. Итоговый результат передается в PP, а оттуда - в сводные отчеты. Предположил, что делать всю "работу" в чем-то одном будет разумнее. Кроме того, я не знаю VBA.
Общее количество строк в "основной" таблице около 90-100 тыс. шт.
Низкая скорость обработки запроса с регулярными выражениями
 
Добрый день,
Прошу совета, можно ли как-то ускорить обработку запроса с заменой регулярных выражений.
1. Есть большая (основная) таблица (выписка) с кучей полей, в том числе, поле "Контрагент"
2. В поле "Контрагент" организации пишутся, зачастую, с дополнительной информацией, вроде номеров расчетных и лицевых счетов, доп. офисов и т.п.
3. Необходимо в поле "Контрагент" оставить только само название контрагента + краткую форму собственности (ООО, АО и т.п.)

4. Для решения этой задачи использую следующую функцию:
Код
let fx=(txt as text, lst as list) =>
    try List.Accumulate(lst, txt, (state, current) =>
        Text.Replace(
            Text.Upper(state),
            Text.Upper(let  
                reg = Web.Page(
                "<script>
                    var x = '" & txt & "';
                    var pattern = new RegExp('" & current & "', 'gmi');
                    var result = x.match(pattern);
                    document.write(result);
                </script>")[Data]{0}[Children]{0}[Children]{1}[Text]{0}
                in
                reg), "")
    )
    otherwise ""
in
fx

5. Функцию вызываю для каждого поля "Контрагент" в основной таблице, где в качестве txt - значение поля, lst - ссылка на список значений регулярных варажений (см. скриншот).

Всё работает, но оооочень медленно.
Есть ли какие-либо варианты, чтобы ускорить обработку таблицы с заменой ненужных значений?

Заранее благодарю за конструктивные ответы
Среднее значение в "Итогах" на основании уникальных значений
 
Prosvetov,

Огромное спасибо!
Как же всё просто оказалось!
Среднее значение в "Итогах" на основании уникальных значений
 
gling, спасибо, но, что-то я не могу разобраться в вашем примере совсем.
Зачем "план-факт", операции и т.д., если мне нужно - только среднее значение за год на основании количеств уникальных товаров?
Поясните, пожалуйста, свой пример или, возможно, вы приложили не тот файл?
Среднее значение в "Итогах" на основании уникальных значений
 
Добрый день,
Прошу помочь с решением следующей задачи:
1. Есть Таблица с списком, допустим, проданных товаров за период (Дата | Id товара | Кол-во | Цена | Сумма)
2. Необходимо рассчитать количество уникальных товаров, проданных за месяц
3. Среднее количество проданных уникальных товаров за год.

В файле - пример таблицы, где в каждой строке собрано количество уникальных товаров, проданных за месяц.
Код
Мера: Кол-во уникальных товаров за месяц:= DISTINCTCOUNT('Таблица[Id товара])
Но, используя эту меру, в "Итогах" я получаю количество уникальных товаров за год. А как определить среднее значение, на основании ежемесячных итогов?

Заранее благодарю за ответы.
Расчет значений за предыдущий год в сводной таблице
 
Ок, закончили.
Еще раз, спасибо!
Страницы: 1 2 3 След.
Наверх