Quiero cambiarlo de una base de datos a otra.¿Cómo cambiar la fuente de datos de la tabla dinámica en Excel?
No parece haber ninguna opciones para hacer esto en el menú contextual de tabla dinámica
Quiero cambiarlo de una base de datos a otra.¿Cómo cambiar la fuente de datos de la tabla dinámica en Excel?
No parece haber ninguna opciones para hacer esto en el menú contextual de tabla dinámica
haga clic derecho en la tabla dinámica en Excel elegir asistente clic atrás ' 'clic obtener datos ... ' en la ventana de consulta archivo - Definición de la tabla
a continuación, puede crear una nueva o elegir una conexión diferente
no existe dicha opción de menú en Excel 2007 – Sam
Esto no funciona. No hay un botón getdata en la página 'elegir fuente de datos externa' del asistente. Y si hace clic en "obtener datos" en la página siguiente, no hay una forma inmediata obvia de editar la conexión –
Enmendado, consulte el último punto. – Bravax
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 olvide cambiar también el Query SQL, si es necesario (con la misma herramienta).
haga clic derecho en la tabla dinámica en Excel elegir asistente clic atrás "clic 'obtener datos ...' en la consulta ventana Archivo - Definición de la tabla
a continuación, puede crear un nuevo o elija una conexión diferente
funcionó perfectamente.
el botón de obtener datos está al lado del botón con una flecha roja al lado del cuadro de entrada de texto de rango.
Acabo de averiguarlo haciendo clic en cualquier parte de la tabla, luego vaya a las pestañas en la parte superior de la página y seleccione Opciones: desde allí verá una opción Cambiar origen de datos.
Parece que esto depende en gran medida de su versión de Excel. Estoy usando la versión 2007 y no ofrece ninguna opción de asistente cuando haces clic derecho en la tabla. Debe hacer clic en la tabla dinámica para que aparezcan más 'Herramientas de tabla dinámica' a la derecha de las otras pestañas en la parte superior de la pantalla. Haga clic en la pestaña 'opciones' que aparece aquí, luego hay un gran icono en el medio de la cinta llamada 'cambiar fuente de datos'.
para MS Excel versión Office 2000, clic en la tabla dinámica se encuentra una pestaña por encima de la Ribon, llamada herramienta de tabla dinámica - clic en ese Puede cambiar la fuente de datos de la ficha de datos
En caso de Excel 2007 Puede cambiar el origen de datos en el menú Opciones/Cambiar origen de datos
Tenga cuidado con cualquier solución que no implique volver a crear la tabla dinámica desde cero. Es posible que los nombres de opciones de sus campos pivote no se sincronicen con los valores que presentan a la base de datos.
Por ejemplo, en un libro de trabajo que estoy tratando con datos demográficos, si intentas seleccionar la opción de banda de edad "20-24", Excel realmente te presenta las cifras de edades 25-29. No te dice que está haciendo esto, por supuesto.
Consulte a continuación un enfoque programático (VBA) para el problema que resuelve este problema, entre otros. Creo que es bastante completo/robusto, pero no uso PivotTables mucho, por lo que agradecería recibir comentarios.
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
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. Vaya a la cinta donde dice Herramientas de la tabla pivote, pestaña Opciones. Seleccione el botón Cambiar origen de datos. Un cuadro de diálogo aparecerá.
Para obtener el rango correcto y evitar un mensaje de error ... seleccione el contenido del campo existente y elimínelo, luego cambie a la nueva hoja de datos y resalte el área de datos (el cuadro de diálogo se mantendrá en la parte superior todas las ventanas). Una vez que haya seleccionado la nueva fuente de datos correctamente, rellenará el campo en blanco (que eliminó antes) en el cuadro de diálogo. Haga clic en Aceptar. Vuelva a su tabla dinámica y debería haberse actualizado con los nuevos datos de la nueva fuente.
¿Cómo está fuera de tema? Soy un desarrollador de BI y parece que muchas otras personas han estado buscando la misma respuesta. –