Freigeben über


Verwenden von Zeichenfolgenfunktionen

Zeichenfolgenfunktionen können Sie für fast jedes Objekt in MDX (Multidimensional Expressions) verwenden. In gespeicherten Prozeduren werden Zeichenfolgenfunktionen hauptsächlich dazu verwendet, das jeweilige Objekt in eine Zeichenfolgendarstellung zu konvertieren. Zeichenfolgenfunktionen können auch dazu verwendet werden, einen Zeichenfolgenausdruck anhand eines Objekts auszuwerten, um einen Wert zurückzugeben.

Die am häufigsten verwendeten Zeichenfolgenfunktionen sind Name und Eindeutiger Name. Diese Funktionen geben den Namen und den eindeutigen Namen eines Objekts zurück. Sie werden meistens zum Debuggen von Berechnungen verwendet, um zu ermitteln, welches Element eine Funktion zurückgibt.

Beispiele

Die folgende Beispielabfrage veranschaulicht die Verwendung dieser Funktionen:

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]  

Die Generate-Funktion kann verwendet werden, um eine Zeichenfolgenfunktion auf jedem Element eines Satzes auszuführen und die Ergebnisse zu verketten. Dies ist nützlich beim Debuggen von Berechnungen, da es Ihnen ermöglicht, den Inhalt einer Menge sichtbar zu machen. Im folgenden Beispiel wird diese Art der Verwendung veranschaulicht:

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]  

Eine weitere Gruppe häufig verwendeter Zeichenfolgenfunktionen ermöglichen Ihnen eine Zeichenfolge umzuwandeln, die den eindeutigen Namen eines Objekts oder einen Ausdruck enthält, der sich in das Objekt auflöst. Die folgende Beispielabfrage veranschaulicht, wie die Funktionen StrToMember und StrToSet dies tun:

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]  

Hinweis

Die Funktionen StrToMember und StrToSet sollten mit Vorsicht verwendet werden. Sie können zu schlechter Abfrageleistung führen, wenn sie innerhalb von Berechnungsdefinitionen verwendet werden.

Weitere Informationen

Generate (MDX)
Name (MDX)
UniqueName (MDX)
Funktionen (MDX-Syntax)
Verwenden von gespeicherten Prozeduren (MDX)
StrToMember (MDX)
StrToSet (MDX)