Cómo cambiar la fuente de datos de la tabla dinámica en Excel? [cerrado]
-
05-09-2019 - |
Pregunta
Quiero cambiar desde una base de datos a otro.
No parece haber ninguna opciones para hacer esto en el menú contextual de tabla dinámica
Solución 3
haga clic derecho en la tabla dinámica en Excel elegir asistente haga clic en 'atrás' clic 'obtener datos ...' en la ventana de consulta Archivo - Definición de la tabla
A continuación, se puede crear una nueva o elegir una conexión diferente
Otros consejos
Sólo descubierto clic en cualquier lugar de la tabla, y luego ir a las pestañas en la parte superior de la página y seleccione Opciones-Desde allí se verá una selección Cambiar origen de datos.
Parece que esto depende en gran medida de su versión de Excel. Estoy utilizando la versión 2007 y no ofrece ninguna opción del asistente al hacer clic derecho sobre la mesa. Tienes que hacer clic en la tabla dinámica para hacer extra '' Herramientas de tabla dinámica aparecen a la derecha de las otras fichas en la parte superior de la pantalla. Haga clic en la pestaña 'opciones' que aparece a continuación, aquí hay un gran icono en el centro de la cinta llamada 'fuente de datos de cambio'.
Con el fin de cambiar la fuente de datos de la cinta en Excel 2007 ...
Haga clic en la tabla dinámica en la hoja de trabajo. Ir a la cinta donde dice Herramientas de tabla dinámica, pestaña Opciones. Seleccione el botón Cambiar origen de datos. Aparecerá un cuadro de diálogo.
Para obtener el rango correcto y evitar un mensaje de error ... seleccione el contenido del campo existente y eliminarlo, y luego cambiar a la nueva hoja de origen de datos y poner de relieve el área de datos (el cuadro de diálogo se mantendrá por encima de todo ventanas). Una vez que haya seleccionado la nueva fuente de datos correctamente, se rellenará el campo en blanco (que ha borrado antes) en el cuadro de diálogo. Haga clic en Aceptar. Cambie de nuevo a la tabla dinámica y que debería haber actualizado con los nuevos datos de la nueva fuente.
- Haga clic derecho sobre la tabla dinámica, elija Asistente para tablas dinámicas.
- Haga clic en el botón 'atrás' dos veces.
- Elegir origen de datos externo, haga clic en siguiente.
- Haga clic en Obtener datos
- En la primera pestaña, bases de datos la primera opción es 'nuevo origen de datos'
Este complemento va a hacer el truco para ti.
http://www.contextures.com/xlPivotPlayPlus01.html
Se muestra la cadena de conexión, y permite que sea cambiado. No se olvide de cambiar la consulta SQL, así, si es necesario (con la misma herramienta).
ser un poco cuidadoso de cualquier solución que no implique volver a crear la tabla dinámica a partir de cero. Es posible que los nombres de las opciones de sus campos de pivote para obtener fuera de sintonía con los valores que se presentan a la base de datos.
Por ejemplo, en un libro que estoy tratando con la participación de los datos demográficos, si se intenta seleccionar la opción franja de edad "20-24", Excel realidad que se presenta con las cifras de las edades 25-29. No se dirá que está haciendo esto, por supuesto.
Véase más abajo para un enfoque programático (VBA) para el problema que resuelve este problema, entre otros. Creo que es bastante completo / robusto, pero yo no uso de tablas dinámicas es así apreciaría retroalimentación.
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
haga clic derecho en la tabla dinámica en excel elija Asistente clic atrás "clic 'Obtener datos ...' en la ventana de consulta de archivos - Definición de la tabla
A continuación, se puede crear una nueva o elegir una conexión diferente
funcionó a la perfección.
el botón Obtener datos está al lado del pequeño botón con una flecha roja junto al cuadro de entrada de texto gama.
para MS Excel versión Office 2000, haga clic en la tabla dinámica se encuentra una pestaña por encima de la Ribon, llamada herramienta de tabla dinámica - hacer clic en ese Puede cambiar la fuente de datos de la ficha de datos
En el caso de Excel 2007 Puede cambiar el origen de datos en el menú Opciones / Cambiar origen de datos