Агрегирование данных. Агрегирование и группировка данных. Агрегация в программировании

Aggregate Data aggregates groups of cases in the active dataset into single cases and creates a new, aggregated file or creates new variables in the active dataset that contain aggregated data. Cases are aggregated based on the value of zero or more break (grouping) variables. If no break variables are specified, then the entire dataset is a single break group.

  • If you create a new, aggregated data file, the new data file contains one case for each group defined by the break variables. For example, if there is one break variable with two values, the new data file will contain only two cases. If no break variable is specified, the new data file will contain one case.
  • If you add aggregate variables to the active dataset, the data file itself is not aggregated. Each case with the same value(s) of the break variable(s) receives the same values for the new aggregate variables. For example, if gender is the only break variable, all males would receive the same value for a new aggregate variable that represents average age. If no break variable is specified, all cases would receive the same value for a new aggregate variable that represents average age.

Break Variable(s). Cases are grouped together based on the values of the break variables. Each unique combination of break variable values defines a group. When creating a new, aggregated data file, all break variables are saved in the new file with their existing names and dictionary information. The break variable, if specified, can be either numeric or string.

Aggregated Variables. Source variables are used with aggregate functions to create new aggregate variables. The aggregate variable name is followed by an optional variable label, the name of the aggregate function, and the source variable name in parentheses.

You can override the default aggregate variable names with new variable names, provide descriptive variable labels, and change the functions used to compute the aggregated data values. You can also create a variable that contains the number of cases in each break group.

To Aggregate a Data File

  1. From the menus choose:

    Data > Aggregate...

  2. Optionally select break variables that define how cases are grouped to create aggregated data. If no break variables are specified, then the entire dataset is a single break group.
  3. Select one or more aggregate variables.
  4. Select an aggregate function for each aggregate variable.

Optionally, you can override the default aggregate variable names with new variable names, provide descriptive variable labels, and create a variable that contains the number of cases in each break group.

Saving Aggregated Results

You can add aggregate variables to the active dataset or create a new, aggregated data file.

  • Add aggregated variables to active dataset . New variables based on aggregate functions are added to the active dataset. The data file itself is not aggregated. Each case with the same value(s) of the break variable(s) receives the same values for the new aggregate variables.
  • Create a new dataset containing only the aggregated variables . Saves aggregated data to a new dataset in the current session. The dataset includes the break variables that define the aggregated cases and all aggregate variables defined by aggregate functions. The active dataset is unaffected.
  • Write a new data file containing only the aggregated variables . Saves aggregated data to an external data file. The file includes the break variables that define the aggregated cases and all aggregate variables defined by aggregate functions. The active dataset is unaffected.

Sorting Options for Large Data Files

For very large data files, it may be more efficient to aggregate presorted data.

File is already sorted on break variable(s) . If the data have already been sorted by values of the break variables, this option enables the procedure to run more quickly and use less memory. Use this option with caution.

  • Data must by sorted by values of the break variables in the same order as the break variables specified for the Aggregate Data procedure.
  • If you are adding variables to the active dataset, select this option only if the data are sorted by ascending values of the break variables.

Sort file before aggregating . In very rare instances with large data files, you may find it necessary to sort the data file by values of the break variables prior to aggregating. This option is not recommended unless you encounter memory or performance problems.

Агрегирование данных состоит в формировании промежуточных итогов , а также создании сводных и консолидированных таблиц .)

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

· Промежуточные итоги . Эта опция позволят сформировать промежуточные итоговые результаты определенного вида (сумма, среднее значение, максимум, минимум, количество значащих записей и т.д.) для выделенного ряда данных (группы записей). При формировании промежуточных итогов требуется предварительно произвести сортировку таблицы по полям группировки записей. К полученным промежуточным итогам можно также добавить новые итоги с сохранением предыдущих итогов.

· Сводные таблицы. Этот инструмент табличного процессора обеспечивает формирование сводной (агрегированной) информации и представление табличных данных в структурированном виде (в определенной внешней форме с упорядочением местоположения фрагментов), а также построение связанной со сводной таблицей сводной диаграммы. Распределение информации в сводной таблице можно задать, указывая какие поля и элементы должны в ней содержаться. Поле - это некоторая общая категория (поименованный столбец), а элемент - это отдельное значение, содержащееся внутри некоторой категории значений. Источником данных для сводной таблицы может быть электронная таблица, данные из внешних баз и т.д. Помимо «базовых» полей из источников данных, сводная таблица допускает формирование вычисляемых полей в области данных, а также вычисляемых элементов для полей группировки. Элементы полей группирования далее могут объединяться в группы, для которых можно указать тип итоговой функции.

Примечание.

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

· Консолидация данных . Это особый способ вычисления итогов для диапазона ячеек. Консолидируемые данные могут находится на одном и том же или нескольких листах рабочей книги, а также на листах нескольких разных рабочих книг. При консолидации доступны все типичные функции статистических итогов (сумма, среднее значение, максимум, минимум и т.п.). Результат консолидации записывается на лист рабочей книги, причем на одном и том же листе могут быть записаны несколько результатов консолидации с одними и теми же исходными диапазонами ячеек с данными, но с разными итоговыми функциями. Однако, если исходные диапазоны ячеек отличаются, результаты консолидации должны располагаться на разных листах. Различают следующие виды консолидации:

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

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

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

Примечание.

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

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

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Издательство СПбГПУ
УДК 681.3 (075) Рекомендовано к изданию Научно-методическим советом Псковского государственного политехнического института Рецензенты: - Ил

Основы информатики
1. Информация и информационные процессы Основные понятия: информация, информационные процессы, информационное общество, и

Информационные технологии
7. Технологии обработки текстовой информации Основные понятия: текстовый редактор и процессор, Формат текстового файла, Т


Типовая структура пользовательского интерфейса текстового процессора приведена на рис. 7.1 и она включает следующие элементы: § Строка главного меню содержит имена групп к

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

Этапы формирования текстового электронного документа
Любой текстовый документ в процессе своего формирования проходит следующие этапы (рис.7.2):) 1. Создание документа. 2. Вво

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

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

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

Стили и шаблоны
Наиболее мощным средством автоматизации форматирования в текстовых редакторах является механизм под названием «стиль». Известно два основных подхода к оформлению текстовог

Средства автоматизации ввода текста
При вводе текста эффективными средствами автоматизации являютсяавтозамена, автотекст, автопроверка орфографии и грамматики. Функция автозамена позволяет с

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

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

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

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

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

Теоретические основы представления графических данных
Представление компьютерных данных в графическом виде впервые было реализовано еще в середине 50-х годов 20-го века в задачах научных и военных исследований. С тех пор графический способ отображения

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

Растровая графика
Растровые изображения формируются в процессе преобразования графической инфор­мации из аналоговой формы в цифровую, например, при сканировании существующих на бумаге или фотоплен­к

Векторная графика
Векторные изображения формируются из объектов (точка, линия, окружность, треугольник, прямоугольник и пр.), которые хра­нятся в памяти компьютера в виде графических примити

Фрактальная графика
Фрактальная графика, как и векторная, основана на математических вычислениях. Однако её базовым элементом является сама математическая формула, то

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

Способы описания цвета
Цвета в природе образуются различным образом. С одной стороны, световые источники (Солнце, лампочки, экраны компьютеров и телевизоров) излучают свет различных длин волн, воспринима

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

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

Цветовая модель RGB
Цветовая модель RGB (Рис. 8.3.) является аддитивной, т.е. в ней любой цвет представляет собой сочетание в

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

Цветовая модель CIE Lab
Модели RGB и CMYK являются аппаратно-зависимыми (в RGB значения базовых цветов определяются, как правило, качеством монит

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

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

Растровые графические редакторы
Среди растровых графических редакторов есть простые, на­пример приложение Windows Paint, и мощные профессио­нальные графические системы, такие как пакет Ad

Векторные графические редакторы
К простейшим векторным графическим редакторам относятся, например, графические программные приложения в составе текстового процессора Microsoft Word и редактора эл

Редакторы электронных таблиц и табличные процессоры
9.1.1.Назначение, Основные функции, Классификация, Ценность любой информации в значительной мере определяется качеством её организации, и, более того, существенная

Форматы табличных файлов
Электронные таблицы, также как и другие электронные документы (текстовые, графические, комплексные), хранятся на внешних носителях в виде файлов. Как правило, при сохранении файлов электронных табл

Типовая структура пользовательского интерфейса
При работе с электронной таблицей на экране монитора выводятся рабочее поле таблицы и панель управления (рис.9.1). Панель управления обычно включа

Этапы формирования электронной таблицы
Любой табличный документ в процессе своего формирования проходит следующие этапы:) 1. Создание таблицы или ее загрузка. 2.

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

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

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

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

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

Средства автоматизации ввода данных
При вводе данных обычно используются следующие приемы автоматизации: · Повторный ввод (копирование)уже существующих данных путем использования буфера обме

Автоматическое форматирование электронных таблиц
Для обеспечения быстрого форматирования как содержимого ячеек, так и внешнего вида таблицы используются средства автоматического форматирования. К этим средствам можно отнести: · С

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

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

Использование электронных таблиц для решения задач
Качественная и глубокая проработка математических и алгоритмических возможностей современных табличных процессоров превратила их мощный математический инструмент подготовки и проведения прикладных

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

Решение задач моделирования объектов, процессов, явлений
Кроме рассмотренных в пп. 9.8.1 и 9.8.2 задач, табличные процессоры позволяют решить и много других задач моделирования финансово-экономи-ческих, управленч

Базы данных
С самого начала развития вычислительной техники образовались два основных направления ее использования: § Первое - это применение вычислительной техники для выполнения численных ра

Требования, предъявляемые к БД и информации, хранящейся в ней
Для того, чтобы компьютерная БД приносила людям пользу, она должна отвечать следующему ряду требований: § Адекватность

Типы баз данных
За время использования компьютерных БД было предложено несколько типовых структур (по-другому называемых видами или типами БД), н

Основные объекты в базах данных
К основным объектам баз данныхотносятсятаблицы (отношения, relations), метаданные (metadata), индексы (indexes) и представления (view) )

Виды запросов и способы их организации
Определение. Любые манипуляции с данными в базах данных, такие как выбор, вставка, удаление, обновление данных, изменение или выбор метаданных, называются запросами к базе данных (query)

Понятие мультимедиа. Гипертекст и гипермедиа. Объекты мультимедиа
Термин мультимедиа (от англ. multimedia) можно перевести как «много сред» или «много носителей», т.е.: Определение.

Схемы хранения и воспроизведения мультимедиа-файлов
Для реализации мультимедиа компьютер должен быть оснащен следующими компонентами: § Аппаратными средствами, реализующими доступ к мультимедиа-данным, их создание и воспроизведение - иными

Средства создания мультимедиа документов (обзор)
В настоящее мультимедиа-технологии нашли широкое применение при создании разнообразных документов делового и развлекательного характера, презентационного назначения, когда возникает необходимость п

Компьютерные сети
Телекоммуникации в широком смысле этого понятия - это общение между субъектами, которыми могут быть люди, приборы, компьютеры, любые технические системы, находящимися на таком

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

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

Средства реализации сетей
В структуре сети любого масштаба легко выделить основные компоненты, без которых она не может быть реализована. Это, прежде всего: · Аппаратные средства, которые включают:

Основные пользовательские функции Internet
Развивая глобальные распределенные вычислительные среды (РВС) человечество создает на планете Земля новую универсальную интеллектуальную информационную среду. Одним из самых ярких

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

Адресация в Internet
С точки зрения пользователя Internet - это совокупность крупных сетевых узлов (хостов или информационных серверов), объединенных между собой

Базовые информационные службы Интернет
Изначально сеть Internet была задумана и построена с целью автоматизациипроцессов обработки данных. Термин «обработка данных» озн

Off-line-сервисы Internet
§ Служба электронной почты e-mail, предоставляющая пользователю возможность обмена сообщения с другими абонентами по электронными коммуникациям. Можно пересылать текстовые сообщени

On-line-сервисs Internet
§ Служба удаленного файлового обмена FTP (File Transfer Protocol), предоставляющая FTP-клиенту механизм интерактивного доступа к файлохран

Internet-провайдеры
Интернет-провайдерами (от англ. to provide - предоставлять) называются сетевые компании, предоставляющие доступ к услугам глобальной сети Интернет

Web-браузеры
Как уже упоминалось ранее для просмотра WWW-ресурсовглобальной сетиИнтернет необходимо на клиентских станциях, подключенных к сети, установить клиентские программн

Основы технологии WWW
12.6.1.Архитектура распределенной Web-системы. Фундаментом Web-систем являются четыре компоненты:)

Пособие для поступающих в вуз
Под общей редакцией доцента, к.т.н. В.С. Белова Технический редактор В.С. Белов Компьютерная верстка: авторский коллектив

Агрегирование данных состоит в формировании промежуточных итогов , а также создании сводных и консолидированных таблиц .)

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

· Промежуточные итоги . Эта опция позволят сформировать промежуточные итоговые результаты определенного вида (сумма, среднее значение, максимум, минимум, количество значащих записей и т.д.) для выделенного ряда данных (группы записей). При формировании промежуточных итогов требуется предварительно произвести сортировку таблицы по полям группировки записей. К полученным промежуточным итогам можно также добавить новые итоги с сохранением предыдущих итогов.

· Сводные таблицы. Этот инструмент табличного процессора обеспечивает формирование сводной (агрегированной) информации и представление табличных данных в структурированном виде (в определенной внешней форме с упорядочением местоположения фрагментов), а также построение связанной со сводной таблицей сводной диаграммы. Распределение информации в сводной таблице можно задать, указывая какие поля и элементы должны в ней содержаться. Поле - это некоторая общая категория (поименованный столбец), а элемент - это отдельное значение, содержащееся внутри некоторой категории значений. Источником данных для сводной таблицы может быть электронная таблица, данные из внешних баз и т.д. Помимо «базовых» полей из источников данных, сводная таблица допускает формирование вычисляемых полей в области данных, а также вычисляемых элементов для полей группировки. Элементы полей группирования далее могут объединяться в группы, для которых можно указать тип итоговой функции.

Примечание.

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

· Консолидация данных . Это особый способ вычисления итогов для диапазона ячеек. Консолидируемые данные могут находится на одном и том же или нескольких листах рабочей книги, а также на листах нескольких разных рабочих книг. При консолидации доступны все типичные функции статистических итогов (сумма, среднее значение, максимум, минимум и т.п.). Результат консолидации записывается на лист рабочей книги, причем на одном и том же листе могут быть записаны несколько результатов консолидации с одними и теми же исходными диапазонами ячеек с данными, но с разными итоговыми функциями. Однако, если исходные диапазоны ячеек отличаются, результаты консолидации должны располагаться на разных листах. Различают следующие виды консолидации:

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

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

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

Примечание.

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

Предложение ROLLUP позволяет в команде SELECT вычислять многоуровневые частичные суммы для специфицированных групп измерений. Также вычисляется итоговая сумма. Предложение ROLLUP является простым расширением предложения GROUP BY , поэтому синтаксис для его применения прост. Использование предложения ROLLUP очень эффективно.

Синтаксис:

SELECT ... GROUP BY ROLLUP(grouping_column_reference_list)

Действия ROLLUP являются следующими: создаются частичные суммы для каждого из раскрываемых уровней от наиболее низкого уровня иерархии к более высокому уровню и вычисляется итоговая сумма в соответствии с указанным списком колонок в предложении ROLLUP . Предложение ROLLUP рассматривает свои аргументы как упорядоченный список колонок группировки. Сначала вычисляется стандартное агрегатное значение, указанное в предложении GROUP BY . Затем создаются частичные суммы для уровней атрибутов из списка группировки GROUP BY в порядке возрастания их значений, справа налево по списку колонок группировки. И окончательно создается итоговая сумма (grand total).

Предложение ROLLUP создает частичные суммы для n+1 уровней, где n есть число колонок группировки. Например, если в запросе указан ROLLUP на колонки группировки измерений "Время" (Time), "Регион" (Region) и "Отдел продаж" (Department) (n=3 ), то результирующее множество (result set) будет включать в себя строки для 4-х уровней агрегации.

Рассмотрим примеры.

Пример 22.3 . Пусть руководству компании требуется отчет о прибыли по всем регионам по всем отделам продаж за 2007-08 гг. Предложение SELECT для приведенной на рис. 22.3 схемы ХД может выглядеть следующим образом.

SELECT Time, Region, Department, SUM(Profit) AS Profit FROM sales GROUP BY ROLLUP(Time, Region, Department);

Вывод 1 : Агрегирование в ROLLUP для трех измерений

Time Region Department Profit
2007 Центральный VideoRental 75,00
2007 Центральный VideoSales 74,00
2007 Центральный NULL 149,00
2007 Восточный VideoRental 89,00
2007 Восточный VideoSales 115,00
2007 Восточный NULL 204,00
2007 Западный VideoRental 87,00
2007 Западный VideoSales 86,00
2007 Западный NULL 173,00
2007 NULL NULL 526,00
2008 Центральный VideoRental 82,00
2008 Центральный VideoSales 85,00
2008 Центральный NULL 167,00
2008 Восточный VideoRental 101,00
2008 Восточный VideoSales 137,00
2008 Восточный NULL 238,00
2008 Западный VideoRental 96,00
2008 Западный VideoSales 97,00
2008 Западный NULL 193,00
2008 NULL NULL 598,00
NULL NULL NULL 1124,00

Как видно из примера выше, запрос возвращает следующий набор строк:

  • предложением GROUP BY без использования ROLLUP ;
  • частичные суммы 1-го уровня, агрегированные для "Отдела продаж" (Department) для каждой комбинации измерений "Время" (Time) и "Регион" (Region);
  • частичные суммы 2-го уровня, агрегированные для измерений "Регион" (Region) и "Отдела продаж" (Department) для каждого значения измерения "Время" (Time);
  • строку с итоговой суммой.

Заметим, что NULL-значения показываются только для ясности. В действительности при выводе будут показаны пробелы.

NULL-значения, возвращаемые в результате выполнения предложений ROLLUP и CUBE , не всегда могут толковаться в общепринятом смысле, как неопределенные значения. NULL-значения могут указывать, что строка содержит частичную сумму. Например, первое NULL-значение в Выводе 1 появляется в колонке "Отдел продаж" (Department). Это NULL-значение означает, что строка есть частичная сумма для всех отделов продаж для Центрального региона за 2007 год.

Использование ROLLUP для вычисления частичных сумм

Можно использовать предложение ROLLUP только для вычисления некоторых частичных сумм. Такие команды с применением ROLLUP используют синтаксис как показано ниже:

GROUP BY expr1, ROLLUP(expr2, expr3);

В этом случае предложение ROLLUP создает частичные суммы для (2+1=3) уровней агрегации (aggregation levels), т.е. для уровней (expr1, expr2, expr3) , (expr1, expr2) и (expr1) . Итоговая сумма (grand total) не создается.

Пример 22.4 . Пусть руководству компании требуется отчет о прибыли по всем регионам по всем отделам продаж за 2007-2008 гг. без итоговой суммы прибыли. Предложение SELECT для приведенной на рис. 22.3 схемы ХД может выглядеть следующим образом:

SELECT Time, Region, Department, SUM(Profit) AS Profit FROM sales GROUP BY Time, ROLLUP (Region, Department);

Вывод 2 . Использование предложения ROLLUP для вывода частичных сумм

Time Region Department Profit
2007 Центральный VideoRental 75,00
2007 Центральный VideoSales 74,00
2007 Центральный NULL 149,00
2007 Восточный VideoRental 89,00
2007 Восточный VideoSales 115,00
2007 Восточный NULL 204,00
2007 Западный VideoRental 87,00
2007 Западный VideoSales 86,00
2007 Западный NULL 173,00
2007 NULL NULL 526,00
2008 Центральный VideoRental 82,00
2008 Центральный VideoSales 85,00
2008 Центральный NULL 167,00
2008 Восточный VideoRental 101,00
2008 Восточный VideoSales 137,00
2008 Восточный NULL 238,00
2008 Западный VideoRental 96,00
2008 Западный VideoSales 97,00
2008 Западный NULL 193,00
2008 NULL NULL 598,00

Как видно, запрос возвращает следующее множество строк:

  • обычные строки агрегации, которые выдаются предложением GROUP BY без использования ROLLUP ;
  • частичную сумму 1-го уровня агрегации по "Отделам продаж" (Department) для каждой комбинации "Время" (Time) и "Регион" (Region);
  • частичную сумму 2-го уровня агрегации по измерениям "Регион" (Region) и "Отдел продаж" (Department) для каждого значения измерения "Время" (Time);
  • нет строки с итоговой суммой.

Можно вычислить частичные суммы без использования предложения ROLLUP следующим образом:

SELECT Time, Region, Department, SUM(Profit) FROM Sales GROUP BY Time, Region, Department UNION ALL SELECT Time, Region, "" , SUM(Profit) FROM Sales GROUP BY Time, Region UNION ALL SELECT Time, "", "", SUM(Profit) FROM Sales GROUP BY Time UNION ALL SELECT "", "", "", SUM(Profit) FROM Sales;

Как видно из примера выше, для этого требуется для n измерений n+1 SELECT с UNION ALL .

ROLLUP-предложение целесообразно использовать для задач, в которых вычисляются промежуточные или частичные суммы:

  • в измерениях с иерархической структурой, таких как "время" или "географическое расположение": ROLLUP(y, m, day) или ROLLUP(country, state, city) .
  • для быстрой генерации отчетов с суммарными данными.
Предложение CUBE

Частичные суммы, генерируемые предложением ROLLUP , представляют только часть возможных комбинаций частичных сумм в измерениях. Например, в перекрестном отчете (см. табл. 22.1) итоги работы отделов продаж по регионам (279,000 и 319,000) не могут быть вычислены в предложении ROLLUP(Time, Region, Department) . Для этого нужно изменить порядок колонок группировки в предложении ROLLUP: ROLLUP(Time, Department, Region) . Простой способ генерации полного набора частичных сумм для перекрестных отчетов состоит в использовании расширения CUBE предложения GROUP BY .

Предложение CUBE позволяет команде SELECT вычислить частичные суммы для всех возможных комбинаций групп измерений. Оно также вычисляет итоговую сумму. Подобно ROLLUP , предложение CUBE является расширением предложения GROUP BY .

Синтаксис:

SELECT ... GROUP BY CUBE (grouping_column_reference_list)

Из примера ниже видно, что CUBE берет указанный набор колонок группировки и создает частичные суммы для всех возможных комбинаций значений этих колонок. С точки зрения многомерного анализа, предложение CUBE генерирует все частичные суммы, которые могут быть вычислены для куба данных с указанными измерениями. Если указывается CUBE(Time, Region, Department) , то результирующее множество запроса будет включать все значения, которые входят в аналогичную конструкцию 2007

Центральный VideoSales 74,00 2007 Центральный NULL 149,00 2007 Восточный VideoRental 89,00 2007 Восточный VideoSales 115,00 2007 Восточный NULL 204,00 2007 Западный VideoRental 87,00 2007 Западный VideoSales 86,00 2007 Западный NULL 173,00 2007 NULL NULL 526,00 2008 Центральный VideoRental 82,00 2008 Центральный VideoSales 85,00 2008 Центральный NULL 167,00 2008 Восточный VideoRental 101,00 2008 Восточный VideoSales 137,00 2008 Восточный NULL 238,00 2008 Западный VideoRental 96,00 2008 Западный VideoSales 97,00 2008 Западный NULL 193,00 2008 NULL VideoRental 279,00 2008 NULL VideoSales 319,00 2008 NULL NULL 598,00 NULL Центральный VideoRental 157,00 NULL Центральный VideoSales 159,00 NULL Центральный NULL 316,00 NULL Восточный VideoRental 190,00 NULL Восточный VideoSales 252,00 NULL Восточный NULL 442,00 NULL Западный VideoRental 183,00 NULL Западный VideoSales 183,00 NULL Западный NULL 366,00 NULL NULL VideoRental 530,00 NULL NULL VideoSales 594,00 NULL NULL NULL 1124,00

8.6. Агрегирование данных

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

В сельскохозяйственном исследовании рассматривалось содержание свиней в двух различных типах свинарников. При этом в каждом из двух свинарников осуществлялся мониторинг поведения восьми свиней в течение двадцатидневного периода. На протяжении этого периода фиксировалась длительность определенных действий животных (то есть сколько времени свиньи рылись, ели, чесали голову и туловище). Данные хранятся в файле schwein.sav, содержащем следующие переменные:

Имя переменной

Пояснение

Тип свинарника (1 или 2)

Порядковый номер свиньи (от 1 до 8)

Номер дня (от 1 до 20)

Длительность рытья (в секундах)

Длительность кормежки (в секундах)

Длительность чесания (в секундах)

Следует выяснить, значительно ли различается по длительности эти три действия в свинарниках обоих типов, для чего необходимо применить соответствующий статистический текст, например, тест Стьюдента (см. главу 13).

В каждой из двух выборок для каждого из трех действий имеется по 8 + 20=160 измерений. Однако выполнение статистического тест на основе этих данных будет не совсем корректно, так как они относятся к восьми особям, для каждой из которых было проведено по двадцать измерений.

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

    Загрузите файл schwein.sav.

    Выберите в меню команды Data (Данные) Aggregate... (Агрегировать)

Откроется диалоговое окно Aggregate Data (Агрегировать данные).

    В качестве переменных разбиения перенесите переменные stall и nr в поле Break Variable(s), а в качестве переменных агрегирования (Aggregate Variable(s)) выберите wuehlen, fressen и massage. Диалоговое окно приобретет вид, показанный на рис. 8.8.

Будут показаны три новые переменные wuehle_l, fresse_l и massag_l, имена которых состоят из первых шести букв имен соответствующих переменных агрегирования и комбинации символов _1. По умолчанию в качестве функции агрегирования принято среднее значение. Мы должны выбрать вместо него сумму.

    Для этого щелкните на первой переменной, а затем на кнопке Funktion... (Функция). Откроется диалоговое окно Aggregate Data: Aggregate Function (Агрегировать данные: Функция агрегирования) (см. рис. 8.9).

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

    Выберите пункт Sum of values (Сумма значений) и щелчком на кнопке Continue вернитесь в первое диалоговое окно.

    Выполните те же действия для двух других переменных агрегирования. Агрегированные данные будут сохранены в новом файле.

    Щелкните на кнопке File... и выберите для нового файла имя pigaggr.sav.

Рис. 8.8: Диалоговое окно Aggregate Data

Рис. 8.9: Диалоговое окно Aggregate Data: Aggregate Function

После щелчка на кнопке Отбудет создан новый файл, содержащий 2 х 8=16 наблюдений и переменные stall, nr, wuehle_l, fresse_l и massag_l.

    Загрузите этот файл и просмотрите его содержимое в редакторе данных.

    Как описано в разделе 13.1, проведите тест Стьюдента для независимых выборок с группирующей переменной stall и тестируемыми переменными fresse_l, massag_l и wuehle_l. Вы получите следующий результат:

Group Statistics (Статистика группы)

Mean (Среднее значение)

Std. Deviation (Стандартное отклонение)

Std. Error Mean (Стандартная ошибка среднего значения)

339,0125 231,6750

98,2384 109,5381

1996,587 1964.600

326,3919 642,5314

115,3970 227,1692

Independent Samples Test (Тест для независимых выборок)

Levne"s Test forEquality of Variancies

(Tecт Левена на равенство дисперсий)

Т-Test for Equality of Means (Тест Стьюдента на равенство средних)

Значи-мость

(дву сторон-няя)

Разность средних

Стан-дартная ошибка разницы

95% доверительный интервал разности

Нижняя и Верхняя

Equal variances assumed (Дис-персии равны) Equal variances not assumed (Дис-персии не равны)

107 ,3375 107 ,3375



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: