Previous: , Up: SPV Legacy Detail Member Binary Format   [Contents][Index]


D.3.2 Data

Data ⇒ NumericData StringData?
NumericData ⇒ NumericSeries*[n-series]
NumericSeries ⇒ byte*288[series-name] double*[per-series]

Data follow the Metadata in the legacy binary format, with sources in the same order. Each NumericSeries begins with a series-name that generally indicates its role in the pivot table, e.g. “cell”, “cellFormat”, “dimension0categories”, “dimension0group0”, followed by the numeric data, one double per element in the series. A double with the maximum negative double -DBL_MAX represents the system-missing value SYSMIS.

StringData ⇒ i1 string[source-name] Pairs Labels

Pairs ⇒ int[n-string-series] PairSeries*[n-string-series]
PairSeries ⇒ string[pair-series-name] int[n-pairs] Pair*[n-pairs]
Pair ⇒ int[i] int[j]

Labels ⇒ int[n-labels] Label*[n-labels]
Label ⇒ int[frequency] int[s]

A source may include a mix of numeric and string data values. When a source includes any string data, the data values that are strings are set to SYSMIS in the NumericSeries, and StringData follows the NumericData. A source that contains no string data omits the StringData. To reliably determine whether a source includes StringData, the reader should check whether the offset following the NumericData is the offset of the next series, as indicated by its Metadata (or the end of the member, in the case of the last source).

StringData repeats the name of the source (from Metadata).

The string data overlays the numeric data. n-string-series is the number of series within the source that include string data. More precisely, it is the 1-based index of the last series in the source that includes any string data; thus, it would be 4 if there are 5 series and only the fourth one includes string data.

Each PairSeries consists a sequence of 0 or more Pair nonterminals, each of which maps from a 0-based index within series i to a 0-based label index j, e.g. pair i = 2, j = 3, means that the third data value (with value SYSMIS) is to be replaced by the string of the fourth Label.

The labels themselves follow the pairs. The valuable part of each label is the string s. Each label also includes a frequency that reports the number of pairs that reference it (although this is not useful).


Previous: , Up: SPV Legacy Detail Member Binary Format   [Contents][Index]