|
СКД среднее по максимумам | ☑ | ||
---|---|---|---|---|
0
Fuas4
12.12.13
✎
07:05
|
Доброе утро! Такая ситуация: Есть ресурс, который для номенклатуры получаю по формуле Максимум(МойРесурс) для группировки по родителю хочу выводить средний ресурс от полученного максимума, но Средее(МойРесурс) возвращает не те данные, которые мне нужны. Какую формулу надо прописать в ресурсе, чтобы считалось среднее от полученных максимумов?
|
|||
1
ИС-2
naïve
12.12.13
✎
07:32
|
Среднее(Максимум(Значение))? Но наверно требуется считать максимум по определенному значению группировки?
|
|||
2
Fuas4
12.12.13
✎
07:34
|
(1) Использование вложенных функций запрещено. Да, по определенному
|
|||
3
1Сергей
12.12.13
✎
07:36
|
оберни выборку в ещё один запрос
|
|||
4
Fuas4
12.12.13
✎
07:42
|
(3) Сейчас попробую
|
|||
5
Fuas4
12.12.13
✎
07:55
|
Объясните, мне, тупому, где тут может быть деление на 0? Скуль ругается:
ВЫБОР КОГДА Закупоч.Закупочная ЕСТЬ NULL или Закупоч.Закупочная = 0 ТОГДА 0 ИНАЧЕ МАКСИМУМ(100 * ((ЕСТЬNULL(Розничный.РозничнаяЦена, 0) / Закупоч.Закупочная) - 1)) КОНЕЦ |
|||
6
MatrosoV AleXXXand_R
12.12.13
✎
07:58
|
А почему не так ...
МАКСИМУМ (ВЫБОР КОГДА ЕСТЬNULL(Закупоч.Закупочная, 0) = 0 ТОГДА 0 ИНАЧЕ 100* ((ЕСТЬNULL(Розничный.РозничнаяЦена, 0) / Закупоч.Закупочная)-1)) КОНЕЦ) КАК ... ? |
|||
7
Wobland
12.12.13
✎
07:59
|
(5) деление - это такая палка: /, ноль - это справа от неё
|
|||
8
MatrosoV AleXXXand_R
12.12.13
✎
08:00
|
+ ругается точно на это поле? И ты скинул полностью весь расчет для данного поля?
|
|||
9
Fuas4
12.12.13
✎
08:04
|
(7) Да ты шаришь. Меня интересует, как справа за эту палку через мое условие может попасть 0?
(6) потому что ЕСТЬNULL(Закупоч.Закупочная, 0) = 0 тоже не помогает (8) Точно. Если вместо / поставить +, то не ругается. Полностью весь скинул |
|||
10
Fragster
модератор
12.12.13
✎
08:05
|
(0) ВыычислитьВыражениеСГруппировкойМассив
|
|||
11
Fragster
модератор
12.12.13
✎
08:05
|
и от него - среднее
|
|||
12
Fragster
модератор
12.12.13
✎
08:05
|
а в нем - максимум по нужным группировкам
|
|||
13
Wobland
12.12.13
✎
08:06
|
(9) никак
|
|||
14
Wobland
12.12.13
✎
08:06
|
(13) сторно. может пролезть значение, близкое к нулю
|
|||
15
Fuas4
12.12.13
✎
08:10
|
(10) Сейчас попробую
(14) Не понял |
|||
16
Fuas4
12.12.13
✎
08:11
|
(14) Это просто регистр сведеинй цены номенклатуры
|
|||
17
Wobland
12.12.13
✎
08:14
|
(16) это плохо?
|
|||
18
Fuas4
12.12.13
✎
08:16
|
(17) это "при чем тут сторно?"
|
|||
19
Fuas4
12.12.13
✎
09:33
|
(10) ОФигенная функция. В ресурсе написал Среднее(ВычислитьВыражениеСГруппировкойМассив("Максимум(НаценкаРозничная)","Код,Номенклатура")), теперь все ок. Только на определенные строки ругается: Неверные параметры "AVG"
Это что за зверь и как его побороть? |
|||
20
Fuas4
12.12.13
✎
09:44
|
Причем, если вместо ЕСТЬNULL(Розничный.РозничнаяЦена, 0) поставить ЕСТЬNULL(Розничный.РозничнаяЦена, 1), то отваливается подальше :)
|
|||
21
Fuas4
12.12.13
✎
09:49
|
Все, дошло. В вычисляемом поле не было проверки на деление на 0. СКД данные обрабатывала без ошибок (в отчете просто выводила "деление на 0"), а вот среднее от этих данных уже получить не могла.
|
|||
22
Fuas4
12.12.13
✎
10:02
|
У меня еще вопрос, пока все не разошлись: вот эта штука: Среднее(ВычислитьВыражениеСГруппировкойМассив("Максимум(НаценкаРозничная)","Код,Номенклатура")) правильно отрабатывается только для одной группировки (в моем случае это бренд), а вот для второй (родитель) показывает уже неправильные данные(т.е. я опять хочу сложить все результаты по брендам и поделить на количество брендов). На Среднее(ВычислитьВыражениеСГруппировкойМассив("Среднее(ВычислитьВыражениеСГруппировкойМассив("Максимум(НаценкаРозничная)","Код,Номенклатура"))")) ругается на вложенную агрегатную функцию. Как быть?
|
|||
23
Fuas4
12.12.13
✎
10:14
|
Я снова молодец. Вот это: Среднее(ВычислитьВыражениеСГруппировкойМассив("Максимум(НаценкаРозничная)","Код,Номенклатура")) в вычисляемое поле. По вычисляемому полю Среднее(ВычислитьВыражениеСГруппировкойМассив.
Все работает. Всем большое спасибо |
|||
24
Fragster
модератор
12.12.13
✎
10:24
|
(23) на закладке ресурсов у вычисляемого поля просто само вычисляеое поле укажи
|
|||
25
Fuas4
12.12.13
✎
10:28
|
(24) Так и сделал для бренда конечно же :) Спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |