Смекни!
smekni.com

MapInfo Professional 90 Руководство пользователя (стр. 70 из 125)

4. MapInfo автоматически выбирает все строки в результирующей таблице после выполнения запроса. Так после выполнения SQL-запроса Вы сразу можете копировать эти строки. Например, можно поменять стиль оформления цвета штриховки для всех выбранных записей (командой Настройки > Стиль областей).

5. Обычно, изменения, сделанные в таблице запроса автоматически дублируются в исходной (базовой) таблице. Например, пусть к таблице ORDERS, был применен SQL-запрос и получена результирующая таблица.Тогда, если удалить из нее несколько строк, то в базовой таблице ORDERS также несколько строк будут удалены. Однако, если Ваш запрос использует функции обобщения, то изменения результирующей таблицы не дублируются в оригинальной.

6. Используйте команду Файл > Сохранить копию, если хотите сохранить таблицу запроса как постоянную таблицу. Таблица, полученная в результате SQL-запроса, является временной и удаляется после завершения работы в MapInfo.

• Дополнительная информация содержится в разделах Справочной системы:

"Использование окошка "с условием" в SQL-запросе"Обновление информации с помощью SQL-запроса" и "Использование окошка Выбрать колонки в SQL-запросе".

Быстрое отображение результатов запроса

Создавая запрос или SQL-запрос, можно показать результаты прямо на карте.

Чтобы выполнить запрос и автоматически визуализировать результаты:

1. Выполните одно из следующих действий:

• Из меню Запрос нажмите Выбрать, чтобы открыть диалог Выбрать

• Из меню Запрос выберите SQL-запрос, чтобы открыть диалог SQL-запрос

В каждом из диалогов присутствует поле для флажка Показать результат в текущем окне карты. Это поле недоступно, если нет открытых окон карт. Состояние этого поля невозможно сохранить в составе шаблона. По умолчанию флажок не стоит.

2. Создайте запрос и убедитесь, что он корректен, выберите таблицу для запроса.

3. Поставьте флажок в поле Показать результат в текущем окне карты, чтобы визуализировать результаты. Нажмите OK.

• Дополнительная информация в разделах Справочной системы: "Выбор колонок для таблицы запроса" и "Подсчет статистики".

Создание выражений в запросах

Чтобы выполнить поиск по запросу, необходимо задать логическое выражение, которое мы обычно используем, когда задаем вопросы. Например, имеется таблица о сдаваемом внаем жилье. Если Вы хотите создать временную таблицу жилья, стоимость аренды которого ниже $800 в месяц, следует задать выражение:

• РЕНТА < 800

где РЕНТА - это название колонки, содержащей данные о ежемесячной арендной плате. Знак "<" означает "меньше чем".

MapInfo Professional ищет в таблице все записи, которые удовлетворяют заданному условию, и помещает их во временную таблицу,

Можно производить арифметические операции над данными. Предположим, надо создать временную таблицу жилья, общая стоимость которого меньше $800. Общая стоимость образуется из арендной платы и ежемесячных коммунальных платежей.

Задайте выражение:

• РЕНТА + ПЛАТЕЖИ < 800

Таким образом MapInfo Professional складывает число из колонки РЕНТА с числом из колонки ПЛАТЕЖИ и сравнивает сумму с числом 800.

Дополнительная информация о выражениях содержится в разделе: Создание выражений на стр. 535.

Составление выражений

Имеется два способа создания выражений. Во-первых, можно ввести выражение напрямую. Этот способ работает обычно быстрее при задании простых выражений. Второй способ состоит в том, что можно нажать кнопку Составить в диалоге Выбрать и построить выражение в окошках диалога выражение. Такой способ обычно применяется начинающими пользователями или при построении сложных выражений.

Для составления выражений:

1. Выберите команду Запрос > Выбрать. Появится диалог Выбрать.

2. Нажмите на кнопку Составить. Появится диалог Выражение.

3. Составьте выражение в окошке, используя клавиатуру и меню из диалога.

4. Нажмите кнопку Проверить, чтобы проверить корректность составленного выражения.

5. Нажмите OK и вернитесь в диалог Выбрать.

6. Нажмите OK и выполните запрос.

Диалог Выражение содержит три окошка Списка, с помощью которых можно составить выражение: Колонки, Операторы и Функции.

Колонки

Это окошко содержит список всех колонок таблицы, по которой будет производиться выбор. Если таблица содержит колонки, вычисленные по предыдущим запросам, то перечисляются и эти колонки.

Операторы

В этом окошке содержится перечень математических и логических операторов. Среди операторов - сложение, вычитание, умножение, деление, знаки "больше", "меньше" и "равно". С помощью этих символов можно создавать математические формулы. Рассмотрим таблицу торговых агентов; среди них Вы хотите выбрать тех агентов, полный объем продаж у которых в месяц составляет в среднем меньше $2000. Общий объем вычисляется как сумма продаж и комиссионных.

Пусть в таблице имеются две следующие колонки: ПРОДАЖИ, содержащая данные о годовом объеме продаж каждого агента, и КОМИССИЯ, содержащая данные о годовом размере комиссионных каждого агента. Можно составить следующее выражение:

• (ПРОДАЖИ + КОМИССИЯ) / 12 < 2000

Согласно выражению, MapInfo Professional сложит число в колонке ПРОДАЖИ с числом из колонки КОМИССИЯ. Однако это дает общий годовой объем. Требуется же среднемесячный объем. Поэтому Вы делите сумму на 12. Полученное значение сравнивается с 2000.

В списке Операторы содержатся также логические операторы AND, NOT, OR и LIKE. Оператор LIKE может использоваться с двумя видами замещающих символов: '%' и '_'. Символ-заменитель '%' соответствует нескольким символам или ни одному. Символ-заменитель '_' замещает ровно один символ.

Выбор с помощью запросов в MapInfo Professional Функции

Это окошко содержит математические функции, имеющие один и более параметров и возвращающие значения. Эти функции применяются для получения значений элементарных функций над данными из какой-либо колонки. Например:

• аЬБ(<число>)

выдает абсолютное значение чисел из заданной колонки.

Например, метеоролог хочет выбрать все дни, когда температура в городе была на 10 градусов выше или ниже средней по стране. Для этого используется колонка СР_РАЗН, содержащая разницу температур в городе и в среднем по стране.

Можно составить такое выражение:

• СР_РАЗН < -10 Or СР_РАЗН > 10

Оно означает, что MapInfo должна выбрать все записи с разницей меньше -10 или больше +10. Однако выражение можно задать и по-другому:

• abs(СР_РАЗН) > 10

В этом случае MapInfo Professional будет выбирать все записи, абсолютное значение разницы в которых превосходит 10.

Окошко Функции содержит много других функций, в том числе функции площади, периметра, синуса, косинуса и дат. Полный список функций приведен в разделе: Создание выражений в Главе 16 на стр.535.

Проверить

Эта кнопка дает команду проверить лексику и логику составленного выражения. Это полезно для проверки созданных новых выражений.

Выбор объектов с помощью команды Выбрать

В общих чертах процесс выбора объектов с помощью команды Выбрать выглядит так: 1. В меню Запрос нажмите Выбрать - появится диалог Выбрать.

-7 2 -3 4

1 Выберите таблицу, из которой берутся записи.

2 Создайте выражение для выбора записей.

3 Выберите место сохранения результатов.

4 Выберите колонку для сортировки.

2. Чтобы просмотреть список записей, которые Вы выбрали, установите флажок Результат в список. MapInfo Professional создаст окно Списка для текущей временной таблицы выборки.

3. Для того чтобы показать результаты в активном окне карты, отметьте флажок Показать результате в текущем окне карты. Это поле недоступно, если нет открытых окон карт. Состояние этого поля невозможно сохранить в составе шаблона. По умолчанию флажок не стоит.

4. Нажмите OK, чтобы начать выполнение запроса.

MapInfo Professional назовет временную таблицу выборок "Queryl". Следующая временная таблица будет иметь имя "Query2". При выборе записей с помощью команд Выбрать и SQL-запрос можно задать свое название таблицы выборки. Введите это название в окошко Поместить в таблицу. Эту таблицу можно также записать, выполнив команду Файл > Сохранить копию.

Пример: Выборка

MapInfo Professional предоставляет простые средства выбора и поиска информации. Вы можете создавать выборки из баз данных с помощью команды Выбрать. Рассмотрим, как выбрать из таблицы WORLD страны с уровнем грамотности выше 90%.

1. Откройте таблицу WORLD.TAB.

2. В меню Запрос нажмите Выбрать - появится диалог Выбрать.

3. Заполните окошки диалога Выбрать.

• В окошке Выбрать записи из таблицы выберите World.

• Нажмите кнопку Составить. Появится диалог выражение.

4. Заполните диалог выражение следующими значениями: выберите Literacy из списка Колонок;

из Операторов выберите > (знак "больше"). задайте 90.

Нажмите кнопку Проверить, чтобы убедиться в правильности синтаксиса запроса. Нажмите в диалоге Проверить кнопку OK и закройте его.

5. Нажмите в диалоге выражение кнопку OK и закройте его. Опять появится окно диалога Выбор.

6. Проверьте, чтобы был установлен флажок Результат в Список.

7. Нажмите OK. MapInfo Professional откроет окно Списка по результатам выбора. Выборка также будет выделена и на карте, и в списке "World".

Создание новой таблицы из подмножества файлов