StrToMember (MDX)

Gibt das Mitglied zurück, das durch eine Multidimensional Expressions (MDX)-formatierte Zeichenkette spezifiziert ist.

Syntax

  
StrToMember(Member_Name [,CONSTRAINED] )   

Argumente

Member_Name
Ein gültiger String-Ausdruck, der direkt oder indirekt ein Mitglied angibt.

Bemerkungen

Die StrToMember-Funktion gibt das im String-Ausdruck angegebene Mitglied zurück. Die StrToMember-Funktion wird typischerweise zusammen mit benutzerdefinierten Funktionen verwendet, um eine Mitgliedsspezifikation von einer externen Funktion zurück zu einer MDX-Anweisung zurückzugeben oder wenn eine MDX-Abfrage parametrisiert wird.

  • Wenn die CONSTRAINED Flag verwendet wird, muss der Mitgliedername direkt auf einen qualifizierten oder unqualifizierten Mitgliedernamen aufgelöst werden können. Dieses Flag wird verwendet, um das Risiko von Injektionsangriffen über die angegebene Zeichenkette zu verringern. Wenn eine Zeichenkette angegeben wird, die nicht direkt auf einen qualifizierten oder unqualifizierten Mitgliedsnamen aufgelöst werden kann, erscheint folgender Fehler: "Die durch das CONSTRAINED Flag in der STRTOMEMBER-Funktion auferlegten Einschränkungen wurden verletzt."

  • Wenn das CONSTRAINED Flag nicht verwendet wird, kann das spezifizierte Mitglied entweder direkt zu einem Mitgliedsnamen auflösen oder zu einem MDX-Ausdruck auflösen, der dann zu einem Namen aufgelöst wird.

  • Um die Unterschiede zwischen Mengen und Elementen besser zu verstehen, siehe Using Set Expressions and Using Member Expressions.

Beispiele

Das folgende Beispiel gibt das Maß Reseller Sales Amount für das Bayern-Mitglied in der State-Province Attributhierarchie unter Verwendung der StrToMember-Funktion zurück. Der angegebene String lieferte den qualifizierten Mitgliedsnamen.

SELECT {StrToMember ('[Geography].[State-Province].[Bayern]')}  
ON 0,  
{[Measures].[Reseller Sales Amount]} ON 1  
FROM [Adventure Works]  
  

Das folgende Beispiel liefert das Maß Reseller Sales Amount für das Bayern-Mitglied mit der StrToMember-Funktion zurück. Da die Mitgliedernamensfolge nur einen unqualifizierten Mitgliedsnamen lieferte, liefert die Abfrage die erste Instanz des angegebenen Mitglieds, die sich zufällig in der Customer Geography-Hierarchie in der Kundendimension befindet, die nicht mit den Reseller Sales überschneidet. Best Practices verlangen, den qualifizierten Namen anzugeben, um erwartete Ergebnisse sicherzustellen.

SELECT {StrToMember ('[Bayern]').Parent}  
ON 0,  
{[Measures].[Reseller Sales Amount]} ON 1  
FROM [Adventure Works]  
  

Das folgende Beispiel gibt das Maß Reseller Sales Amount für das Bayern-Mitglied in der State-Province Attributhierarchie unter Verwendung der StrToMember-Funktion zurück. Der vorliegende Mitgliedernamen-String resolviert zu einem qualifizierten Mitgliedsnamen.

SELECT {StrToMember('[Geography].[Geography].[Country].[Germany].FirstChild', CONSTRAINED)}  
ON 0,  
{[Measures].[Reseller Sales Amount]} ON 1  
FROM [Adventure Works]  
  

Das folgende Beispiel liefert einen Fehler aufgrund des CONSTRAINED Flags. Während die bereitgestellte Mitgliedernamens-Zeichenkette einen gültigen MDX-Mitgliedsausdruck enthält, der auf einen qualifizierten Mitgliedernamen aufgelöst wird, erfordert das CONSTRAINED Flag qualifizierte oder nicht qualifizierte Mitgliedernamen in der Mitgliedernamen-Zeichenkette.

SELECT StrToMember ('[Geography].[Geography].[Country].[Germany].FirstChild', CONSTRAINED)  
ON 0  
FROM [Adventure Works]