XCubes

Excel add-in

The XCubes add-in puts your cubes inside Excel. It opens as a panel (Home → XCubes) beside the workbook. From there you can load a slice of a cube onto a sheet and edit its input cells, which save to XCubes as you go, or keep single values live in your own layout with =XCUBES.GETCELL(...).

The cube stays the model. Excel is a window onto it: formulas, roll-ups, access rules and locks all live in XCubes and apply to whatever Excel sends back.

Install the add-in

The add-in is installed from its manifest, a small XML file that tells Excel where the add-in lives. It is published at:

https://zealous-field-00f86f103.6.azurestaticapps.net/manifest.xml

Save that file to your computer, then install it in one of two ways.

For yourself, in Excel on the web:

  1. Open a workbook in Excel on the web.
  2. On the Home tab, choose Add-ins → More Add-ins.
  3. Open the My Add-ins tab and choose Upload My Add-in.
  4. Browse to the manifest you saved and choose Upload.

The panel opens, and Home → XCubes reopens it later.

For your whole organisation: a Microsoft 365 administrator deploys the add-in once, centrally, and it then appears for the chosen users in Excel on the web, on Windows and on Mac. In the Microsoft 365 admin center, go to Settings → Integrated apps, choose Upload custom apps, and give it the manifest, either as the saved file or as the link above. Pick who gets it and finish the wizard. A newly deployed add-in can take up to a day to appear in users' Excel.

Install only this manifest. A manifest from anywhere else, such as one passed around from a developer's machine, may point Excel at an address that does not exist and open an empty panel.

Sign in and pick a cube

In a Microsoft 365 account the add-in signs you in with your Office identity when it can. Otherwise, enter the email and password of your XCubes account. Sign out in the panel header ends the session. The add-in then stays signed out until you sign in again or reopen Excel.

Pick a project, then a cube.

Arrange the layout

The panel shows the cube's dimensions in a field list, laid out like Excel's PivotTable Fields pane, with Filters, Columns and Rows areas. It starts from the cube's own layout, and remembers your arrangement for that cube on this computer.

XCubes computes every layout you choose. Item order, totals, ratios and aggregation rules come from the cube, exactly as in the web grid. Excel never re-adds anything, and the cube's own saved layout is not changed.

Once a slice is on the sheet, changing the layout reloads it straight away. If the sheet has edits you have not pushed, the panel says so first. Push them, or apply the new layout and discard them.

Load to a sheet

Load to Excel writes the slice as a grid on the active sheet: a title row, the headers, then the values. Items appear in the cube's own order, and every total, subtotal and ratio is the value XCubes computed.

Values arrive as real Excel values in the item's own format:

Locked cells

The sheet is protected, without a password, so only cells you can actually change are editable. These are locked:

Everything outside the grid stays editable, so you can keep notes beside it. Inserting or deleting rows and columns is blocked, because the grid has to keep lining up with the cube. If you remove the protection yourself, a value typed into a locked cell is still never pushed.

There is no PivotTable load. An Excel PivotTable re-adds the values itself: it sums totals on top of their own parts, sums ratios, and sorts items A to Z. That contradicts the model, so the add-in does not offer it.

The panel shows Local calc when it computed the formula cells in the workbook, and Server calc when XCubes did.

Refresh

Refresh Data reloads the slice from XCubes and rewrites the grid. Change the layout or the filter items to load a different slice. With live editing your edits are already saved. With Push, Refresh overwrites the sheet, so push any edits you want to keep first.

Edit and save

Type into the grid. Each edit is saved to XCubes when you leave the cell, and the panel shows Saved with the time. XCubes then recalculates, and the formula cells and totals on the sheet update in place. Only the cells whose value changed are rewritten, so the sheet does not redraw. Edits made within a moment of each other, such as a paste, are saved together.

Changes made elsewhere

While a live sheet is open, changes made in XCubes appear on it within a second or two: a colleague typing in the web grid, an import, a link run. Only the cells that changed are rewritten. A cell you are still typing in is left alone, and your value is saved after it. If two people change the same cell, the last save wins, as in the web grid.

The panel shows whether it is connected. If the connection drops, it reconnects by itself and meanwhile checks for changes every 30 seconds.

Live editing needs Microsoft 365, Excel 2019 or later, or Excel on the web. Older Excel shows Push Changes to Server instead: edit, then push, and the add-in sends the cells that differ from what it loaded. A sheet reconnected after reopening a workbook also starts with Push, so the edits made while it was closed are sent first. After that push the sheet is live.

Reopen a workbook

The add-in remembers each loaded slice inside the workbook: the cube, the layout and filter items, and the values it loaded. Save the workbook, close it, and edit offline if you like. When you reopen it and open the panel on that sheet, the panel reconnects to the cube by itself. On another sheet, go to Projects and choose Reconnect on the card that names the cube.

Reconnecting does not rewrite the sheet, so unpushed edits are kept. A push still sends only the cells you edited since the load:

Remembering works in Microsoft 365, Excel 2019 and later, and Excel on the web. In older versions the slice lasts only while the panel is open.

Worksheet functions

The add-in also adds functions under the XCUBES. prefix. They read from the project you last opened in the panel. Open the panel, sign in and open a project before using them.

Function Returns
=XCUBES.GETCELL("Cube"; "code1"; "code2"; …) One cell's value. Pass one item code per dimension, in the order XCUBES.LISTDIMENSIONS lists them: row dimensions, then column, then page.
=XCUBES.LISTCUBES() The project's cubes: name and description.
=XCUBES.LISTDIMENSIONS("Cube") A cube's dimensions, in GETCELL argument order.
=XCUBES.LISTITEMS("Cube"; "Dimension") A dimension's items: code and description.
=XCUBES.WHOAMI() The signed-in user's email.

(Use the argument separator of your Excel locale: , or ;.)

The functions recalculate when Excel recalculates (F9). They do not update on their own when the cube changes. A #N/A result carries a tooltip, such as "Not signed in to xCubes" or "Open a project in the xCubes taskpane first".

GETCELL reads with your own permissions. A cell outside your access rule returns an error, not a value.

Generate Reference Sheet in the cube list writes an xCubes Reference sheet listing every cube, dimension and item, with a ready-to-copy GETCELL formula per cube. Running it again replaces that sheet.

What the add-in does not do

See Cubes & coordinates for layout and page dimensions, and Collaboration for the roles, access rules and approval workflow a push honours.