Построитель - свой алгоритм расчета в итогах #807447


#0 by first_may
Добрый день. Конфигурация УПП 1.3. В новом отчете, сделанный на основе "Продажи", добавлена колонка ПроцентСкидки, который рассчитывается допустим как Сумма1 / Сумма2 * 100. Получается, что в строках все правильно, например Сумма1    Сумма2    ПроцентСкидки 18    20    90 25    36    69,44 а в итоговой строке хотелось бы увидеть следующее 43     56    79,72 сумма   сумма   среднее по       по        по колонке колонке  колонке Подскажите пож, как это реализовать?
#1 by first_may
Очень нужен совет специалистов!
#2 by first_may
Никто такое не делал?
#3 by chelentano
Ну так и пиши в итогах: СУММА(Сумма1)/СУММА(Сумма2)*100
#4 by first_may
получиться 18 / 25 * 100 = 72 ?? это не то, надо а в итоговой строке хотелось бы увидеть следующее 43     56    79,72 сумма   сумма   среднее по       по        по колонке колонке  колонке
#5 by Ёпрст
нет. в итогах будет (18+25)/(20+36)*100 = 76,78
#6 by Филиал-msk
Справка - Справка - Содержание - 1С:Предприятие - Встроенный язык - Работа с запросами - Синтаксис языка запросов - Ключевые слова и функции - Функции - Агрегатные функции
#7 by first_may
но это же не среднее для 90 и 79,72 .
#8 by first_may
я понял, что говорите про функцию СРЕДНЕЕ, а если надо руками посчитать среднее, то есть что то вроде СУММА(по колонке) / КОЛИЧЕСТВО(число строк в группировки)
#9 by Ёпрст
Причем тут среднее ? Ты сам просил Сумма1/сумма2*100
#10 by Ёпрст
Есть функция Среднее
#11 by Ёпрст
ну и да, солидарен с
#12 by craxx
СКД используй и не компоссируй людям мозги
#13 by first_may
Сумма1/сумма2*100 - это третья колонка - ПроцентСкидки а вот в итоге надо вывести для ПроцентСкидки  среднее по строчкам
#14 by Ёпрст
Итоги По Среднее
#15 by first_may
я почему сюда и обратился, что среднее какое то странное..     ВложенныйЗапрос.СерияНоменклатуры КАК СерияНоменклатуры,         И Закупки.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг          СГРУППИРОВАТЬ ПО ГДЕ     Закупки.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг СГРУППИРОВАТЬ ПО     ВложенныйЗапрос.Номенклатура,     ВременнаяТЧ.НоменклатураБазоваяЕдиницаИзмерения,     ВременнаяТЧ.ПериодПолугодие, {ГДЕ АВТОУПОРЯДОЧИВАНИЕ а вот результат
#16 by first_may
тут должно быть Средний % финскидки = Сумма фин. скидки, руб. без НДС / Сумма продажи без скидок, руб. без НДС * 100 но не по всем строкам это выполняется..
#17 by SleepyHead
Че так сложно -=то? В ресурсах вычислитьвыражение и использовать агрегатные функции для расчета среднего и назначит его только для итогов группировки
#18 by first_may
вы про СКД?
#19 by Ёпрст
да уж. вычислять среднее от процента ?
#20 by first_may
да, руководство так хочет..
#21 by Ёпрст
в школе арифметику то хоть проходил ?
#22 by first_may
изучал
#23 by Ёпрст
у тебя сейчас 10%,22%,45% .. ты берешь среднее от этих чисел. Это не тоже самое, что и среднее от показателей, из которых эти проценты получены. Так яснее ?
#24 by first_may
хорошо, тогда общий вопрос - можно ли в отчете сделанном на построителе в общих итогах использовать какую нибудь свою формулу? бред конечно, но допустим логарифм от строк, находящейся в этой группировки?
#25 by Ёпрст
ключевое слово - Итоги. Дальше думать
#26 by АнализДанных
Поиграйся на простом примере:     30,     70     95, ИТОГИ --- Исходная таблица Измерение_1 20 80 Измерение_1 30 70 Измерение_2 95 100 --- Вариант 1 вернет Общие итоги 58 Измерение_1 33,33 58 это 20+30+95/80+70+100*100 --- Вариант 2 вернет 54,28 Общие итоги 54,28 Измерение_1 33,95 Измерение_2 95 54,28 это среднее от построчных значений 25+42,85+95/3 (3 это кол-во строк детальных записей) --- Вариант 3 вернет Общие итоги 162,85 Измерение_1 67,85 162,85 это сумма всех построчных значений
#27 by first_may
спасибо, переписал запрос.. теперь получилось.. последний вопрос - как можно вот тут //// Пиши любую формулу ... написать формулу, что бы считалось среднее из положительных итогов по полю, то есть ПроцентСкидки <вот тут надо среднее от 4,648391 и 4,330552> -4,685727 4,648391 -5,606112 4,330552
#28 by first_may
пишу СРЕДНЕЕ(ПроцентСкидки) и получаю -0,328224
#29 by first_may
а надо, что бы вывелось 4,490..
#30 by h-sp
выкинь это среднее никогда больше не пользуйся. Делай СУММА1 / СУММА2
#31 by first_may
выкинь это среднее - хорошо, а как отобрать только положительные?
#32 by h-sp
ВЫБОР КОГДА Сумма(ааппаааппр.) > 0 Тогда     тото ИНАЧЕ     тото Конец
#33 by АнализДанных
Эта проверка будет только на итоги накладываться, а ему надо на детальные записи. Надо как-то так:       Конец) / Сумма(Выбор Когда (сумма1>0 и сумма2>0) Тогда 1 иначе 0 Конец) Я в конце проверку на деление на 0 писать не стал, но тебе ее надо будет дописать.
#34 by first_may
сейчас в запросе написано ВЫБРАТЬ     ВременнаяТЧ.Номенклатура,     ВременнаяТЧ.Контрагент, ПО АВТОУПОРЯДОЧИВАНИЕ и получается вот такой результат ПроцентСкидки -1,1768255 - итоговое значение 0 -77,999288 7,068797 37,700249 5,334941 20,834348 и действительно (-77,999288 + 7,068797 + 37,700249 + 5,334941 + 20,834348 + 0) / 6 = -1,1768255
#35 by first_may
но как только переписываю на этот ВЫБРАТЬ     ВременнаяТЧ.Номенклатура,     ВременнаяТЧ.Контрагент, АВТОУПОРЯДОЧИВАНИЕ то получается вот такой результат 17,735 - итоговое значение 0 0 7,069 37,700 5,335 20,834 и действительно (7,069 + 37,700 + 5,335 + 20,834) / 4 = 17,735
#36 by first_may
то есть, в итоговой строке то, что надо, но вот в детальной записи теперь не отображается минусовое значение..
#37 by first_may
как написать, что бы получилось вот это 17,735 - итоговое значение  0  -77,999288  7,069  37,700  5,335  20,834
#38 by first_may
Может быть это из за того, что запрос используется в отчете сделанном на построителе?
#39 by АнализДанных
Условия в построителе не накладываешь?
#40 by first_may
Делаю ли отбор? Да, проверяю на одной позиции.
#41 by АнализДанных
Покажи весь текст запроса.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С