|
СКД (по неделям), надо рассчитать разницу Прибыли последней недели - пред. последней. КАК? | ☑ | ||
---|---|---|---|---|
0
SkillUp
21.01.21
✎
10:05
|
Здравствуйте, вывожу отчет СКД таблицу (по неделям). Надо добавить после всей таблицы колонку "ПрибыльРазница" - прибыль (последней недели) - прибыль (предпоследней недели).
Т.Е. если схематично (взят для примера месяц): КОЛОНКИ: Неделя №1 Неделя №2 Неделя №3 Неделя №4 ПрибыльРазница 1 2 3 4 (4-3) Нет проблем добавить вычисляемое поле, после ТалицыСКД. Проблема как вычислять всегда вычисляемую колонку ("ПрибыльРазница"). Сегодня это разница колонки Колонки №4 - Колонка №3, завтра пользователь другой период выберет, там будет 7 недель (7-мь колонок). |
|||
1
SkillUp
21.01.21
✎
11:52
|
Может кто-то будет искать:
ВычислитьВыражение ("Сумма(СтоимостьОборот)", "ПериодМесяц","Группировка","Текущая","Текущая", "", "","") - ВычислитьВыражение ("Сумма(СтоимостьОборот)", "ПериодМесяц","Группировка","Предыдущая","Предыдущая", "", "","") |
|||
2
toypaul
гуру
21.01.21
✎
12:04
|
текущая - предыдущая будет считать соот-но разницу между текущей и предыдущей. а не последней и предпоследней. и работать это будет только на группировке ПериодМесяц. то есть если добавить колонку "после всей таблицы". это работать не будет
|
|||
3
toypaul
гуру
21.01.21
✎
12:06
|
не уверен что в нашем курсе https://learn.programstore.ru/skd2-intensiv есть похожий пример, но "может кому интересно" - в нем целых два блока "подобных" примеров
|
|||
4
toypaul
гуру
21.01.21
✎
12:08
|
Вот вроде есть подобный пример http://prntscr.com/xctmib
|
|||
5
SkillUp
21.01.21
✎
14:03
|
(2) Это пример из интренета был...
|
|||
6
SkillUp
21.01.21
✎
14:23
|
(2) (3) (4) СПАСИБО!!! ПОСЛЕ РАБОТЫ ГЛЯНУ, ЧТО ЗА КУРС!!!
|
|||
7
SkillUp
21.01.21
✎
14:34
|
Из видео так и не понял, как добраться до предпоследнего значения таблицы.
|
|||
8
SkillUp
21.01.21
✎
14:59
|
(2) (3) (4) Пытаюсь так :
Ладно, пусть будет колонка в общих итогах: ЕстьNULL(ВычислитьВыражение("Сумма(ВаловаяПрибыль)", "ПериодНеделя",,"Последняя", "Последняя"),0) - ЕстьNULL(ВычислитьВыражение("Сумма(ВаловаяПрибыль)", "ПериодНеделя",,"Последняя(1)", "Последняя(1)"),0) Но, что-то не правильно делаю. |
|||
9
SkillUp
21.01.21
✎
14:59
|
"Последняя(1)" наверно смещение не правльно делаю. Если кто-то подскажет, буду благодарен.
|
|||
10
toypaul
гуру
21.01.21
✎
16:30
|
я видео рассказал что такой вариант не сработает. и в своем сообщении в (2) про это же написал. там показано другое решение
|
|||
11
SkillUp
21.01.21
✎
16:41
|
(10) ТА все понял, вот делаю:
Сумма( ВЫБОР КОГДА ПериодНеделя = ВычислитьВыражение( "Максимум(ПериодНеделя)","НоменклатурнаяГруппа") ТОГДА ВаловаяПрибыль КОГДА ПериодНеделя = ВычислитьВыражение("МИНИМУМ(ПериодНеделя)","НоменклатурнаяГруппа") ТОГДА - ВаловаяПрибыль ИНАЧЕ 0 КОНЕЦ) Только мне надо, от последней - предпоследня. А в видео все просто, либо последняя либо первая. А как именно предпоследний период выбрать? |
|||
12
SkillUp
21.01.21
✎
16:43
|
Может быть так?
ВычислитьВыражение("ДОБАВИТЬКДАТЕ("МАКСИМУМ (ПериодНеделя)", ДЕНЬ, -7))","НоменклатурнаяГруппа") ТОГДА - ВаловаяПрибыль ИНАЧЕ 0 КОНЕЦ) |
|||
13
Cthulhu
21.01.21
✎
16:49
|
решение нарастающих итогов-убытков сиречь вычисление поля, в котором д.б. разница/сумма каких-то полей текущей записи и предыдущей - утяжеляет запрос (выполнение) неимоверно. я в сходной задаче уперся в геометрическое увеличение времени выполнения такого запроса - и переделал сам алгоритм следующим образом:
1) запрос без значений этой расчетной дельты - выгрузил в ТЗ 2) проходом по ТЗ - в отдельной (добавленной) колонке рассчитал это поле за один проход ТЗ - ну и попутно кучу полей пересчитал более мощным инструментом, нежели возможности языка запросов ))) 3) слепил СКД уже по этой ТЗ. вышло намного проще и намноооого быстрее (+один проход по таблице вместо тета(?)-запроса) |
|||
14
SkillUp
21.01.21
✎
16:54
|
(13) Спасибо.
|
|||
15
toypaul
гуру
21.01.21
✎
16:59
|
(11) тут думать надо. возможно что такой подход не подойдет. я где-то в курсе говорил что все эти мудреные функции довольно часто проще запросами решать. хотя знать как ими пользоваться тоже нужно
|
|||
16
SkillUp
21.01.21
✎
17:03
|
(15) Да, понял...
|
|||
17
Михаил Козлов
21.01.21
✎
17:16
|
Временная таблица в датами недель. 2 таблицы с прибылью. Соединить по разность дат в неделях = 1.
Можно и как в (13). |
|||
18
SkillUp
22.01.21
✎
14:29
|
(17) (15) (13) Ребят, спасибо ВАМ. Сделал.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |