XCubes

Coordinates

Every cell in a cube is identified by a coordinate — one item chosen from each of the cube's attached dimensions. Cubes & coordinates introduces this concept; this page goes deeper on how coordinates work in practice, especially when reading or writing data programmatically.

One item per dimension, every dimension

A coordinate is a complete specification. If a cube has three dimensions — Accounts, Geography, and Month — then every cell address requires all three: Accounts=Sales, Geography=France, Month=Jan_2026. Leaving out any dimension is an error; there is no default or "all" shorthand for a write operation.

This rule applies regardless of which axis a dimension sits on. Row dimensions, column dimensions, and page dimensions are all part of the coordinate. A page dimension simply filters the visible slice of the cube in the UI — it does not disappear from the addressing scheme.

Item codes, not positions

Cells are addressed by item code, not by row or column number. The code is the short identifier assigned when the item was created — Sales, FR, Jan_2026. Numeric codes and codes with special characters must be quoted in formulas (e.g. "620200", "R&D"), but in the coordinate map used by data tools they are passed as plain strings.

Because coordinates use codes rather than positions, you can reorder items in a dimension without invalidating any existing data or breaking formulas.

Walk the dimension items; don't guess codes

When reading or writing cube data programmatically, the correct procedure is:

  1. Call get_cube_structure on the cube. This returns each dimension with its full item list — codes, descriptions, and the numeric localUid values used by some filters.
  2. Use the exact codes from that response in your get_cube_data or set_cube_data calls.

Do not invent or guess item codes. Two cubes sharing the same Geography dimension may have identically-named countries but different codes if they were entered differently. Only get_cube_structure gives you the authoritative list for that specific cube.

Formula items and aggregates

Formula and aggregate items are part of the coordinate system — you can read their computed values via get_cube_data — but you cannot write to them with set_cube_data. Attempts to write to a formula or aggregate cell are silently ignored. Only leaf (input) items accept data writes.