web-dev-qa-db-de.com

Wie ändere ich die Datenquelle der Pivot-Tabelle in Excel?

Ich möchte es von einer Datenbank in eine andere ändern.

Im Kontextmenü der Pivot-Tabelle gibt es anscheinend keine entsprechenden Optionen

24
adolf garlic

klicken Sie mit der rechten Maustaste auf die Pivot-Tabelle in Excel. Wählen Sie den Assistenten. Klicken Sie auf 'Zurück'. Klicken Sie auf 'Daten abrufen ...' im Abfragefenster Datei - Tabellendefinition

dann können Sie eine neue Verbindung erstellen oder eine andere auswählen

3
adolf garlic

Klicken Sie einfach mit der Maus auf eine beliebige Stelle in der Tabelle, gehen Sie zu den Registerkarten oben auf der Seite und wählen Sie Optionen. Von dort wird eine Auswahl zum Ändern der Datenquelle angezeigt.

21
Zoe

Das hängt stark von Ihrer Excel-Version ab. Ich verwende die Version 2007 und es bietet keine Assistentenoption an, wenn Sie mit der rechten Maustaste auf die Tabelle klicken. Sie müssen auf die Pivot-Tabelle klicken, damit rechts neben den anderen Registerkarten am oberen Bildschirmrand zusätzliche PivotTable-Tools angezeigt werden. Klicken Sie auf die Registerkarte "Optionen", die hier angezeigt wird. In der Mitte des Menübands befindet sich ein großes Symbol mit dem Namen "Datenquelle ändern".

6
Bilge Rat

Um die Datenquelle aus dem Menüband in Excel 2007 zu ändern ...

Klicken Sie im Arbeitsblatt auf Ihre Pivot-Tabelle. Wechseln Sie zu der Multifunktionsleiste mit der Aufschrift Pivot Table Tools, Options Tab. Klicken Sie auf die Schaltfläche Datenquelle ändern. Ein Dialogfeld wird angezeigt.

Um den richtigen Bereich zu ermitteln und eine Fehlermeldung zu vermeiden ... wählen Sie den Inhalt des vorhandenen Felds aus und löschen Sie es. Wechseln Sie dann zum neuen Datenquellen-Arbeitsblatt und markieren Sie den Datenbereich (das Dialogfeld bleibt in allen Fenstern im Vordergrund). Sobald Sie die neue Datenquelle korrekt ausgewählt haben, wird das leere Feld (das Sie zuvor gelöscht haben) im Dialogfeld ausgefüllt. OK klicken. Wechseln Sie zurück zu Ihrer Pivot-Tabelle, und sie sollte mit den neuen Daten aus der neuen Quelle aktualisiert worden sein.

3
Angelcakes

Dieses Add-on erledigt den Trick für Sie.

http://www.contextures.com/xlPivotPlayPlus01.html

Hier wird die Verbindungszeichenfolge angezeigt und kann geändert werden. Vergessen Sie nicht, bei Bedarf auch die Abfrage-SQL zu ändern (mit demselben Tool).

2
Peter Runhardt
  • Klicken Sie mit der rechten Maustaste auf die Pivot-Tabelle, und wählen Sie PivotTable-Assistent.
  • Klicken Sie zweimal auf die Schaltfläche "Zurück".
  • Wählen Sie Externe Datenquelle und klicken Sie auf Weiter.
  • Klicken Sie auf Daten abrufen
  • In der ersten Registerkarte "Datenbanken" ist die erste Option "Neue Datenquelle".
2
Bravax

Seien Sie vorsichtig bei Lösungen, bei denen die PivotTable nicht von Grund auf neu erstellt wird. Es ist möglich, dass die Optionsnamen Ihrer Pivot-Felder nicht mehr mit den Werten übereinstimmen, die sie in der Datenbank darstellen.

Wenn Sie beispielsweise in einer Arbeitsmappe mit demografischen Daten versuchen, die Altersgruppenoption "20-24" auszuwählen, zeigt Excel die Zahlen für die Altersgruppen 25-29 an. Es sagt dir natürlich nicht, dass es das tut.

Im Folgenden finden Sie einen programmatischen Ansatz (VBA) für das Problem, mit dem dieses Problem unter anderem behoben wird. Ich denke, es ist ziemlich vollständig/robust, aber ich benutze PivotTables nicht so sehr, würde mich über Feedback freuen.

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
2
Alex Labram

klicken Sie für die Office-Version von MS Excel 2000 auf die Pivot-Tabelle. Über der Multifunktionsleiste befindet sich eine Registerkarte mit der Bezeichnung Schwenkbares Werkzeug. Klicken Sie auf die Registerkarte Daten, um die Datenquelle zu ändern

1
sreejith.vk

Im Falle von Excel 2007 können Sie die Datenquelle im Menü Optionen/Datenquelle ändern ändern

1
Peter Horvath

klicken Sie mit der rechten Maustaste auf die Pivot-Tabelle in Excel. Wählen Sie den Assistenten. Klicken Sie auf 'Zurück'. Klicken Sie auf 'Daten abrufen ...' im Abfragefenster Datei - Tabellendefinition

dann können Sie eine neue Verbindung erstellen oder eine andere auswählen

hat einwandfrei funktioniert.

die Schaltfläche zum Abrufen von Daten befindet sich neben der kleinen Schaltfläche mit einem roten Pfeil neben dem Bereichstext-Eingabefeld.

1
ryan