# Hypercube builder

The Hypercube builder is used for building hypercubes that are not a part of the Qlik Sense app your mashup is connected to.

You access the Hypercube builder by clicking Options &gt; Hypercubes &gt; Add hypercube.

![Add hypercube dialog](https://help.qlik.com/en-US/sense-developer/May2026/Subsystems/Dev-Hub/Content/Resources/Images/ui_MashupWorkbenchHypercubeBuilder.png)

Hypercube builder items

| Item | Description |
| --- | --- |
| Dimensions | Lists all the master dimensions available in the selected app. |
| Fields | Lists all fields available in the selected app. |
| Measures | Lists all the master measures available in the selected app. |
| Field | Lists all dimensions and fields selected for the hypercube. |
| Measures | Lists all measures selected for the hypercube.<br><br>You can add an expression by clicking the Expression button. |
| Mode | Defines the way the data is handled internally by the Qlik associative engine. Select one of:<br><br><ul> <li><span>Straight</span>: straight table representation.</li> <li><span>Pivot</span>: pivot table representation.</li> <li><span>Stacked</span>: stacked table representation.</li> </ul><br><br>Refers to the qMode property in qHyperCubeDef. |
| Suppress zero | If enabled, zero values are removed.<br><br>Refers to qSuppressZero property in qHyperCubeDef. |
| Suppress missing | If enabled, missing values are removed.<br><br>Refers to the qSuppressMissing property in qHyperCubeDef. |
| Rows | Determines the maximum number of rows received back from the Qlik associative engine.<br><br>Refers to the qHeight of qInitialDataFetch property in qHyperCubeDef. |
| Callback | Name of your callback. |

## Code rendering in Mashup editor

When you have saved your hypercube you can go to the \*.js tab and check the code rendered by Mashup editor. The rendered code is placed at the bottom of the JavaScript file:

```
	//create cubes and lists -- inserted here --
```

Example: Code rendering of added hypercube

In this example, we use the helpdesk mashup example. We add a new hypercube, select the Open Cases - High measure, and name the callback OpenCasesHigh. The following lines of code are generated by the Mashup editor and can be viewed on the \*.js tab:

```
	//create cubes and lists -- inserted here --
	app.createCube({
	"qInitialDataFetch": [
		{
			"qHeight": 20,
			"qWidth": 1
		}
	],
	"qDimensions": [],
	"qMeasures": [
		{
			"qLabel": "Open Cases - High",
			"qLibraryId": "PXChPe",
			"qSortBy": {
				"qSortByState": 0,
				"qSortByFrequency": 0,
				"qSortByNumeric": 0,
				"qSortByAscii": 1,
				"qSortByLoadOrder": 0,
				"qSortByExpression": 0,
				"qExpression": {
					"qv": " "
				}
			}
		}
	],
	"qSuppressZero": false,
	"qSuppressMissing": false,
	"qMode": "S",
	"qInterColumnSortOrder": [],
	"qStateName": "$"
	},OpenCasesHigh);
```

Mashup editor also generates the placeholder for your callback:

```
	//callbacks -- inserted here --
	function OpenCasesHigh(reply, app){}
```