Функции СКД: ВычислитьВыражение сделать Функцию РАНГ как в Excel

1. Shaldryn 04.06.20 09:28 Сейчас в теме
Добрый день, подскажите пожалуйста как реализовать функцию из Excel "РАНГ" в СКД. Описание РАНГа такое "Возвращает ранг числа в списке чисел".
В СКД сделал так, в вычисляемое поле добавил "Ранг" с выражением "0". В ресурсах написал такую формулу:
ВычислитьВыражение("Количество(Различные Менеджер)",,"Группировка","Первая","Текущая","Сумма(ДоляОтгрузкиТек) УБЫВ")

Как бы все получилось, но мне нужно создать еще одно вычислямое поле, которое рассчитывается на основе этого вычисляемого поля. Типа такого "Ранг * &ВесОтгрузки", где вес отгрузки это процент, задаваемый в параметре.

Если написать так:
ВычислитьВыражение("Количество(Различные Менеджер)",,"Группировка","Первая","Текущая","Сумма(Ранг) * &Вес УБЫВ")
то неверно рассчитывается, думаю потому что в "Сумма(Ранг)" выдает все нули.
Пытался делать так:
ВычислитьВыражение("Количество(Различные Менеджер)",,"Группировка","Первая","Текущая","ВычислитьВыражение("Количество(Различные Менеджер)",,"Группировка","Первая","Текущая","Сумма(ДоляОтгрузкиТек) УБЫВ") * &Вес УБЫВ")
, но выдает ошибку по синтаксису, где то скобки не хватает, но не пойму где, так и не победил ее.

Вообще можно в вычисляемое выражение запихнуть вычисляемое выражение? Или как то иначе можно это сделать?
Прикрепленные файлы:
Найденные решения
2. toypaul 63 04.06.20 09:53 Сейчас в теме
(1)
Вообще можно в вычисляемое выражение запихнуть вычисляемое выражение?


можно в параметре выражение. нужно увеличивать при этом количество кавычек соот-но уровню вложенности.

в поле сортировать не пробовал. даже не думал что Сумма сработает, про ВычислитьВыражение даже думать не смел. интересно ...
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. toypaul 63 04.06.20 09:53 Сейчас в теме
(1)
Вообще можно в вычисляемое выражение запихнуть вычисляемое выражение?


можно в параметре выражение. нужно увеличивать при этом количество кавычек соот-но уровню вложенности.

в поле сортировать не пробовал. даже не думал что Сумма сработает, про ВычислитьВыражение даже думать не смел. интересно ...
4. Shaldryn 04.06.20 11:28 Сейчас в теме
(2) Спасибо за кавычки, написал, сработало:
ВычислитьВыражение("Количество(Различные Менеджер)",,"Группировка","Первая","Текущая","ВычислитьВыражение(""Количество(Различные Менеджер)"",,""Группировка"",""Первая"",""Текущая"",""Сумма(ДоляОтгрузкиТек) УБЫВ"") * &ВесДоляОтгрузки + ВычислитьВыражение(""Количество(Различные Менеджер)"",,""Группировка"",""Первая"",""Текущая"",""Сумма(ПроцентПриростаОтгрузки) УБЫВ"") * &ВесПриростОтгрузки + ВычислитьВыражение(""Количество(Различные Менеджер)"",,""Группировка"",""Первая"",""Текущая"",""Сумма(ДоляОплатыТек) УБЫВ"")  * &ВесДоляОплаты + ВычислитьВыражение(""Количество(Различные Менеджер)"",,""Группировка"",""Первая"",""Текущая"",""Сумма(ПроцентПриростаОплаты) УБЫВ"") * &ВесПриростОплаты + ВычислитьВыражение(""Количество(Различные Менеджер)"",,""Группировка"",""Первая"",""Текущая"",""(СУММА(Оплата) / СУММА(СреднийДебетЗадолженности)) УБЫВ"") * &ВесКДтЗ УБЫВ")
5. toypaul 63 04.06.20 11:29 Сейчас в теме
(4) офигеть. спасибо за примерчик
3. toypaul 63 04.06.20 09:53 Сейчас в теме
вообще все эти извращения через ВычислитьВыражение и тому подобное чаще проще решается через получение данных в запросе
6. Shaldryn 04.06.20 11:31 Сейчас в теме
(3) Я всегда делаю так, что если уже не получилось с выражениями, то пытаюсь реализовать в запросе. Но в данной задачи запрос бы разбух, не хотелось его ковырять, так как там запрос большой и не мой и он мне не нравится.) а с помощью вычисляемых прям быстро все получается, правда надо уметь его готовить, что у меня пока коряво выходит...
7. toypaul 63 04.06.20 11:38 Сейчас в теме
Я кстати не понял как от константы, на которую производится умножение может зависеть порядок сортировки?
9. Shaldryn 04.06.20 12:15 Сейчас в теме
(7) Там колонка Ранг Веса, она принимает значения вида "1.4", "7.8", А выше выражение которое я искал, для расчета Места, которая аналогична функции Ранга из Excel
8. toypaul 63 04.06.20 11:48 Сейчас в теме
И что-то я не очень пойму что этим выражением считается ВычислитьВыражение("Количество(Различные Менеджер)",,"Группировка","Первая","Текущая","Сумма(ДоляОтгрузкиТек) УБЫВ")

если не сложно, можно пояснить? ДоляОтгрузкиТек - тут наверное процент, который в сумме дает 100%?
10. Shaldryn 04.06.20 12:18 Сейчас в теме
(8) вот картинка должна быть понятна

Доля рассчитывается из (отгрузки / Сумму(отгрузки)) * 100, а дальше ранг по такой формуле, который выставляет порядок от максимального значения
Прикрепленные файлы:
11. VmvLer 04.06.20 13:58 Сейчас в теме
(10) понятие "Ранг" немного путает, более понятно "Рейтинг"
12. Shaldryn 04.06.20 14:12 Сейчас в теме
(11) Согласен, но как пожелали, так и сделали
13. FaithNoMore 10.07.20 16:27 Сейчас в теме
МестоВПорядке("Количество(Номенклатура) Убыв", , "Исполнитель")
14. echo77 1843 12.07.20 14:37 Сейчас в теме
(0) Может речь про ABCКлассификацию?
Прикрепленные файлы:
Оставьте свое сообщение
Вакансии
Программист
Санкт-Петербург
зарплата от 180 000 руб. до 240 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 150 000 руб. до 250 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Программист 1С
Екатеринбург
зарплата от 130 000 руб. до 170 000 руб.
Полный день

Программист 1C
Санкт-Петербург
зарплата от 140 000 руб. до 200 000 руб.
Полный день