Consultando grandes bancos de dados com o Excel

2

É possível usar a tabela dinâmica do Excel como um tipo de construtor de consulta em um banco de dados, sem copiar todo o banco de dados no Excel? Eu sei que com o recurso External Data Sources, você pode se conectar a qualquer banco de dados ODBC e criar uma tabela dinâmica com os resultados de qualquer consulta SQL. Mas, pelo menos com o MySQL / ODBC, parece fazer isso copiando todo o conjunto de resultados para a máquina local e executando as consultas localmente.

Existe uma maneira de obter a mesma funcionalidade onde as consultas realmente acontecem no servidor, digamos, usando o Microsoft SQL Server? Meu problema é que eu quero ser capaz de analisar dados usando pivotables, mas toda a tabela de banco de dados é muito grande para carregar no Excel.

    
por Leopd 31.08.2011 / 20:51

1 resposta

3

Mesmo se você copiou o banco de dados inteiro (o que seria incrivelmente grande o mais provável), as tabelas dinâmicas são lentas . Levaria muito tempo para que a tabela dinâmica passasse por todos os dados e exibisse qualquer coisa inicialmente (estou trabalhando com uma tabela dinâmica de 30k linhas e 20 colunas, e leva mais de 10 minutos para carregar o arquivo arquivo).

É impossível usar uma tabela dinâmica com qualquer outra coisa que não seja um intervalo definido de valores do Excel ou uma consulta, mas todo o conjunto de resultados precisa ser buscado primeiro. Mesmo se fosse possível usar uma tabela dinâmica diretamente com o banco de dados, as tabelas dinâmicas precisariam passar por cada linha de dados para analisá-la - efetivamente baixando o banco de dados inteiro de qualquer maneira.

Se você precisar da funcionalidade da tabela dinâmica em suas consultas, consulte os comandos PIVOT e UNPIVOT para MS SQL , ou se você estiver usando o MS Access, tente usar uma consulta de tabulação cruzada para você começar. Como último recurso, basta filtrar as linhas e colunas que você não precisa do banco de dados antes de iniciar sua tabela dinâmica.

    
por 31.08.2011 / 21:06