|
Дополнительные поля в колонке "итог" в запросе | ☑ | ||
---|---|---|---|---|
0
Avlek
16.10.13
✎
05:29
|
Есть запрос который показывает с разбивкой по месяцам некоторые суммы по плану и по факту, и в конце есть колонка итог с общей суммой по плану и по факту. Требуется добавить колонки в итогах "Отклонение от плана" и "% исполнения", получающихся вычитанием факта от плана и деления факта на план. Возможно ли такое средствами запроса? Или как его лучше реализовать в построителе отчетов
|
|||
1
Rie
16.10.13
✎
05:41
|
(0) Возможно.
|
|||
2
Avlek
16.10.13
✎
05:52
|
Как это сделать?
|
|||
3
Rie
16.10.13
✎
06:03
|
(2) Вычесть факт из плана. Разделить факт на план.
Что именно у тебя не получается? Кроме того, с телетяпией по утрам обычно проблемы. Так что если покажешь текст запроса - никто не обидится за это. |
|||
4
Avlek
16.10.13
✎
06:11
|
"ВЫБРАТЬ
| ВложенныйЗапрос.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств, | ВложенныйЗапрос.МесяцОплаты КАК МесяцОплаты, | ВложенныйЗапрос.СуммаПлан КАК СуммаПлан, | ВложенныйЗапрос.СуммаПлатежаФакт КАК СуммаПлатежаФакт |{ВЫБРАТЬ | СтатьяДвиженияДенежныхСредств.*, | СуммаПлан, | СуммаПлатежаФакт, | МесяцОплаты} |ИЗ | (ВЫБРАТЬ | ПлатежноеПоручениеИсходящееРасшифровкаПлатежа.Ссылка.Контрагент КАК Контрагент, | ПлатежноеПоручениеИсходящееРасшифровкаПлатежа.ДоговорКонтрагента КАК ДоговорКонтрагента, | ПлатежноеПоручениеИсходящееРасшифровкаПлатежа.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств, | НАЧАЛОПЕРИОДА(ПлатежноеПоручениеИсходящееРасшифровкаПлатежа.Ссылка.ДатаОплаты, МЕСЯЦ) КАК МесяцОплаты, | NULL КАК СуммаПлан, | СУММА(ПлатежноеПоручениеИсходящееРасшифровкаПлатежа.СуммаПлатежа) КАК СуммаПлатежаФакт | ИЗ | Документ.ПлатежноеПоручениеИсходящее.РасшифровкаПлатежа КАК ПлатежноеПоручениеИсходящееРасшифровкаПлатежа | ГДЕ | ПлатежноеПоручениеИсходящееРасшифровкаПлатежа.Ссылка.Проведен = ИСТИНА | И НАЧАЛОПЕРИОДА(ПлатежноеПоручениеИсходящееРасшифровкаПлатежа.Ссылка.ДатаОплаты, МЕСЯЦ) МЕЖДУ &ДАтаНачОтчета И &ДАтаКонОтчета | И ПлатежноеПоручениеИсходящееРасшифровкаПлатежа.Ссылка.ВидОперации = &ВидОперации | И (НЕ ПлатежноеПоручениеИсходящееРасшифровкаПлатежа.ДоговорКонтрагента.Наименование ПОДОБНО ""%основной%"") | | СГРУППИРОВАТЬ ПО | НАЧАЛОПЕРИОДА(ПлатежноеПоручениеИсходящееРасшифровкаПлатежа.Ссылка.ДатаОплаты, МЕСЯЦ), | ПлатежноеПоручениеИсходящееРасшифровкаПлатежа.ДоговорКонтрагента, | ПлатежноеПоручениеИсходящееРасшифровкаПлатежа.Ссылка.Контрагент, | ПлатежноеПоручениеИсходящееРасшифровкаПлатежа.СтатьяДвиженияДенежныхСредств | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ПланыДвиженияДенежныхСредствОбороты.Контрагент, | ПланыДвиженияДенежныхСредствОбороты.ДоговорКонтрагента, | ПланыДвиженияДенежныхСредствОбороты.СтатьяДвиженияДенежныхСредств, | НАЧАЛОПЕРИОДА(ПланыДвиженияДенежныхСредствОбороты.Период, МЕСЯЦ), | СУММА(ПланыДвиженияДенежныхСредствОбороты.СуммаОборот), | NULL | ИЗ | РегистрНакопления.ПланыДвиженияДенежныхСредств.Обороты(&ДАтаНачОтчета, &ДАтаКонОтчета, Месяц, ) КАК ПланыДвиженияДенежныхСредствОбороты | ГДЕ | НАЧАЛОПЕРИОДА(ПланыДвиженияДенежныхСредствОбороты.Период, МЕСЯЦ) МЕЖДУ &ДАтаНачОтчета И &ДАтаКонОтчета | | СГРУППИРОВАТЬ ПО | ПланыДвиженияДенежныхСредствОбороты.Контрагент, | ПланыДвиженияДенежныхСредствОбороты.ДоговорКонтрагента, | ПланыДвиженияДенежныхСредствОбороты.СтатьяДвиженияДенежныхСредств, | НАЧАЛОПЕРИОДА(ПланыДвиженияДенежныхСредствОбороты.Период, МЕСЯЦ)) КАК ВложенныйЗапрос |{ГДЕ | ВложенныйЗапрос.Контрагент.*, | ВложенныйЗапрос.ДоговорКонтрагента.*, | ВложенныйЗапрос.СтатьяДвиженияДенежныхСредств.*} | |УПОРЯДОЧИТЬ ПО | МесяцОплаты |{УПОРЯДОЧИТЬ ПО | МесяцОплаты} |ИТОГИ | СУММА(СуммаПлан), | СУММА(СуммаПлатежаФакт) |ПО | ОБЩИЕ, | СтатьяДвиженияДенежныхСредств, | МесяцОплаты |{ИТОГИ ПО | СтатьяДвиженияДенежныхСредств.*, | СуммаПлатежаФакт, | СуммаПлан, | МесяцОплаты} |АВТОУПОРЯДОЧИВАНИЕ" |
|||
5
Rie
16.10.13
✎
06:17
|
(4) Введи дополнительное поле СуммаПлатежаФакт-СуммаПлан.
Что касается деления - вычисляй СУММА(СуммаПлатежаФакт)/СУММА(СуммаПлан) с соответствующей группировкой (только проверь, чтобы сумма плановая не была равной 0). |
|||
6
Avlek
16.10.13
✎
06:24
|
(5)Любые арифметические операции с этими полями одновременно не работают
и еще мне нужно чтобы колонки отклонения выводились только в итогах а не в каждый месяц |
|||
7
Avlek
16.10.13
✎
06:25
|
поле СуммаПлатежаФакт я могу умножать на числа делить возводить в квадрат, а вот когда добавляю второе поле СуммаПлан колонка выводится пустым
|
|||
8
Rie
16.10.13
✎
06:27
|
(6) А почему
NULL КАК СуммаПлан а не 0 КАК СуммаПлан NULL ведь с чем ни складывай - в итоге NULL получится. |
|||
9
Avlek
16.10.13
✎
06:44
|
(8) Спасибо, с первой проблемой разобрался, причина как раз в NULL была
а чтобы добавить колонку только в поле "итог" как быть? |
|||
10
Rie
16.10.13
✎
08:47
|
(9) Насколько я понимаю - никак. Тут надо всё же группировать и агрегировать. А уж потом - ИТОГ.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |