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.
Gilt für:SQL Server
SSIS Integration Runtime in Azure Data Factory
Die Transformation für das Aggregieren wendet Aggregatfunktionen, wie z.B. Average, auf Spaltenwerte an und kopiert die Ergebnisse in die Transformationsausgabe. Neben Aggregatfunktionen stellt diese Transformation die GROUP BY-Klausel bereit, mit der Sie Gruppen für das Aggregieren angeben können.
Vorgänge
Die Transformation „Aggregieren“ unterstützt die folgenden Operationen.
| Vorgang | BESCHREIBUNG |
|---|---|
| Gruppieren nach | Unterteilt Datasets in Gruppen. Spalten eines beliebigen Datentyps können für das Gruppieren verwendet werden. Weitere Informationen finden Sie unter GROUP BY (Transact-SQL). |
| Summe | Summiert die Werte einer Spalte. Summiert werden können nur Spalten mit einem numerischen Datentyp. Weitere Informationen finden Sie unter SUM (Transact-SQL). |
| Durchschnitt | Gibt den Mittelwert der Werte in einer Spalte zurück. Der Mittelwert kann nur für Spalten mit einem numerischen Datentyp ermittelt werden. Weitere Informationen finden Sie unter AVG (Transact-SQL). |
| Anzahl | Gibt die Anzahl von Elementen in einer Gruppe zurück. Weitere Informationen finden Sie unter COUNT (Transact-SQL). |
| Count distinct | Gibt die Anzahl eindeutiger Werte ungleich null in einer Gruppe zurück. |
| Minimum | Gibt den kleinsten Wert in einer Gruppe zurück. Weitere Informationen finden Sie unter MIN (Transact-SQL). Im Gegensatz zur MIN-Funktion von Transact-SQL kann dieser Vorgang nur mit numerischen, Datums- und Zeitdatentypen verwendet werden. |
| Maximum | Gibt den größten Wert in einer Gruppe zurück. Weitere Informationen finden Sie unter MAX (Transact-SQL). Im Gegensatz zur MAX-Funktion von Transact-SQL kann dieser Vorgang nur mit numerischen, Datums- und Zeitdatentypen verwendet werden. |
Die Transformation für das Aggregieren behandelt NULL-Werte auf die gleiche Weise wie die relationale Datenbank-Engine von SQL Server . Dieses Verhalten ist im SQL-92-Standard definiert. Es gelten die folgenden Regeln:
In einer GROUP BY-Klausel werden NULL-Werte wie andere Spaltenwerte behandelt. Enthält die Gruppierungsspalte mehrere NULL-Werte, werden diese in einer Gruppe zusammengefasst.
In den Funktionen COUNT (Spaltenname) und COUNT (DISTINCT-Spaltenname) werden NULL-Werte ignoriert. Das Ergebnis schließt Zeilen mit NULL-Werten in der benannten Spalte aus.
In der COUNT-Funktion (*) werden alle Zeilen gezählt, auch Zeilen mit NULL-Werten.
Große Zahlen in Aggregaten
Eine Spalte kann numerische Werte enthalten, die aufgrund ihres großen Werts oder der Anforderungen an die Genauigkeit speziell berücksichtigt werden müssen. Die Aggregationstransformation enthält die Eigenschaft IsBig, die Sie für Ausgabespalten festlegen können, um eine spezielle Verarbeitung großer oder hochpräziser Zahlen zu aktivieren. Falls ein Spaltenwert u.U. 4 Milliarden überschreitet oder eine Genauigkeit über den float-Datentyp hinaus erforderlich ist, sollte IsBig auf 1 festgelegt werden.
Das Festlegen der IsBig-Eigenschaft auf 1 wirkt sich folgendermaßen auf die Ausgabe der Aggregierungstransformation aus:
Der DT_R8-Datentyp wird anstelle des DT_R4-Datentyps verwendet.
Count-Ergebnisse werden als DT_UI8-Datentyp gespeichert.
Distinct Count-Ergebnisse werden als DT_UI4-Datentyp gespeichert.
Hinweis
Für Spalten, die für die Vorgänge GROUP BY, Maximum oder Minimum verwendet werden, können Sie IsBig nicht auf 1 festlegen.
Überlegungen zur Leistung
Die Transformation für das Aggregieren enthält Eigenschaften, die Sie festlegen können, um die Leistung der Transformation zu optimieren.
Wenn Sie einen Group by-Vorgang ausführen, legen Sie für die Komponente und die Komponentenausgaben die Eigenschaften Keys oder KeysScale fest. Mithilfe von Keys können Sie die genaue Anzahl von Schlüsseln festlegen, die von der Transformation behandelt werden sollen. (In diesem Kontext bezeichnet Keys die Anzahl der Gruppen, die als Ergebnis eines GROUP BY -Vorgangs erwartet werden.) Mit KeysScale können Sie eine ungefähre Anzahl von Schlüsseln angeben. Wenn Sie einen geeigneten Wert für Keys oder KeyScale angeben, verbessern Sie die Leistung, da die Transformation in der Lage ist, ausreichend Arbeitsspeicher für die Daten zuzuweisen, die die Transformation zwischenspeichert.
Legen Sie beim Durchführen eines DISTINCT COUNT -Vorgangs die CountDistinctKeys-Eigenschaft oder die CountDistinctScale-Eigenschaft der Komponente fest. Mithilfe von CountDistinctKeys können Sie die genaue Anzahl von Schlüsseln festlegen, die von der Transformation für einen COUNT DISTINCT-Vorgang behandelt werden sollen. (In diesem Kontext bezeichnet CountDistinctKeys die Anzahl der unterschiedlichen Werte, die als Ergebnis eines DISTINCT COUNT -Vorgangs erwartet werden.) Mithilfe von CountDistinctScale können Sie eine ungefähre Anzahl von Schlüsseln für einen COUNT DISTINCT-Vorgang festlegen. Wenn Sie einen entsprechenden Wert für CountDistinctKeys oder CountDistinctScale angeben, verbessern Sie damit die Leistung, da von der Transformation den zwischengespeicherten Daten eine ausreichende Menge an Arbeitsspeicher zugewiesen werden kann.
Konfiguration der Aggregattransformation
Sie konfigurieren die Aggregatetransformation auf Transformations-, Ausgabe- und Spaltenebene.
Auf Transformationsebene konfigurieren Sie die Aggregat-Transformation zur Leistungsoptimierung, indem Sie die folgenden Werte angeben:
Die Anzahl der Gruppen, die als Ergebnis eines GROUP BY -Vorgangs erwartet werden.
Die Anzahl der unterschiedlichen Werte, die als Ergebnis eines COUNT DISTINCT -Vorgangs erwartet werden.
Der Prozentsatz, um den der Arbeitsspeicher während der Aggregation erweitert werden kann.
Für die Transformation für das Aggregieren kann auch konfiguriert werden, dass anstelle eines Fehlers eine Warnung generiert wird, wenn der Wert eines Divisors null ist.
Auf der Ausgabestufe konfigurieren Sie die Aggregationstransformation im Hinblick auf die Leistung, indem Sie die Anzahl der Gruppen angeben, die voraussichtlich aus einem Group by-Vorgang resultieren. Die Transformation für das Aggregieren unterstützt mehrere Ausgaben, und jede kann unterschiedlich konfiguriert werden.
Auf der Spaltenebene geben Sie die folgenden Werte an:
Die von der Spalte durchgeführte Aggregation.
Die Vergleichsoptionen der Aggregation.
Sie können die Aggregattransformation auch zur Leistungsoptimierung konfigurieren, indem Sie diese Werte angeben:
Die Anzahl der Gruppen, die als Ergebnis eines GROUP BY -Vorgangs für die Spalte erwartet werden.
Die Anzahl der unterschiedlichen Werte, die als Ergebnis eines COUNT DISTINCT -Vorgangs für die Spalte erwartet werden.
Sie können Spalten auch als IsBig angeben, wenn eine Spalte große numerische Werte oder numerische Werte mit hoher Genauigkeit enthält.
Die Transformation für das Aggregieren ist asynchron. Das heißt, sie verwendet und veröffentlicht Daten nicht zeilenweise. Vielmehr verwendet sie das gesamte Rowset, führt Gruppierungen und Aggregationen aus und veröffentlicht dann die Ergebnisse.
Diese Transformation übergibt keine Spalten, sondern erstellt im Datenfluss für die veröffentlichten Daten neue Spalten. Nur die Eingabespalten, für die Aggregatfunktionen gelten, oder die Eingabespalten, die die Transformation zum Gruppieren verwendet, werden in die Transformationsausgabe kopiert. Angenommen, eine Transformation für das Aggregieren weist drei Spalten auf: CountryRegion, Cityund Population. Die Transformation gruppiert nach der CountryRegion -Spalte und wendet die SUM-Funktion auf die Population -Spalte an. Deshalb ist in der Ausgabe die City -Spalte nicht enthalten.
Sie können der Transformation für das Aggregieren auch mehrere Ausgaben hinzufügen und jede Aggregation an eine andere Ausgabe weiterleiten. Wenn beispielsweise die Aggregattransformation die Funktionen Summe und Durchschnitt verwendet, kann jede Aggregation an eine andere Ausgabe weitergeleitet werden.
Auf eine einzelne Eingabespalte können mehrere Aggregationen angewendet werden. Wenn Sie z.B. die Sum- und Average-Werte für eine Eingabespalte mit dem Namen Saleshaben möchten, können Sie die Transformation so konfigurieren, dass sie die Sum-Funktion und die Average-Funktion auf die Sales -Spalte anwendet.
Die Aggregattransformation hat eine Eingabe und eine oder mehrere Ausgaben. Eine Fehlerausgabe wird nicht unterstützt.
Sie können Eigenschaften mit dem SSIS -Designer oder programmgesteuert festlegen.
Das Dialogfeld Erweiterter Editor enthält die Eigenschaften, die programmgesteuert festgelegt werden können. Klicken Sie auf eines der folgenden Themen, um weitere Informationen zu den Eigenschaften zu erhalten, die Sie im Dialogfeld Erweiterter Editor oder programmgesteuert festlegen können:
Klicken Sie auf eines der folgenden Themen, um weitere Informationen zum Festlegen von Eigenschaften anzuzeigen:
Werte in einem Datensatz mithilfe der Aggregat-Transformation aggregieren
Daten für die Transformationen Merge und Merge Join sortieren
Verwandte Aufgaben
Werte in einem Datensatz mit der Aggregationsumwandlung aggregieren
Editor für Aggregationstransformationen (Registerkarte „Aggregationen“)
Auf der Registerkarte Aggregationen des Dialogfelds Transformations-Editor für Aggregieren können Sie die Spalten für Aggregationen und Aggregationseigenschaften angeben. Sie können mehrere Aggregationen anwenden. Durch diese Transformation wird keine Fehlerausgabe generiert.
Hinweis
Die Optionen für die Anzahl an Schlüsseln, die Schlüsselskala, die Anzahl unterschiedlicher Schlüssel sowie für unterschiedliche Schlüsselskalen gelten auf der Komponentenebene, wenn sie auf der Registerkarte Erweitert angegeben wurden; sie gelten auf der Ausgabeebene, wenn sie in der erweiterten Ansicht der Registerkarte Aggregationen angegeben wurden und auf der Spaltenebene, wenn sie in der Spaltenliste im unteren Bereich der Registerkarte Aggregationen angegeben wurden.
In der Transformation für das Aggregieren beziehen sich Schlüssel und Schlüsselskala auf die Anzahl der Gruppen, die als Ergebnis eines GROUP BY -Vorgangs erwartet werden. COUNT DISTINCT-Schlüssel und COUNT DISTINCT-Skala beziehen sich auf die Anzahl der unterschiedlichen Werte, die als Ergebnis eines DISTINCT COUNT -Vorgangs erwartet werden.
Optionen
Erweitert/Standard
Blenden Sie die Optionen ein oder aus, um mehrere Aggregationen für mehrere Ausgaben zu konfigurieren. Die erweiterten Optionen sind standardmäßig ausgeblendet.
Aggregationsname
Geben Sie in der erweiterten Anzeige einen aussagekräftigen Namen für die Aggregation ein.
Nach Spalten gruppieren
Wählen Sie in der erweiterten Anzeige Spalten für die Gruppierung aus, indem Sie die Liste Verfügbare Eingabespalten wie im Folgenden beschrieben verwenden.
Schlüsselskala
Geben Sie in der erweiterten Anzeige optional die ungefähre Anzahl der Schlüssel an, die durch die Aggregation geschrieben werden können. Der Standardwert für diese Option ist Keine Angabe. Wenn die Eigenschaften Schlüsselskala und Schlüssel festgelegt sind, wird der Wert von Schlüssel vorrangig behandelt.
| Wert | BESCHREIBUNG |
|---|---|
| Nicht angegeben. | Die Eigenschaft „Key Scale“ wird nicht verwendet. |
| Niedrig | Die Aggregation kann ungefähr 500.000 Schlüssel schreiben. |
| Mittel | Die Aggregation kann ungefähr 5.000.000 Schlüssel schreiben. |
| Hoch | Die Aggregation kann mehr als 25.000.000 Schlüssel schreiben. |
Schlüssel
Geben Sie in der erweiterten Anzeige optional die genaue Anzahl der Schlüssel an, die durch die Aggregation geschrieben werden können. Wenn sowohl Schlüsselskala als auch Schlüssel angegeben sind, wird Schlüssel vorrangig behandelt.
Verfügbare Eingabespalten
Wählen Sie in dieser Tabelle mithilfe der Kontrollkästchen die gewünschten Spalten aus der Liste der verfügbaren Eingabespalten aus.
Eingabespalte
Wählen Sie Spalten aus der Liste der verfügbaren Eingabespalten aus.
Ausgabealias
Geben Sie einen Alias für jede Spalte ein. Standardmäßig wird der Name der Eingabespalte verwendet. Sie können jedoch auch einen beschreibenden Namen angeben, sofern dieser eindeutig ist.
Vorgang
Wählen Sie einen Vorgang aus der Liste der verfügbaren Vorgänge aus, wobei Ihnen die folgende Tabelle als Orientierungshilfe dient.
| Vorgang | BESCHREIBUNG |
|---|---|
| GroupBy | Unterteilt Datasets in Gruppen. Zum Gruppieren können Spalten aller Datentypen verwendet werden. Weitere Informationen finden Sie unter GROUP BY. |
| Summe | Summiert die Werte einer Spalte. Summiert werden können nur Spalten mit einem numerischen Datentyp. Weitere Informationen finden Sie unter SUM. |
| Average | Gibt den Mittelwert der Werte in einer Spalte zurück. Der Mittelwert kann nur für Spalten mit einem numerischen Datentyp ermittelt werden. Weitere Informationen finden Sie unter AVG. |
| Count | Gibt die Anzahl von Elementen in einer Gruppe zurück. Weitere Informationen finden Sie unter COUNT. |
| CountDistinct | Gibt die Anzahl eindeutiger Werte ungleich null in einer Gruppe zurück. Weitere Informationen finden Sie unter COUNT und Distinct. |
| Mindestanforderungen | Gibt den kleinsten Wert in einer Gruppe zurück. Ist auf numerische Datentypen beschränkt. |
| Maximum | Gibt den größten Wert in einer Gruppe zurück. Ist auf numerische Datentypen beschränkt. |
Vergleichsflags
Wenn Sie Group Byauswählen, steuern Sie mithilfe der Kontrollkästchen, wie der Vergleich durch die Transformation ausgeführt wird. Weitere Informationen zu den Optionen für das Vergleichen von Zeichenfolgen finden Sie unter Comparing String Data.
Skalierung „Anzahl eindeutiger Werte“
Gibt optional die ungefähre Anzahl unterschiedlicher Werte an, die durch die Aggregation geschrieben werden können. Der Standardwert für diese Option ist Keine Angabe. Wenn sowohl CountDistinctScale und CountDistinctKeys angegeben werden, wird CountDistinctKeys vorrangig behandelt.
| Wert | BESCHREIBUNG |
|---|---|
| Nicht angegeben. | Die CountDistinctScale -Eigenschaft wird nicht verwendet. |
| Niedrig | Die Aggregation kann ungefähr 500.000 unterschiedliche Werte schreiben. |
| Mittel | Die Aggregation kann ungefähr 5.000.000 unterschiedliche Werte schreiben. |
| Hoch | Die Aggregation kann mehr als 25.000.000 unterschiedliche Werte schreiben. |
Anzahl unterschiedlicher Schlüssel
Gibt optional die genaue Anzahl unterschiedlicher Werte an, die durch die Aggregation geschrieben werden können. Wenn sowohl CountDistinctScale und CountDistinctKeys angegeben werden, wird CountDistinctKeys vorrangig behandelt.
Transformations-Editor für Aggregieren (Registerkarte Erweitert)
Mithilfe der Registerkarte Erweitert des Dialogfelds Transformations-Editor für Aggregieren können Sie Komponenteneigenschaften festlegen, Aggregationen angeben und die Eigenschaften von Eingabe- und Ausgabespalten festlegen.
Hinweis
Die Optionen für die Anzahl an Schlüsseln, die Schlüsselskala, die Anzahl unterschiedlicher Schlüssel sowie für unterschiedliche Schlüsselskalen gelten auf der Komponentenebene, wenn sie auf der Registerkarte Erweitert angegeben wurden; sie gelten auf der Ausgabeebene, wenn sie in der erweiterten Ansicht der Registerkarte Aggregationen angegeben wurden und auf der Spaltenebene, wenn sie in der Spaltenliste im unteren Bereich der Registerkarte Aggregationen angegeben wurden.
In der Transformation für das Aggregieren beziehen sich Schlüssel und Schlüsselskala auf die Anzahl der Gruppen, die als Ergebnis eines GROUP BY -Vorgangs erwartet werden. COUNT DISTINCT-Schlüssel und COUNT DISTINCT-Skala beziehen sich auf die Anzahl der unterschiedlichen Werte, die als Ergebnis eines DISTINCT COUNT -Vorgangs erwartet werden.
Optionen
Tastenskalierung
Gibt optional die ungefähre Anzahl an Schlüsseln an, die von der Aggregation erwartet werden. Für die Transformation wird diese Information verwendet, um die anfängliche Cachegröße zu optimieren. Der Standardwert für diese Option ist Keine Angabe. Wenn sowohl Schlüsselskala als auch Anzahl von Schlüsseln angegeben wurden, hat Anzahl von Schlüsseln Vorrang.
| Wert | BESCHREIBUNG |
|---|---|
| Nicht angegeben. | Die Eigenschaft Schlüsselskala wird nicht verwendet. |
| Niedrig | Die Aggregation kann ungefähr 500.000 Schlüssel schreiben. |
| Mittel | Die Aggregation kann ungefähr 5.000.000 Schlüssel schreiben. |
| Hoch | Die Aggregation kann mehr als 25.000.000 Schlüssel schreiben. |
Anzahl von Schlüsseln
Gibt optional die genaue Anzahl an Schlüsseln an, die von der Aggregation erwartet werden. Für die Transformation wird diese Information verwendet, um die anfängliche Cachegröße zu optimieren. Wenn sowohl Schlüsselskala als auch Anzahl von Schlüsseln angegeben wurden, hat Anzahl von Schlüsseln Vorrang.
Skala für die Anzahl unterschiedlicher Werte
Gibt optional die ungefähre Anzahl unterschiedlicher Werte an, die durch die Aggregation geschrieben werden können. Der Standardwert für diese Option ist Keine Angabe. Wenn sowohl COUNT DISTINCT-Skala als auch COUNT DISTINCT-Schlüssel angegeben wurden, hat COUNT DISTINCT-Schlüssel Vorrang.
| Wert | BESCHREIBUNG |
|---|---|
| Nicht angegeben. | Die CountDistinctScale-Eigenschaft wird nicht verwendet. |
| Niedrig | Die Aggregation kann ungefähr 500.000 unterschiedliche Werte schreiben. |
| Mittel | Die Aggregation kann ungefähr 5.000.000 unterschiedliche Werte schreiben. |
| Hoch | Die Aggregation kann mehr als 25.000.000 unterschiedliche Werte schreiben. |
Eindeutige Schlüssel zählen
Gibt optional die genaue Anzahl unterschiedlicher Werte an, die durch die Aggregation geschrieben werden können. Wenn sowohl COUNT DISTINCT-Skala als auch COUNT DISTINCT-Schlüssel angegeben wurden, hat COUNT DISTINCT-Schlüssel Vorrang.
Faktor für automatische Erweiterung
Verwenden Sie einen Wert zwischen 1 und 100, um den Prozentsatz anzugeben, um den der Arbeitsspeicher während der Aggregation erweitert werden kann. Der Standardwert für diese Option ist 25 %.