No Excel 2016, posso criar uma conexão com um banco de dados Oracle (via ODBC) usando o Microsoft Query ou o Assistente de Conexão.
Criar uma conexão usando um desses métodos funciona conforme o esperado. Os dados externos são trazidos para uma planilha como uma tabela. E uma conexão é criada.
Em seguida, quero reutilizar a conexão ao criar tabelas dinâmicas.
Opção 1:
Clique em uma célula na tabela do Excel e insira uma tabela dinâmica com base nessa tabela/intervalo nomeado.
Isso tecnicamente funciona; a Tabela Dinâmica referencia diretamente a tabela/intervalo do Excel.
Mas parece haver uma peculiaridade: para atualizar os dados na tabela dinâmica, preciso pressionar Refresh All
duas vezes . Se eu acertar apenas Refresh All
uma vez, apenas a tabela será atualizada, não a Tabela Dinâmica.
Essa peculiaridade é confusa para os usuários. A tabela e a tabela dinâmica ficam fora de sincronia se Refresh All
forem clicadas apenas uma vez. Então estou explorando opções alternativas.
Relacionado: "Quando você atualiza tudo, todas as atualizações são iniciadas em paralelo."
Opção 2:
Quero tentar reutilizar a conexão ao criar uma nova tabela dinâmica do zero. Em vez de usar a opção #1 (clicking a cell within the table and inserting a PivotTable based on that named table/range)
, posso clicar fora da tabela e inserir uma tabela dinâmica para criar uma tabela dinâmica selecionando manualmente a conexão existente.
Quando eu faço isso, tecnicamente funciona.
Mas quando olho para a lista de conexões da pasta de trabalho, vejo que o Excel realmente fez uma cópia da conexão, em vez de simplesmente usar a conexão existente.
Não é isso que eu quero; Quero reutilizar a conexão para evitar a criação de várias conexões redundantes. Eu tenho várias Tabelas Dinâmicas que quero fazer, e todas fariam referência aos mesmos dados subjacentes do Oracle (a tabela também faz referência aos mesmos dados). Portanto, não tenho motivos para fazer várias conexões idênticas.
Pergunta:
Existe uma maneira de reutilizar uma conexão de fonte de dados externa existente para uma tabela dinâmica? (sem criar uma conexão duplicada)
Parece que posso resolver o problema de atualização dupla na Opção 1 desabilitando a
Enable background refresh
configuração nas propriedades da conexão:Agora, apenas uma única atualização é necessária.
Então eu posso usar a Opção #1, tornando a Opção #2 desnecessária.