Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du kan använda strängfunktioner på nästan alla objekt i Multidimensional Expressions (MDX). I lagrade procedurer använder du strängfunktioner främst för att konvertera objektet till en strängrepresentation. Du använder också strängfunktioner för att utvärdera ett stränguttryck över ett objekt för att returnera ett värde.
De mest använda strängfunktionerna är Namn och Unikt namn. Dessa funktioner returnerar respektive namnet och det unika namnet på ett objekt. Främst används de vid felsökning av beräkningar för att ta reda på vilken medlem en funktion returnerar.
Examples
Följande exempelfrågor visar hur man använder dessa funktioner:
WITH
//Returns the name of the current Product on rows
MEMBER [Measures].[ProductName] AS [Product].[Product].CurrentMember.Name
//Returns the uniquename of the current Product on rows
MEMBER [Measures].[ProductUniqueName] AS [Product].[Product].CurrentMember.Uniquename
//Returns the name of the Product dimension
MEMBER [Measures].[ProductDimensionName] AS [Product].Name
SELECT {[Measures].[ProductName],[Measures].[ProductUniqueName],[Measures].[ProductDimensionName]}
ON COLUMNS,
[Product].[Product].MEMBERS ON ROWS
FROM [Adventure Works]
Genere-funktionen kan användas för att utföra en strängfunktion på varje medlem i en mängd och sammanfoga resultaten. Detta kan också vara användbart vid felsökning av beräkningar eftersom det låter dig visualisera innehållet i en mängd. Följande exempel visar hur man använder det på detta sätt:
WITH
//Returns the names of the current Product and its ancestors up to the All Member
MEMBER [Measures].[AncestorNames] AS
GENERATE(
ASCENDANTS([Product].[Product Categories].CurrentMember)
, [Product].[Product Categories].CurrentMember.Name, ", ")
SELECT
{[Measures].[AncestorNames]}
ON COLUMNS,
[Product].[Product Categories].MEMBERS ON ROWS
FROM [Adventure Works]
En annan grupp av allmänt använda strängfunktioner är de som gör det möjligt att kasta en sträng som innehåller objektets unika namn eller ett uttryck som resolverar objektet till objektet till objektet självt. Följande exempelfråga visar hur funktionerna StrToMember och StrToSet gör detta:
SELECT
{StrToMember("[Measures].[Inter" + "net Sales Amount]")}
ON COLUMNS,
StrToSet("{
[Product].[Product Categories].[Category].&[3],
[Product].[Product Categories].[Product].&[477],
[Product].[Product Categories].[Product].&[788],
[Product].[Product Categories].[Product].&[708],
[Product].[Product Categories].[Product].&[711]
}")
ON ROWS
FROM [Adventure Works]
Note
StrToMedlem- och StrToSet-funktionerna bör användas med försiktighet. De kan leda till dålig frågeprestanda om de används inom beräkningsdefinitioner.