= Aggregating Data with SPSS =

SPSS offers several commands for computing aggregated statistics and translating datasets into aggregated formats.

<<TableOfContents>>

----



== Statistics ==

[[SPSS/ScratchVariables|Scratch variables]] can be used to compute aggregated statistics.

{{{
compute #TotalSales = sum(Sales, #TotalSales).
compute Total_Sales = #TotalSales.
}}}

The [[SPSS/Leave|LEAVE]] command can be used in a similar manner.

{{{
compute Total_Sales = sum(Sales, Total_Sales).
leave Total_Sales.
}}}

The [[SPSS/Aggregate|AGGREGATE]] command creates a new dataset of aggregated statistics.

{{{
aggregate outfile=* mode=addvariables
  /Total_Sales = sum(Sales).
}}}

Additionally it allows for group variables on the `/BREAK` subcommand.

{{{
aggregate outfile=* mode=addvariables
  /break=clientid
  /Total_Sales = sum(Sales).
}}}

----



== Wide and Long Data ==

The [[SPSS/CasesToVars|CASESTOVARS]] command translates a long dataset into wide format. If the dataset already has an index variable for the within-group sequence, specify it on the `/INDEX` subcommand.

{{{
casestovars
  /id=clientid
  /index=fiscalquarter.
}}}

Otherwise variables will be spread into an unknowable number of sequentially-named variables.

If case-wise descriptive statistics are all that is desired from the translation, consider instead using the [[SPSS/Aggregate|AGGREGATE]] command.

{{{
dataset declare clients.
aggregate
  /outfile="clients"
  /break=clientid
  /count=N.
}}}

The [[SPSS/VarsToCases|VARSTOCASES]] command translates a wide dataset into long format.

{{{
varstocases
  /make Sales from Sales.1 to Sales.4
  /index=fiscalquarter.
}}}

----



== Data Model ==

The `AGGREGATE` command does ''not'' recognize [[SPSS/SplitFile|SPLIT FILE]] status.



----
CategoryRicottone