Как использовать Count "с условиями" с разбивкой по заданным периода(по месяцам) Access

Ainur.sm
Дата: 02.02.2016 19:15:13
1. «Поступившие заявки». Количество всех записей с разбивкой по заданным периодам (например, по месяцам).

SELECT 'Поступившие заявки' AS OPERATION, count(qdfDeals.DealStage * (Month(DateClosed) = 1)) AS Январь, 
count(qdfDeals.DealStage * (Month(DateClosed) = 2 AND (qdfDeals.DealStage='Реализация' or qdfDeals.DealStage='Отказ'))) AS Февраль, 
count(qdfDeals.DealStage * (Month(DateClosed) = 3 AND (qdfDeals.DealStage='Реализация' or qdfDeals.DealStage='Отказ'))) AS Март, 
count(qdfDeals.DealStage * (Month(DateClosed) = 4 AND (qdfDeals.DealStage='Реализация' or qdfDeals.DealStage='Отказ'))) AS Апрель, 
count(qdfDeals.DealStage * (Month(DateClosed) = 5 AND (qdfDeals.DealStage='Реализация' or qdfDeals.DealStage='Отказ'))) AS Май, 
count(qdfDeals.DealStage * (Month(DateClosed) = 6 AND (qdfDeals.DealStage='Реализация' or qdfDeals.DealStage='Отказ'))) AS Июнь, 
count(qdfDeals.DealStage * (Month(DateClosed) = 7 AND (qdfDeals.DealStage='Реализация' or qdfDeals.DealStage='Отказ'))) AS Июль, 
count(qdfDeals.DealStage * (Month(DateClosed) = 8 AND (qdfDeals.DealStage='Реализация' or qdfDeals.DealStage='Отказ'))) AS Август, 
count(qdfDeals.DealStage * (Month(DateClosed) = 9 AND (qdfDeals.DealStage='Реализация' or qdfDeals.DealStage='Отказ'))) AS Сентябрь, 
count(qdfDeals.DealStage * (Month(DateClosed) = 10 AND (qdfDeals.DealStage='Реализация' or qdfDeals.DealStage='Отказ'))) AS Октябрь, 
count(qdfDeals.DealStage * (Month(DateClosed) = 11 AND (qdfDeals.DealStage='Реализация' or qdfDeals.DealStage='Отказ'))) AS Ноябрь, 
count(qdfDeals.DealStage * (Month(DateClosed) = 12 AND (qdfDeals.DealStage='Реализация' or qdfDeals.DealStage='Отказ'))) AS Декабрь, 
Январь+ Февраль + Март + Апрель + Май + Июнь + Июль + Август + Сентябрь + Октябрь + Ноябрь + Декабрь AS Итого
FROM qdfDeals
WHERE Year(qdfDeals.DateClosed)=2015


2. «Реализация». Количество записей со значением поля «Стадия проекта» равным «Реализация*». Процент – как отношение количества реализованных заявок к общему количеству поступивших заявок (значение стр.2/ значение стр.1 * 100%).
3. «Отказ». Количество записей со значением поля «Стадия проекта» равным «Отказ». Процент – как отношение количества отказных заявок к общему количеству поступивших заявок (значение стр.3/ значение стр.1 * 100%).
Rivkin Dmitry
Дата: 03.02.2016 09:02:13
Ainur.sm,

Копай в сторону перекрестных запросов (crosstab), но по дороге посмотри суммирующие запросы (group by)
__Michelle
Дата: 03.02.2016 15:26:27
SELECT 'Поступившие заявки' AS OPERATION, Month(DateClosed) AS M, 
-sum(DealStage * (M = 1)) AS Январь, 
-sum(DealStage * (M = 2)) AS Февраль, 
-sum(DealStage * (M = 3)) AS Март, 
-sum(DealStage * (M = 4)) AS Апрель, 
-sum(DealStage * (M = 5)) AS Май, 
-sum(DealStage * (M = 6)) AS Июнь, 
-sum(DealStage * (M = 7)) AS Июль, 
-sum(DealStage * (M = 8)) AS Август, 
-sum(DealStage * (M = 9)) AS Сентябрь, 
-sum(DealStage * (M = 10)) AS Октябрь, 
-sum(DealStage * (M = 11)) AS Ноябрь, 
-sum(DealStage * (M = 12)) AS Декабрь, 
sum(DealStage) AS Итого,
-sum(DealStage * (M = 1 AND DealStage='Отказ')) AS Январь_Отказ, 
-sum(DealStage * (M = 2 AND DealStage='Отказ')) AS Февраль_Отказ, 
-sum(DealStage * (M = 3 AND DealStage='Отказ')) AS Март_Отказ, 
-sum(DealStage * (M = 4 AND DealStage='Отказ')) AS Апрель_Отказ, 
-sum(DealStage * (M = 5 AND DealStage='Отказ')) AS Май_Отказ, 
-sum(DealStage * (M = 6 AND DealStage='Отказ')) AS Июнь_Отказ, 
-sum(DealStage * (M = 7 AND DealStage='Отказ')) AS Июль_Отказ, 
-sum(DealStage * (M = 8 AND DealStage='Отказ')) AS Август_Отказ, 
-sum(DealStage * (M = 9 AND DealStage='Отказ')) AS Сентябрь_Отказ, 
-sum(DealStage * (M = 10 AND DealStage='Отказ')) AS Октябрь_Отказ, 
-sum(DealStage * (M = 11 AND DealStage='Отказ')) AS Ноябрь_Отказ, 
-sum(DealStage * (M = 12 AND DealStage='Отказ')) AS Декабрь_Отказ, 
sum(DealStage) AS Итого_Отказ,
Январь - Январь_Отказ AS Январь_Реализация, Февраль - Февраль_Отказ AS Февраль_Реализация,
Март - Март_Отказ AS Март_Реализация, Апрель - Апрель_Отказ AS Апрель_Реализация,
Май - Май_Отказ AS Май_Реализация, Июнь - Июнь_Отказ AS Июнь_Реализация,
Июль - Июль_Отказ AS Июль_Реализация, Август - Август_Отказ AS Август_Реализация,
Сентябрь - Сентябрь_Отказ AS Сентябрь_Реализация, Октябрь - Октябрь_Отказ AS Октябрь_Реализация,
Ноябрь - Ноябрь_Отказ AS Ноябрь_Реализация, Декабрь - Декабрь_Отказ AS Декабрь_Реализация,
Итого - Итого_Отказ AS Итого_Реализация
FROM qdfDeals
WHERE Year(DateClosed)=2015 AND (DealStage='Реализация' OR DealStage='Отказ')
При этом фрагмент, выделенный желтым, не является обязательным.
Результаты запроса идут в одну строку.
Размещение этих результатов в виде таблички легко выполняется в отчете или форме.
Эти значения всегда можно будет получить в отчете (или форме) из предыдущих данных запроса.
Если же хотите видеть табличку при открытии запроса,
но не хотите (или не можете) сделать перекрестный запрос,
можно разбить запрос на части (добавив вспомогательные поля для совпадения числа полей), объединив их затем через UNION ALL.
__Michelle
Дата: 03.02.2016 15:29:25
При этом фрагмент, выделенный желтым, не является обязательным.
Поясню.
Как видно, эти данные могут быть получены в отчете или форме
путем очевидных вычислений над предыдущими результатами запроса.
ПЕНСИОНЕРКА
Дата: 03.02.2016 16:12:42
Ainur.sm,

возникли вопросы
--это производственная задача или студенческая
--вы десяток раз нарисовали отчетную форму, но ни слова о структуре исходной и порядке записей

я подобные отчеты делаю в НТМ-формате
каждая строка отдельным запросом(обычно генерируется в коде)
непоймучка
Дата: 03.02.2016 16:16:39
Ainur.sm,

посмотрите запрос во вложении
на нем можно делать отчетную форму с вашей картинки
Ainur.sm
Дата: 05.02.2016 15:34:02
непоймучка,

Спасибо. А как добавить год ? чтоб он и по годам выводил:?
непоймучка
Дата: 05.02.2016 16:44:21
Ainur.sm
непоймучка,

Спасибо. А как добавить год ? чтоб он и по годам выводил:?
смотря куда добавить
1) чтобы каждый столбец месяца имел в названии еще и год
2) чтобы число столбцов месяцев оставалось неизменным + отдельный столбец ГОД, и для каждого года - по три строки с разными OPERATION

для каждого варианта есть свои нюансы
Ainur.sm
Дата: 05.02.2016 17:34:34
непоймучка,
Сделала как у вас. Создала SRC и в запрос вставила коды. вышла ошибка
Ainur.sm
Дата: 05.02.2016 17:35:09
Ainur.sm,