SQL Server и Business Intelligence

Подкатегории

Введение в Business Intelligence

Целью этого раздела является ознакомление вас с важной областью технологии баз данных - интеллектуальными ресурсами (business intelligence, бизнес-аналитика). Сначала объясняются различия между оперативной обработкой транзакций (online transaction processing, OLTP), с одной стороны, и бизнес-аналитикой, с другой стороны. Складом данных для процесса бизнес-аналитики может быть хранилище данных (data warehouse) или киоск данных (data mart). Обсуждаются оба типа, а затем описываются их отличия.

Просмотреть материалы...

Microsoft Analysis Services

Microsoft Analysis Services является группой сервисов, которые используются для управления данными, находящимися в хранилище данных или в киоске данных. Analysis Services преобразует данные из хранилища данных в многомерные кубы с агрегатами, для того чтобы дать возможность создавать замысловатые отчеты и сложные запросы. Ключевыми особенностями Analysis Services являются: простота использования; гибкость модели данных; поддержка некоторых API. Analysis Services предоставляет мастеров для большинства задач, которые выполняются в процессе проектирования и реализации хранилища данных. Например, Data Source Wizard позволяет задавать один или более источников данных, в то время как Cube Wizard используется для создания многомерных кубов, где хранятся агрегатные данные.

Просмотреть материалы...

Business Intelligence и Transact-SQL

До версии SQL Server 2000 язык Transact-SQL не выполнял достаточно хорошо сложный анализ данных. С самого начала Transact-SQL предоставлял некоторые агрегатные функции, которые могли быть использованы для вычисления простых обобщений данных, а также предложение group by, которое позволяло выполнять элементарную группировку данных. SQL Server 2000 был первой версией SQL Server, которая предоставляла сложные возможности анализа данных, такие как оператор cube и предложение top. SQL Server 2005 значительно расширил эти возможности, введя функции упорядочения и некоторые реляционные операторы. SQL Server 2008 вводит стандартизованный синтаксис для операторов rollup и cube, а также для группировки наборов, что позволяет выполнять вычисления для групп некоторых различных наборов по столбцам группирования.

Просмотреть материалы...

Microsoft Reporting Services

В этом разделе описывается инструмент создания промышленных отчетов в SQL Server, называемый Reporting Services. В начале главы обсуждается общая структура отчета и объясняются основные компоненты Reporting Services. После этого вы увидите, как можно создавать отчеты с помощью мастера Report Server Project Wizard. Затем будет рассмотрена обработка отчета. Под конец будут показаны различные способы поставки спроектированного и развернутого отчета.

Просмотреть материалы...

Техники оптимизации для бизнес-аналитики

В этом разделе описываются две техники оптимизации, связанные с ROLAP. Иными словами, эти техники могут быть применены только по отношению к хранению многомерных данных. В начале этой главы обсуждается, когда имеет смысл хранить все экземпляры сущности в одной таблице, а когда лучшим решением с точки зрения производительности - в разделенных таблицах данных. После общего введения даются способы, которые можно использовать для разделения данных. Помимо общих правил разделения данных В этом разделе описываются улучшения в SQL Server 2008, связанные с этими техниками. Затем подробно объясняется техника оптимизации запросов, называемая схемой «звезда». Будут представлены преимущества этой техники, а также использование фильтров битовых образов.

Просмотреть материалы...
Оценить
(0 голоса)
Пробовали ли вы когда-нибудь писать запрос на Transact-SQL, который вычисляет изменения значений в процентах между двумя последними кварталами? Или запрос, который выполняет накапливаемое суммирование либо скользящее агрегирование? Если вы пытались это делать, то знаете, насколько сложные эти задачи. Сегодня вам больше не нужно их выполнять. Стандарт SQL: 1999 был приспособлен к набору функций оперативного анализа данных (Online Analytical Processing, OLAP), которые позволяют просто выполнять эти вычисления, так же как и множество других вычислений, которые являются слишком сложными в реализации. Эта часть стандарта SQL называется SQL/OLAP. SQL/OLAP включает все функции и операторы, которые используются для анализа данных. Применение функций OLAP для…
Оценить
(0 голоса)
Наиболее важным расширением языка Transact-SQL, связанным с анализом данных, является конструкция окна. Окно (в связи с SQL/OLAP) определяет разделенный набор строк, к которому применяется функция. Количество строк, принадлежащих окну, динамически определяется в зависимости от спецификаций пользователя. Конструкция окна задается с использованием предложения over. Стандартизованная конструкция окна имеет три основные части: ♦ разбиение на разделы; ♦ упорядочение; ♦ группирование агрегатов. Прежде чем вы начнете разбираться в конструкции окна и ее частей, взгляните на таблицы, которые будут использоваться в примерах. В примере 24.1 создается таблица project_dept, показанная в табл. 24.1, которая используется В этом разделе для демонстрации расширений Transact-SQL, связанных с SQL/OLAP.…
Оценить
(0 голоса)
Разбиение на разделы позволяет разделить результирующий набор запроса на группы, так что каждая строка раздела будет отображаться отдельно. Если разделы не заданы, то весь набор строк будет принадлежать одному разделу. Хотя разбиение на разделы и выглядит как группирование с использованием предложения group by, это не является тем же самым. Предложение group by сворачивает строки раздела в одну строку, в то время как разбиение на разделы в конструкции окна просто организует строки в группы без их сворачивания. Следующие два примера показывают различия между разбиением на разделы с использованием конструкции окна и группированием при использовании предложения group by. Предположим, что вы хотите…
Оценить
(0 голоса)
Упорядочение в конструкции окна похоже на упорядочение в запросе. Во-первых, вы используете предложение order by для задания конкретного порядка строк в результирующем наборе. Во-вторых, это предложение включает список ключей сортировки и указывает, в каком порядке они должны быть отсортированы - по возрастанию или по убыванию значений. Наиболее важным отличием является то, что порядок внутри окна применим только к каждому разделу. SQL Server 2008 не поддерживает упорядочение внутри конструкции окна для агрегатных функций. Другими словами, предложение over для агрегатных функций может содержать только предложение partition by. (Назло этому ограничению упорядочение внутри окна работает для функций ранжирования.) Пример 24.5, который поддерживается стандартом…
Оценить
(0 голоса)
Transact-SQL расширяет предложение group by следующими операторами: ♦ cube; ♦ rollup; ♦ grouping sets. Предложение group by также имеет дополнительную функцию grouping, которая будет рассмотрена после только что упомянутых операторов.
Оценить
(0 голоса)
В этом разделе будут рассмотрены различия между группированием с использованием предложения group by и группированием с применением group by в комбинации с оператором cube. Основное отличие заключается в том, что предложение group by определяет один или более столбцов в качестве группы, где все строки в любой группе имеют те же значения для тех же столбцов, cube и rollup предоставляют дополнительные итоговые строки для группируемых данных. Эти итоговые строки также называются многомерными итогами. Следующие два примера демонстрируют эти отличия. В примере 24.8 применяется предложение group by для группирования строк таблицы projectdept на основе двух критериев: столбцов deptname и empcnt.   Основным…
Оценить
(0 голоса)
В отличие от оператора cube, который возвращает любую возможную комбинацию групп и итоговых строк, иерархия групп, использующая rollup, определена в порядке, в котором заданы группируемые столбцы. В примере 24.11 показано использование оператора rollup.    
Оценить
(0 голоса)
Как вы уже знаете, значение null используется в комбинации cube и rollup для задания заменителя значений ненужных столбцов. В этом случае нельзя отличить null в отношении cube и rollup от значения null. Transact-SQL поддерживает стандартизованную функцию grouping, которая позволяет разрешить проблему с двусмысленностью null. Функция grouping возвращает 1, если null в результирующем наборе связан с cube или rollup, и 0, если он представляет группу значений null. В примере 24.12 показано использование функции grouping:   Если вы посмотрите на сгруппированный столбец (gr), то увидите, что в нем присутствуют 0 и 1. Значение 1 указывает, что соответствующий null в столбце empcnt задает…
Оценить
(0 голоса)
Группирование наборов является расширением предложения group by, которое дает возможность пользователям определять несколько групп в одном и том же запросе. Вы используете оператор grouping sets для реализации сгруппированных наборов. В примере 24.13 показано использование этого оператора.     Как вы можете видеть в результирующем наборе примера 24.13, запрос применяет две различные группировки для вычисления суммы бюджетов: вначале выполняется комбинация значений столбцов dept_name и empcnt, а затем используются значения одного столбца deptname. Вы можете использовать серию сгруппированных наборов, заменяя операторы rollup и cube. Например, следующая серия сгруппированных наборов group by grouping sets  ((dept_name, emp_cnt),   (dept_name),   ()) эквивалентна предложению rollup: group by…
Оценить
(0 голоса)
Transact-SQL поддерживает две группы функций, которые являются функциями запросов OLAP: ♦ функции упорядочения; ♦ статистические агрегатные функции. Следующие подразделы описывают эти функции.
© 2018 www.serversql.ru. Все права защищены.