Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Заданидлвыполненил.р. по КИС.doc
Скачиваний:
12
Добавлен:
11.11.2019
Размер:
3.42 Mб
Скачать

Пример 2: Сортировка данных по алфавиту, хронологически или численно

Часто бывает удобно, когда список или таблица представлены в алфавитном порядке, хронологически или численно. Такая сортировка легко выполняется в SQL, и синтаксис Order By ColumnName используется для сортировки содержимого столбцов.

Возьмём SQL-оператор из предыдущего примера:

strSQL = "SELECT * FROM people"

Запись может, например, быть отсортирована в алфавитном порядке по первому имени людей:

strSQL = "SELECT * FROM people ORDER BY FirstName"

Либо хронологически по дате рождения:

strSQL = "SELECT * FROM people ORDER BY BirthDate"

Сортировка может выполняться по восходящей/ascending или по нисходящей/descending, добавлением DESC:

strSQL = "SELECT * FROM people ORDER BY BirthDate DESC"

В следующем примере люди сортируются по возрасту:

<html>

<head>

<title>Запросить данные из БД</title>

</head>

<body>

<?php

// Соединиться с сервером БД

mysql_connect("mysql.myhost.com", "user", "sesame") or die (mysql_error ());

// Выбрать БД

mysql_select_db("mydatabase") or die(mysql_error());

// SQL-запрос

$strSQL = "SELECT * FROM people ORDER BY BirthDate DESC";

// Выполнить запрос (набор записей $rs содержит результат)

$rs = mysql_query($strSQL);

// Цикл по набору записей $rs

while($row = mysql_fetch_array($rs)) {

// Записать значение столбцов FirstName и BirthDate

echo $row['FirstName'] . " " . $row['BirthDate'] . "<br />";

}

// Закрыть соединение с БД

mysql_close();

?>

</body>

</html>

Получение выбранных данных

До сих пор наш SQL-оператор запрашивал все ряды таблицы. Но часто бывает необходимо установить критерии SQL-запроса для выборки данных, например необходимо запросить из БД людей, имеющих номер телефона "66554433":

strSQL = "SELECT * FROM people WHERE Phone = '66554433 '"

В SQL имеется шесть операций сравнения:

= равно < меньше > больше <= меньше или равно > = больше или равно != не равно

Кроме того, имеются логические операции:

AND OR NOT

Удаление данных с помощью sql

Синтаксис SQL-оператора удаления записей таков:

DELETE FROM TableName WHERE condition

Пример: Удаление записи

При удалении записи можно использовать уникальное поле AutoNumber в базе данных. В нашей БД это столбец id. Использование этого уникального идентификатора гарантирует, что удаляется только одна запись. В следующем примере мы удаляем запись, где id имеет значение 24:

<html>

<head>

<title>Удаление данных из БД</title>

</head>

<body>

<?php

// Соединение с сервером БД

mysql_connect("mysql.myhost.com", "user", "sesame") or die (mysql_error ());

// Выбор Бд

mysql_select_db("mydatabase") or die(mysql_error());

// SQL-оператор, удаляющий запись

$strSQL = "DELETE FROM people WHERE id = 24";

mysql_query($strSQL);

// Закрыть соединение с БД

mysql_close();

?>

<h1>Запись удалена!</h1>

</body>

</html>

Лабораторная работа № 4 Средства поддержки принятия решений в КИС

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

Основным инструментальным средством аналитической обработки информации при принятии решений на большинстве предприятий является Excel: анализ многомерных данных; построение прогнозов; графическое отображение результатов анализа.

Кубы OLAP, сводные таблицы и анализ данных. Когда данных много, и они разбросаны по разным таблицам, - в этом случае нет возможности их сопоставить, оценить, визуализировать.

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

Структура сводной таблицы. Сводную таблицу можно рассматривать как таблицу с тремя измерениями, в каждой точке которой заданы данные. Четыре оси сводной таблицы носят названия:

  • Оси Строк;

  • Оси Столбцов;

  • Оси Страниц, называемой также осью Фильтров;

  • Оси Данных.

Если бы на каждой оси располагались значения одного типа, то эта модель была бы совершенно простой и понятной. Можно было бы рассматривать сводную таблицу, как функцию трех переменных - F(x,y,z), заданную таблицей. Вся сложность сводной таблицы состоит в том, что на каждой оси может располагаться несколько полей, это же верно и относительно данных, - полей данных может быть также несколько. Поэтому, каждая из координат сводной таблицы, также как и значение функции F, представляет собой агрегат довольно сложной структуры. Поля, располагаемые на той или иной оси, получают тип этой оси - поля строк, поля столбцов, поля фильтра, поля данных.

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

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

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

Чаще всего в роли источника данных для построения сводной таблицы выступают базы данных. Это могут быть табличные (реляционные) базы данных, например, Access или Microsoft SQL Server, В последнее время в качестве источников данных стали широко применяться кубы OLAP. Между кубами OLAP и сводными таблицами много общего. Эти объекты, в какой-то мере, близнецы - братья. Кубы OLAP служат для хранения многомерных данных, а сводные таблицы для проведения анализа этих данных.

Многомерные (OLAP) источники данных. Интерес к кубам OLAP как к одному из ключевых источников данных в последнее время резко возрос. И этому есть понятные объяснения. Сводные таблицы являются одним из основных инструментов анализа данных при работе над документами, как на локальных компьютерах, так и при работе в интрасетях. Эффективность работы со сводными таблицами возрастает, когда источником данных является куб OLAP. Это особенно заметно в тех случаях, когда приходится работать с большими объемами данных. Основная причина в том, что между представлением данных в сводных таблицах и кубах OLAP есть большое сходство. Поэтому большую часть работы по требуемой структуризации данных берут на себя серверы OLAP. Поскольку многие пользователи могут работать с одним и тем же представлением данных, заложенным в кубе OLAP, то сервер единожды выполняет работу, результаты которой используются многократно. Другое достоинство состоит в том, что передавать каждому пользователю можно уже агрегированные данные, что существенно снижает нагрузку на объем передаваемых данных в сети и повышает общую эффективность работы.

Сам термин OLAP означает On-Line Analytical Processing и отражает тот факт, что сервер, хранящий базы данных OLAP, выполняет определенную аналитическую обработку. Часто в термин OLAP вкладывают и другой смысл, отражающий многомерность структуры хранимых данных. Так что, когда говорят о многомерных хранилищах данных, неявно предполагают, что речь идет о базах данных OLAP. Первичной структурой в этих базах является многомерный куб - гиперкуб. Оси этого куба, как и положено, называются измерениями. С каждой точкой в пространстве этого куба связаны данные. Важной особенностью OLAP-куба является то, что на каждом измерении можно задать иерархию, определяющую способ группирования или классификации элементов, принадлежащих данному измерению

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

Для начала работы с Мастером сводных таблиц в главном меню нужно выбрать пункт "Данные" и в нем пункт "Сводная таблица (рис. 4.1). 

Рис. 4.1.  Первое окно Мастера сводных таблиц и диаграмм

Т.к. в качестве источника данных используется база данных Access, то указывается внений источник данных. Вторая группа переключателей позволяет задать желаемый вид отчета - сводную таблицу или сводную диаграмму, построенную на основе сводной таблицы1. При нажатии кнопки "Далее" появится следующее диалоговое окно (рис. 4.2). 

Рис. 4.2.  Окно второго шага Мастера сводных таблиц

Нажатие кнопки "Получить данные" запускает Microsoft Query, предназначенный для работы с запросами баз данных. Дальнейшее диалоговое окно позволяет выбрать тип источника данных (рис. 4.3). 

Рис. 4.3.  Выбор источника данных при запуске Microsoft Query

По нажатию кнопки "OK" открывается окно, где можно задать путь к базе данных (рис. 4.4). 

Рис. 4.4.  Задание пути к базе данных

В следующем окне Мастера запросов (рис. 4.5) начинается собственно формирование запроса на основании таблиц и запросов базы данных и содержащихся в них полей, называемых здесь столбцами. В открывающемся списке показаны все таблицы и все запросы базы данных "exzample". Каждый элемент списка можно раскрыть, нажав значок "плюс", и перенести нужные поля таблицы в запрос, на основании которого строится сводная таблица. В рассматриваемом примере в запрос (сводную таблицу) включены данные из таблицы, построенной на основе запроса «Счета». Перечень выбранных полей таблицы (столбцов сводной таблицы) также приведен на рисунке 4.4.

Рис. 4.4.  Выбор полей базы данных для включения их в сводную таблицу

После нажатия кнопки "Next" переходим к очередному шагу (рис. 4.6).

Рис. 4.6.  Запрос на построение фильтров

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

Окно, следующее за построением фильтров, позволяет задать требуемый порядок сортировки данных (рис. 4.8).

Рис. 4.4. Порядок сортировки

Завершающий шаг построения запроса представляет собой выбор результатов сохранения (рис. 4.9).

Рис. 4.9. Сохранение результатов

На этом шаге можно сохранить запрос, нажав соответствующую командную кнопку. Здесь также следует сделать выбор одной из трех возможностей:

  • вернуть данные в Excel и возвратиться к очередному шагу работы Мастера сводных таблиц и диаграмм,

  • перейти в Microsoft Query и там продолжить работу над запросом,

  • перейти к построению OLAP куба.

Обычная практика состоит в том, что выбирается первый пункт, и возвращаемся ко второму шагу Мастера сводных таблиц и диаграмм, но уже в новом состоянии, когда данные для построения сводной таблицы получены (рис. 4.10).

Рис. 4.10.  Новое состояние окна Мастера сводных таблиц на втором шаге

Для перехода к последнему шагу работы Мастера необходимо нажатие на кнопку "Далее" (рис. 4.11).

Рис. 4.11.  Заключительный шаг работы Мастера сводных таблиц

На заключительном шаге работы можно указать рабочий лист и ячейку, начиная с которой будет располагаться сводная таблица. Нажатие кнопки "Макет" вызывает диалоговое окно макета сводной таблицы (рис. 4.12).

Рис. 4.12.  Макет сводной таблицы

На макете представлена схема сводной таблицы, - четыре области таблицы, озаглавленные соответственно "Страница", "Строка", "Столбец" и "Данные". На макете также представлены поля, отобранные для построения сводной таблицы. Каждое из полей может быть перетащено в одну из областей таблицы. Заметьте, что не обязательно перетаскивать сразу все поля. Одно из достоинств сводных таблиц состоит в том, что их структуру можно легко перестраивать в зависимости от целей, которые менеджер, работающий с таблицей, ставит при анализе данных.

Если не использовать макет сводной таблицы, то нажатие кнопки «Готово» приведет к окончанию работы мастера (рис. 4.13).

Рис. 4.13.  Рабочий лист с макетом сводной таблицы и инструментальной панелью

Для рассматриваемого примера расположим выбранные поля запроса в следующем виде (рис. 4.14).

Рис. 4.14.  Сформированная сводная таблица

Укажем основные возможности сформированной сводной таблицы.

  • Изменение структуры таблицы. Поля таблицы можно добавлять и удалять, путем перетаскивания их с инструментальной панели "Сводные таблицы". Можно изменять ориентацию измерений, меняя местами поля строк, столбцов и страниц.

  • Фильтрация данных.

  • Вычисляемые поля. Некоторые поля таблицы можно объявить вычисляемыми и задать различные функции, подводящие итоги. Для числовых полей это может быть сумма значений поля, максимум, минимум, среднее, среднеквадратическое отклонение или другая подобная функция из некоторого фиксированного набора.

  • Визуализация данных. По сводной таблице можно построить сводную диаграмму, которая перестраивается в ответ на изменения, происходящие со сводной таблицей. Верно и обратное, можно перестраивать диаграмму, что отражается в перестроении сводной таблицы.

  • Другие изменения. Их можно производить, используя контекстное меню, появляющееся при нажатии правой кнопки мыши, или используя возможности инструментальной панели "Сводные таблицы".

Инструментальная панель "Сводные таблицы". В процессе создания сводной таблицы по умолчанию включается инструментальная панель "Сводные таблицы". Рассмотрим более подробно работу кнопок инструментальной панели.

  • - эта кнопка позволяет задать форматирование сводной таблицы. Можно выбрать формат из списка, содержащего два десятка возможных форматов;

  • - задает построение сводной диаграммы;

  • - вызывает Мастера сводных таблиц, позволяя вернуться к процессу построения таблицы с использованием Мастера;

  • - две кнопки, позволяющие скрыть и показать детали. Особенно полезны при работе с полями, допускающими группировку. Но могут применяться и к большинству других полей;

  • - позволяет обновить данные сводной таблицы, получив их из источника данных;

  • - позволяет задать параметры поля. Для вычислимых полей можно задать соответствующую функцию вычислений;

  • - кнопка для скрытия полей;

  • - первая кнопка, расположенная на панели. При ее нажатии открывается меню, пункты которого выполняют практически все задачи, что и перечисленные выше кнопки, но кроме этого в меню есть и дополнительные возможности, например, можно установить дополнительные свойства сводной таблицы, задав те или иные ее параметры.

Сводные диаграммы. При работе со сводными таблицами визуализация данных способствует правильному их восприятию. Поэтому чаще всего наряду со сводной таблицей строится и соответствующая ей сводная диаграмма. Задать построение диаграммы можно еще на первом шаге работы Мастера сводных таблиц, что показано на рис.4.1. Среди кнопок инструментальной панели, служащей для построения сводной диаграммы на отдельном листе (рис. 4.15).

Рис. 4.14.  Лист со сводной диаграммой

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

Диаграмма и сводная таблица жестко связаны, - любые изменения в диаграмме и сводной таблице взаимосвязаны.

Построение OLAP-куба. Excel позволяет по данным внешних источников построить не только сводную таблицу, но и многомерный куб данных - OLAP куб. Цель этого построения - использовать в дальнейшем этот куб, как источник данных для сводной таблицы. При больших объемах данных, используемых при построении сводной таблицы, эффективность работы может быть существенно повышена, если сводная таблица использует OLAP куб.

Работа по построению OLAP куба начинается с построения сводной таблицы. Но в тот момент, когда построен запрос, извлекающий данные из базы данных, можно перейти к построению OLAP куба (рис. 4.9). В этот момент появляется возможность построить OLAP куб по запросу. Продолжим рассмотрение построения OLAP куба, начиная с этого момента (рис. 4.16)

.

Рис. 4.16.  Первое информационное окно Мастера построения OLAP куба

В этом информационном окне перечислены достоинства OLAP кубов, есть возможность перейти к подробной справке. На первом шаге работы Мастер предлагает задать вычисляемые поля и определить функцию, используемую при вычислениях (рис. 4.17).

Рис. 4.17.  Окно первого шага Мастера построения OLAP куба

Заметьте, по умолчанию все численные поля являются вычисляемыми, а в качестве функции применяется функция "Сумма". Оставим предлагаемые установки и перейдем к следующему шагу работы (рис. 4.18).

Рис. 4.14.  Создание измерений OLAP куба

Результат создания измерений приведен на рисунке 4.19.

Рис. 4.19.  Результат создания измерений OLAP куба

На заключительном шаге работы Мастер предлагает сохранить OLAP куб. Здесь можно выбрать, сохранить ли только определение куба - файл с уточнением "oqy" или сам куб с данными - файл с уточнением "cub" (рис. 4.20). Сохранение самого куба требует времени, но обеспечивает более быструю работу со сводной таблицей в дальнейшем при использовании куба.

Рис. 4.20.  Сохранение OLAP куба

На этом построение куба завершено. После сохранения самостоятельно постройте сводную таблицу на основе OLAP куба.

В соответствии с заданием (таблица 4.1) постройте сводную таблицу и OLAP куб. в качестве столбцов таблицы используйте самостоятельно определенную информацию2.

Таблица 4.1

варианта

Данные запроса

Выбор счета

Квартальные обороты по товарам

Запрос Заказы

Итоги продаж по объему

Квартальные обороты

Клиенты и поставщики по городам

Продажи по годам

Продажи по сотрудникам и странам

Продажи по типам

Продажи товаров в 1997

Промежуточная сумма заказа

Сведения о заказах

Список товаров

Сумма продаж по кварталам

Товары по типам