Функции СКД: ВычислитьВыражение сделать Функцию РАНГ как в 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 1897 12.07.20 14:37 Сейчас в теме
(0) Может речь про ABCКлассификацию?
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот