powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Расчет общей суммы по полю запроса и доли значения каждой записи от общей суммы
5 сообщений из 5, страница 1 из 1
Расчет общей суммы по полю запроса и доли значения каждой записи от общей суммы
    #39490913
jediAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. В БД на аксесс 2013 есть запрос который выводит следующие данные: за выбранный период по договорам с заказчиками выводится суммарное количество плановых трудозатрат(План) и фактических трудозатрат(Факт). Считается величина перерасхода часов(План-факт). Нужно сделать следующее: в том же запросе посчитать общую сумму значений по полям План и Факт и вывести долю Факта для каждого договора из выборки, т.е. Факт/Sum(Факт). Как это можно сделать? помогите пожалуйста. Текст запроса, которым формируется выборка ниже:

Код: plsql
1.
2.
3.
4.
SELECT ЧасовФактСотрудниковПоЗадачамЗаПериодДляЕженедОтчетаПоЗагрузкеПС.Договор, Sum(ЧасовФактСотрудниковПоЗадачамЗаПериодДляЕженедОтчетаПоЗагрузкеПС.КоличествоПлановыхЧасовЗаПериод) AS План, Sum(ЧасовФактСотрудниковПоЗадачамЗаПериодДляЕженедОтчетаПоЗагрузкеПС.ФактЗаПериод) AS Факт, [План]-[Факт] AS Перерасход
FROM ЧасовФактСотрудниковПоЗадачамЗаПериодДляЕженедОтчетаПоЗагрузкеПС
GROUP BY ЧасовФактСотрудниковПоЗадачамЗаПериодДляЕженедОтчетаПоЗагрузкеПС.Договор, [План]-[Факт]
HAVING (((ЧасовФактСотрудниковПоЗадачамЗаПериодДляЕженедОтчетаПоЗагрузкеПС.Договор)<>"Простой сотрудника"));


ЧасовФактСотрудниковПоЗадачамЗаПериодДляЕженедОтчетаПоЗагрузкеПС - это запрос, т.е. выбираю данные запросом из запроса
...
Рейтинг: 0 / 0
Расчет общей суммы по полю запроса и доли значения каждой записи от общей суммы
    #39491318
jediAlexЗдравствуйте. В БД на аксесс 2013 есть запрос который выводит следующие данные: за выбранный период по договорам с заказчиками выводится суммарное количество плановых трудозатрат(План) и фактических трудозатрат(Факт). Считается величина перерасхода часов(План-факт). Нужно сделать следующее: в том же запросе посчитать общую сумму значений по полям План и Факт и вывести долю Факта для каждого договора из выборки, т.е. Факт/Sum(Факт). Как это можно сделать? помогите пожалуйста. Текст запроса, которым формируется выборка ниже:

Код: plsql
1.
2.
3.
4.
SELECT ЧасовФактСотрудниковПоЗадачамЗаПериодДляЕженедОтчетаПоЗагрузкеПС.Договор, Sum(ЧасовФактСотрудниковПоЗадачамЗаПериодДляЕженедОтчетаПоЗагрузкеПС.КоличествоПлановыхЧасовЗаПериод) AS План, Sum(ЧасовФактСотрудниковПоЗадачамЗаПериодДляЕженедОтчетаПоЗагрузкеПС.ФактЗаПериод) AS Факт, [План]-[Факт] AS Перерасход
FROM ЧасовФактСотрудниковПоЗадачамЗаПериодДляЕженедОтчетаПоЗагрузкеПС
GROUP BY ЧасовФактСотрудниковПоЗадачамЗаПериодДляЕженедОтчетаПоЗагрузкеПС.Договор, [План]-[Факт]
HAVING (((ЧасовФактСотрудниковПоЗадачамЗаПериодДляЕженедОтчетаПоЗагрузкеПС.Договор)<>"Простой сотрудника"));


ЧасовФактСотрудниковПоЗадачамЗаПериодДляЕженедОтчетаПоЗагрузкеПС - это запрос, т.е. выбираю данные запросом из запроса
можно в таком духе
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT X.Договор, X.План, X.Факт, X.План-X.Факт AS Перерасход, X.Факт/Z.Сумма AS Доля
FROM

(SELECT Договор, Sum(КоличествоПлановыхЧасовЗаПериод) AS План, Sum(ФактЗаПериод) AS Факт
 FROM ЧасовФактСотрудниковПоЗадачамЗаПериодДляЕженедОтчетаПоЗагрузкеПС
 WHERE Договор<>'Простой сотрудника'
 GROUP BY Договор) X,

(SELECT Sum(ФактЗаПериод) AS Факт
 FROM ЧасовФактСотрудниковПоЗадачамЗаПериодДляЕженедОтчетаПоЗагрузкеПС
 WHERE Договор<>'Простой сотрудника') Z
...
Рейтинг: 0 / 0
Расчет общей суммы по полю запроса и доли значения каждой записи от общей суммы
    #39491321
стоп, поправка
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT X.Договор, X.План, X.Факт, X.План-X.Факт AS Перерасход, X.Факт/Z.Факт AS Доля
FROM

(SELECT Договор, Sum(КоличествоПлановыхЧасовЗаПериод) AS План, Sum(ФактЗаПериод) AS Факт
 FROM ЧасовФактСотрудниковПоЗадачамЗаПериодДляЕженедОтчетаПоЗагрузкеПС
 WHERE Договор<>'Простой сотрудника'
 GROUP BY Договор) X,

(SELECT Sum(ФактЗаПериод) AS Факт
 FROM ЧасовФактСотрудниковПоЗадачамЗаПериодДляЕженедОтчетаПоЗагрузкеПС
 WHERE Договор<>'Простой сотрудника') Z
...
Рейтинг: 0 / 0
Расчет общей суммы по полю запроса и доли значения каждой записи от общей суммы
    #39491622
jediAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
таким запросом вышел только план, остальные поля - факт, перерасход, доля - пустые.
...
Рейтинг: 0 / 0
Расчет общей суммы по полю запроса и доли значения каждой записи от общей суммы
    #39491645
jediAlexтаким запросом вышел только план, остальные поля - факт, перерасход, доля - пустые.
подзапрос X - это прямо ваш исходный запрос, он возвращает то что надо?
подзапрос Z - он же, только без группировки - он что вернул?
посмотрите их результат отдельно,

если и там пусто - смотрите исходные данные ФактЗаПериод - нет ли там в источнике пустых значений для данного критерия
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Расчет общей суммы по полю запроса и доли значения каждой записи от общей суммы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]