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

¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top