Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Диаграмма Ганта. КАК?) / 20 сообщений из 20, страница 1 из 1
29.06.2018, 12:40
    #39667585
Mazay2142
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Диаграмма Ганта. КАК?)
Доброй пятницы,

подскажите пожалуйста, как создать диаграмму Ганта, используя средства MS SQL Server 2017 для данных типа


Имя пользователя 1 | время начала сессии | время завершения сессии
Имя пользователя 2 | время начала сессии | время завершения сессии
Имя пользователя 3 | время начала сессии | время завершения сессии
...


Пример диаграммы Ганта:
...
Рейтинг: 0 / 0
29.06.2018, 12:43
    #39667589
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Диаграмма Ганта. КАК?)
Это вам в форум по mspaint.exe
...
Рейтинг: 0 / 0
29.06.2018, 12:52
    #39667594
Mazay2142
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Диаграмма Ганта. КАК?)
aleks222,
SQL.RUДиаграммы Ганта широко применяются в планировании и управлении. В утилите MSSQLServerAuditor они используются для эффективного контроля регулярных заданий.

И действительно, каждое из заданий выполняется в назначенное время и использует ресурсы сервера баз данных. Часто несколько заданий выполняются одновременно или выполнение их накладывается друг на друга, что может приводить к потере производительности сервера и увеличению времени выполнения. Наглядная диаграмма это удобное средство контроля и планирования регулярными задачами.

Откуда делаю вывод, что, как-то можно это всё реализовать через MS SQL
...
Рейтинг: 0 / 0
29.06.2018, 12:54
    #39667595
Mazay2142
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Диаграмма Ганта. КАК?)
Мне просто поставили задачу, сказали, можно.
А вот с ссылкой на sql.ru я, видать, что-то не так понял...
Пятница...)))
...
Рейтинг: 0 / 0
29.06.2018, 12:56
    #39667596
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Диаграмма Ганта. КАК?)
Mazay2142, это задача клиентского приложения (репортинговой системы). Какую используют у вас? SSRS?
...
Рейтинг: 0 / 0
29.06.2018, 13:23
    #39667604
Mazay2142
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Диаграмма Ганта. КАК?)
buserMazay2142, это задача клиентского приложения (репортинговой системы). Какую используют у вас? SSRS?

Единственное, что я вижу, связанное с репортами - это такая картина
...
Рейтинг: 0 / 0
29.06.2018, 13:25
    #39667605
Mazay2142
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Диаграмма Ганта. КАК?)
не выходит приложить файл
...
Рейтинг: 0 / 0
29.06.2018, 13:34
    #39667613
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Диаграмма Ганта. КАК?)
Mazay2142buserMazay2142, это задача клиентского приложения (репортинговой системы). Какую используют у вас? SSRS?

Единственное, что я вижу, связанное с репортами - это такая картина

выполните скрипт и узнаете, где находится ваш SSRS (hostname)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
select 
	db_name(dbid) [db]
	,loginame
	,hostname
	,program_name 
	,count(1) [connections]
from sysprocesses 
where db_name(dbid) in ('ReportServer','ReportServerTempdb')
group by db_name(dbid)
	,loginame
	,hostname
	,program_name 

...
Рейтинг: 0 / 0
29.06.2018, 13:38
    #39667614
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Диаграмма Ганта. КАК?)
Mazay2142SQL.RUВ утилите MSSQLServerAuditor они используются для эффективного контроля регулярных заданий.Откуда делаю вывод, что, как-то можно это всё реализовать через MS SQLОтсюда вывод, что в клиентском приложении "MSSQLServerAuditor" использовали диаграммы Ганта. Использовали программисты, реализовав их на каком то языке программирования клиентских приложений
Mazay2142Единственное, что я вижу, связанное с репортами - это такая картинаЭто базы для репортинг сервиса, SSRS
Они появляются, если эта функциональность выбрана при установке MS SQL. А используется она у вас или нет - из картинки непонятно.
...
Рейтинг: 0 / 0
29.06.2018, 13:40
    #39667617
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Диаграмма Ганта. КАК?)
Mazay2142Мне просто поставили задачу, сказали, можно.Это нужно было понять из контекста. Может, вам поставили сделать расчёт данных для диаграммы Ганта, и вывести его в удобном для использования рекордсете?
Это трудно понять, по такой скупой формулировке задания. Сделать отчёт, веб-приложение, подготовить данные - понять можно как угодною.
...
Рейтинг: 0 / 0
29.06.2018, 13:40
    #39667618
Eleanor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Диаграмма Ганта. КАК?)
Mazay2142,

Если умеете работать с питоном, можно в нем любую диаграмму нарисовать .
...
Рейтинг: 0 / 0
29.06.2018, 13:47
    #39667623
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Диаграмма Ганта. КАК?)
alexeyvgОни появляются, если эта функциональность выбрана при установке MS SQL.
не совсем так
они появляются при конфигурировании SSRS через Report Server Configuration Manager
...
Рейтинг: 0 / 0
29.06.2018, 13:51
    #39667628
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Диаграмма Ганта. КАК?)
Mazay2142aleks222,
SQL.RUДиаграммы Ганта широко применяются в планировании и управлении. В утилите MSSQLServerAuditor они используются для эффективного контроля регулярных заданий.

И действительно, каждое из заданий выполняется в назначенное время и использует ресурсы сервера баз данных. Часто несколько заданий выполняются одновременно или выполнение их накладывается друг на друга, что может приводить к потере производительности сервера и увеличению времени выполнения. Наглядная диаграмма это удобное средство контроля и планирования регулярными задачами.

Откуда делаю вывод, что, как-то можно это всё реализовать через MS SQL

можно, если использовать таблицу с данными и pivot

пример
Код: sql
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.
with 
  data as 
  (select 'Work 1' [work],'Jan 1 2018' [dt],'*' [val] union all 
  select 'Work 1','Jan 2 2018','*' union all 
  select 'Work 1','Jan 3 2018','*' union all 
  select 'Work 1','Jan 4 2018','*' union all 
  select 'Work 2','Jan 2 2018','*' union all 
  select 'Work 2','Jan 3 2018','*' union all 
  select 'Work 2','Jan 4 2018','*' union all 
  select 'Work 2','Jan 5 2018','*' union all 
  select 'Work 3','Jan 5 2018','*' union all 
  select 'Work 3','Jan 6 2018','*' union all 
  select 'Work 3','Jan 7 2018','*' union all 
  select 'Work 4','Jan 8 2018','*' union all
  select 'Work 4','Jan 9 2018','*' union all 
  select 'Work 4','Jan 10 2018','*' union all 
  select 'Work 4','Jan 11 2018','*' union all 
  select 'Work 5','Jan 4 2018','*' union all 
  select 'Work 5','Jan 5 2018','*' union all 
  select 'Work 6','Jan 5 2018','*' union all 
  select 'Work 7','Jan 7 2018','*' union all 
  select 'Work 7','Jan 8 2018','*' union all 
  select 'Work 7','Jan 9 2018','*' 
  )
  select 
	ROW_NUMBER() over (order by work) [N]
	,work
	,[Jan 1 2018],[Jan 2 2018],[Jan 3 2018],[Jan 4 2018],[Jan 5 2018],[Jan 6 2018],[Jan 7 2018],[Jan 8 2018],[Jan 9 2018],[Jan 10 2018],[Jan 11 2018] 
  from data 
  pivot 
  (max(val) for dt in ([Jan 1 2018],[Jan 2 2018],[Jan 3 2018],[Jan 4 2018],[Jan 5 2018],[Jan 6 2018],[Jan 7 2018],[Jan 8 2018],[Jan 9 2018],[Jan 10 2018],[Jan 11 2018]  )) p

...
Рейтинг: 0 / 0
29.06.2018, 13:56
    #39667633
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Диаграмма Ганта. КАК?)
komradalexeyvgОни появляются, если эта функциональность выбрана при установке MS SQL.
не совсем так
они появляются при конфигурировании SSRS через Report Server Configuration ManagerСтранно... Вот у меня на ПК на SQL Server 2016 эти 2 базы подняты, хотя я точно его не поднимал. Таблицы в базе ReportServer пустые
...
Рейтинг: 0 / 0
29.06.2018, 14:20
    #39667640
Eleanor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Диаграмма Ганта. КАК?)
komradalexeyvgОни появляются, если эта функциональность выбрана при установке MS SQL.
не совсем так
они появляются при конфигурировании SSRS через Report Server Configuration Manager
Если при установке была выбрана дефолтная опция Install and configure, то они появляются сразу.
Если была выбрана опция Install Only, то появятся после настройки в Report Server Configuration Manager.
...
Рейтинг: 0 / 0
29.06.2018, 15:11
    #39667654
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Диаграмма Ганта. КАК?)
Mazay2142,

может, эта статья поможет?

www.sql.ru/blogs/decolores/1885
...
Рейтинг: 0 / 0
29.06.2018, 15:52
    #39667666
Minamoto
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Диаграмма Ганта. КАК?)
Mazay2142, чисто в качестве шутки (пользоваться таким методом не советую, лучше на клиентской части рисовать):

Код: sql
1.
2.
3.
4.
5.
6.
7.
select  tbl.Userid
    ,   (   select  case when dateadd(day, number, '20180101') between tbl.DateFrom and tbl.DateTo then '0' else '_' end as 'data()'
            from    master..spt_values as sv 
            where   sv.type = 'P' 
                and sv.number < 365
             for xml path (''))
from    (values(1, cast('20180101' as date), cast('20180201' as date)), (2, '20180115', '20180605'), (3, '20180606', '20181001')) as tbl(Userid, DateFrom, DateTo)
...
Рейтинг: 0 / 0
29.06.2018, 16:39
    #39667682
tunknown
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Диаграмма Ганта. КАК?)
MinamotoMazay2142, чисто в качестве шутки (пользоваться таким методом не советую, лучше на клиентской части рисовать):Тепло. Чтобы стало горячо, нужно через for xml сгенерировать .svg, положить в FILESTREAM, и оттуда раздавать на сайт.
...
Рейтинг: 0 / 0
29.06.2018, 17:59
    #39667710
Minamoto
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Диаграмма Ганта. КАК?)
tunknown, спасибо за идею.

PoC:

Код: sql
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.
declare @tbl table (Id int identity (1, 1), UserName nvarchar(100), DateFrom date, DateTo date);
insert into @tbl
        (UserName, DateFrom, DateTo)
values('Randomuser1', cast('20180101' as date), cast('20180201' as date)), ('Randomuser2', '20180115', '20180605'), ('Randomuser1', '20180606', '20181001');

WITH XMLNAMESPACES (default 'http://www.w3.org/2000/svg')  
select  (select count(id) from @tbl as t) * 30 + 15 as [@height]
    ,   500 as [@width]
    ,   (   select  130 as [@x1]
                ,   130 as [@x2]
                ,   0 as [@y1]
                ,   (select count(id) from @tbl as t) * 30 + 15 as [@y2]
                ,   'stroke:black;stroke-width:1;' as [@style]
            for xml path('line'), type)
    ,   (   select  10 as [@x]
                ,   tbl.Id * 30 as [@y]
                ,   UserName as 'data()'
            from    @tbl as tbl
            for xml path('text'), type)
    ,   (   select  135 + datediff(day, '20180101', DateFrom) as [@x1]
                ,   135 + datediff(day, '20180101', DateTo) as [@x2]
                ,   tbl.Id * 30 - 5 as [@y1]
                ,   tbl.Id * 30 - 5 as [@y2]
                ,   'stroke:black;stroke-width:10;' as [@style]
            from    @tbl as tbl
            for xml path('line'), type)
from    (values (1)) as svg (t)
for xml path('svg'), type
...
Рейтинг: 0 / 0
30.06.2018, 00:45
    #39667790
ShIgor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Диаграмма Ганта. КАК?)
в полной красе:
Visualize the timeline of your SQL jobs using Google graph and email
пример
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Диаграмма Ганта. КАК?) / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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