Resumindo dados

Produzir relatórios agregados de resumo de dados de transação para sistemas de apoio de decisão pode ser uma operação de recurso complexa e intensiva. Os seguintes componentes são as principais ferramentas que os programadores deveriam usar ao executar análise multidimensional de dados do SQL Server:

  • SQL ServerIntegration Services

    O Integration Services dá suporte à extração de dados de transação e a transformação disso em resumo é agregada em um data warehouse ou data mart. Para obter mais informações, consulte Visão geral (Integration Services).

  • SQL ServerAnalysis Services

    O Analysis Services organiza dados de um data warehouse em cubos multidimensionais com informações de resumo pré-calculadas. Essas informações são usadas para fornecer respostas rápidas a consultas analíticas complexas. O PivotTable® Serviçe fornece acesso cliente a dados multidimensionais. O Analysis Services também fornece um conjunto de assistentes para definir as estruturas multidimensionais usadas no processamento de análise, e no Microsoft Management Console Snap-in para administrar as estruturas de análise. Dessa forma, os aplicativos podem usar um conjunto de APIs para analisar os dados do Analysis. Para obter mais informações, consulte Desenvolvendo e implementando com o Business Intelligence Development Studio.

Usando o Transact-SQL em relatórios de resumo simples

Aplicativos que geram relatórios de resumo simples podem usar os seguintes elementos Transact-SQL:

  • Os operadores ROLLUP, CUBE ou GROUPING SETS. Essas são extensões para a cláusula GROUP BY da instrução SELECT. Para obter mais informações, consulte GROUP BY (Transact-SQL)..

  • Os operadores COMPUTE ou COMPUTE BY. Esses também são associados a GROUP BY. Para obter mais informações, consulte Resumindo dados usando COMPUTE e COMPUTE BY.

Esses operadores geram conjuntos de resultados que contêm linhas de detalhe para cada item no conjunto de resultados e linhas de resumo para cada grupo que mostra os totais agregados do grupo em questão. A cláusula GROUP BY pode ser usada para gerar resultados que contêm agregados para cada grupo, mas sem linhas de detalhe.

Os aplicativos deveriam usar o Analysis Services em vez de CUBE, ROLLUP, COMPUTE ou COMPUTE BY. Especificamente, deveriam ser reservados CUBE e ROLLUP para ambientes que não têm acesso a OLE ou ADO, como scripts ou procedimentos armazenados.

Há suporte a COMPUTE e COMPUTE BY para compatibilidade com versões anteriores. O operador ROLLUP é preferível a COMPUTE ou COMPUTE BY. Os valores de resumo gerados por COMPUTE ou COMPUTE BY são retornados como conjuntos de resultados separados intercalados com conjuntos de resultados que retornam as linhas de detalhe de cada grupo, ou um conjunto de resultados que contém os totais anexados depois do conjunto de resultados principal. O controle desses vários conjuntos de resultados aumenta a complexidade do código em um aplicativo. Nem o COMPUTE nem o COMPUTE BY tem suporte a cursores de servidor. Porém, ROLLUP tem suporte a cursores de servidor. CUBE e ROLLUP geram um conjunto de resultados único que contém subtotal incorporado e linhas de total. Às vezes, o otimizador de consulta também pode gerar mais planos de execução eficientes de ROLLUP do que para COMPUTE e COMPUTE BY.

Quando GROUP BY for usado sem esses operadores, ele retornará um conjunto de resultados único com uma linha por grupo que contém os subtotais agregados para o grupo. Não há nenhuma linha de detalhe no conjunto de resultados.

Consulte também

Outros recursos