### 12.5 FLIP

    FLIP /VARIABLES=var_list /NEWNAMES=var_name.

`FLIP` transposes rows and columns in the active dataset. It causes cases to be swapped with variables, and vice versa.

All variables in the transposed active dataset are numeric. String variables take on the system-missing value in the transposed file.

`N` subcommands are required. If specified, the `VARIABLES` subcommand selects variables to be transformed into cases, and variables not specified are discarded. If the `VARIABLES` subcommand is omitted, all variables are selected for transposition.

The variables specified by `NEWNAMES`, which must be a string variable, is used to give names to the variables created by `FLIP`. Only the first 8 characters of the variable are used. If `NEWNAMES` is not specified then the default is a variable named CASE_LBL, if it exists. If it does not then the variables created by `FLIP` are named VAR000 through VAR999, then VAR1000, VAR1001, and so on.

When a `NEWNAMES` variable is available, the names must be canonicalized before becoming variable names. Invalid characters are replaced by letter ‘`V`’ in the first position, or by ‘`_`’ in subsequent positions. If the name thus generated is not unique, then numeric extensions are added, starting with 1, until a unique name is found or there are no remaining possibilities. If the latter occurs then the `FLIP` operation aborts.

The resultant dictionary contains a CASE_LBL variable, a string variable of width 8, which stores the names of the variables in the dictionary before the transposition. Variables names longer than 8 characters are truncated. If the active dataset is subsequently transposed using `FLIP`, this variable can be used to recreate the original variable names.

`FLIP` honors `N OF CASES` (see N OF CASES). It ignores `TEMPORARY` (see TEMPORARY), so that “temporary” transformations become permanent.