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.
Aggregationsdesigns sind den Partitionen einer bestimmten Measuregruppe zugeordnet, um sicherzustellen, dass die Partitionen beim Speichern von Aggregationen dieselbe Struktur verwenden. Mithilfe derselben Speicherstruktur für Partitionen können Sie Partitionen ganz einfach definieren, die später mit dem Befehl "MergePartitions " zusammengeführt werden können. Weitere Informationen zu Aggregationsdesigns finden Sie unter Aggregations- und Aggregationsdesigns.
Um Aggregationen für einen Aggregationsentwurf zu definieren, können Sie den Befehl "DesignAggregations " in XML for Analysis (XMLA) verwenden. Der DesignAggregations Befehl verfügt über Eigenschaften, die bestimmen, welches Aggregationsdesign als Referenz verwendet werden soll, und wie der Entwurfsprozess basierend auf diesem Verweis gesteuert wird. Mithilfe des DesignAggregations Befehls und seiner Eigenschaften können Sie Aggregationen iterativ oder im Batch entwerfen und dann die resultierenden Entwurfsstatistiken anzeigen, um den Entwurfsprozess auszuwerten.
Angeben eines Aggregationsdesigns
Die Object-Eigenschaft des DesignAggregations Befehls muss einen Objektverweis auf einen vorhandenen Aggregationsentwurf enthalten. Der Objektverweis enthält einen Datenbankbezeichner, einen Cubebezeichner, einen Measuregruppenbezeichner und einen Aggregationsentwurfsbezeichner. Wenn der Aggregationsentwurf noch nicht vorhanden ist, tritt ein Fehler auf.
Steuern des Entwurfsprozesses
Sie können die folgenden Eigenschaften des DesignAggregations Befehls verwenden, um den Algorithmus zu steuern, der zum Definieren von Aggregationen für den Aggregationsentwurf verwendet wird:
Die Steps-Eigenschaft bestimmt, wie viele Iterationen der
DesignAggregationsBefehl ausführen soll, bevor er die Steuerung an die Clientanwendung zurückgibt.Die Time-Eigenschaft bestimmt, wie viele Millisekunden der
DesignAggregationsBefehl dauern soll, bevor es die Steuerung an die Clientanwendung zurückgibt.Die Optimierungseigenschaft bestimmt den geschätzten Prozentsatz der Leistungsverbesserung, den der
DesignAggregationsBefehl erreichen soll. Wenn Sie Aggregationen iterativ entwerfen, müssen Sie diese Eigenschaft nur für den ersten Befehl senden.Die Storage -Eigenschaft bestimmt die geschätzte Menge des Datenträgerspeichers in Byte, die
DesignAggregationsvom Befehl verwendet wird. Wenn Sie Aggregationen iterativ entwerfen, müssen Sie diese Eigenschaft nur für den ersten Befehl senden.Die Materialize-Eigenschaft bestimmt, ob der
DesignAggregationsBefehl die aggregationen erstellen soll, die während des Entwurfsprozesses definiert sind. Wenn Sie Aggregationen iterativ entwerfen, sollte diese Eigenschaft auf "false" festgelegt werden, bis Sie bereit sind, die entworfenen Aggregationen zu speichern. Bei Festlegung auf "true" endet der aktuelle Entwurfsprozess und die definierten Aggregationen werden dem angegebenen Aggregationsentwurf hinzugefügt.
Angeben von Abfragen
Der Befehl "DesignAggregations" unterstützt den verwendungsbasierten Optimierungsbefehl, indem ein oder Query mehrere Elemente in die Queries-Eigenschaft eingeschlossen werden. Die Queries Eigenschaft kann ein oder mehrere Abfrageelemente enthalten. Wenn die Queries Eigenschaft keine Elemente enthält Query , verwendet der im Object Element angegebene Aggregationsentwurf eine Standardstruktur, die einen allgemeinen Satz von Aggregationen enthält. Diese allgemeine Gruppe von Aggregationen ist so konzipiert, dass sie den in den Optimization Und Storage Eigenschaften des DesignAggregations Befehls angegebenen Kriterien entspricht.
Jedes Query Element stellt eine Zielabfrage dar, die der Entwurfsprozess verwendet, um Aggregationen zu definieren, die auf die am häufigsten verwendeten Abfragen abzielen. Sie können entweder Eigene Zielabfragen angeben oder die von einer Instanz von Microsoft SQL Server Analysis Services gespeicherten Informationen im Abfrageprotokoll verwenden, um Informationen zu den am häufigsten verwendeten Abfragen abzurufen. Der Usage-Based Optimierungs-Assistent verwendet das Abfrageprotokoll, um Zielabfragen basierend auf Zeit, Verwendung oder einem angegebenen Benutzer abzurufen, wenn er einen DesignAggregations Befehl sendet. Weitere Informationen finden Sie in der F1-HilfeUsage-Based Optimierungs-Assistenten.
Wenn Sie Aggregationen iterativ entwerfen, müssen Sie nur Zielabfragen im ersten DesignAggregations Befehl übergeben, da die Analysis Services-Instanz diese Zielabfragen speichert und diese Abfragen während nachfolgenden DesignAggregations Befehlen verwendet. Nachdem Sie Zielabfragen im ersten DesignAggregations Befehl eines iterativen Prozesses übergeben haben, generiert jeder nachfolgende DesignAggregations Befehl, der Zielabfragen in der Queries Eigenschaft enthält, einen Fehler.
Das Query Element enthält einen durch Trennzeichen getrennten Wert, der die folgenden Argumente enthält:
Häufigkeit,Dataset[,Dataset...]
Frequenz
Ein Gewichtungsfaktor, der der Häufigkeit entspricht, mit der die Abfrage zuvor ausgeführt wurde. Wenn das Query Element eine neue Abfrage darstellt, stellt der Häufigkeitswert den Gewichtungsfaktor dar, der vom Entwurfsprozess zum Auswerten der Abfrage verwendet wird. Wenn der Häufigkeitswert größer wird, erhöht sich die Gewichtung, die während des Entwurfsvorgangs auf die Abfrage gesetzt wird.
Dataset-
Eine numerische Zeichenfolge, die angibt, welche Attribute aus einer Dimension in die Abfrage einbezogen werden sollen. Diese Zeichenfolge muss dieselbe Anzahl von Zeichen aufweisen wie die Anzahl der Attribute in der Dimension. Null (0) gibt an, dass das Attribut in der angegebenen Ordnungsposition nicht in der Abfrage für die angegebene Dimension enthalten ist, während eine (1) angibt, dass das Attribut in der angegebenen Ordnungsposition in der Abfrage für die angegebene Dimension enthalten ist.
Beispielsweise verweist die Zeichenfolge "011" auf eine Abfrage mit einer Dimension mit drei Attributen, aus denen die zweiten und dritten Attribute in die Abfrage einbezogen werden.
Hinweis
Einige Attribute werden aus der Berücksichtigung im Dataset ausgeschlossen. Weitere Informationen zu ausgeschlossenen Attributen finden Sie unter Query Element (XMLA).
Jede Dimension in der Measuregruppe, die den Aggregationsentwurf enthält, wird durch einen Datasetwert im Query Element dargestellt. Die Reihenfolge der Datasetwerte muss mit der Reihenfolge der Dimensionen übereinstimmen, die in der Measuregruppe enthalten sind.
Entwerfen von Aggregationen mithilfe von iterativen oder Batchprozessen
Sie können den DesignAggregations Befehl als Teil eines iterativen Prozesses oder eines Batchprozesses verwenden, je nachdem, welche Interaktivität der Entwurfsprozess erfordert.
Entwerfen von Aggregationen mithilfe eines iterativen Prozesses
Um Aggregationen iterativ zu entwerfen, senden Sie mehrere DesignAggregations Befehle, um eine feine Kontrolle über den Entwurfsprozess zu ermöglichen. Der Aggregationsentwurfs-Assistent verwendet diesen Ansatz, um eine feine Kontrolle über den Entwurfsprozess zu bieten. Weitere Informationen finden Sie in der F1-Hilfe zum Aggregationsentwurfs-Assistenten.
Hinweis
Eine explizite Sitzung ist erforderlich, um Aggregationen iterativ zu entwerfen. Weitere Informationen zu expliziten Sitzungen finden Sie unter Managing Connections and Sessions (XMLA).
Um den iterativen Prozess zu starten, senden Sie zuerst einen DesignAggregations Befehl, der die folgenden Informationen enthält:
Die
StorageWerte undOptimizationEigenschaftswerte, auf die der gesamte Entwurfsprozess ausgerichtet ist.Die
StepsWerte undTimeEigenschaftswerte, auf denen der erste Schritt des Entwurfsprozesses beschränkt ist.Wenn Sie eine nutzungsbasierte Optimierung wünschen, enthält die
QueriesEigenschaft die Zielabfragen, auf die der gesamte Designprozess ausgerichtet ist.Die
MaterializeEigenschaft auf "false" festgelegt. Wenn Sie diese Eigenschaft auf "false" festlegen, wird angegeben, dass der Entwurfsvorgang die definierten Aggregationen nicht im Aggregationsentwurf speichert, wenn der Befehl abgeschlossen ist.
Nach Abschluss des ersten DesignAggregations Befehls gibt der Befehl ein Rowset zurück, das Entwurfsstatistiken enthält. Sie können diese Entwurfsstatistiken auswerten, um festzustellen, ob der Entwurfsprozess fortgesetzt werden soll oder ob der Entwurfsprozess abgeschlossen ist. Wenn der Prozess fortgesetzt werden soll, senden Sie einen anderen DesignAggregations Befehl, der die Steps Werte Time enthält, mit denen dieser Schritt des Entwurfsprozesses eingeschränkt ist. Sie bewerten die resultierenden Statistiken und bestimmen dann, ob der Entwurfsprozess fortgesetzt werden soll. Dieser iterative Prozess des Sendens DesignAggregations von Befehlen und die Auswertung der Ergebnisse wird fortgesetzt, bis Sie Ihre Ziele erreichen und einen entsprechenden Satz von Aggregationen definiert haben.
Nachdem Sie den gewünschten Satz von Aggregationen erreicht haben, senden Sie einen endgültigen DesignAggregations Befehl. Dieser letzte DesignAggregations Befehl sollte seine Steps Eigenschaft auf 1 und seine Materialize Eigenschaft auf "true" festgelegt haben. Mit diesen Einstellungen schließt dieser letzte DesignAggregations Befehl den Entwurfsprozess ab und speichert die definierte Aggregation im Aggregationsentwurf.
Entwerfen von Aggregationen mithilfe eines Batchprozesses
Sie können Aggregationen auch in einem Batchprozess entwerfen, indem Sie einen einzelnen DesignAggregations Befehl senden, der die Werte für die Steps, Time, , Storageund Optimization Eigenschaften enthält, auf die der gesamte Designprozess ausgerichtet und begrenzt ist. Wenn Sie eine nutzungsbasierte Optimierung wünschen, sollten die Zielabfragen, auf die der Entwurfsprozess ausgerichtet ist, auch in die Queries Eigenschaft einbezogen werden. Stellen Sie außerdem sicher, dass die Materialize Eigenschaft auf "true" festgelegt ist, damit der Entwurfsprozess die definierten Aggregationen im Aggregationsentwurf speichert, wenn der Befehl abgeschlossen ist.
Sie können Aggregationen mithilfe eines Batchprozesses in einer impliziten oder expliziten Sitzung entwerfen. Weitere Informationen zu impliziten und expliziten Sitzungen finden Sie unter Verwalten von Verbindungen und Sitzungen (XMLA).
Zurückgeben von Entwurfsstatistiken
Wenn der DesignAggregations Befehl die Steuerung an die Clientanwendung zurückgibt, gibt der Befehl ein Rowset zurück, das eine einzelne Zeile enthält, die die Entwurfsstatistiken für den Befehl darstellt. Das Rowset enthält die spalten, die in der folgenden Tabelle aufgeführt sind.
| Kolumne | Datentyp | BESCHREIBUNG |
|---|---|---|
| Schritte | Ganze Zahl | Die Anzahl der Vom Befehl ausgeführten Schritte, bevor die Steuerung an die Clientanwendung zurückgegeben wird. |
| Uhrzeit | Lange ganze Zahl | Die Anzahl von Millisekunden, die vom Befehl vor dem Zurückgeben des Steuerelements an die Clientanwendung übernommen wurden. |
| Optimierung | Doppelt | Der geschätzte Prozentsatz der Vom Befehl erreichten Leistungsverbesserungen, bevor die Steuerung an die Clientanwendung zurückgegeben wird. |
| Lagerung | Lange ganze Zahl | Die geschätzte Anzahl von Bytes, die vom Befehl vor dem Zurückgeben des Steuerelements an die Clientanwendung übernommen wurden. |
| Aggregationen | Lange ganze Zahl | Die Anzahl der vom Befehl definierten Aggregationen, bevor das Steuerelement an die Clientanwendung zurückgegeben wird. |
| LastStep | Boolescher Typ (Boolean) | Gibt an, ob die Daten im Rowset den letzten Schritt im Entwurfsprozess darstellen. Wenn die Materialize Eigenschaft des Befehls auf "true" festgelegt wurde, wird der Wert dieser Spalte auf "true" festgelegt. |
Sie können die Entwurfsstatistiken verwenden, die im Rowset enthalten sind, das nach jedem DesignAggregations Befehl sowohl im iterativen als auch im Batchentwurf zurückgegeben wird. Im iterativen Design können Sie die Entwurfsstatistiken verwenden, um den Fortschritt zu bestimmen und anzuzeigen. Wenn Sie Aggregationen im Batch entwerfen, können Sie die Entwurfsstatistiken verwenden, um die Anzahl der vom Befehl erstellten Aggregationen zu ermitteln.