Udostępnij za pośrednictwem


Tworzenie zakresu kwerendy nazwane zestawy (MDX)

Jeśli nazwanego zestaw jest tylko wymagane w przypadku jednej kwerendy Multidimensional Expressions (MDX), można zdefiniować, nazwanego zestaw przy użyciu słów kluczowych WITH.Nazwanego zestaw utworzonego przy użyciu słów kluczowych WITH nie jest już istnieje, po zakończeniu kwerendy.

Zgodnie z opisem w tym temacie, składnia słów kluczowych WITH jest dość elastyczne, obsługa nawet korzystanie z funkcji w celu zdefiniowania nazwanego zestaw.

Uwaga

Aby uzyskać więcej informacji na temat nazwanych zestawów zobacz Tworzenie nazwanych zestawów w języku MDX (MDX).

WITH słowo kluczowe składni

Aby dodać słowo kluczowe z instrukcja MDX SELECT, należy użyć następującej składni:

[ 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')

W składni dla kluczowego WITH Set_Identifier Parametr zawiera alias dla nazwanego zestaw. The Set_Expression parameter contains the zestaw wyrażenie to which the named zestaw alias refers.

Z przykładu słowo kluczowe

Następująca kwerenda MDX sprawdza sprzedaż jednostkowa z różnych dotyczący wina Chardonnay i Chablis czym może win w FoodMart 2000, przykładowa baza danych Microsoft SQL Server 2000 Analysis Services. Tej kwerendy, mimo że jest to dość proste w odniesieniu do zestaw wyników jest długich i nieporęczny konieczności utrzymania takich kwerendy.

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

Aby ułatwić zachowanie poprzedniej kwerendy MDX, można utworzyć nazwanego zestaw dla kwerendy za pomocą słów kluczowych WITH.W poniższym kodzie pokazano sposób tworzenia nazwanego zestaw, przy użyciu słów kluczowych WITH [ChardonnayChablis], i w jaki sposób nazwanego zestaw instrukcja SELECT krótsze i łatwiejsze do utrzymania.

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

Za pomocą funkcji łańcuch z WITH słowo kluczowe

Chociaż można jawnie określić każdy element członkowski członkowski nazwanego zestaw, ta metoda służy do tworzenia długich instrukcja.Aby ułatwić tworzenie i obsługę nazwany zestaw, funkcje MDX służy do definiowania członków.

Na przykład w poniższym przykładzie kwerendy MDX użyto Filtr, CurrentMember, and Nazwa Funkcje MDX, a funkcja InStr VBA do tworzenia [ChardonnayChablis] nazwany zestaw. Ta wersja programu [ChardonnayChablis] nazwany zestaw jest taka sama, jak wersja jawnie zdefiniowane wcześniej wyświetlane w tym temacie.

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