Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können Partitionen in einer vorhandenen Analysis Services-Datenbank zusammenführen, um Faktendaten aus mehreren Partitionen derselben Measuregruppe zu konsolidieren.
Aktualisieren der Partitionsquelle nach dem Zusammenführen von Partitionen
Zusammenführen von Partitionen mit SSMS
Zusammenführen von Partitionen mit XMLA
Häufige Szenarien
Die einzige am häufigsten verwendete Konfiguration für die Partitionsverwendung umfasst die Trennung von Daten über die Dimension der Zeit hinweg. Die Granularität der Zeit, die jeder Partition zugeordnet ist, variiert je nach den geschäftsspezifischen Anforderungen für das Projekt. Beispielsweise kann die Segmentierung nach Jahren sein, wobei das letzte Jahr durch Monate geteilt wird, sowie eine separate Partition für den aktiven Monat. Die aktive Monatspartition integriert regelmäßig neue Daten.
Wenn der aktive Monat abgeschlossen ist, wird diese Partition wieder in die Monate in der Jahres-zu-Datum-Partition zusammengeführt, und der Prozess wird fortgesetzt. Ende des Jahres wurde eine ganze neue Jahresteilung gebildet.
Wie in diesem Szenario gezeigt, kann das Zusammenführen von Partitionen regelmäßig zu einer Routineaufgabe werden, die einen progressiven Ansatz zum Konsolidieren und Organisieren von historischen Daten bietet.
Anforderungen
Partitionen können nur zusammengeführt werden, wenn sie alle folgenden Kriterien erfüllen:
Sie haben dieselbe Maßgruppe.
Sie haben dieselbe Struktur.
Sie müssen sich in einem verarbeiteten Zustand befinden.
Sie verfügen über dieselben Speichermodi.
Sie enthalten identische Aggregationsdesigns.
Sie verwenden die gleiche Zeichenfolgen-Speicher-Kompatibilitätsstufe (gilt nur für partitionierte eindeutige Zähl-Messgruppen).
Wenn die Zielpartition leer ist (d. h. sie verfügt über einen Aggregationsentwurf, aber keine Aggregationen), werden die Aggregationen für die Quellpartitionen zusammenführen. Sie müssen "Prozessindex", "Prozess voll" oder "Prozessstandard" auf der Partition ausführen, um die Aggregationen zu erstellen.
Remotepartitionen können nur mit anderen Remotepartitionen zusammengeführt werden, die mit derselben Remoteinstanz von Analysis Services definiert sind.
Hinweis
Wenn Sie eine Kombination aus lokalen und Remotepartitionen verwenden, besteht ein alternativer Ansatz darin, neue Partitionen zu erstellen, die die kombinierten Daten enthalten, und die Partitionen löschen, die Sie nicht mehr verwenden.
Wenn Sie eine Partition erstellen möchten, die für zukünftige Zusammenführungen geeignet ist, können Sie beim Erstellen der Partition im Partitions-Assistenten das Aggregationsdesign aus einer anderen Partition des Cubes kopieren. Dadurch wird sichergestellt, dass diese Partitionen den gleichen Aggregationsentwurf aufweisen. Wenn sie zusammengeführt werden, werden die Aggregationen der Quellpartition mit den Aggregationen in der Zielpartition kombiniert.
Aktualisieren der Partitionsquelle nach dem Zusammenführen von Partitionen
Partitionen werden nach Abfrage segmentiert, z. B. die WHERE-Klausel einer SQL-Abfrage, die zum Verarbeiten der Daten verwendet wird, oder durch eine Tabelle oder benannte Abfrage, die Daten für die Partition bereitstellt. Die Source Eigenschaft auf der Partition gibt an, ob die Partition an eine Abfrage oder eine Tabelle gebunden ist.
Wenn Sie Partitionen zusammenführen, werden die Inhalte der Partitionen konsolidiert, die Source Eigenschaft wird jedoch nicht aktualisiert, um den zusätzlichen Bereich der Partition widerzuspiegeln. Dies bedeutet, dass Sie, wenn Sie anschließend eine Partition erneut verarbeiten, die ihr Original Sourcebehält, falsche Daten aus dieser Partition erhalten. Die Partition aggregiert fehlerhafte Daten auf der übergeordneten Ebene. Das folgende Beispiel veranschaulicht dieses Verhalten.
Das Problem
Angenommen, Sie haben einen Würfel mit Informationen zu drei Soft drink-Produkten. Sie verfügt über drei Partitionen, die dieselbe Faktentabelle verwenden. Diese Partitionen werden nach Produkt segmentiert. Partition 1 enthält Daten über [ColaFull], Partition 2 enthält Daten zu [ColaDecaf], und Partition 3 enthält Daten über [ColaDiet]. Wenn Partition 3 mit Partition 2 zusammengeführt wird, sind die Daten in der resultierenden Partition (Partition 2) korrekt, und die Cubedaten sind korrekt. Wenn Partition 2 jedoch verarbeitet wird, wird ihr Inhalt möglicherweise durch das übergeordnete Element der Mitglieder auf Produktebene bestimmt. Dieses übergeordnete Element, [SoftDrinks], enthält auch [ColaFull], das Produkt in Partition 1. Die Verarbeitungspartition 2 lädt die Partition mit Daten für alle Softdrinks, einschließlich [ColaFull]. Der Cube enthält dann doppelte Daten für [ColaFull] und gibt falsche Daten an Endbenutzer zurück.
Die Lösung
Die Lösung besteht darin, die Source Eigenschaft zu aktualisieren, entweder die WHERE-Klausel oder benannte Abfrage anzupassen oder Daten aus den zugrunde liegenden Faktentabellen manuell zusammenzuführen, um sicherzustellen, dass die nachfolgende Verarbeitung im erweiterten Bereich der Partition korrekt ist.
In diesem Beispiel können Sie nach dem Zusammenführen von Partition 3 in Partition 2 einen Filter wie ("Product" = 'ColaDecaf' OR "Product" = 'ColaDiet') in der resultierenden Partition 2 angeben, dass nur Daten zu [ColaDecaf] und [ColaDiet] aus der Faktentabelle extrahiert werden, und die Daten zu [ColaFull] werden ausgeschlossen. Alternativ können Sie Filter für Partition 2 und Partition 3 angeben, wenn sie erstellt werden, und diese Filter werden während des Fusionsprozesses kombiniert. In beiden Fällen enthält der Cube nach der Verarbeitung der Partition keine doppelten Daten.
Die Schlussfolgerung
Überprüfen Sie nach dem Zusammenführen von Partitionen immer Source, ob der Filter für die zusammengeführten Daten korrekt ist. Wenn Sie mit einer Partition begonnen haben, die historische Daten für Q1, Q2 und Q3 enthält, und Sie jetzt Q4 zusammenführen, müssen Sie den Filter so anpassen, dass er Q4 enthält. Andernfalls führt die nachfolgende Verarbeitung der Partition zu fehlerhaften Ergebnissen. Es wird nicht richtig für das vierte Quartal sein.
Besondere Überlegungen für Partitionen, die nach Faktentabelle oder benannter Abfrage segmentiert werden
Zusätzlich zu Abfragen können Partitionen auch nach Tabelle oder benannter Abfrage segmentiert werden. Wenn die Quellpartition und die Zielpartition dieselbe Faktentabelle in einer Datenquellen- oder Datenquellenansicht verwenden, ist die Source Eigenschaft nach dem Zusammenführen von Partitionen gültig. Es gibt die Faktentabellendaten an, die für die resultierende Partition geeignet sind. Da die für die resultierende Partition erforderlichen Fakten in der Faktentabelle vorhanden sind, ist keine Änderung der Source Eigenschaft erforderlich.
Partitionen, die Daten aus mehreren Faktentabellen oder benannten Abfragen verwenden, erfordern zusätzliche Arbeit. Sie müssen die Fakten aus der Faktentabelle der Quellpartition manuell in die Faktentabelle der Zielpartition zusammenführen.
Alternativ können Sie die Quelle für die zusammengeführte Partition in eine benannte Abfrage ändern, die den Inhalt von zwei separaten Faktentabellen zurückgibt. Wenn dieser manuelle Schritt nicht ausgeführt wird, enthält die Faktentabelle keine vollständigen Informationen.
Aus demselben Grund müssen Partitionen, die segmentierte Daten aus benannten Abfragen abrufen, ebenfalls aktualisiert werden. Die kombinierte Partition muss jetzt über eine benannte Abfrage verfügen, die das kombinierte Resultset zurückgibt, das zuvor aus den separaten benannten Abfragen abgerufen wurde.
Überlegungen zur Partitionsspeicherung: MOLAP
Wenn MOLAP-Partitionen zusammengeführt werden, werden die in den mehrdimensionalen Strukturen der Partitionen gespeicherten Fakten ebenfalls zusammengeführt. Dies führt zu einer intern vollständigen und konsistenten Partition. Die in MOLAP-Partitionen gespeicherten Fakten sind jedoch Kopien von Fakten in der Faktentabelle. Wenn die Partition anschließend verarbeitet wird, werden die Fakten in der multidimensionalen Struktur gelöscht (nur für vollständig und aktualisiert), und Daten werden aus der Faktentabelle kopiert, wie von der Datenquelle für die Partition angegeben und gefiltert. Wenn die Quellpartition eine andere Faktentabelle als die Zielpartition verwendet, muss die Faktentabelle der Quellpartition manuell mit der Faktentabelle der Zielpartition zusammengeführt werden, um sicherzustellen, dass eine vollständige Datenmenge verfügbar ist, wenn die resultierende Partition verarbeitet wird. Dies gilt auch, wenn die beiden Partitionen auf unterschiedlichen benannten Abfragen basieren.
Von Bedeutung
Eine zusammengeführte MOLAP-Partition mit einer unvollständigen Faktentabelle enthält eine intern zusammengeführte Kopie von Faktentabellendaten und funktioniert ordnungsgemäß, bis sie verarbeitet wird.
Überlegungen zur Partitionsspeicherung: HOLAP- und ROLAP-Partitionen
Wenn HOLAP- oder ROLAP-Partitionen mit unterschiedlichen Faktentabellen zusammengeführt werden, werden die Faktentabellen nicht automatisch zusammengeführt. Sofern die Faktentabellen nicht manuell zusammengeführt werden, ist nur die mit der Zielpartition verknüpfte Faktentabelle für die resultierende Partition verfügbar. Fakten, die der Quellpartition zugeordnet sind, sind für drilldowns in der resultierenden Partition nicht verfügbar, und wenn die Partition verarbeitet wird, fassen Aggregationen keine Daten aus der nicht verfügbaren Tabelle zusammen.
Von Bedeutung
Eine zusammengeführte HOLAP- oder ROLAP-Partition mit einer unvollständigen Faktentabelle enthält genaue Aggregationen, aber unvollständige Fakten. Abfragen, die auf fehlende Fakten verweisen, geben falsche Daten zurück. Wenn die Partition verarbeitet wird, werden Aggregationen nur aus verfügbaren Fakten berechnet.
Das Fehlen nicht verfügbarer Fakten wird möglicherweise nicht bemerkt, es sei denn, ein Benutzer versucht, einen Drilldown zu einer Tatsache in der nicht verfügbaren Tabelle durchzuführen oder führt eine Abfrage aus, die eine Tatsache aus der nicht verfügbaren Tabelle erfordert. Da Aggregationen während des Zusammenführungsprozesses kombiniert werden, geben Abfragen, deren Ergebnisse nur auf Aggregationen basieren, genaue Daten zurück, während andere Abfragen ungenaue Daten zurückgeben können. Selbst nachdem die resultierende Partition verarbeitet wurde, werden die fehlenden Daten aus der nicht verfügbaren Faktentabelle möglicherweise nicht bemerkt, insbesondere, wenn sie nur einen kleinen Teil der kombinierten Daten darstellt.
Faktentabellen können vor oder nach dem Zusammenführen der Partitionen zusammengeführt werden. Die Aggregationen stellen jedoch die zugrunde liegenden Fakten erst dann genau dar, wenn beide Vorgänge abgeschlossen wurden. Es wird empfohlen, HOLAP- oder ROLAP-Partitionen zusammenzuführen, die auf unterschiedliche Faktentabellen zugreifen, wenn Benutzer nicht mit dem Cube verbunden sind, der diese Partitionen enthält.
Zusammenführen von Partitionen mit SSMS
Von Bedeutung
Kopieren Sie vor dem Zusammenführen von Partitionen zuerst die Datenfilterinformationen (häufig die WHERE-Klausel für Filter, die auf SQL-Abfragen basieren). Später, nachdem die Zusammenführung abgeschlossen ist, sollten Sie die Partitionsquelleneigenschaft der Partition aktualisieren, die die gesammelten Faktendaten enthält.
Erweitern Sie im Objekt-Explorer den Knoten "Measuregruppen" des Cubes, der die Partitionen enthält, die Sie zusammenführen möchten. Erweitern Sie Partitionen und klicken Sie mit der rechten Maustaste auf die Partition, die das Ziel der Zusammenführung ist. Wenn Sie beispielsweise vierteljährliche Faktendaten in eine Partition verschieben, die jährliche Faktendaten speichert, wählen Sie die Partition aus, die die jährlichen Faktendaten enthält.
Klicken Sie auf "Partitionen zusammenführen", um das Dialogfeld "Partitionsnamen> zusammenführen<" zu öffnen.
Aktivieren Sie unter "Quellpartitionen" das Kontrollkästchen neben jeder Quellpartition, die Sie mit der Zielpartition zusammenführen möchten, und klicken Sie auf "OK".
Hinweis
Quellpartitionen werden sofort gelöscht, nachdem die Quelle mit der Zielpartition zusammengeführt wurde. Aktualisieren Sie den Ordner "Partitionen", um den Inhalt nach Abschluss des Zusammenführens zu aktualisieren.
Klicken Sie mit der rechten Maustaste auf die Partition, die die gesammelten Daten enthält, und wählen Sie "Eigenschaften" aus.
Öffnen Sie die
SourceEigenschaft, und ändern Sie die WHERE-Klausel so, dass sie die Partitionsdaten enthält, die Sie gerade zusammengeführt haben. Erinnern Sie sich daran, dass dieSourceEigenschaft nicht automatisch aktualisiert wird. Wenn Sie den Vorgang erneut verarbeiten, ohne zuerst dieSourceAktualisierung auszuführen, erhalten Sie möglicherweise nicht alle erwarteten Daten.
Zusammenführen von Partitionen mit XMLA
Informationen zum Zusammenführen von Partitionen (XMLA) finden Sie in diesem Thema.
Siehe auch
Verarbeiten von Analysis Services-Objekten
Partitionen (Analysis Services - Multidimensional Data)
Erstellen und Verwalten einer lokalen Partition (Analysis Services)
Erstellen und Verwalten einer Remotepartition (Analysis Services)
Partitionsrückschreiben festlegen
Write-Enabled Partitionen
Konfigurieren des Zeichenfolgenspeichers für Dimensionen und Partitionen