excel - una - no se puede abrir el archivo de origen de la tabla dinamica "
¿Cómo cambiar la fuente de datos de la tabla dinámica en Excel? (10)
Quiero cambiarlo de una base de datos a otra.
No parece haber ninguna opción para hacer esto en el menú contextual de la tabla dinámica
Haga clic con el botón derecho en la tabla dinámica en excel elija el asistente haga clic en "volver" haga clic en "obtener datos ..." en la ventana de consulta Archivo - Tabla Definición
entonces puedes crear una nueva o elegir una conexión diferente
funcionó perfectamente
el botón de obtener datos está al lado del pequeño botón con una flecha roja al lado del cuadro de entrada de texto de rango.
Acabo de descifrarlo: haga clic en cualquier lugar de la tabla, luego vaya a las pestañas en la parte superior de la página y seleccione Opciones; a partir de allí verá una opción Cambiar origen de datos.
En el caso de Excel 2007, puede cambiar el origen de datos en el menú Opciones / Cambiar origen de datos
Este Add-on hará el truco para ti.
http://www.contextures.com/xlPivotPlayPlus01.html
Muestra la cadena de conexión y permite su modificación. No olvide cambiar también el Query SQL, si es necesario (con la misma herramienta).
Haga clic con el botón derecho en la tabla dinámica en excel elija el asistente haga clic en "volver" haga clic en "obtener datos ..." en la ventana de consulta Archivo - Tabla Definición
entonces puedes crear una nueva o elegir una conexión diferente
Para cambiar la fuente de datos de la cinta en excel 2007 ...
Haga clic en su 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 trabajo del origen de datos y resalte el área de datos (el cuadro de diálogo se mantendrá en la parte superior de 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.
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''.
Sea un poco cauteloso 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 de "20-24", Excel en realidad te presenta las cifras de 25 a 29 años. No te dice que está haciendo esto, por supuesto.
Vea 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
para la versión de Office de MS Excel 2000, haga clic en la tabla pivote encontrará una pestaña encima del menú, llamada herramienta Pivottable: haga clic en Puede cambiar el origen de datos en la pestaña Datos
- Haga clic con el botón derecho en la tabla pivote, elija Asistente de tablas dinámicas.
- Haga clic en el botón ''volver'' dos veces.
- Elija Fuente de datos externa, 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''