Aracılığıyla paylaş


Hesaplanan üyeleri (MDX) sorgusu kapsamlı oluşturma

Varsa bir hesaplanan üye ise yalnızca tek bir çok boyutlu deyimler (MDX) sorgusu için gerekli olan tanımlayabilirsiniz hesaplanan üye WITH anahtar sözcüğünü kullanarak.Sorgunun çalışması bittikten sonra artık WITH anahtar sözcüğünü kullanarak oluşturulan BIR hesaplanmış üye yok.

Bu konuda anlatıldığı gibi WITH anahtar sözdizimi bile, başka bir hesaplanmış üye temel alması hesaplanan üye izin oldukça, esnektir.

Not

Hesaplanan üyeler hakkında daha fazla bilgi için bkz: Yapı üyeleri MDX (MDX), hesaplanan.

Anahtar sözcük sözdizimi

Bir MDX deyim ILE 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> ::=
   ( [ CALCULATED ] MEMBER <CREATE MEMBER body clause>) | <CREATE MEMBER body clause> ::= Member_Identifier AS 'MDX_Expression'
   [ <CREATE MEMBER property clause> [ , <CREATE MEMBER property clause> ... ] ]
<CREATE MEMBER property clause> ::=
   ( MemberProperty_Identifier = Scalar_Expression )

WITH anahtar sözcük için sözdiziminde Member_Identifier hesaplanan üye adını tam olarak nitelenmiş bir değerdir. Bu tam adı, boyutu dahil eder veya hangi düzey hesaplanan üye ilişkilendirilir.The MDX_Expression value returns the value of the hesaplanan üye after the ifade value has been evaluated. Bir hesaplanan üye ait iç hücre özelliklerin değerlerinin isteğe bağlı olarak hücre özelliğinin adı sağlayarak belirtilebilir MemberProperty_Identifier değer ve hücre özelliğinin değeri Scalar_Expression değer.

Anahtar sözcük örnekleri

Aşağıdaki MDX sorgusu, bir hesaplanan üye tanımlar. [Measures].[Special Discount], özgün iskonto tutarını temel alan özel bir iskonto hesaplanıyor.

WITH 
   MEMBER [Measures].[Special Discount] AS
   [Measures].[Discount Amount] * 1.5
SELECT 
   [Measures].[Special Discount] on COLUMNS,
   NON EMPTY [Product].[Product].MEMBERS  ON Rows
FROM [Adventure Works]
WHERE [Product].[Category].[Bikes]

Bir sıradüzeni içindeki herhangi bir aşamada, hesaplanan üyeler de oluşturabilirsiniz.Örneğin, aşağıdaki MDX sorgusu tanımlar [BigSeller] hesaplanan üye örnek Sales küp için. Başka bir hesaplanan üye belirtilen bir mağazaya beer ve Şarap Satış birimi içinde en az 100,00 YTL olup olmadığını belirler.Ancak, sorgu oluşturur [BigSeller] hesaplanan üye alt üyesi olmayan olarak [Product] Boyut, ancak yerine alt üyesi olarak [Beer and Wine] üye.

WITH 
   MEMBER [Product].[Beer and Wine].[BigSeller] AS
  IIf([Product].[Beer and Wine] > 100, "Yes","No")
SELECT
   {[Product].[BigSeller]} ON COLUMNS,
   Store.[Store Name].Members ON ROWS
FROM Sales

Hesaplanan üyeler, yalnızca varolan üyeleri bir küpüne bağlıdır gerekmez.hesaplanan üye da aynı MDX deyimde tanımlanan diğer hesaplanan üyeler temel alabilir.Örneğin, aşağıdaki MDX sorgusu ilk hesaplanan üye oluşturulan değerini kullanır. [Measures].[Special Discount], ikinci hesaplanan üye değeri oluşturmak için [Measures].[Special Discounted Amount].

WITH 
   MEMBER [Measures].[Special Discount] AS
   [Measures].[Discount Percentage] * 1.5, 
   FORMAT_STRING = 'Percent'
   
   MEMBER [Measures].[Special Discounted Amount] AS
   [Measures].[Reseller Average Unit Price] * [Measures].[Special Discount], 
   FORMAT_STRING = 'Currency'
   
SELECT 
   {[Measures].[Special Discount], [Measures].[Special Discounted Amount]} on COLUMNS,
   NON EMPTY [Product].[Product].MEMBERS  ON Rows
FROM [Adventure Works]
WHERE [Product].[Category].[Bikes]