StrToMember (MDX)
Gibt das Element zurück, das durch eine MDX-formatierte Zeichenfolge (Multidimensional Expressions) angegeben wurde.
Syntax
StrToMember(Member_Name [,CONSTRAINED] )
Argumente
Member_Name
Ein gültiger Zeichenfolgenausdruck, der direkt oder indirekt ein Element angibt.
Bemerkungen
Die StrToMember-Funktion gibt den im Zeichenfolgenausdruck angegebenen Member zurück. Die StrToMember-Funktion wird in der Regel mit benutzerdefinierten Funktionen verwendet, um eine Memberspezifikation von einer externen Funktion zurück an eine MDX-Anweisung zurückzugeben, oder wenn eine MDX-Abfrage parametrisiert wird.
Wenn das CONSTRAINED-Flag verwendet wird, muss der Elementname direkt zu einem qualifizierten oder nicht qualifizierten Elementnamen aufgelöst werden können. Dieses Flag wird verwendet, um das Risiko von Einschleusungsangriffen über die angegebene Zeichenfolge zu verringern. Wenn eine Zeichenfolge bereitgestellt wird, die nicht direkt zu einem qualifizierten oder nicht qualifizierten Elementnamen aufgelöst werden kann, wird eine Fehlermeldung angezeigt, die besagt, dass die durch das CONSTRAINED-Flag in der STRTOMEMBER-Funktion vorgegebenen Einschränkungen verletzt wurden.
Wenn das CONSTRAINED-Flag nicht verwendet wird, kann das angegebene Element entweder direkt zu einem Elementnamen aufgelöst werden oder zu einem gültigen MDX-Ausdruck (Multidimensional Expressions) aufgelöst werden, der zu einem Namen aufgelöst wird.
Weitere Informationen zu den Unterschieden zwischen Mengen und Elementen finden Sie in den Abschnitten "Verwenden von Mengenausdrücken" und "Verwenden von Elementausdrücken".
Beispiele
Im folgenden Beispiel wird das Measure Reseller Sales Amount für das Bayern-Element in der attributhierarchie State-Province mithilfe der StrToMember-Funktion zurückgegeben. Die angegebene Zeichenfolge stellt den qualifizierten Elementnamen bereit.
SELECT {StrToMember ('[Geography].[State-Province].[Bayern]')}
ON 0,
{[Measures].[Reseller Sales Amount]} ON 1
FROM [Adventure Works]
Im folgenden Beispiel wird das Measure Reseller Sales Amount für das Bayern-Element mithilfe der StrToMember-Funktion zurückgegeben. Da der Elementname nur einen nicht qualifizierten Elementnamen bereitstellt, gibt die Abfrage die erste Instanz des angegebenen Elements zurück, die sich in diesem Fall in der Customer Geography-Hierarchie in der Customer-Dimension befindet, die sich nicht mit Reseller Sales überschneidet. Die bewährte Methode sieht vor, immer den qualifizierten Namen anzugeben, um erwartete Ergebnisse zu erhalten.
SELECT {StrToMember ('[Bayern]').Parent}
ON 0,
{[Measures].[Reseller Sales Amount]} ON 1
FROM [Adventure Works]
Im folgenden Beispiel wird das Measure Reseller Sales Amount für das Bayern-Element in der attributhierarchie State-Province mithilfe der StrToMember-Funktion zurückgegeben. Der bereitgestellte Elementname wird zu einem qualifizierten Elementnamen aufgelöst.
SELECT {StrToMember('[Geography].[Geography].[Country].[Germany].FirstChild', CONSTRAINED)}
ON 0,
{[Measures].[Reseller Sales Amount]} ON 1
FROM [Adventure Works]
Im folgenden Beispiel wird aufgrund des CONSTRAINED-Flags ein Fehler zurückgegeben. Die bereitgestellte Elementnamen-Zeichenfolge enthält zwar einen gültigen MDX-Elementausdruck, der zu einem qualifizierten Elementnamen aufgelöst wird, das CONSTRAINED-Flag erfordert jedoch qualifizierte oder nicht qualifizierten Elementnamen in der Elementnamen-Zeichenfolge.
SELECT StrToMember ('[Geography].[Geography].[Country].[Germany].FirstChild', CONSTRAINED)
ON 0
FROM [Adventure Works]