Reshape (FPScript)
Ändert die Dimensionslängen und/oder Dimensionsanzahl einer Datenreihe oder einer Datenmatrix.
Syntax
Reshape(DataSet [ , Shape ])
Die Syntax der Reshape-Funktion besteht aus folgenden Teilen:
Teil |
Beschreibung |
---|---|
DataSet |
Der Datensatz, dessen Dimensionslängen und/oder Dimensionsanzahl geändert werden sollen. Erlaubte Datenstrukturen sind Datenreihe, Datenmatrix, Signal, Signalreihe, Signalreihe mit zweidimensionaler X-Komponente und Raumkurve. Es sind alle Datentypen erlaubt. Ist das Argument eine Liste, dann wird die Funktion für jedes Element der Liste ausgeführt und das Ergebnis ist ebenfalls eine Liste. |
Shape |
Ist eine Datenreihe mit maximal zwei Werten, welche die Dimensionslängen für die einzelnen Dimensionen des Ergebnisses vorgibt. Wenn DataSet eine Datenmatrix ist, können Sie dieses Argument weglassen. Die Datenmatrix wird dann in eine Datenreihe gewandelt. Bei einer zusammengesetzten Datenstruktur wird nur die Y-Komponente verarbeitet und alle anderen Komponenten werden verworfen. Erlaubte Datenstrukturen sind Einzelwert und Datenreihe. Es sind alle reellen Datentypen erlaubt. Ist das Argument eine Liste, dann wird deren erstes Element entnommen. Ist dies wieder eine Liste, dann wird der Vorgang wiederholt. |
Anmerkungen
Das Ergebnis hat die gleiche Einheit wie das Argument DataSet.
Mit der Funktion können Sie eine Datenmatrix umstrukturieren, eine Datenmatrix in eine Datenreihe wandeln oder umgekehrt eine Datenreihe in eine Datenmatrix. Die Gesamtwerteanzahl des Ergebnisses, welche dem Produkt der Werte in Shape entspricht, darf nicht größer als die von DataSet werden. Wird diese kleiner, dann werden überschüssige Werte verworfen.
Wenn Shape zwei Werte enthält, dann ist das Ergebnis eine Datenmatrix. Der erste Wert in Shape gibt dann die Anzahl der Spalten und der zweite die Anzahl der Zeilen an. Der Datentyp des Ergebnisses entspricht dem von DataSet.
Verfügbarkeit
FlexPro View, Basic, Professional, Developer Suite
Beispiele
Reshape({1, 2, 3, 4, 5, 6}, {2, 3}) |
Ergibt {{1, 2, 3}, {4, 5, 6}}. |
Reshape({1, 2, 3} # 2) |
Ergibt {1, 2, 3, 1, 2, 3}. |
Reshape(TransposeMatrix({Series, (0 # NumberOfRows(Series))}), {NumberOfRows(Series) * 2}) |
Fügt an jeder zweiten Position einer Datenreihe eine Null ein. Zunächst wird mit dem Bündeln-Operator eine Datenmatrix erstellt, bei der die zweite Spalte ausschließlich Nullen enthält. Diese wird anschließend transponiert, was die Daten im Speicher in die gewünschte Reihenfolge bringt. Zuletzt wird die Matrix wieder in eine Datenreihe umgewandelt. |