Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.11.2011, 23:01   #1
eduard93
Форумчанин
 
Регистрация: 06.12.2010
Сообщений: 300
По умолчанию Из SQL в Excel, построить графки

Добрый день!

У меня есть статистика загрузок файлов в SQL, примерно так:
Код:
id  | download_id | date       | downloads
----+-------------+------------+----------
1   | 1           | 05.11.2011 | 10
2   | 2           | 05.11.2011 | 11
3   | 1           | 06.11.2011 | 8
4   | 2           | 06.11.2011 | 9
Загрузил я это чудо в Excel. Я с ним никогда не работал, но думал, быстро разберусь, как построить красивый график: линии, одна для каждой загрузки, по вертикали downloads, по горизонтали date.
Лучшее, что я смог сделать, это сортировать по download_id, выбрать данные только одного из них, и построить график.

Подскажите пожалуйста, как решить такой вопрос.
Спасибо.
eduard93 вне форума Ответить с цитированием
Старый 05.11.2011, 23:28   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

> Лучшее, что я смог сделать, это сортировать по download_id, выбрать данные только одного из них, и построить график.

Если у разных download_id могут быть разные даты, выберите тип диаграммы - Точечная.
Правый клик на графике - Исходные данные - Ряд - Добавить, выберите диапазон для следующего download_id и т.д.

Примерно так:
Вложения
Тип файла: rar точечная.rar (4.5 Кб, 6 просмотров)
exceleved@yandex.ru Яндекс.Деньги: 410011500007619

Последний раз редактировалось Казанский; 06.11.2011 в 00:31. Причина: Убрал макрос, который попал в файл случайно
Казанский вне форума Ответить с цитированием
Старый 05.11.2011, 23:29   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Вы файл с исходными данными прикрепите (XLS или TXT, смотря что там у вас)
и подробнее опишите, что за график нужен (можете попытаться нарисовать его, чтобы мы понимали, что вам требуется)
Тогда помочь вам будет намного проще...
EducatedFool вне форума Ответить с цитированием
Старый 05.11.2011, 23:56   #4
eduard93
Форумчанин
 
Регистрация: 06.12.2010
Сообщений: 300
По умолчанию

@Казанский: то что нужно, но вот:
> выберите диапазон для следующего download_id и т.д.
их ведь много, и база большая. Как это сделать автоматом?

@EducatedFool: Примерно так:
eduard93 вне форума Ответить с цитированием
Старый 06.11.2011, 00:02   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
Как это сделать автоматом?
написать макрос
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 06.11.2011, 00:24   #6
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

> их ведь много, и база большая

Не надо на одном графике делать больше 8 рядов. Нечитабельно будет.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 06.11.2011, 01:54   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Sub ShowGraphs()
  Dim N As Long, R1 As Long, R2 As Long
  With ActiveSheet.ChartObjects(1).Chart
    For N = 1 To .SeriesCollection.Count
    .SeriesCollection(1).Delete
    Next
    N = 1: R1 = 2
    Do
      .SeriesCollection.NewSeries
      .SeriesCollection(N).Name = "=""" & Cells(R1, 2) & """"
      R2 = R1
      Do While Cells(R2 + 1, 2) = Cells(R2, 2): R2 = R2 + 1: Loop
      .SeriesCollection(N).XValues = "=" & ActiveSheet.Name & "!R" & R1 & "C3:R" & R2 & "C3"
      .SeriesCollection(N).Values = "=" & ActiveSheet.Name & "!R" & R1 & "C4:R" & R2 & "C4"
      .SeriesCollection(N).MarkerStyle = -4105
      N = N + 1
      R1 = R2 + 1
    Loop Until Cells(R1, 2) = ""
  End With
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
построить график тригонометр.функции в excel Alexsandr Помощь студентам 6 24.09.2021 14:26
построить график тригонометрич.функции в excel Alexsandr Microsoft Office Excel 8 19.09.2011 13:37
Как в excel построить сферу? W@LER Microsoft Office Excel 10 08.06.2011 15:50
Реально ли построить такую диаграмму силами Excel 2003? Larryes Microsoft Office Excel 4 05.05.2011 12:39
Нужно построить график функции в excel KristinaHolodilova Помощь студентам 0 29.11.2010 17:36