Come cambiare perno origine dati tabella in Excel? [chiuso]
-
05-09-2019 - |
Domanda
Voglio cambiare da un database all'altro.
Non sembrano essere le opzioni per fare questo sul menu di scelta rapida tabella pivot
Soluzione 3
tasto destro del mouse sulla tabella pivot in Excel scegliere wizard fare clic su 'indietro' fare clic su 'ottenere i dati ...' nella finestra di query File - Table Definition
allora si può creare un nuovo o scegliere un'altra connessione
Altri suggerimenti
Basta capito clic in qualsiasi parte del tavolo, poi andare alle schede nella parte superiore della pagina e selezionare Opzioni-da lì si vedrà una selezione Change Data Source.
Sembra che questo dipende in larga misura la versione di Excel. Sto usando la versione 2007 e non offre alcuna opzione di procedura guidata quando si fa clic sul tavolo. È necessario fare clic sul tabella pivot per fare apparire extra 'Strumenti tabella pivot' alla destra delle altre schede nella parte superiore dello schermo. Fare clic sulla scheda 'Opzioni' che appare qui poi c'è una grande icona al centro del nastro di nome 'origine dei dati di cambiamento'.
Al fine di modificare l'origine dati dal nastro in Excel 2007 ...
Clicca sul tabella pivot nel foglio di lavoro. Vai al nastro in cui si dice Strumenti tabella pivot, scheda Opzioni. Selezionare il pulsante Modifica origine dati. Apparirà una finestra di dialogo.
Per ottenere la gamma a destra ed evitare un messaggio di errore ... selezionare il contenuto del campo esistente ed eliminarlo, poi passare al nuovo foglio di lavoro di origine dati ed evidenziare l'area di dati (la finestra di dialogo rimarrà in cima a tutte finestre). Dopo aver selezionato la nuova sorgente di dati in modo corretto, si riempirà nel campo vuoto (che si è eliminato in precedenza) nella finestra di dialogo. Fare clic su OK. Passa di nuovo al vostro tabella pivot e avrebbe dovuto aggiornato con i nuovi dati dalla nuova sorgente.
- Fare clic destro sulla tabella pivot, selezionare Tabella pivot guidata.
- Fare clic sul pulsante 'Indietro' due volte.
- Scegli origine dati esterni, fare clic su Avanti.
- Fare clic su Dati
- Nella prima scheda, Basi dati la prima opzione è 'nuova origine dati'
Questo componente aggiuntivo farà il trucco per voi.
http://www.contextures.com/xlPivotPlayPlus01.html
Indica la stringa di connessione, e permette di essere cambiato. Non dimenticare di modificare la query SQL, nonché, se necessario (con lo stesso strumento).
Essere un po 'diffidente di qualsiasi soluzione che non comporta ricreare la tabella pivot da zero. E 'possibile per i nomi delle opzioni vostri campi pivot per ottenere fuori sincrono con i valori che essi presentano al database.
Per esempio, in una cartella di lavoro ho a che fare con relative ai dati demografici, se si tenta di selezionare l'opzione fascia di età "20-24", Excel in realtà si presenta con i dati per le età 25-29. Non dirà che sta facendo questo, naturalmente.
Vedi sotto per un approccio programmatico (VBA) per il problema che risolve questo problema tra gli altri. Penso che sia abbastanza completo / robusta, ma io non uso le tabelle pivot tanto apprezzerebbe 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
tasto destro del mouse sulla tabella pivot in excel scegliere procedura guidata fare clic su 'Indietro' click 'Ottenere i dati ...' nella finestra di file di query - Table Definition
allora si può creare un nuovo o di scegliere un connessione diversa
ha funzionato perfettamente.
il pulsante Get Data è accanto al pulsante minuscolo con una freccia rossa accanto alla casella di input gamma di testo.
per MS Excel versione Office 2000, cliccare sulla tabella pivot troverete una scheda al di sopra del Ribon, chiamato strumento di tabella pivot - cliccare su quel È possibile cambiare sorgente di dati da scheda Dati
In caso di Excel 2007 è possibile modificare un'origine dati nel menu Opzioni / Change Data Source