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.
Wenn ein benannter Satz nur für eine einzelne MDX-Abfrage (Multidimensional Expressions) erforderlich ist, können Sie diesen benannten Satz mithilfe des WITH-Schlüsselworts definieren. Ein benannter Satz, der mithilfe des WITH-Schlüsselworts erstellt wird, ist nach Abschluss der Ausführung der Abfrage nicht mehr vorhanden.
Wie in diesem Thema erläutert, ist die Syntax des WITH-Schlüsselworts ziemlich flexibel, auch wenn die Verwendung von Funktionen zum Definieren des benannten Satzes unterstützt wird.
Hinweis
Weitere Informationen zu benannten Sätzen finden Sie unter Building Named Sets in MDX (MDX).
Syntax des WITH-Schlüsselworts
Verwenden Sie die folgende Syntax, um das WITH-Schlüsselwort einer MDX SELECT-Anweisung hinzuzufügen:
[ WITH <SELECT WITH clause> [ , <SELECT WITH clause> ... ] ]
SELECT [ * | ( <SELECT query axis clause> [ , <SELECT query axis clause> ... ] ) ]
FROM <SELECT subcube clause>
[ <SELECT slicer axis clause> ]
[ <SELECT cell property list clause> ]
<SELECT WITH clause> ::=
( SET Set_Identifier AS 'Set_Expression')
In der Syntax für das WITH-Schlüsselwort enthält der Set_Identifier Parameter den Alias für den benannten Satz. Der Set_Expression Parameter enthält den Satzausdruck, auf den der benannte Satzalias verweist.
WITH-Schlüsselwortbeispiel
Die folgende MDX-Abfrage untersucht den Einheitenumsatz der verschiedenen Chardonnay- und Chablis-Weine in FoodMart 2000der Beispieldatenbank für Microsoft SQL Server 2000 Analysis Services. Diese Abfrage, obwohl relativ einfach im Hinblick auf die Ergebnismenge, ist lang und unübersichtlich, wenn Sie eine solche Abfrage pflegen müssen.
SELECT
{[Product].[All Products].[Drink].[Alcoholic Beverages].[Beer and Wine].[Wine].[Good].[Good Chardonnay], [Product].[All Products].[Drink].[Alcoholic Beverages].[Beer and Wine].[Wine].[Pearl].[Pearl Chardonnay], [Product].[All Products].[Drink].[Alcoholic Beverages].[Beer and Wine].[Wine].[Portsmouth].[Portsmouth Chardonnay], [Product].[All Products].[Drink].[Alcoholic Beverages].[Beer and Wine].[Wine].[Top Measure].[Top Measure Chardonnay], [Product].[All Products].[Drink].[Alcoholic Beverages].[Beer and Wine].[Wine].[Walrus].[Walrus Chardonnay], [Product].[All Products].[Drink].[Alcoholic Beverages].[Beer and Wine].[Wine].[Good].[Good Chablis Wine], [Product].[All Products].[Drink].[Alcoholic Beverages].[Beer and Wine].[Wine].[Pearl].[Pearl Chablis Wine], [Product].[All Products].[Drink].[Alcoholic Beverages].[Beer and Wine].[Wine].[Portsmouth].[Portsmouth Chablis Wine], [Product].[All Products].[Drink].[Alcoholic Beverages].[Beer and Wine].[Wine].[Top Measure].[Top Measure Chablis Wine], [Product].[All Products].[Drink].[Alcoholic Beverages].[Beer and Wine].[Wine].[Walrus].[Walrus Chablis Wine]} ON COLUMNS,
{Measures.[Unit Sales]} ON ROWS
FROM Sales
Damit die vorherige MDX-Abfrage einfacher verwaltet werden kann, können Sie einen benannten Satz für die Abfrage mithilfe des WITH-Schlüsselworts erstellen. Der folgende Code zeigt, wie Sie mit dem WITH-Schlüsselwort einen benannten Satz erstellen und wie der benannte Satz [ChardonnayChablis]die SELECT-Anweisung kürzer und einfacher zu verwalten macht.
WITH SET [ChardonnayChablis] AS
{[Product].[All Products].[Drink].[Alcoholic Beverages].[Beer and Wine].[Wine].[Good].[Good Chardonnay],
[Product].[All Products].[Drink].[Alcoholic Beverages].[Beer and Wine].[Wine].[Pearl].[Pearl Chardonnay],
[Product].[All Products].[Drink].[Alcoholic Beverages].[Beer and Wine].[Wine].[Portsmouth].[Portsmouth Chardonnay],
[Product].[All Products].[Drink].[Alcoholic Beverages].[Beer and Wine].[Wine].[Top Measure].[Top Measure Chardonnay],
[Product].[All Products].[Drink].[Alcoholic Beverages].[Beer and Wine].[Wine].[Walrus].[Walrus Chardonnay],
[Product].[All Products].[Drink].[Alcoholic Beverages].[Beer and Wine].[Wine].[Good].[Good Chablis Wine],
[Product].[All Products].[Drink].[Alcoholic Beverages].[Beer and Wine].[Wine].[Pearl].[Pearl Chablis Wine],
[Product].[All Products].[Drink].[Alcoholic Beverages].[Beer and Wine].[Wine].[Portsmouth].[Portsmouth Chablis Wine],
[Product].[All Products].[Drink].[Alcoholic Beverages].[Beer and Wine].[Wine].[Top Measure].[Top Measure Chablis Wine],
[Product].[All Products].[Drink].[Alcoholic Beverages].[Beer and Wine].[Wine].[Walrus].[Walrus Chablis Wine]}
SELECT
[ChardonnayChablis] ON COLUMNS,
{Measures.[Unit Sales]} ON ROWS
FROM Sales
Verwenden von Funktionen zusammen mit dem WITH-Schlüsselwort
Obwohl Sie jedes Element eines benannten Satzes explizit definieren können, kann dieser Ansatz zu einem langen Ausdruck führen. Um die Erstellung und Wartung eines benannten Satzes zu vereinfachen, können Sie MDX-Funktionen verwenden, um die Member zu definieren.
Im folgenden MDX-Abfragebeispiel werden beispielsweise die Funktionen Filter, CurrentMember und Name MDX und die InStr VBA-Funktion verwendet, um den [ChardonnayChablis] benannten Satz zu erstellen. Diese Version des [ChardonnayChablis] benannten Satzes entspricht der explizit definierten Version, die zuvor in diesem Thema gezeigt wurde.
WITH SET [ChardonnayChablis] AS
'Filter([Product].Members, (InStr(1, [Product].CurrentMember.Name, "chardonnay") <> 0) OR (InStr(1, [Product].CurrentMember.Name, "chablis") <> 0))'
SELECT
[ChardonnayChablis] ON COLUMNS,
{Measures.[Unit Sales]} ON ROWS
FROM Sales
Siehe auch
SELECT-Anweisung (MDX)
Erstellen von Sätzen mit Namen Session-Scoped (MDX)