Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как сделать отношение кол-ва записей за месяц к общему количеству записей за год в % / 11 сообщений из 11, страница 1 из 1
17.03.2016, 00:58
    #39193947
Ainur.sm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать отношение кол-ва записей за месяц к общему количеству записей за год в %
Строка отчета «Поступило заявок всего» Реализация + отказа. Количество всех записей таблицы Заявки с разбивкой по месяцам.
1.2. Процент в таблице отчета по строке «Поступило заявок всего» - это отношение количества записей за месяц к общему количеству записей за год в процентном выражении.
1.3. Строка отчета « Светлана» - количество всех записей таблицы Заявки с разбивкой по месяцам со значением поля «Менеджер проекта» из таблицы Сотрудники = « Светлана».
1.4. Процент в таблице отчета по строке « Светлана». – это отношение количества отобранных записей (записей со значением « Светлана») за месяц к общему количеству записей за месяц.
1.5. Так далее для всех значений поля «Менеджер проекта» из таблицы Сотрудники.


Здесь результат показывает общая кол-во заявок «Поступило заявок всего» за месяц берется за 100%
Надо что общая кол-во за январь месяц разделить на общую кол-во за год * 100% (в каждом месяце)))
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
TRANSFORM MIN(N)
SELECT ord, DealStage
FROM (SELECT DealStage,M,ord,Count(1) AS N FROM SRC GROUP BY M,DealStage,ord

UNION ALL

SELECT T.DealStage,T.M & "%",T.ord,Round(Count(1)/Min(S.N)*100)
FROM SRC AS T INNER JOIN (SELECT M,Count(1) AS N FROM SRC GROUP BY M) S ON T.M=S.M
GROUP BY T.M,T.DealStage,T.ord

UNION ALL

SELECT DealStage,'ИТОГО',ord,Count(1) FROM SRC GROUP BY DealStage,ord

UNION ALL

SELECT T.DealStage,'ИТОГО%',T.ord,Round(Count(1)/Min(S.N)*100)
FROM SRC T,(SELECT Count(1) AS N FROM SRC) S
GROUP BY T.DealStage,T.ord

UNION ALL

SELECT 'Поступившие заявки',M,1,Count(1) FROM SRC GROUP BY M

UNION ALL

SELECT 'Поступившие заявки',M & '%',1,100 FROM SRC GROUP BY M

UNION ALL

SELECT 'Поступившие заявки','ИТОГО',1,Count(1) FROM SRC 

UNION ALL

SELECT 'Поступившие заявки','ИТОГО%', 1, 100 FROM SRC
)  AS X
GROUP BY ord, DealStage
ORDER BY ord
PIVOT M IN (
'Январь','Январь%',
'Февраль','Февраль%',
'Март','Март%',
'Апрель','Апрель%',
'Май','Май%',
'Июнь','Июнь%',
'Июль','Июль%',
'Август','Август%',
'Сентябрь','Сентябрь%',
'Октябрь','Октябрь%',
'Ноябрь','Ноябрь%',
'Декабрь','Декабрь%',
'ИТОГО','ИТОГО%'
);
...
Рейтинг: 0 / 0
17.03.2016, 01:04
    #39193950
Ainur.sm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать отношение кол-ва записей за месяц к общему количеству записей за год в %
Ainur.sm,
...
Рейтинг: 0 / 0
17.03.2016, 08:49
    #39194029
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать отношение кол-ва записей за месяц к общему количеству записей за год в %
Ainur.sm,

я бы видимо сделала так
D:\RAB\!!ainur\db17-2003.mdb 17 марта 2016 г.
Запрос: SRC Страница: 1—создание строки поступление

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT Username1 AS [User], [DealStage], month([DateClosed]) AS M1,
  IIf([DealStage]='Реализация',2,3) AS ord
 FROM qdfDeals
 WHERE Year(DateClosed)=2016 AND DealStage IN ('Реализация','Отказ')
 UNION ALL 
SELECT Username1 AS [User], "поступление",month([DateClosed]) AS M1, 1 AS ord
 FROM qdfDeals
 WHERE Year(DateClosed)=2016 AND DealStage IN ('Реализация','Отказ')


Запрос: итого17 Страница: 2

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SELECT SRC.ord, SRC.DealStage,
 sum(1) AS m99, 100 AS m99p,
 Sum(IIf(m1=1,1,0)) AS m01,  round(m01*100/m99,1) AS m01p,
 Sum(IIf(m1=2,1,0)) AS m02, round(m02*100/m99,1) AS m02p, 
 Sum(IIf(m1=3,1,0)) AS m03, round(m03*100/m99,1) AS m03p,
 Sum(IIf(m1=4,1,0)) AS m04,  round(m04*100/m99,1) AS m04p,
 Sum(IIf(m1=5,1,0)) AS m05, round(m05*100/m99,1) AS m05p, 
 Sum(IIf(m1=6,1,0)) AS m06, round(m06*100/m99,1) AS m06p,
 Sum(IIf(m1=7,1,0)) AS m07,  round(m07*100/m99,1) AS m07p,
 Sum(IIf(m1=8,1,0)) AS m08, round(m08*100/m99,1) AS m08p, 
 Sum(IIf(m1=9,1,0)) AS m09, round(m09*100/m99,1) AS m09p,
 Sum(IIf(m1=10,1,0)) AS m10,  round(m10*100/m99,1) AS m10p, 
 Sum(IIf(m1=11,1,0)) AS m11, round(m11*100/m99,1) AS m11p, 
 Sum(IIf(m1=12,1,0)) AS m12, round(m12*100/m99,1) AS m12p
 FROM SRC
 GROUP BY SRC.ord, SRC.DealStage;


Запрос: итого17u Страница: 3
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SELECT SRC.User, SRC.ord, SRC.DealStage,
 Sum(1) AS m99, 100 AS m99p,
 Sum(IIf(m1=1,1,0)) AS m01,  Round(m01*100/m99,1) AS m01p,
 Sum(IIf(m1=2,1,0)) AS m02, Round(m02*100/m99,1) AS m02p, 
 Sum(IIf(m1=3,1,0)) AS m03, Round(m03*100/m99,1) AS m03p,
 Sum(IIf(m1=4,1,0)) AS m04,  Round(m04*100/m99,1) AS m04p,
 Sum(IIf(m1=5,1,0)) AS m05, Round(m05*100/m99,1) AS m05p, 
 Sum(IIf(m1=6,1,0)) AS m06, Round(m06*100/m99,1) AS m06p,
 Sum(IIf(m1=7,1,0)) AS m07,  Round(m07*100/m99,1) AS m07p,
 Sum(IIf(m1=8,1,0)) AS m08, Round(m08*100/m99,1) AS m08p, 
 Sum(IIf(m1=9,1,0)) AS m09, Round(m09*100/m99,1) AS m09p,
 Sum(IIf(m1=10,1,0)) AS m10,  Round(m10*100/m99,1) AS m10p,
 Sum(IIf(m1=11,1,0)) AS m11, Round(m11*100/m99,1) AS m11p, 
 Sum(IIf(m1=12,1,0)) AS m12, Round(m12*100/m99,1) AS m12p
 FROM SRC
 GROUP BY SRC.User, SRC.ord, SRC.DealStage;
...
Рейтинг: 0 / 0
17.03.2016, 10:40
    #39194126
Ainur.sm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать отношение кол-ва записей за месяц к общему количеству записей за год в %
ПЕНСИОНЕРКА,

Добавить Менеджера тоже по месяцам и у них отдельно % отношение количества отобранных записей (записей со значением «Светлана») за месяц к общему количеству записей за месяц.
...
Рейтинг: 0 / 0
17.03.2016, 11:45
    #39194190
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать отношение кол-ва записей за месяц к общему количеству записей за год в %
Ainur.sm,

не совсем поняла вопрос
D:\RAB\!!ainur\db17-2003.mdb 17 марта 2016 г.

Запрос: SRC Страница: 1
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SELECT Username1 AS [User], [DealStage],"" as otkaz, month([DateClosed]) AS M1,   IIf([DealStage]='Реализация',2,3) AS ord
 FROM qdfDeals
 WHERE Year(DateClosed)=2016 AND DealStage IN ('Реализация','Отказ')
 UNION ALL 
 SELECT Username1 AS [User], "поступление","" as otkaz,month([DateClosed]) AS M1,
 1 AS ord
 FROM qdfDeals
 WHERE Year(DateClosed)=2016 AND DealStage IN ('Реализация','Отказ')
 UNION ALL
 SELECT Username1 AS [User], [DealStage],
 iif(len(RefuseReasons & "")>0,RefuseReasons,"не заполнено"),
 month([DateClosed]) AS M1, 
 4 AS ord
 FROM qdfDeals
 WHERE Year(DateClosed)=2016 AND DealStage IN ('Отказ')
 ORDER BY 1, 4, 5; 


Запрос: итого17 Страница: 2
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SELECT SRC.ord, SRC.DealStage, SRC.otkaz,
 sum(1) AS m99, 100 AS m99p,
 sum(IIf(m1=1,1,0)) AS m01,  Round(m01*100/m99,1) AS m01p,
 sum(IIf(m1=2,1,0)) AS m02, Round(m02*100/m99,1) AS m02p, 
 sum(IIf(m1=3,1,0)) AS m03, Round(m03*100/m99,1) AS m03p,
 sum(IIf(m1=4,1,0)) AS m04,  Round(m04*100/m99,1) AS m04p,
 sum(IIf(m1=5,1,0)) AS m05, Round(m05*100/m99,1) AS m05p, 
 sum(IIf(m1=6,1,0)) AS m06, Round(m06*100/m99,1) AS m06p,
 sum(IIf(m1=7,1,0)) AS m07,  Round(m07*100/m99,1) AS m07p,
 sum(IIf(m1=8,1,0)) AS m08, Round(m08*100/m99,1) AS m08p, 
 sum(IIf(m1=9,1,0)) AS m09, Round(m09*100/m99,1) AS m09p,
 sum(IIf(m1=10,1,0)) AS m10,  Round(m10*100/m99,1) AS m10p,
 sum(IIf(m1=11,1,0)) AS m11, Round(m11*100/m99,1) AS m11p, 
 sum(IIf(m1=12,1,0)) AS m12, Round(m12*100/m99,1) AS m12p
 FROM SRC GROUP BY SRC.ord, SRC.DealStage, SRC.otkaz;


Запрос: итого17u Страница: 3

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SELECT SRC.User, SRC.ord, SRC.DealStage, SRC.otkaz,
 sum(1) AS m99, 100 AS m99p,
 sum(IIf(m1=1,1,0)) AS m01,  Round(m01*100/m99,1) AS m01p,
 sum(IIf(m1=2,1,0)) AS m02, Round(m02*100/m99,1) AS m02p, 
 sum(IIf(m1=3,1,0)) AS m03, Round(m03*100/m99,1) AS m03p,
 sum(IIf(m1=4,1,0)) AS m04,  Round(m04*100/m99,1) AS m04p,
 sum(IIf(m1=5,1,0)) AS m05, Round(m05*100/m99,1) AS m05p, 
 sum(IIf(m1=6,1,0)) AS m06, Round(m06*100/m99,1) AS m06p,
 sum(IIf(m1=7,1,0)) AS m07,  Round(m07*100/m99,1) AS m07p,
 sum(IIf(m1=8,1,0)) AS m08, Round(m08*100/m99,1) AS m08p, 
 sum(IIf(m1=9,1,0)) AS m09, Round(m09*100/m99,1) AS m09p,
 sum(IIf(m1=10,1,0)) AS m10,  Round(m10*100/m99,1) AS m10p,
 sum(IIf(m1=11,1,0)) AS m11, Round(m11*100/m99,1) AS m11p, 
 sum(IIf(m1=12,1,0)) AS m12, Round(m12*100/m99,1) AS m12p
 FROM SRC
 GROUP BY SRC.User, SRC.ord, SRC.DealStage, SRC.otkaz;
...
Рейтинг: 0 / 0
17.03.2016, 11:53
    #39194204
Ainur.sm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать отношение кол-ва записей за месяц к общему количеству записей за год в %
ПЕНСИОНЕРКА,

Первая Строка отчета «Поступило заявок всего»по месяцам Реализация + отказа. Количество всех записей таблицы Заявки с разбивкой по месяцам. рядом % отношение «Поступило заявок всего» - это отношение количества записей за месяц к общему количеству записей за год в процентном выражении.
2 Строка по менеджерам.
« Светлана» по месяцам - количество всех записей таблицы Заявки с разбивкой по месяцам со значением поля «Менеджер проекта» из таблицы Сотрудники = « Светлана».
Рядом % отношение « Светлана». – это отношение количества отобранных записей (записей со значением « Светлана») за месяц к общему количеству записей за месяц.
...
Рейтинг: 0 / 0
17.03.2016, 12:19
    #39194237
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать отношение кол-ва записей за месяц к общему количеству записей за год в %
Ainur.sm,

C:\temp\db18-2003.mdb 17 марта 2016 г.
Запрос: SRC_m Страница: 1
SQL
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT Username1 AS [User],  month([DateClosed]) AS M1,[DealStage], 
  2 AS ord
 FROM qdfDeals
 WHERE Year(DateClosed)=2016 AND DealStage IN ('Реализация','Отказ')
 
 UNION ALL SELECT  "поступление",month([DateClosed]) AS M1, [DealStage],1 AS ord
 FROM qdfDeals
 WHERE Year(DateClosed)=2016 AND DealStage IN ('Реализация','Отказ');



Запрос: итого17м Страница: 2
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
SELECT SRC_m.ord, SRC_m.User,
 Sum(1) AS m99, 100 AS m99p, 
Sum(IIf(m1=1,1,0)) AS m01,  Round(m01*100/m99,1) AS m01p, 
Sum(IIf(m1=2,1,0)) AS m02, Round(m02*100/m99,1) AS m02p, 
 Sum(IIf(m1=3,1,0)) AS m03, Round(m03*100/m99,1) AS m03p, 
Sum(IIf(m1=4,1,0)) AS m04,  Round(m04*100/m99,1) AS m04p, 
Sum(IIf(m1=5,1,0)) AS m05, Round(m05*100/m99,1) AS m05p, 
 Sum(IIf(m1=6,1,0)) AS m06, Round(m06*100/m99,1) AS m06p, 
Sum(IIf(m1=7,1,0)) AS m07,  Round(m07*100/m99,1) AS m07p, 
Sum(IIf(m1=8,1,0)) AS m08, Round(m08*100/m99,1) AS m08p, 
 Sum(IIf(m1=9,1,0)) AS m09, Round(m09*100/m99,1) AS m09p, 
Sum(IIf(m1=10,1,0)) AS m10 , Round(m10*100/m99,1) AS m10p, 
Sum(IIf(m1=11,1,0)) AS m11, Round(m11*100/m99,1) AS m11p, 
 Sum(IIf(m1=12,1,0)) AS m12, Round(m12*100/m99,1) AS m12p
 FROM SRC_m
 GROUP BY SRC_m.ord, SRC_m.User;
...
Рейтинг: 0 / 0
17.03.2016, 12:27
    #39194247
Ainur.sm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать отношение кол-ва записей за месяц к общему количеству записей за год в %
ПЕНСИОНЕРКА,
А как сделать как на рисунке. Сперва идет всего поступившие заявки с реализацией и отказом за месяц
А потом уже по менеджерам.
чтобы посчитал только поступление.
...
Рейтинг: 0 / 0
17.03.2016, 12:38
    #39194262
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать отношение кол-ва записей за месяц к общему количеству записей за год в %
Ainur.sm,

можеть так

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT Username1 AS [User],  month([DateClosed]) AS M1,[DealStage], 
  2 AS ord
 FROM qdfDeals
 WHERE Year(DateClosed)=2016 AND DealStage IN ('Реализация')
 
 UNION ALL SELECT  "поступление",month([DateClosed]) AS M1, [DealStage],1 AS ord
 FROM qdfDeals
 WHERE Year(DateClosed)=2016 AND DealStage IN ('Реализация');
...
Рейтинг: 0 / 0
17.03.2016, 12:44
    #39194267
Ainur.sm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать отношение кол-ва записей за месяц к общему количеству записей за год в %
Общие "поступившие" кол-во считает. Все нормально. Но проблема в том, что "Поступившие всего за месяц" надо разделить к общему количеству записей за год * 100 %.

А у Менеджеров отношение количества отобранных(Реализация) записей (Светлана) за месяц к общему количеству записей за месяц.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT qdfSRC.ord, qdfSRC.Users AS Выражение1, 
Sum(1) AS m99, 100 AS m99p, Sum(IIf(m1=1,1,0)) AS m01, 
Round(m01/m99*100,1) AS m01p, Sum(IIf(m1=2,1,0)) AS m02, 
Round(m02*100/m99,1) AS m02p, Sum(IIf(m1=3,1,0)) AS m03, 
Round(m03*100/m99,1) AS m03p, Sum(IIf(m1=4,1,0)) AS m04, 
Round(m04*100/m99,1) AS m04p, Sum(IIf(m1=5,1,0)) AS m05, 
Round(m05*100/m99,1) AS m05p, Sum(IIf(m1=6,1,0)) AS m06, Round(m06*100/m99,1) AS m06p, Sum(IIf(m1=7,1,0)) AS m07, Round(m07*100/m99,1) AS m07p, Sum(IIf(m1=8,1,0)) AS m08, Round(m08*100/m99,1) AS m08p, Sum(IIf(m1=9,1,0)) AS m09, Round(m09*100/m99,1) AS m09p, Sum(IIf(m1=10,1,0)) AS m10, Round(m10*100/m99,1) AS m10p, Sum(IIf(m1=11,1,0)) AS m11, Round(m11*100/m99,1) AS m11p, Sum(IIf(m1=12,1,0)) AS m12, Round(m12*100/m99,1) AS m12p
FROM qdfSRC
GROUP BY qdfSRC.ord, qdfSRC.Users;

ПЕНСИОНЕРКА,
...
Рейтинг: 0 / 0
17.03.2016, 14:03
    #39194407
Ainur.sm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать отношение кол-ва записей за месяц к общему количеству записей за год в %
Ainur.sm,
Сделала так
qdfSRC-1
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT UserName1 As s,  month([DateClosed]) AS M1,[DealStage] , 2 AS ord, Year(DateClosed) AS Y 
 FROM qdfDeals
 WHERE Year(DateClosed)=2014 AND DealStage IN ('Реализация*','Отказ','Получен запрос','Выслано предложение','Подтвержден подгот-ка*')
  UNION ALL 

SELECT  "поступление" AS POST, month([DateClosed]) AS M1, [DealStage],1 AS ord, Year(DateClosed) AS Y
 FROM qdfDeals
 WHERE Year(DateClosed)=2014 AND DealStage IN ('Реализация*','Отказ','Получен запрос','Выслано предложение','Подтвержден подгот-ка*');



2.
qdfP
Код: plsql
1.
2.
3.
SELECT qdfSRC.ord, qdfSRC.s AS Выражение1, Count(1) AS result
FROM qdfSRC
GROUP BY qdfSRC.ord, qdfSRC.s;




как теперь сделать по месяцам ?
1. строка "Поступившие заявки" кол-во заявок
2
3.. Users и кол-во заявок
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как сделать отношение кол-ва записей за месяц к общему количеству записей за год в % / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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