StrToMember (MDX)

Zwraca element określony przez ciąg w formacie Multidimensional Expressions (MDX).

Syntax

  
StrToMember(Member_Name [,CONSTRAINED] )   

Arguments

Member_Name
Poprawne wyrażenie w ciągu tekstu określające, bezpośrednio lub pośrednio, członka.

Remarks

Funkcja StrToMember zwraca element określony w wyrażeniu ciągu znaków. Funkcja StrToMember jest zazwyczaj używana z funkcjami zdefiniowanymi przez użytkownika do zwracania specyfikacji członka z funkcji zewnętrznej z powrotem do instrukcji MDX lub gdy zapytanie MDX jest parametryzowane.

  • Gdy używana jest flaga CONSTRAINED, nazwa członka musi być bezpośrednio rozwiązywalna do kwalifikowanej lub niekwalifikowanej nazwy członka. Ta flaga służy do zmniejszenia ryzyka ataków wstrzykujących za pomocą określonego ciągu łańcuchów. Jeśli podano łańcuch znaków, który nie da się bezpośrednio rozwiązywać do kwalifikowanej lub niekwalifikowanej nazwy członka, pojawia się następujący błąd: "Ograniczenia nałożone przez flagę CONSTRAINED w funkcji STRTOMEMBER zostały naruszone."

  • Gdy flaga CONSTRAINED nie jest używana, określony członek może rozwiązywać się albo bezpośrednio do nazwy członka, albo do wyrażenia MDX, które rozwiązuje się do nazwy.

  • Aby lepiej zrozumieć różnice między zbiorami a członkami, zobacz Używanie wyrażeń zbiorów i Używanie wyrażeń członków.

Examples

Poniższy przykład zwraca miarę Kwoty Sprzedaży Resellera dla członka Bayern w hierarchii atrybutów State-Province za pomocą funkcji StrToMember . Wskazany ciąg podał kwalifikowaną nazwę członka.

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

Poniższy przykład zwraca miarę Kwoty Sprzedaży Resellera dla członka Bayern za pomocą funkcji StrToMember . Ponieważ ciąg nazw członka podawał jedynie niekwalifikowaną nazwę członka, zapytanie zwraca pierwszą instancję tego członka, która znajduje się w hierarchii Geografii Klienta w wymiarze Klienta, która nie przecina się z Sprzedażą Reseller. Najlepsze praktyki nakazują określenie kwalifikowanej nazwy, aby zapewnić oczekiwane rezultaty.

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

Poniższy przykład zwraca miarę Kwoty Sprzedaży Resellera dla członka Bayern w hierarchii atrybutów State-Province za pomocą funkcji StrToMember . Ciąg nazw członka podany rozwiązuje się do kwalifikowanego imienia członka.

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

Poniższy przykład zwraca błąd spowodowany flagą CONSTRAINED. Podczas gdy podany ciąg nazw członka zawiera poprawne wyrażenie członka MDX, które rozwiązuje się do kwalifikowanego imienia członka, flaga CONSTRAINED wymaga podania kwalifikowanych lub niekwalifikowanych nazw członków w ciągu nazw członka.

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