Userland

Информация по сетям, железу, софту, программированию, практические советы пользователю, cтатьи.


Софт

Лаборатория софта.


Данные в графике или два слова о внебрачных связях.

    Если задать вопрос “Как построить наглядный график или диаграмму ваших продаж, экономических показателей и др.?” большинство из вас не задумываясь ответят - "MS Excel и немного времени, чтобы красиво было”. Абсолютно согласен.

    Да, действительно, на сегодняшний день, пожалуй, самым легким, доступным и мощным средством для этих целей, является пакет MS Office и в частности MS Excel. Построить двух-трехмерную диаграмму - дело совсем нехитрое, даже я бы сказал творческое. А теперь ответьте на вопрос "А многие ли из вас держат Office в качестве инструмента для ведения основного учета вашей деятельности?" Думаю, что нет. Ну и правильно. Да пошел он этот Office вместе со своим Access'ом. Многие могут не согласиться, может быть, не спорю, это мое личное мнение. Вот и приходится работать, скажем на старом добром FoxPro - едва ли не самой полулярной СУБД 90-х годов прошлого столетия :-), а графики строить на Excel'e. Согласитесь, что самым нудным в этом деле является само заколачивание данных в таблицы Excel.

    Предлагаю несколько автоматизировать этот процесс с помощью еще одного компонента MS Office - MS Query.

    MS Query - это средство позволяющее через ODBC - набор библиотек Windows, описывающих различные источники, типы и форматы данных, с помощью универсального языка запросов SQL вытянуть данные из баз, драйверы которых установлены в ODBC.

    С чего начать?

    Буду рассматривать на примере своей системы.

Итак, получение данных из СУБД FoxPro в Excel для дальнейшей графической обработки.

(ОС - WinNT)

  • Установить MS Query. Он входит в комплект Office 97 (или 2000). При установке/добавлении компонентов Office в русской версии это называется "Доступ к данным". По умолчанию он не ставится. В этом пункте нужно поставить флаги на "Драйверы баз данных" и собственно на "MS Query". Из драйверов нам понадобятся "Драйверы Dbase и FoxPro".
  • Запустить Excel
  • Появился пункт меню Данные -> Внешние данные - > Создать запрос. Выполнить его.
  • Советую, но не настаиваю, убрать флаг "Использовать мастер запросов". Не люблю я его.
  • Если у вас Win95/98, будет сразу предложено выбрать из списка драйвер ODBC
  • Выбираем "Microsoft FoxPro Driver"

     У меня же на NT в этой таблице только "Новый источник данных". Раз и навсегда делаем новый источник данны. Назовем его Fox. Все же укажем драйвер "Microsoft FoxPro Driver", нажмем на "Подключить", "имя и пароль" сохранять не будем.

    Всё. После этого при создании нового запроса уже можно всегда указывать наш источник "Fox".

  • Начинаем добавлять таблицы.
  • Самый простейший пример - возьмем данные из одной таблицы, безо всяких связей.

    Добавляем нужный DBF-файл. Выбираем интересующие нас поля, "*" - все поля.

     

    Рисунок 1

     

    Другой пример чуть поинтереснее.

    Передадим данные из двух баз, связанных между собой. Например одна база - справочник, а другая - рабочая накопительная база. Естественно мы должны знать по какому принципу (полю, нескольким полям, выражению(ям)) их связывать.

    Рисунок 2

    На рисунке показана связь двух баз "Справочника стран" и "Базы таможенных деклараций" по коду страны.

    Связь установленна посредством дополнительного периферийного устройства для ввода данных, именуемого "Мышь". :-)

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

     

  • Возвращаем данные в Excel
  • При нажатии правой кнопки мыши на таблице с данными от запроса можно увидеть
  • Рисунок 3

    "Изменить запрос" и "Обновить данные ", я думаю, в объяснении не нуждаются, а вот "Свойства диапазона данных" стоит рассмотреть.

    Рисунок 4

     

    Если снять флаг со "Снять определение запроса", то в таблице останутся только сами данные. Тело запроса уничтожится, и данные не смогут быть обновлены динамически.

    Я еще всегда снимаю галку с "включить имена полей". Для наглядного представления они не нужны. Шапки таблиц предпочитаю писать по русски. :-)

    Ну вот и все. Можно строить диаграммы.

     

    Проблема с русским языком.

    Если вы видите полученные данные на русском языке примерно так:

     Рисунок 5

    То вам необходимо сделать следующее.

    1. Зайти в системный реестр Windows. Для тех, кто никогда этого не делал - запустить комманду regedit. Меню "Пуск" ->"Выполнить".
    2.  

    3. Найти параметр HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\Xbase
    4. Jet - это ядро с параметрами представлений системой различных форматов данных. Их может быть несколько (это у меня 3.5), может быть, например 3.5 и 4, это если ставилась система на систему и т.д. Работает последний.

      Engines - собственно форматы. Нужно зайти в раздел Xbase. Это формат, который используется dbase -подобными СУБД. В этом можно убедиться если заглянуть в следующий по порядку за "Engines" - раздел "ISAM Formats". У всех dbase- и Fox-форматов параметр Engine="Xbase" Таким образом, изменив установку Xbase, изменяются параметры всех dbase- и Fox-форматов.

      По умолчанию, параметр DataCodePage="OEM"

      Т.е. при импортировании данных используется кодировка ОЕМ.

      Меняем эту установку на "ANSI" и все зашибись.

    5. Ну и конечно же пререзапускаем Excel

С уважением, Khe.

К началу

Принимаются любые предложения по хостингу!

[Главная]  [Вести с полей]  [Железо]  [Софт]  [Программирование]  [Сетевуха]  [Гостевая]  [Книжки]  [Форум]  [Ссылки]  [Новости] [Игрища] [ОэСки]  [О нас]

Пишите письма! -> Письмо

Дата создания сайта 23.01.2001 г. последние изменения 07.03.01 13:30

Используются технологии uCoz