Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Формирование сводных статистических отчетов о транзакциях для систем поддержки принятия решений может быть сложной и ресурсоемкой операцией. При многомерном анализе данных SQL Server программисты должны использовать в качестве основных инструментов следующие компоненты.
- Службы Integration Services
Службы Integration Services поддерживают извлечение сведений о транзакциях и их преобразование в сводные статистические выражения в хранилище или витрине данных. Дополнительные сведения см. в разделе Обзор служб Integration Services. - Службы Microsoft SQL Server Analysis Services
Службы Analysis Services преобразуют данные из хранилища в многомерные кубы с предварительно вычисленными сводными данными. Эти данные позволяют быстро давать ответы на сложные аналитические запросы. Служба PivotTable(r) Service дает клиентам возможность получить доступ к многомерным данным. Кроме того, в службах Analysis Services предусмотрен набор мастеров для определения многомерных структур, которые используются в аналитической обработке, а также оснастка консоли управления (MMC) для управления аналитическими структурами. Затем приложения могут использовать набор API для анализа данных Analysis Services. Дополнительные сведения см. в разделе Основные понятия и объекты служб Analysis Services
Создание простых сводных отчетов с помощью Transact-SQL
Приложения, формирующие простые сводные отчеты, могут использовать следующие элементы языка Transact-SQL.
- Операторы CUBE и ROLLUP. Оба оператора являются частью предложения GROUP BY инструкции SELECT. Дополнительные сведения см. в разделах Суммирование данных с помощью оператора CUBE и Определение итоговых данных с помощью оператора ROLLUP.
- Операторы COMPUTE и COMPUTE BY. Они также связаны с предложением GROUP BY. Дополнительные сведения см. в разделе Суммирование данных с помощью COMPUTE и COMPUTE BY.
Эти операторы формируют результирующие наборы, которые содержат как строки с подробными сведениями о каждом элементе в наборе, так и сводные строки для каждой группы, где показаны суммы для статистических выражений в каждой группе. С помощью предложения GROUP BY можно формировать результаты, содержащие статистические выражения для каждой группы, но не строки с подробными сведениями.
Вместо операторов CUBE, ROLLUP, COMPUTE и COMPUTE BY приложения должны использовать службы Analysis Services. Конкретнее, операторы CUBE и ROLLUP должны быть зарезервированы для сред, не имеющих доступа к OLE DB или ADO, например, для сценариев или хранимых процедур.
Операторы COMPUTE и COMPUTE BY поддерживаются в целях обратной совместимости. Оператор ROLLUP предпочтительнее COMPUTE и COMPUTE BY. Сводные значения, сформированные операторами COMPUTE и COMPUTE BY, возвращаются как отдельные результирующие наборы, которые чередуются с наборами, содержащими подробные сведения по каждой группе, либо возвращаются как результирующий набор с итоговыми данными, которые добавляются в конец основного результирующего набора. Обработка нескольких таких результирующих наборов увеличивает сложность программного кода в приложении. Ни COMPUTE, ни COMPUTE BY не поддерживаются серверными курсорами. Однако серверные курсоры поддерживают оператор ROLLUP. Операторы CUBE и ROLLUP формируют один результирующий набор, который содержит внедренные строки подытогов и итогов. Кроме того, иногда оптимизатор запросов может формировать для оператора ROLLUP более эффективные планы выполнения, чем для COMPUTE и COMPUTE BY.
Если предложение GROUP BY используется без этих операторов, то оно возвращает единственный результирующий набор с одной строкой на каждую группу, содержащей подытоги статистических выражений этой группы. В этом результирующем наборе отсутствуют строки с подробными сведениями.
См. также
Основные понятия
Управление результирующими наборами