Generate (MDX)
Aktualisiert: 17. Juli 2006
Wendet eine Menge auf jedes Element einer anderen Menge an und verknüpft die entstehenden Mengen durch den Vereinigungsoperator. Alternativ gibt die Funktion eine verkettete Zeichenfolge zurück, die durch Auswerten eines Zeichenfolgenausdrucks über einer Menge erstellt wurde.
Syntax
Set expression syntax
Generate( Set_Expression1 , ( Set_Expression2 [ , ALL ] ) )
String expression syntax
Generate( Set_Expression1 , ( String_Expression [ ,Delimiter ] ) )
Argumente
- Set_Expression1
Ein gültiger MDX-Ausdruck (Multidimensional Expressions), der eine Menge zurückgibt.
- Set_Expression2
Ein gültiger MDX-Ausdruck (Multidimensional Expressions), der eine Menge zurückgibt.
- String_Expression
Ein gültiger Zeichenfolgenausdruck, bei dem es sich in der Regel um den Namen des aktuellen Elements (CurrentMember.Name) jedes Tupels in der angegebenen Menge handelt.
- Delimiter
Ein gültiges Trennzeichen, ausgedrückt als Zeichenfolgenausdruck.
Hinweise
Wenn eine zweite Menge angegeben wird, gibt die Generate-Funktion eine Menge zurück*,* die generiert wird, indem die Tupel in der zweiten Menge auf jedes Tupel in der ersten Menge angewendet werden und dann die entstehenden Mengen durch Vereinigungsmengenbildung verknüpft werden. Wenn ALL angegeben wird, werden doppelte Werte in der sich ergebenden Menge beibehalten.
Wenn ein Zeichenfolgenausdruck angegeben wird, gibt die Generate-Funktion eine Zeichenfolge zurück, die generiert wird*,* indem der angegebene Zeichenfolgenausdruck für jedes Tupel in der ersten Menge ausgewertet wird und dann die Ergebnisse verkettet werden. Optional kann die Zeichenfolge begrenzt werden, sodass die einzelnen Ergebnisse in der verketteten Ergebniszeichenfolge voneinander getrennt sind.
Beispiele:
Menge
Generate({USA, FRANCE}, {SEATTLE, BOSTON}, ALL)
gibt beispielsweise die Menge
{SEATTLE, BOSTON, SEATTLE, BOSTON}
zurück. Wenn jedoch ALL
nicht angegeben ist, wird die Menge {SEATTLE, BOSTON}
zurückgegeben.
String
Im folgenden Beispiel wird die Zeichenfolge "19971998" zurückgegeben: Generate( {Time.[1997], Time.[1998]}, Time.CurrentMember.Name)
Im folgenden Beispiel wird die Zeichenfolge "1997 and 1998" zurückgegeben: Generate( {Time.[1997], Time.[1998]}, Time.CurrentMember.Name, " and ")
Siehe auch
Verweis
Hilfe und Informationen
Informationsquellen für SQL Server 2005
Änderungsverlauf
Version | Verlauf |
---|---|
17. Juli 2006 |
|