Como mudar pivot fonte de dados tabela no Excel? [fechadas]
-
05-09-2019 - |
Pergunta
Eu quero mudá-lo de um banco para outro.
Há não parecem ser quaisquer opções para fazer isso no menu de contexto de tabela dinâmica
Solução 3
clique direito sobre a tabela dinâmica no Excel escolher assistente clique 'voltar' clique 'obter dados ...' na janela de consulta Arquivo - Definição Tabela
então você pode criar um novo ou escolher uma conexão diferente
Outras dicas
Apenas percebi isso clique em qualquer lugar na tabela, em seguida, ir para as guias na parte superior da página e selecione Opções-de lá você verá uma seleção Alterar fonte de dados.
Parece que este depende fortemente da sua versão do Excel. Eu estou usando a versão 2007 e não oferece nenhuma opção de assistente quando você clique direito sobre a mesa. Você precisa clicar na tabela dinâmica para fazer extra 'Ferramentas de Tabela Dinâmica' aparecem à direita dos outros guias na parte superior da tela. Clique na guia 'opções' que aparece aqui, então há uma grande ícone no meio da fita chamada 'fonte de dados de alteração'.
A fim de mudar a fonte de dados a partir da fita no Excel 2007 ...
Clique na sua tabela dinâmica na planilha. Ir para a fita onde diz Tools Pivot Table, Guia Opções. Selecione o botão Alterar Fonte de Dados. Uma caixa de diálogo aparecerá.
Para obter a faixa direita e evitar uma mensagem de erro ... selecionar o conteúdo do campo existente e excluí-lo, em seguida, mudar para a nova planilha fonte de dados e destacar a área de dados (caixa de diálogo vai ficar em cima de tudo janelas). Depois de selecionar a nova fonte de dados corretamente, ele irá preencher o campo em branco (que você excluído antes) na caixa de diálogo. Clique OK. Volte para sua tabela dinâmica e deveria ter atualizado com os novos dados da nova fonte.
- clique direito do mouse sobre a tabela dinâmica, escolha Assistente de tabela dinâmica.
- Clique no botão 'voltar' duas vezes.
- Escolha da origem de dados externos, clique em Próximo.
- Clique em Obter dados
- Na primeira guia, bancos de dados a primeira opção é 'nova fonte de dados'
Este add-on irá fazer o truque para você.
http://www.contextures.com/xlPivotPlayPlus01.html
Mostra a string de conexão e permite que ele seja alterado. Não se esqueça de alterar a consulta SQL, bem como, se necessário (com a mesma ferramenta).
Seja um pouco cauteloso em qualquer solução que não envolve re-criar a tabela dinâmica a partir do zero. É possível que nomes de opção os seus campos de articulação para sair da sincronia com os valores que eles apresentam ao banco de dados.
Por exemplo, em uma pasta de trabalho que eu estou lidando com envolvendo dados demográficos, se você tentar selecionar a opção "20-24" faixa etária, Excel, na verdade apresenta-o com os números para as idades 25-29. Ele não lhe diz que está fazendo isso, é claro.
Veja abaixo uma programático (VBA) abordagem para o problema que resolve esta questão entre outros. Eu acho que é bastante completo / robusta, mas eu não usar tabelas dinâmicas muito assim gostaria de receber feedback.
Sub SwapSources()
strOldSource = "2010 Data"
strNewSource = "2009 Data"
Dim tmpArrOut
For Each wsh In ThisWorkbook.Worksheets
For Each pvt In wsh.PivotTables
tmpArrIn = pvt.SourceData
' row 1 of SourceData is the connection string.
' rows 2+ are the SQL code broken down into 255-byte chunks.
' we need to concatenate rows 2+, replace, and then split them up again
strSource1 = tmpArrIn(LBound(tmpArrIn))
strSource2 = ""
For ii = LBound(tmpArrIn) + 1 To UBound(tmpArrIn)
strSource2 = strSource2 & tmpArrIn(ii)
Next ii
strSource1 = Replace(strSource1, strOldSource, strNewSource)
strSource2 = Replace(strSource2, strOldSource, strNewSource)
ReDim tmpArrOut(1 To Int(Len(strSource2) / 255) + 2)
tmpArrOut(LBound(tmpArrOut)) = strSource1
For ii = LBound(tmpArrOut) + 1 To UBound(tmpArrOut)
tmpArrOut(ii) = Mid(strSource2, 255 * (ii - 2) + 1, 255)
Next ii
' if the replacement SQL is invalid, the PivotTable object will throw an error
Err.Clear
On Error Resume Next
pvt.SourceData = tmpArrOut
On Error GoTo 0
If Err.Number <> 0 Then
MsgBox "Problems changing SQL for table " & wsh.Name & "!" & pvt.Name
pvt.SourceData = tmpArrIn ' revert
ElseIf pvt.RefreshTable <> True Then
MsgBox "Problems refreshing table " & wsh.Name & "!" & pvt.Name
Else
' table is now refreshed
' need to ensure that the "display name" for each pivot option matches
' the actual value that will be fed to the database. It is possible for
' these to get out of sync.
For Each pvf In pvt.PivotFields
'pvf.Name = pvf.SourceName
If Not IsError(pvf.SourceName) Then ' a broken field may have no SourceName
mismatches = 0
For Each pvi In pvf.PivotItems
If pvi.Name <> pvi.SourceName Then
mismatches = mismatches + 1
pvi.Name = "_mismatch" & CStr(mismatches)
End If
Next pvi
If mismatches > 0 Then
For Each pvi In pvf.PivotItems
If pvi.Name <> pvi.SourceName Then
pvi.Name = pvi.SourceName
End If
Next
End If
End If
Next pvf
End If
Next pvt
Next wsh
End Sub
clique direito sobre a tabela dinâmica em excel escolher clique em Assistente de clique 'voltar' 'Obter dados ...' na janela de arquivo de consulta - Definição Tabela
então você pode criar um novo ou escolher um conexão diferente
funcionou perfeitamente.
no botão Obter dados fica ao lado do pequeno botão com uma seta vermelha ao lado da caixa de entrada de texto do intervalo.
para MS Excel versão do Office 2000, clique em tabela dinâmica você vai encontrar um guia acima do ribon, chamada ferramenta de tabela dinâmica - clique sobre esse Você pode alterar a fonte de dados de guia Dados
Em caso de Excel 2007 Você pode mudar de fonte de dados no menu Opções / Alterar Fonte de Dados