![]() |
![]() |
![]() |
|
СКД. помогите с процентным соотношением для строки | ☑ | ||
---|---|---|---|---|
0
zladenuw
12.03.13
✎
15:42
|
вот такой запрос.
ВЫБРАТЬ a.Месяц, a.КварталКв, a.Год, Выразить("% к осн. доходам"КАК Строка(50)) КАК Раздел, "13" КАК УровеньОтчета, (ВЫБОР КОГДА Сумма(a.Первонач)>0 И Сумма(ЕстьNull(b.Первонач,0))>0 ТОГДА (Сумма(ЕстьNull(a.Первонач,0))/Сумма(ЕстьNull(b.Первонач,0))) ИНАЧЕ 0 КОНЕЦ ) КАК Первонач, (ВЫБОР КОГДА Сумма(a.Первонач)>0 И Сумма(ЕстьNull(b.Корректировка,0))>0 ТОГДА (Сумма(ЕстьNull(a.Корректировка,0))/Сумма(ЕстьNull(b.Корректировка,0))) ИНАЧЕ 0 КОНЕЦ ) КАК Корректировка, (ВЫБОР КОГДА Сумма(a.Первонач)>0 И Сумма(ЕстьNull(b.Отклонение,0))>0 ТОГДА (Сумма(ЕстьNull(a.Отклонение,0))/Сумма(ЕстьNull(b.Отклонение,0))) ИНАЧЕ 0 КОНЕЦ ) КАК Отклонение, (ВЫБОР КОГДА Сумма(a.Первонач)>0 И Сумма(ЕстьNull(b.Окончательно,0))>0 ТОГДА (Сумма(ЕстьNull(a.Окончательно,0))/Сумма(ЕстьNull(b.Окончательно,0))) ИНАЧЕ 0 КОНЕЦ ) КАК Окончательно ИЗ (ВЫБРАТЬ a.Месяц КАК Месяц, a.Год КАК Год, a.КварталКв, Выразить("% к осн. доходам" КАК Строка(50)) КАК Раздел, СУММА(ЕстьNull(a.Первонач,0)) КАК Первонач, СУММА(ЕстьNull(a.Корректировка,0)) КАК Корректировка, СУММА(ЕстьNull(a.Отклонение,0)) КАК Отклонение, СУММА(ЕстьNull(a.Окончательно,0)) КАК Окончательно ИЗ (ВЫБРАТЬ СУММА(ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Версия = 2 ТОГДА ПланированиеБюджетаДоходыРасходы.Сумма ИНАЧЕ 0 КОНЕЦ) КАК Первонач, СУММА(ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Версия = 3 ТОГДА ПланированиеБюджетаДоходыРасходы.Сумма ИНАЧЕ 0 КОНЕЦ) КАК Корректировка, ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц КАК Месяц, ПланированиеБюджетаДоходыРасходы.Ссылка.Год КАК Год, ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц >= 1 И ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц <= 3 ТОГДА "1 квартал" ИНАЧЕ ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц >= 4 И ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц <= 6 ТОГДА "2 квартал" ИНАЧЕ ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц >= 7 И ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц <= 9 ТОГДА "3 квартал" ИНАЧЕ "4 квартал" КОНЕЦ КОНЕЦ КОНЕЦ КАК КварталКв, ВложенныйЗапрос.BIP_Статья КАК BIP_Статья, СУММА(ВЫБОР КОГДА ЕСТЬNULL(ПланированиеБюджетаОтклонения.Месяц, 0) = ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц ТОГДА ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Версия = 3 ТОГДА ПланированиеБюджетаДоходыРасходы.Сумма ИНАЧЕ 0 КОНЕЦ - ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Версия = 2 ТОГДА ПланированиеБюджетаДоходыРасходы.Сумма ИНАЧЕ 0 КОНЕЦ ИНАЧЕ 0 КОНЕЦ) КАК Отклонение, СУММА(ВЫБОР КОГДА ЕСТЬNULL(ПланированиеБюджетаОтклонения.Месяц, 0) = ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц ТОГДА ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Версия = 3 ТОГДА ПланированиеБюджетаДоходыРасходы.Сумма ИНАЧЕ 0 КОНЕЦ - ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Версия = 2 ТОГДА ПланированиеБюджетаДоходыРасходы.Сумма ИНАЧЕ 0 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Версия = 2 ТОГДА ПланированиеБюджетаДоходыРасходы.Сумма ИНАЧЕ 0 КОНЕЦ) КАК Окончательно ИЗ Документ.ПланированиеБюджета.Расходы КАК ПланированиеБюджетаДоходыРасходы ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ BIP_Статьи.Ссылка КАК BIP_Статья, ПОДСТРОКА(BIP_Статьи.КодВЗ, 1, 6) КАК КодFozzy ИЗ Справочник.BIP_Статьи КАК BIP_Статьи) КАК ВложенныйЗапрос ПО ПланированиеБюджетаДоходыРасходы.КодFozzy = ВложенныйЗапрос.КодFozzy ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ВложенныйЗапрос.BIP_Статья КАК BIP_Статья, ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц КАК Месяц, ПланированиеБюджетаДоходыРасходы.Статья КАК Статья ИЗ Документ.ПланированиеБюджета.Расходы КАК ПланированиеБюджетаДоходыРасходы ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ BIP_Статьи.Ссылка КАК BIP_Статья, ПОДСТРОКА(BIP_Статьи.КодВЗ, 1, 6) КАК КодFozzy ИЗ Справочник.BIP_Статьи КАК BIP_Статьи) КАК ВложенныйЗапрос ПО ПланированиеБюджетаДоходыРасходы.КодFozzy = ВложенныйЗапрос.КодFozzy ГДЕ ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц МЕЖДУ &МесяцН И &МесяцК И ПланированиеБюджетаДоходыРасходы.Ссылка.Год = &Год И ПланированиеБюджетаДоходыРасходы.Ссылка.Версия = 3 И ПланированиеБюджетаДоходыРасходы.Ссылка.Проведен И ПланированиеБюджетаДоходыРасходы.Статья.Вид = &a И (НЕ ПланированиеБюджетаДоходыРасходы.Статья.Доход) И ВЫБОР КОГДА &Подразделение = ЗНАЧЕНИЕ(справочник.ПодразделенияБюджета.ПустаяСсылка) ТОГДА ИСТИНА ИНАЧЕ ПланированиеБюджетаДоходыРасходы.Ссылка.Подразделение = &Подразделение КОНЕЦ СГРУППИРОВАТЬ ПО ВложенныйЗапрос.BIP_Статья, ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц, ПланированиеБюджетаДоходыРасходы.Статья) КАК ПланированиеБюджетаОтклонения ПО ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц = ПланированиеБюджетаОтклонения.Месяц И ПланированиеБюджетаДоходыРасходы.Статья = ПланированиеБюджетаОтклонения.Статья И ПланированиеБюджетаДоходыРасходы.КодFozzy = ПланированиеБюджетаОтклонения.BIP_Статья.КодВЗ ГДЕ ПланированиеБюджетаДоходыРасходы.Ссылка.Год = &Год И ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц МЕЖДУ &МесяцН И &МесяцК И ПланированиеБюджетаДоходыРасходы.Ссылка.Проведен И ПланированиеБюджетаДоходыРасходы.ПравилоДДС.Код <> "000000027" И ПланированиеБюджетаДоходыРасходы.Сумма <> 0 И ПланированиеБюджетаДоходыРасходы.Статья.Вид = &a И (НЕ ПланированиеБюджетаДоходыРасходы.Статья.Доход) И ВЫБОР КОГДА &Подразделение = ЗНАЧЕНИЕ(справочник.ПодразделенияБюджета.ПустаяСсылка) ТОГДА ИСТИНА ИНАЧЕ ПланированиеБюджетаДоходыРасходы.Ссылка.Подразделение = &Подразделение КОНЕЦ СГРУППИРОВАТЬ ПО ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц, ПланированиеБюджетаДоходыРасходы.Ссылка.Год, ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц >= 1 И ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц <= 3 ТОГДА "1 квартал" ИНАЧЕ ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц >= 4 И ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц <= 6 ТОГДА "2 квартал" ИНАЧЕ ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц >= 7 И ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц <= 9 ТОГДА "3 квартал" ИНАЧЕ "4 квартал" КОНЕЦ КОНЕЦ КОНЕЦ, ВложенныйЗапрос.BIP_Статья) КАК a СГРУППИРОВАТЬ ПО a.Месяц, a.Год, a.КварталКв)КАК a ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ b.Месяц КАК Месяц, b.Год КАК Год, b.КварталКв, Выразить("% к осн. доходам" КАК Строка(50)) КАК Раздел, СУММА(ЕстьNull(b.Первонач,0)) КАК Первонач, СУММА(ЕстьNull(b.Корректировка,0)) КАК Корректировка, СУММА(ЕстьNull(b.Отклонение,0)) КАК Отклонение, СУММА(ЕстьNull(b.Окончательно,0)) КАК Окончательно ИЗ (ВЫБРАТЬ СУММА(ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Версия = 2 ТОГДА ПланированиеБюджетаДоходыРасходы.Сумма ИНАЧЕ 0 КОНЕЦ) КАК Первонач, СУММА(ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Версия = 3 ТОГДА ПланированиеБюджетаДоходыРасходы.Сумма ИНАЧЕ 0 КОНЕЦ) КАК Корректировка, ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц КАК Месяц, ПланированиеБюджетаДоходыРасходы.Ссылка.Год КАК Год, ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц >= 1 И ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц <= 3 ТОГДА "1 квартал" ИНАЧЕ ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц >= 4 И ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц <= 6 ТОГДА "2 квартал" ИНАЧЕ ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц >= 7 И ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц <= 9 ТОГДА "3 квартал" ИНАЧЕ "4 квартал" КОНЕЦ КОНЕЦ КОНЕЦ КАК КварталКв, ВложенныйЗапрос.BIP_Статья КАК BIP_Статья, СУММА(ВЫБОР КОГДА ЕСТЬNULL(ПланированиеБюджетаОтклонения.Месяц, 0) = ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц ТОГДА ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Версия = 3 ТОГДА ПланированиеБюджетаДоходыРасходы.Сумма ИНАЧЕ 0 КОНЕЦ - ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Версия = 2 ТОГДА ПланированиеБюджетаДоходыРасходы.Сумма ИНАЧЕ 0 КОНЕЦ ИНАЧЕ 0 КОНЕЦ) КАК Отклонение, СУММА(ВЫБОР КОГДА ЕСТЬNULL(ПланированиеБюджетаОтклонения.Месяц, 0) = ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц ТОГДА ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Версия = 3 ТОГДА ПланированиеБюджетаДоходыРасходы.Сумма ИНАЧЕ 0 КОНЕЦ - ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Версия = 2 ТОГДА ПланированиеБюджетаДоходыРасходы.Сумма ИНАЧЕ 0 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Версия = 2 ТОГДА ПланированиеБюджетаДоходыРасходы.Сумма ИНАЧЕ 0 КОНЕЦ) КАК Окончательно ИЗ Документ.ПланированиеБюджета.Доходы КАК ПланированиеБюджетаДоходыРасходы ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ BIP_Статьи.Ссылка КАК BIP_Статья, ПОДСТРОКА(BIP_Статьи.КодВЗ, 1, 6) КАК КодFozzy ИЗ Справочник.BIP_Статьи КАК BIP_Статьи) КАК ВложенныйЗапрос ПО ПланированиеБюджетаДоходыРасходы.КодFozzy = ВложенныйЗапрос.КодFozzy ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ВложенныйЗапрос.BIP_Статья КАК BIP_Статья, ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц КАК Месяц, ПланированиеБюджетаДоходыРасходы.Статья КАК Статья ИЗ Документ.ПланированиеБюджета.Доходы КАК ПланированиеБюджетаДоходыРасходы ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ BIP_Статьи.Ссылка КАК BIP_Статья, ПОДСТРОКА(BIP_Статьи.КодВЗ, 1, 6) КАК КодFozzy ИЗ Справочник.BIP_Статьи КАК BIP_Статьи) КАК ВложенныйЗапрос ПО ПланированиеБюджетаДоходыРасходы.КодFozzy = ВложенныйЗапрос.КодFozzy ГДЕ ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц МЕЖДУ &МесяцН И &МесяцК И ПланированиеБюджетаДоходыРасходы.Ссылка.Год = &Год И ПланированиеБюджетаДоходыРасходы.Ссылка.Версия = 3 И ПланированиеБюджетаДоходыРасходы.Ссылка.Проведен И ПланированиеБюджетаДоходыРасходы.Статья.Вид = &b И ( ПланированиеБюджетаДоходыРасходы.Статья.Доход) И ВЫБОР КОГДА &Подразделение = ЗНАЧЕНИЕ(справочник.ПодразделенияБюджета.ПустаяСсылка) ТОГДА ИСТИНА ИНАЧЕ ПланированиеБюджетаДоходыРасходы.Ссылка.Подразделение = &Подразделение КОНЕЦ СГРУППИРОВАТЬ ПО ВложенныйЗапрос.BIP_Статья, ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц, ПланированиеБюджетаДоходыРасходы.Статья) КАК ПланированиеБюджетаОтклонения ПО ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц = ПланированиеБюджетаОтклонения.Месяц И ПланированиеБюджетаДоходыРасходы.Статья = ПланированиеБюджетаОтклонения.Статья И ПланированиеБюджетаДоходыРасходы.КодFozzy = ПланированиеБюджетаОтклонения.BIP_Статья.КодВЗ ГДЕ ПланированиеБюджетаДоходыРасходы.Ссылка.Год = &Год И ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц МЕЖДУ &МесяцН И &МесяцК И ПланированиеБюджетаДоходыРасходы.Ссылка.Проведен И ПланированиеБюджетаДоходыРасходы.ПравилоДДС.Код <> "000000027" И ПланированиеБюджетаДоходыРасходы.Сумма <> 0 И ПланированиеБюджетаДоходыРасходы.Статья.Вид = &b И ( ПланированиеБюджетаДоходыРасходы.Статья.Доход) И ВЫБОР КОГДА &Подразделение = ЗНАЧЕНИЕ(справочник.ПодразделенияБюджета.ПустаяСсылка) ТОГДА ИСТИНА ИНАЧЕ ПланированиеБюджетаДоходыРасходы.Ссылка.Подразделение = &Подразделение КОНЕЦ СГРУППИРОВАТЬ ПО ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц, ПланированиеБюджетаДоходыРасходы.Ссылка.Год, ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц >= 1 И ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц <= 3 ТОГДА "1 квартал" ИНАЧЕ ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц >= 4 И ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц <= 6 ТОГДА "2 квартал" ИНАЧЕ ВЫБОР КОГДА ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц >= 7 И ПланированиеБюджетаДоходыРасходы.Ссылка.Месяц <= 9 ТОГДА "3 квартал" ИНАЧЕ "4 квартал" КОНЕЦ КОНЕЦ КОНЕЦ, ВложенныйЗапрос.BIP_Статья) КАК b СГРУППИРОВАТЬ ПО b.Месяц, b.Год, b.КварталКв)КАК b ПО a.Месяц=b.Месяц И a.КварталКв=b.КварталКв И a.Год=b.Год СГРУППИРОВАТЬ ПО a.Месяц, a.КварталКв, a.Год Формируется динамически от формулы. Нужно вывести процентное соотношение а/б. если убираю группировки по году,месяцу,кварталу,выводит верно. но хотят видеть процент кроме общего еще и по месячно,квартально. как исправить, что бы общий процент считался от всей суммы. а не суммировал показатели в разрезе месяца. это реально ? вот скриншот. http://ximage.ru/index.php?id=1363088466 Надеюсь, понятно изложил проблему. |
|||
1
zladenuw
12.03.13
✎
15:47
|
может добавить соединением с таблицей где будет только общий показатель. и его подставлять ? или есть другие варинты ?
|
|||
2
Бледно Золотистый
12.03.13
✎
16:07
|
Если правильно понял, то добавляем это вычисляемое поле еще раз в ресурсы, рассчитывать по Общий итог, а в выражении пишем то, что надо.
|
|||
3
zladenuw
12.03.13
✎
16:10
|
(2) примерно так и думал. только мне нужно для 1 строки такое условие. для остальных итог должен расчитываться как сейчас. так можно или нет ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |