Externe Datenquelle für PT einbinden

31/08/2007 - 16:47 von Frank Vellner | Report spam
Liebe Gruppe,

1) ist es möglich, die Excel Datei zu àndern, die als "externe
Datenquelle" für eine PT genutzt wird?

2) ist mein Weg zur Einbindung von "externe Datenquellen" für meine
Zwecke der richtige?

zu 1) Auf anraten von Thomas Ramel in ""verhunzte" Excel-Dateien bei
großen PTs" möchte ich nun eine "Master-Datei" (Excel2003) erstellen.
Dort sollen einige Master-PTs enthalten sein, jedoch nicht die
Datenquelle der PT.

Diese Master-Datei soll nun die Daten für die PTs über eine "Externe
Datenquelle" (=Excel-Datei mit Quelldaten) beziehen. Für jede neue
Auswertung möchte ich eine Kopie dieser Master-Datei erstellen und dann
nur noch die Datenquelle àndern.

Bei meinem ersten Experiment dazu bin ich schon gleich an letzterem
gescheitet. Ich fand keine Möglichkeit, für eine PT (die schon externe
Daten bezieht) eine neue Externe Datenquelle festzulegen. Der Dialog
zur Auswahl der Datei wird schlicht gar nicht eingeblendet. Nur einen
anderen Bereich aus der bestehenden Datenquelle könnte ich auswàhlen,
nicht aber eine neue Datei als Datenquelle. Übersehe ich da etwas?

zu 2) Ich wàhle am Anfang des PT-Assistenten "Externe Datenquelle",
dann "Daten importieren" (nicht das ODC-Zeugs). Dort wàhle ich bei
Datenquelle auswàhlen Excel-Datei. In dem kleinen
Dateiauswahlfenderchen wàhle ich die Datei mit den zu analysierenden
Daten aus. Dann kommt der Query-Assistent.

Dort wàhle ich wohl am einfachsten einen benannten Bereich in der
Datenquelle aus, den ich zuvor dort sinnvoller Weise festgelegt habe.
Dann im Query-Assistent bis zum Ende Weiterklicken. Dort "Daten an
Microsoft Office Excel zurückgeben" (auch "als Abfrage speichern?), den
Assistenten beenden und auch den PT-Assistent beenden. Soweit korrekt?

Viele Grüße
Frank
 

Lesen sie die antworten

#1 Thomas Ramel
31/08/2007 - 21:22 | Warnen spam
Grüezi Frank auch hier :-)

Frank Vellner schrieb am 31.08.2007

1) ist es möglich, die Excel Datei zu àndern, die als "externe
Datenquelle" für eine PT genutzt wird?



Ja ist es - allerdings 'nur' per VBA oder über den Rückwàrts-Weg per
MS-Query.

2) ist mein Weg zur Einbindung von "externe Datenquellen" für meine
Zwecke der richtige?

zu 1) Auf anraten von Thomas Ramel in ""verhunzte" Excel-Dateien bei
großen PTs" möchte ich nun eine "Master-Datei" (Excel2003) erstellen.
Dort sollen einige Master-PTs enthalten sein, jedoch nicht die
Datenquelle der PT.



Wie hast Du diese Master-PTs aufgebaut?
Beruhen sie alle auf demselben gemeinsamen Pivot-Cache?
Wenn alle die gleichen Grund-Daten haben die Du einfach anders auswerten
willst macht das IMO sehr viel Sinn, da Du dann nur diese Daten und nur
einmal austauschen musst.

Diese Master-Datei soll nun die Daten für die PTs über eine "Externe
Datenquelle" (=Excel-Datei mit Quelldaten) beziehen. Für jede neue
Auswertung möchte ich eine Kopie dieser Master-Datei erstellen und dann
nur noch die Datenquelle àndern.



Ja, das macht IMO Sinn, vor allem wenn, wie oben gesagt, alle PTs auf
denselben Cache zugreifen.
Zu Bedenken ist auch, dass die Datenstruktur der neuen Daten den bisherigen
entsprechen sollte, um den Aufbau der bestehenden PTs gleich mit zu
übernehmen und zu erhalten.
Wenn die Spalten in der neuen Quelle andere Namen haben werden die
bisherigen PTs durcheinander geworfen. Das ist ja aber auch bei PTs mit
Datenquellen in der gleichen Mappe der Fall.

Bei meinem ersten Experiment dazu bin ich schon gleich an letzterem
gescheitet. Ich fand keine Möglichkeit, für eine PT (die schon externe
Daten bezieht) eine neue Externe Datenquelle festzulegen. Der Dialog
zur Auswahl der Datei wird schlicht gar nicht eingeblendet. Nur einen
anderen Bereich aus der bestehenden Datenquelle könnte ich auswàhlen,
nicht aber eine neue Datei als Datenquelle. Übersehe ich da etwas?



IMO müsstest Du zurück zu MS-Query gelangen wenn Du die Schritte im
Assistenten retour gehst. Es kann aber auch sein, dass dies nach dem
Schliessen und erneuten Öffnen der Mappe nicht mehr klappt - ich hatte es
nur unmittelbar nach dem Erstellen der PT versucht.

zu 2) Ich wàhle am Anfang des PT-Assistenten "Externe Datenquelle",
dann "Daten importieren" (nicht das ODC-Zeugs). Dort wàhle ich bei
Datenquelle auswàhlen Excel-Datei. In dem kleinen
Dateiauswahlfenderchen wàhle ich die Datei mit den zu analysierenden
Daten aus. Dann kommt der Query-Assistent.

Dort wàhle ich wohl am einfachsten einen benannten Bereich in der
Datenquelle aus, den ich zuvor dort sinnvoller Weise festgelegt habe.



Wie hast Du den Bereich benannt?
IMO muss hier ein fixer Name zugeordnet werden - ein dynamischer wird
leider nicht ausgegeben.

Dann im Query-Assistent bis zum Ende Weiterklicken. Dort "Daten an
Microsoft Office Excel zurückgeben" (auch "als Abfrage speichern?),



Nicht unbedingt - ausser Du wolltest die Definition spàter mal wieder
verwenden.

den
Assistenten beenden und auch den PT-Assistent beenden. Soweit korrekt?



Ja, Super-korrekt.

Hier nun die weiterführende Lösung mit VBA. Die folgende Zeile wirft dir
die ODBC-Verbindung zur Quelldatei des Pivot-Caches der ersten PT auf dem
ersten Tabellenblatt aus - das musst Du gegebenenfalls noch anpaasen:

MsgBox Worksheets(1).PivotTables(1).PivotCache.Connection

Wenn Du also den alten wie auch den neuen Dateinamen der Quelldatei kennst,
kannst Du diese z.B. wie folgt austauschen:

With Worksheets(1).PivotTables(1).PivotCache
.Connection = _
Replace(.Connection, _
"\AlteDatei.xls", "\NeueDatei.xls")
End With

Die Dateinamen kannst Du nun natürlich irgendwo ablegen und den neuen mit:

Dim strName As String
strName = Application.GetOpenFilename

komfortabel per Auswahl-Dialog ermitteln und dann die Ersetzung rennen
lassen.
Dann noch, ebenfalls per Code, die PTs aktualisieren lassen, falls das
nicht bereits durch die Zuweisung des neuen Caches erfolgt ist.



Mit freundlichen Grüssen
Thomas Ramel

- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2003 SP-2]
Microsoft Excel - Die ExpertenTipps

Ähnliche fragen