Structure of the DataAccess Object

The DataAccess object is organized into edges. The terms in the following table represent the objects that are used in the DataAccess API.

Term

Description

Example

edge

Visually, the orthogonal axes that organize the data. Edges are specified by an enumeration that begins with zero. The first two edges represent the X and Y planes of the data.

Edge 0 is the column edge.
Edge 1 is the row edge.
Edge 2 is the page edge.

layer

Layers organize an edge perpendicular to its orientation. For a horizontally drawn column edge, layers run in vertical rows. As a parameter, layer is the zero-based location of a given layer in an edge.

An edge might have a Time layer, and a Geography layer. If these layers were on the column edge of a crosstab, then they would appear as rows in the column header of the crosstab.

member

A single value within a layer.

The Time layer could have the years 2001 and 2002 as members. The Geography layer could have the cities Boston, New York, and Atlanta as members.

slice

Represents a unique set of values across the layers of an edge. As a parameter, slice is a zero-based location along the data portion of an edge.

If the column edge of a crosstab has a Time layer and a Geography layer, then it could have the following slices:
Slice 0: 2001, Boston
Slice 1: 2001, New York
Slice 2: 2001, Atlanta
Slice 3: 2002, Boston
Slice 4: 2002, New York
Slice 5: 2002, Atlanta

QDR

The term "Qualified Data Reference" refers to a set of layer/member pairs that might describe a slice or a cell in a data body.

If a crosstab has Time and Geography as layers on its column edge and Product as a layer in its row edge, then a QDR might refer to the cell at 2001, Boston, tents.

value

An actual data value.

The value in the cell at 2001, Boston, Tents might be 55 units.

MetadataMap

Contains a list of types of metadata (properties of members) that can be returned for a given member. Different property sets (MetadataMaps) can be used in different locations within a DataAccess object.

Short, medium, and long labels for the members on an edge. (A short label might use NY instead of New York.) Information about a member such as whether it can be drilled.

DataMap

Contains a list of types for each data value that can be returned for a given location with the data body.

A formatted version of a data value ($125,000) as well as an unformatted version (125000) of the same data value.

The objects of the API generally have the following properties.

Property

Description

Example

Count

The number of objects that exist in another object.

The count of edges in the DataAccess object, the count of layers on an edge, the count of slices in a member or on an edge.

Depth

Represents the number of physical layers that a member covers perpendicular to the orientation of an edge.

In a column header, the height of a specified layer.

Extent

Represents the number of values along a specific portion of an edge such as the number of slices that a member covers.

Assume that a column header has the layers Time and Geography and the member 2001 covers 3 cities. The extent of 2001 is 3 slices.

Start

The slice or layer position at which a specified member starts.

Assume that the top layer on a column header is Time and it has 2 members: 2001 and 2002. The layer start for both of these members is layer 0.

You can retrieve metadata and data from the DataAccess object by using positional addressing or hierarchical addressing.

The methods of the DataAccess object include both positional addressing and hierarchical addressing. You can identify methods that use hierarchical addressing by an hPos parameter or return code.