Creates a table of values by splitting a specified series into specified lengths.

RESHAPE(series, lengths, start, overlap, zeroflag)

series |
- |
A series or table. |

lengths |
- |
A series of lengths. |

start |
- |
Optional. An integer indicating start index. Defaults to 1. |

overlap |
- |
Optional. An integer indicating segment overlap. Defaults to 0. |

zeroflag |
- |
Optional. An integer. Allow zero length segments. Defaults to 0, no zero length segments. |

A table.

W1: 1..10

W2: reshape(W1, {2, 4, 3})

W2 contains the table

1 3 7 10

2 4 8

5 9

6

by dividing W1 into four segments of length 2, 4, 3 and length(W1)-(2+4+3) = 1 values.

W1: 1..10

W2: reshape(W1, {3, 1, 4})

returns the table:

1 4 5 9

2 6 10

3 7

8

W1: 1..10

W2: reshape(W1, {3, 0, 4})

returns the table:

1 4 8

2 5 9

3 6 10

7

The 0 length column is removed.

W1: 1..10

W2: reshape(W1, {3, 0, 4}, 1, 0, 1)

returns the table:

1 0 4 8

2 5 9

3 6 10

7

The zero length column is preserved with a value of 0.

W1: 1..10

W2: reshape(W1, {3, 0, 4}, 1, 0, -1)

returns the table:

1 5 9

2 6 10

3 7

8

The zero length column is removed along with the data point corresponding to the zero length column.

RESHAPE creates a table of values by splitting
series into multiple columns where the length of each column is specified
by the **lengths** series. Any remaining
values are placed in the final column.

If **zeroflag
== 0** (the default), zero length columns are skipped.

If **zeroflag
> 0**, zero length columns are preserved with the value 0.

If **zeroflag
< 0**, zero length columns are skipped as well as the corresponding
data point for that column.

Unlike RAVEL, RESHAPE can divide the series into columns of varying lengths.