Identifierare (MDX)

En identifierare är namnet på ett Analysis Services-objekt. Varje objekt kan och måste ha en identifierare. Detta inkluderar kuber, dimensioner, hierarkier, nivåer, medlemmar och så vidare. Du använder identifieraren för ett objekt för att referera till objektet i Multidimensional Expressions (MDX)-satser.

Beroende på hur du namnger objektet kommer identifieraren för objektidentifieraren att vara antingen en vanlig eller avgränsad identifierare.

Note

Både vanliga och avgränsade identifierare måste innehålla från 1 till 100 tecken.

Användning av vanliga identifierare

En reguljär identifierare är ett objektnamn som följer följande formateringsregler för vanliga identifierare. En vanlig identifierare kan användas med eller utan avgränsare.

Formateringsregler för regelbundna identifierare

  1. Den första tecknet måste vara en av följande:

    • En bokstav som definieras av Unicode Standard 2.0. Förutom bokstavstecken från andra språk inkluderar Unicode-definitionen av bokstäver latinska tecken från a till z och från A till Z.

    • Understrecket (_).

  2. Följande karaktärer kan vara:

    • Bokstäver som definieras i Unicode Standard 2.0.

    • Decimaltal från antingen grundläggande latinska eller andra nationella skript.

    • Understrecket (_).

  3. Identifieraren får inte vara ett MDX-reserverat nyckelord. Reserverade nyckelord är kasus-känsliga i MDX. För mer information, se Reserverade nyckelord (MDX-syntax).

  4. Inbäddade mellanslag eller specialtecken är inte tillåtna.

Exempel på regelbundna identifierare

I följande MDX-sats följer identifierarna, Measures, Product, och Style, formateringsreglerna för vanliga identifierare. Dessa vanliga identifierare behöver inga avgränsare.

SELECT Measures.MEMBERS ON COLUMNS,  
Product.Style.CHILDREN ON ROWS  
FROM [Adventure Works]  
  

Även om det inte är ett krav kan du också använda avgränsare med vanliga identifierare. I följande MDX-sats Measureshar , Product, och Style vanliga identifierare korrekt avgränsats med hjälp av parenteser.

SELECT [Measures].MEMBERS ON COLUMNS,  
[Product].[Style].CHILDREN ON ROWS  
FROM [Adventure Works]  
  

Användning av avgränsade identifierare

En identifierare som inte följer formateringsreglerna för vanliga identifierare måste alltid avgränsas med hakparenteser ([]).

Note

Avgränsare är endast för identifierare. Avgränsare kan inte användas för nyckelord, oavsett om nyckelorden är markerade som reserverade i Analystjänster eller inte.

Du använder en avgränsad identifierare i följande situationer:

  • När namnet på ett objekt eller en del av namnet använder reserverade ord.

    Vi rekommenderar att reserverade nyckelord inte används som objektnamn. Databaser uppgraderade från tidigare versioner av Analysis Services kan innehålla identifierare som inkluderar ord som inte reserverades i den tidigare versionen, men som nu är reserverade. Tills du kan ändra identifieraren för objektet kan du referera till objektet med en avgränsad identifierare.

  • När namnet på ett objekt använder tecken som inte listas som kvalificerade identifierare.

    Analysis Services tillåter en avgränsad identifierare att använda vilket tecken som helst i den aktuella kodsidan. Dock kan godtycklig användning av specialtecken i ett objektnamn göra MDX-satser och skript svåra att läsa och underhålla.

Formateringsregler för avgränsade identifierare

Kroppen i en avgränsad identifierare kan innehålla vilken kombination av tecken som helst i den aktuella kodsidan, inklusive själva avgränsande tecken. Om kroppen i den avgränsade identifieraren innehåller avgränsande tecken krävs särskild hantering:

  • Om identifierarens kropp endast innehåller en vänster hakparentes ([), krävs ingen ytterligare hantering.

  • Om identifierarens innehåll innehåller en höger parentes (]), måste du ange två högra hakparenteser (]]).

Exempel på avgränsade identifierare

I följande hypotetiska MDX-uttalande Sales Volumeär , Sales Cube, och select avgränsade identifierare:

-- The [Sales Volume] and [Sales Cube] identifiers contain a space.  
SELECT Measures.[Sales Volume]  
FROM [Sales Cube]  
WHERE Product.[select]  
-- The [select] identifier is a reserved keyword.  

I detta nästa exempel är Total Profit [Domestic]namnet på ett objekt . För att referera till detta objekt måste du använda följande avgränsade identifierare:

[Total Profit [Domestic]]]

Observera att vänster parentes före Domestic inte behövde ändras för att skapa den avgränsade identifieraren. Dock måste högra parentesen ersättas Domestic med två högra brackets.

Avgränsning av identifierare med flera delar

När du använder kvalificerade objektnamn kan du behöva avgränsa mer än en av identifierarna som utgör objektnamnet. Till exempel behöver identifieraren Främre bromsar i följande kod avgränsas.

VÄLJ [Mått]. MEDLEMMAR PÅ KOLONNER,

[Produkt]. [Produkt]. [Frambromsar] PÅ RADER

FRÅN [Adventure Works]

Dessutom avgränsades Measures-identifieraren i det föregående exemplet för att visa att man avgränsar mer än en identifierare.