Aracılığıyla paylaş


Adlandırılmış kümeleri (mdx) sorgusu kapsamlı oluşturma

Adlandırılmış küme yalnızca ise tek bir çok boyutlu ifadeleri (mdx) sorgusu için gerekli, WITH anahtar sözcüğünü kullanarak küme adlı tanımlayabilirsiniz.Sorgunun çalışması bittikten sonra artık WITH anahtar sözcüğü kullanılarak oluşturulan bir adlandırılmış küme bulunmaktadır.

Bu konuda anlatıldığı gibi WITH anahtar sözcük sözdizimi adlandırılmış küme tanımlamak için işlevleri kullanımı bile uyum oldukça esnek.

Not

Adlandırılmış kümeleri hakkında daha fazla bilgi için bkz: Adlandırılmış kümeleri mdx (mdx) içinde oluşturma.

Anahtar sözcük sözdizimi

Bir mdx deyim için WITH anahtar sözcük eklemek için aşağıdaki sözdizimini kullanın:

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

WITH anahtar sözcük sözdizimi, Set_Identifier parametresi içeriyor diğer ad için adlandırılmış küme.The Set_Expression parameter contains the set expression to which the named set alias refers.

Anahtar sözcük örnekle

Aşağıdaki mdx sorgusu çeşitli Chardonnay birim satışlarını inceler ve Chablis wines FoodMart 2000, örnek veritabanı için Microsoft sql Server 2000 Analysis Services.Bu sorgu, açısından oldukça basit, ancak sonuç küme, uzun ve oldukça için bakım olduğunda ise böyle bir sorgu.

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

Önceki mdx sorgusu bakımını daha kolay hale getirmek için WITH anahtar sözcüğünü kullanarak bir sorgu için adlandırılmış küme oluşturabilirsiniz.Aşağıdaki kod WITH anahtar sözcüğü bir adlandırılmış küme oluşturmak için nasıl kullanılacağını gösterir [ChardonnayChablis], ve nasıl adlandırılmış küme deyim daha kısa ve daha kolay hale getirir.

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

İşlevler ile birlikte kullanılarak anahtar sözcük

Her üye, adlandırılmış küme açıkça tanımlayabilmenize rağmen bu yaklaşım uzun bir deyim oluşturabilir.Oluşturulmasını ve bakımını adlandırılmış bir hale getirmek için küme daha kolay üyeleri tanımlamak için mdx işlevleri kullanabilirsiniz.

Örneğin, aşağıdaki mdx sorgusu örneği kullanır filtre, CurrentMember, ve ad mdx işlevleri ve InStr vba işlev oluşturmak için [ChardonnayChablis] adlandırılmış küme.Bu sürüm, [ChardonnayChablis] adlandırılmış küme aynıdır açıkça tanımlanan versiyonu gösterilen'daha önce de bu konuda.

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