|
СКД. Расчет рентабельности для произвольных группировок | ☑ | ||
---|---|---|---|---|
0
vi0
23.11.15
✎
12:29
|
Добрый день
Задача - разработать отчет о прибылях и убытках http://img.donnet.ru/i/2015/11/23/eb1f938.png Нарастающим итогом рассчитываются - Маржинальная прибыль (состоит из статей по продажам) - Чистая прибыль (Маржинальная прибыль - прочие статьи) Рентабельность продаж = Маржинальная прибыль / Выручка * 100 Рентабельность бизнеса = Чистая прибыль / Выручка * 100 Как реализовать подобное на СКД? Особенно с учетом, что есть горизонтальные группировки, и они могут быть разными: периоды, подразделения итд Конкретно сложность возникает расчета при наличии дополнительных группировок: горизонтальных или дополнительных вертикальных (например, расчет рентабельности по подразлделению) Сейчас склоняюсь к разработке кодом без СКД |
|||
1
los_hooliganos
23.11.15
✎
12:36
|
Варианта 2.
а. Посчитать нарастающий итог запросом. б. Использовать Вычисляемые поля. |
|||
2
aleks_default
23.11.15
✎
12:37
|
(0)Ну я такое делал на СКД.
|
|||
3
los_hooliganos
23.11.15
✎
12:37
|
(1) Для любителей экстрима можно сделать все функциональным программированием.
|
|||
4
vi0
23.11.15
✎
12:43
|
использовал вычисляемые поля
что-то типа ВЫБОР КОГДА ГруппировкаРентабельность = &РентабельностьСделок ТОГДА ВычислитьВыражение("СУММА(МаржинальнаяПрибыль)", "ОбщийИтог") / ВычислитьВыражение("СУММА(СуммаВыручки)", "ОбщийИтог") * 100 КОГДА ГруппировкаРентабельность = &РентабельностьБизнеса ТОГДА ВычислитьВыражение("СУММА(ЧистаяПрибыль)", "ОбщийИтог") / ВычислитьВыражение("СУММА(СуммаВыручки)", "ОбщийИтог") * 100 ИНАЧЕ 0 КОНЕЦ Как писал выше, возникает сложность при наличии дополнительных группировок |
|||
5
aleks_default
23.11.15
✎
12:45
|
для разных группировок нужно создавать разные ресурсы (Расчитывать по)
|
|||
6
vi0
23.11.15
✎
12:45
|
(2) расскажи, как рентабельность считал?
|
|||
7
vi0
23.11.15
✎
12:46
|
(5) делал так, сложность не в этом
см выше |
|||
8
Гёдза
23.11.15
✎
12:47
|
(4) Лучше разные ресурсы делать с разным рассчитать по
|
|||
9
aleks_default
23.11.15
✎
12:50
|
В любом случае нужно ограничивать возможности пользователя по добавлению ЛЮБЫХ групировок и т.д. Лучше выяснить какие группировки они точно будут использовать, а какие никогда не будут. И затачивать отчет под это. Полной универсальности добиться можно, но затраты человеко/часов того не стоят.
|
|||
10
vi0
23.11.15
✎
13:00
|
(9) этот вопрос решен
|
|||
11
aleks_default
23.11.15
✎
13:01
|
(10) тогда в чем проблема?
|
|||
12
vi0
23.11.15
✎
13:04
|
(11) например, как рассчитать рентабельность бизнеса за февраль
из примера скриншота |
|||
13
aleks_default
23.11.15
✎
14:11
|
Не доступны скрины на работе. Можно своими словами?
|
|||
14
vi0
23.11.15
✎
14:53
|
(13) Пока что задачу сузил до такой формулировки:
Как посчитать итог ресурса в рамках определенной горизонтальной группировки верхнего уровня. Например есть группировки: ПериодМесяц ---Маржинальная прибыль -------Рентабельность продаж ---Чистая прибыль ------Рентабельность бизнеса (еще статьи на самом нижнем уровне) Проблема: "Чистая прибыль" не вычисляется, если ПериодМесяц является горизонтальной группировкой. считаю так: ВычислитьВыражение("СУММА(ЧистаяПрибыль)", "ПериодМесяц") |
|||
15
aleks_default
23.11.15
✎
15:54
|
Не совсем въехал почему не вычисляется? Тебе нужно нечто подобное?
http://img.donnet.ru/i/2015/11/23/cd893ab.png |
|||
16
vi0
23.11.15
✎
16:06
|
(15) да, в общем структура такая
|
|||
17
vi0
23.11.15
✎
16:11
|
(15) не знаю почему не вычисляется
встречал несколько веток, что это фича скд |
|||
18
aleks_default
23.11.15
✎
16:22
|
Я в вычислитьвыражение не указывал второй параметр(имя группировки). Добавил два раза один и тот же ресурс с разными формулами расчета и в расчитыватьПо галками поставил для каких группировок эту формулу применять.
Просто например ВычислитьВыражение("Сумма(Сумма)",,,"Первая","Текущая"). |
|||
19
aleks_default
23.11.15
✎
16:24
|
В настройках таблица с группировками в колонках - Период.
|
|||
20
aleks_default
23.11.15
✎
16:24
|
Все работает.
У тебя та же структура. |
|||
21
vi0
24.11.15
✎
06:01
|
(20) у меня такая структура (выше немного неточное ее показал)
------Маржинальная прибыль ---Рентабельность продаж ------Чистая прибыль ---Рентабельность бизнеса Т.е. групппировка рентабельности сбивает нарастающий итог. А так как ты говоришь - работает. Попробую рентабельность вынести на один уровень с прибылями. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |