QIX
The JSON-RPC API over websocket that enables you to interact with the Qlik Associative Engine.
The QIX API is the primary API used for working with Qlik apps. It's based on the WebSocket protocol and requires some specific parameters to work correctly as seen below.
WebSockets
When you want to use the API, any websocket client implementation that follows the RFC specification should be supported. The URL format is:
wss://your-tenant.us.qlikcloud.com/app/<app id>
Browser example:
const websocket = new WebSocket(
"wss://your-tenant.us.qlikcloud.com/app/123e4567-e89b-12d3-a456-426655440000"
);
Headers
In a non-browser environment, most websocket client implementations support to add headers.
Use header Authorization: Bearer <token>
with
API key for authentication.
Session sharing
When using the QIX API you build up a state in what's called a session. A session is based on a tenant, a user, and the app. When opening a new websocket you'd either get a new unique session, or get attached to an existing session. When sharing a session, the state (like selections), is shared between all websocket connections.
The conditions for sharing a session is:
- The websocket URL needs to be identical (tenant URL and app id)
- The user needs to be the same:
- in a browser environment the same user needs to be signed in
- in a non-browser environment an API key from the same user and tenant needs to be used
JSON-RPC protocol
The QIX API leverages the JSON-RPC protocol. It implements a superset of this specification. All requests sent from the client should contain the following properties:
{
// Protocol descriptor:
"jsonrpc": "2.0",
// Session-unique numeric id, referred to in the response
// to connect the request and response:
"id": 6,
// The handle for the object to interact with:
"handle": 2,
// The object type of the handle above decides
// which API methods you may invoke:
"method": "ApiMethodName",
// Parameters for the invoked API method:
"params": {}
}
Request and response
Here is an example request/response pair. Note that there is only one static
handle in the QIX API, and that's -1
. This handle refers to the Global
API.
In this example request, an app is opened using OpenDoc. If successful, the response contains a reference to the app handle, which can be used to do further requests towards the Doc (app) API, and so forth.
{
"jsonrpc": "2.0",
"id": 1,
"handle": -1,
"method": "OpenDoc",
"params": {
"qDocName": "<app id>"
}
}
If that app exist, the response would look similar to this:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"qReturn": {
"qType": "Doc",
"qHandle": 1,
"qGenericId": "<app id>"
}
},
"change": [1]
}
Note that qHandle
contains the handle that might be used to make additional
requests to invoke API methods towards the app. A property called change
is also received on the response, an array that can be sent by QIX
Engine on any responses and contains all open handles in your session
that may have been invalidated and you should refetch data to ensure
your application in a valid state.
Session apps
Session apps are non-persisted Qlik Sense apps created on-the-fly in server memory by the Qlik Associative Engine. You have to define a load script and trigger a data reload before any data model is accessible for each user session. Similarly, if you create a session app from an existing app, you have to trigger a reload after retrieving objects from the template app.
Session apps are attached to the active Qlik Associative Engine session. When a session ends, for example, by the user logging out, the session app is terminated and all related resources are released from server memory. Standard Qlik security rules ensure that only authenticated users can access data and visualizations from a session app.
WebSocket URL for session apps
The WebSocket URL for creating a session app has the following format:
wss://my-tenant.us.qlikcloud.com/app/SessionApp_{appId}
You must append a unique app ID to SessionApp_
in the path. The app ID can
be a code-generated random number.
To create a session app from an app, you must add the template app ID as a query parameter to the URL:
wss://my-tenant.us.qlikcloud.com/app/SessionApp_{appId}?from={templateAppId}
Error Handling
When something happens unexpectedly, the WebSocket may be closed with an error code and message. The error code will be a 4-digit number and the message may or may not be empty. The code below should be used for monitoring this.
ws.on("close", (code, message) => {
console.log(code);
console.log(String(message));
});
4204
{"code":"QEP-104","traceId":"491a33e544de8dda40a9fc9b0cb53216"}
The following is a list of error codes and their causes:
- 4202 - the WebSocket request appears to be malformed
- 4203 - the request could not be fulfilled because of a permissions issue
- 4204 - the request failed because something could not be found, this may be because the app id in the URL is wrong or the app has been deleted
- 4205 - the request could not be fulfilled because the system is busy, consider sending the request again later
- 4230 - the request could not be fulfilled because there are too many open apps in your organization
- 4240 - the request could not be fulfilled because there are no available engines
API references
For the API references, see the different classes listed in the left-side menu.
GenericObject
GenericObjectAbortListObjectSearch(qPath)
Aborts the results of a search in a list object.
Parameters
qPath required string | Path to the definition of the list object. For example, /qListObjectDef . |
Returns
Results for GenericObject.AbortListObjectSearch object | No description |
Errors
No description |
const result = await genericObject.abortListObjectSearch({
"qPath": "value"
});
undefined
GenericObjectAcceptListObjectSearch(qPath, qToggleMode, qSoftLock?)
Accept the results of a search in a list object. The search results become selected in the field.
Parameters
qPath required string | Path to the definition of the list object. For example, /qListObjectDef . |
qToggleMode required boolean | Set to true to keep any selections present in the list object. If this parameter is set to false, selections made before accepting the list object search become alternative. |
qSoftLock boolean | Set to true to ignore locks; in that case, locked fields can be selected. The default value is false. |
Returns
Results for GenericObject.AcceptListObjectSearch object | No description |
Errors
No description |
const result = await genericObject.acceptListObjectSearch({
"qPath": "value",
"qToggleMode": true,
"qSoftLock": true
});
undefined
GenericObjectApplyPatches(qPatches, qSoftPatch?)
Applies a patch to the properties of an object. Allows an update to some of the properties. It is possible to apply a patch to the properties of a generic object, that is not persistent. Such a patch is called a soft patch. In that case, the result of the operation on the properties (add, remove or delete) is not shown when doing GetProperties , and only a GetLayout call shows the result of the operation. Properties that are not persistent are called soft properties. Once the engine session is over, soft properties are cleared. It should not be possible to patch "/qInfo/qId", and it will be forbidden in the near future.
Parameters
qPatches required | Array of patches. |
qSoftPatch boolean | If set to true, it means that the properties to be applied are not persistent. The patch is a soft patch. The default value is false. |
Returns
Results for GenericObject.ApplyPatches object | No description |
Errors
No description |
const result = await genericObject.applyPatches({
"qPatches": [
{
"qOp": "value",
"qPath": "value",
"qValue": "value"
}
],
"qSoftPatch": true
});
undefined
GenericObjectApprove()
Adds the generic object to the list of approved objects
Returns
Results for GenericObject.Approve object | No description |
Errors
No description |
const result = await genericObject.approve({});
undefined
GenericObjectBeginSelections(qPaths)
Begins the selection mode. The app enters the modal state. The specified object enters the selection mode and a modal window is opened. The selection mode can apply to only one object in an app at a time. When a visualization is in selection mode, selections can be made in this visualization. The visualization is not sorted until the selection mode is ended. Once the selection mode is ended and if the selections are accepted, the visualization is sorted according to the sort criteria. For more information about:
- Ending the selection mode, see EndSelections.
- The sort criteria, see ListObjectDef or HyperCubeDef.
Example
A sheet contains a list object and a chart. If the list object is in selection mode then the chart cannot be in selection mode. No selection on the chart can be made until the list object exits the selection mode.
Parameters
qPaths required Array<string> | List of the paths to the definition of the objects to enter selection mode. For example, /qListObjectDef . |
Returns
Results for GenericObject.BeginSelections object | No description |
Errors
No description |
const result = await genericObject.beginSelections({
"qPaths": [
"value"
]
});
undefined
GenericObjectClearSelections(qPath, qColIndices?)
Clears the selections in a dimension of a visualization.
Parameters
qPath required string | Path to the definition of the visualization. For example, /qListObjectDef . |
qColIndices Array<integer<int32>> | Array of dimension numbers or indexes. The selections are cleared in the specified dimensions. Dimension numbers/indexes start from 0. If this parameter is not set, all dimensions are cleared. |
Returns
Results for GenericObject.ClearSelections object | No description |
Errors
No description |
const result = await genericObject.clearSelections({
"qPath": "value",
"qColIndices": [
1
]
});
undefined
GenericObjectClearSoftPatches()
Clears the soft properties of a generic object. For more information on how to add soft properties to a generic object, see ApplyPatches.
Returns
Results for GenericObject.ClearSoftPatches object | No description |
Errors
No description |
const result = await genericObject.clearSoftPatches({});
undefined
GenericObjectCollapseLeft(qPath, qRow, qCol, qAll)
Collapses the left dimensions of a pivot table. This method applies only to pivot tables that are not always fully expanded. In the definition of the hypercube (in HyperCubeDef ), the parameter qAlwaysFullyExpanded must be set to false.
Parameters
qPath required string | Path to the definition of the object to be collapsed. For example, /qHyperCubeDef . |
qRow required integer | Row index in the data matrix. Indexing starts from 0. |
qCol required integer | Column index. The index is based on the left dimension indexes. Indexing starts from 0. |
qAll required boolean | If set to true, it collapses all cells. Parameters qRow and qCol are not used if qAll is set to true, but they need to be set (for example to 0). |
Returns
Results for GenericObject.CollapseLeft object | No description |
Errors
No description |
const result = await genericObject.collapseLeft({
"qPath": "value",
"qRow": 1,
"qCol": 1,
"qAll": true
});
undefined
GenericObjectCollapseTop(qPath, qRow, qCol, qAll)
Collapses the top dimensions of a pivot table. This method applies only to pivot tables that are not always fully expanded. In the definition of the hypercube (in HyperCubeDef ), the parameter qAlwaysFullyExpanded must be set to false.
Parameters
qPath required string | Path to the definition of the object to be collapsed For example, /qHyperCubeDef . |
qRow required integer | Row index. The index is based on the top dimension indexes. Indexing starts from 0. |
qCol required integer | Column index in the data matrix. Indexing starts from 0. |
qAll required boolean | If set to true, it collapses all cells. Parameters qRow and qCol are not used if qAll is set to true, but they need to be set (for example to 0). |
Returns
Results for GenericObject.CollapseTop object | No description |
Errors
No description |
const result = await genericObject.collapseTop({
"qPath": "value",
"qRow": 1,
"qCol": 1,
"qAll": true
});
undefined
GenericObjectCopyFrom(qFromId)
Copies the properties of a generic object and its children. The source object is specified by the parameter qFromId and the destination object is referenced by its handle.
Parameters
qFromId required string | Identifier of the object to copy. |
Returns
Results for GenericObject.CopyFrom object | No description |
Errors
No description |
const result = await genericObject.copyFrom({
"qFromId": "value"
});
undefined
GenericObjectCreateChild(qProp, qPropForThis?)
Creates a generic object that is a child of another generic object.
Parameters
qProp required | Information about the child. It is possible to create a child that is linked to another object. |
qPropForThis | Identifier of the parent's object. Should be set to update the properties of the parent's object at the same time the child is created. |
Returns
Results for GenericObject.CreateChild | No description |
Errors
No description |
const result = await genericObject.createChild({
"qProp": {
"qInfo": {
"qId": "value",
"qType": "value"
},
"qExtendsId": "value",
"qMetaDef": {},
"qStateName": "value"
},
"qPropForThis": {
"qInfo": {
"qId": "value",
"qType": "value"
},
"qExtendsId": "value",
"qMetaDef": {},
"qStateName": "value"
}
});
// result is an enigma model, for example: result.getLayout()
{
id: 'xyz',
handle: 1,
getLayout: () => {},
setProperties: () => {},
}
GenericObjectDestroyAllChildren(qPropForThis?)
Removes all children and all children to the children on an object.
Parameters
qPropForThis | Identifier of the parent's object and property to update. Should be set to update the properties of the parent's object at the same time the child is created. |
Returns
Results for GenericObject.DestroyAllChildren object | No description |
Errors
No description |
const result = await genericObject.destroyAllChildren({
"qPropForThis": {
"qInfo": {
"qId": "value",
"qType": "value"
},
"qExtendsId": "value",
"qMetaDef": {},
"qStateName": "value"
}
});
undefined
GenericObjectDestroyChild(qId, qPropForThis?)
Removes a child object.
Parameters
qId required string | Identifier of the child to remove. |
qPropForThis | Identifier of the parent's object and property to update. Should be set to update the properties of the parent's object at the same time the child is created. |
Returns
qSuccess boolean | No description |
Errors
No description |
const result = await genericObject.destroyChild({
"qId": "value",
"qPropForThis": {
"qInfo": {
"qId": "value",
"qType": "value"
},
"qExtendsId": "value",
"qMetaDef": {},
"qStateName": "value"
}
});
true
GenericObjectDrillUp(qPath, qDimNo, qNbrSteps)
You can use the drillUp method with any object that contains a drill-down group as a dimension. This method allows you to move between different levels of information (from a detailed level to a less detailed level of information). You can go back to previous visualizations up to the highest level of the hierarchy. If you try to drill up more steps than there are available levels, the first level of the hierarchy is displayed.
Parameters
qPath required string | Path to the definition of the object to be selected. For example, /qHyperCubeDef . |
qDimNo required integer | Dimension number or index starting from 0. The default value is 0. |
qNbrSteps required integer | Number of steps you want to drill up. The default value is 0. |
Returns
Results for GenericObject.DrillUp object | No description |
Errors
No description |
const result = await genericObject.drillUp({
"qPath": "value",
"qDimNo": 1,
"qNbrSteps": 1
});
undefined
GenericObjectEmbedSnapshotObject(qId)
Adds a snapshot to a generic object.
Parameters
qId required string | Identifier of the bookmark. |
Returns
Results for GenericObject.EmbedSnapshotObject object | No description |
Errors
No description |
const result = await genericObject.embedSnapshotObject({
"qId": "value"
});
undefined
GenericObjectEndSelections(qAccept)
Ends the selection mode on a visualization. The selections are accepted or aborted when exiting the selection mode, depending on the qAccept parameter value.
Parameters
qAccept required boolean | Set this parameter to true to accept the selections before exiting the selection mode. |
Returns
Results for GenericObject.EndSelections object | No description |
Errors
No description |
const result = await genericObject.endSelections({
"qAccept": true
});
undefined
GenericObjectExpandLeft(qPath, qRow, qCol, qAll)
Expands the left dimensions of a pivot table. This method applies only to pivot tables that are not always fully expanded. In the definition of the hypercube (in HyperCubeDef ), the parameter qAlwaysFullyExpanded must be set to false.
Parameters
qPath required string | Path to the definition of the object to be expanded. For example, /qHyperCubeDef . |
qRow required integer | Row index in the data matrix to expand. Indexing starts from 0. |
qCol required integer | Column index. The index is based on the left dimension indexes. Indexing starts from 0. |
qAll required boolean | If set to true, it expands all cells. Parameters qRow and qCol are not used if qAll is set to true, but they need to be set (for example to 0). |
Returns
Results for GenericObject.ExpandLeft object | No description |
Errors
No description |
const result = await genericObject.expandLeft({
"qPath": "value",
"qRow": 1,
"qCol": 1,
"qAll": true
});
undefined
GenericObjectExpandTop(qPath, qRow, qCol, qAll)
Expands the top dimensions of a pivot table. This method applies only to pivot tables that are not always fully expanded. In the definition of the hypercube (in HyperCubeDef ), the parameter qAlwaysFullyExpanded must be set to false.
Parameters
qPath required string | Path to the definition of the object to be expanded. For example, /qHyperCubeDef . |
qRow required integer | Row index. The index is based on the top dimension indexes. Indexing starts from 0. |
qCol required integer | Column index in the data matrix. Indexing starts from 0. |
qAll required boolean | If set to true, it expands all cells. Parameters qRow and qCol are not used if qAll is set to true, but they need to be set (for example to 0). |
Returns
Results for GenericObject.ExpandTop object | No description |
Errors
No description |
const result = await genericObject.expandTop({
"qPath": "value",
"qRow": 1,
"qCol": 1,
"qAll": true
});
undefined
GenericObjectExportData(qFileType, qPath?, qFileName?, qExportState?, qServeOnce?)
Exports the data of any generic object to an Excel file or a open XML file. If the object contains excluded values, those excluded values are not exported. This API has limited functionality and will not support CSV export from all types of objects. Consider using Excel export instead. Treemap and bar chart are not supported.
Default limitations in number of rows and columns
The default maximum number of rows and columns in the Excel export file is:
- 1048566 rows per sheet. For pivot tables: 1048566 column dimensions. 10 rows can be added after the export.
- 16384 columns per sheet. If the number of columns exceeds the limit, the exported file is truncated and a warning message is sent.
Default limitation in number of columns
The default maximum number of columns in the export file is:
- 1000 to export to a CSV file
Default limitations in number of cells
The default maximum number of cells in the export file is:
- 5000000 to export to a CSV file
The exported file is truncated if the number of cells exceeds the limit. A warning message with code 1000 is sent.
Default limitation in size
If the exported file is larger than the maximum value, then an out-of-memory error with code 13000 is returned.
Parameters
qFileType required string | Type of the file to export. One of:
|
qPath string | Path to the definition of the object to be exported. For example, /qHyperCubeDef . This parameter is mandatory if the file type is CSV_C or CSV_T . |
qFileName string | Name of the exported file after download from browser. This parameter is optional and only used in Qlik Sense Desktop. |
qExportState string | Defines the values to be exported. The default value is A. One of:
|
qServeOnce boolean | If the exported file should be served only once This parameter is optional and only used in Qlik Sense Enterprise (Windows) Default value: false |
Returns
Results for GenericObject.ExportData | No description |
Errors
No description |
const result = await genericObject.exportData({
"qFileType": "value",
"qPath": "value",
"qFileName": "value",
"qExportState": "value",
"qServeOnce": true
});
"value"
GenericObjectGetChild(qId)
Returns the type of the object and the corresponding handle.
Parameters
qId required string | Identifier of the object. |
Returns
qReturn | No description |
Errors
No description |
const result = await genericObject.getChild({
"qId": "value"
});
// result is an enigma model, for example: result.getLayout()
{
id: 'xyz',
handle: 1,
getLayout: () => {},
setProperties: () => {},
}
GenericObjectGetChildInfos()
Returns the identifier and the type for each child in an app object. If the child contains extra properties in qInfos , these properties are returned.
Full dynamic properties are optional and are returned if they exist in the definition of the object.
Returns
qInfos | No description |
Errors
No description |
const result = await genericObject.getChildInfos({});
[
{
"qId": "value",
"qType": "value"
}
]
GenericObjectGetEffectiveProperties()
Returns the identifier, the type and the properties of the object. If the object contains some soft properties, the soft properties are returned. If the object is linked to another object, the properties of the linking object are returned.
Returns
qProp | No description |
Errors
No description |
const result = await genericObject.getEffectiveProperties({});
{
"qInfo": {
"qId": "value",
"qType": "value"
},
"qExtendsId": "value",
"qMetaDef": {},
"qStateName": "value"
}
GenericObjectGetFullPropertyTree()
Gets the properties of:
- A generic object.
- The children of the generic object.
- The bookmarks/embedded snapshots of the generic object.
Returns
qPropEntry | No description |
Errors
No description |
const result = await genericObject.getFullPropertyTree({});
{
"qProperty": {
"qInfo": {
"qId": "value",
"qType": "value"
},
"qExtendsId": "value",
"qMetaDef": {},
"qStateName": "value"
},
"qChildren": [
null
],
"qEmbeddedSnapshotRef": {
"qProperties": {
"qInfo": {
"qId": "value",
"qType": "value"
},
"qMetaDef": {},
"qIncludeVariables": true,
"qDistinctValues": true
},
"qBookmark": {
"qStateData": [
{
"qStateName": "value",
"qFieldItems": [
{
"qDef": {
"qName": "value",
"qType": "value"
},
"qLocked": true,
"qSelectInfo": {
"qTextSearch": "value",
"qRangeLo": 1,
"qRangeHi": 1,
"qNumberFormat": {
"qType": "value",
"qnDec": 1,
"qUseThou": 1,
"qFmt": "value",
"qDec": "value",
"qThou": "value"
},
"qRangeInfo": [
{
"qRangeLo": 1,
"qRangeHi": 1,
"qMeasure": "value"
}
],
"qSoftLock": true,
"qContinuousRangeInfo": [
{
"qMin": 1,
"qMax": 1,
"qMinInclEq": true,
"qMaxInclEq": true
}
],
"qSelectFieldSearch": true
},
"qValues": [
{
"qText": "value",
"qIsNumeric": true,
"qNumber": 1
}
],
"qExcludedValues": [
{
"qText": "value",
"qIsNumeric": true,
"qNumber": 1
}
],
"qAndMode": true,
"qOneAndOnlyOne": true
}
]
}
],
"qUtcModifyTime": 1,
"qVariableItems": [
{
"qName": "value",
"qValue": {
"qText": "value",
"qIsNumeric": true,
"qNumber": 1
},
"qDefinition": "value"
}
],
"qPatches": [
{
"qInfo": {
"qId": "value",
"qType": "value"
},
"qPatches": [
{
"qOp": "value",
"qPath": "value",
"qValue": "value"
}
],
"qChildren": [
null
]
}
]
},
"qClassicBookmark": {
"qId": "value",
"qName": "value",
"qUtcModifyTime": 1,
"qUtcRecallTime": 1,
"qRecallCount": 1,
"qApplyAdditive": true,
"qFieldItems": [
{
"qDef": {
"qName": "value",
"qType": "value"
},
"qLocked": true,
"qSelectInfo": {
"qTextSearch": "value",
"qRangeLo": 1,
"qRangeHi": 1,
"qNumberFormat": {
"qType": "value",
"qnDec": 1,
"qUseThou": 1,
"qFmt": "value",
"qDec": "value",
"qThou": "value"
},
"qRangeInfo": [
{
"qRangeLo": 1,
"qRangeHi": 1,
"qMeasure": "value"
}
],
"qSoftLock": true,
"qContinuousRangeInfo": [
{
"qMin": 1,
"qMax": 1,
"qMinInclEq": true,
"qMaxInclEq": true
}
],
"qSelectFieldSearch": true
},
"qValues": [
{
"qText": "value",
"qIsNumeric": true,
"qNumber": 1
}
],
"qExcludedValues": [
{
"qText": "value",
"qIsNumeric": true,
"qNumber": 1
}
],
"qAndMode": true,
"qOneAndOnlyOne": true
}
],
"qVariableItems": [
{
"qName": "value",
"qValue": {
"qText": "value",
"qIsNumeric": true,
"qNumber": 1
},
"qDefinition": "value"
}
],
"qSheetId": "value",
"qObjects": [
{
"qId": "value",
"qActive": true,
"qShowMode": 1,
"qScrollPos": {
"qUsePosition": true,
"qPos": {
"qx": 1,
"qy": 1
}
}
}
],
"qApplyLayoutState": true,
"qShowPopupInfo": true,
"qInfoText": "value",
"qOwner": "value",
"qGroups": [
{
"qId": "value",
"qCyclePos": 1
}
],
"qShow": {
"qAlways": true,
"qExpression": {
"qv": "value"
}
},
"qApplyInputFieldValues": true,
"qInputFieldItems": [
{
"qFieldName": "value",
"qValues": [
{
"qText": "value",
"qIsNumeric": true,
"qNumber": 1
}
],
"qPackedHashKeys": [
1
]
}
],
"qObjectsLayout": [
{
"qId": "value",
"qActive": true,
"qShowMode": 1,
"qScrollPos": {
"qUsePosition": true,
"qPos": {
"qx": 1,
"qy": 1
}
},
"qExpansionInfo": [
{
"qExcludeList": true,
"qPos": {
"qDimName": "value",
"qElemNo": [
1
],
"qElemValues": [
"value"
]
}
}
],
"qLeftCollapsed": true,
"qTopCollapsed": true,
"qSortData": [
{
"qName": "value",
"qReversed": true
}
],
"qDimensionGroupPos": [
{
"qGroupName": "value",
"qCurrentItemName": "value"
}
],
"qExpressionGroupPos": [
{
"qGroupName": "value",
"qCurrentItemName": "value"
}
],
"qUseGraphMode": true,
"qGraphMode": "value",
"qActiveContainerChildObjectId": "value",
"qExtendedPivotState": {
"qExpressionPosition": 1,
"qNumberOfLeftDimensions": 1,
"qDimensionNames": [
"value"
],
"qEnableConditions": [
"value"
]
}
}
],
"qIncludeSelectionState": true,
"qIncludeScrollPosition": true,
"qAlternateStateData": [
{
"qStateName": "value",
"qFieldItems": [
{
"qDef": {
"qName": "value",
"qType": "value"
},
"qLocked": true,
"qSelectInfo": {
"qTextSearch": "value",
"qRangeLo": 1,
"qRangeHi": 1,
"qNumberFormat": {
"qType": "value",
"qnDec": 1,
"qUseThou": 1,
"qFmt": "value",
"qDec": "value",
"qThou": "value"
},
"qRangeInfo": [
{
"qRangeLo": 1,
"qRangeHi": 1,
"qMeasure": "value"
}
],
"qSoftLock": true,
"qContinuousRangeInfo": [
{
"qMin": 1,
"qMax": 1,
"qMinInclEq": true,
"qMaxInclEq": true
}
],
"qSelectFieldSearch": true
},
"qValues": [
{
"qText": "value",
"qIsNumeric": true,
"qNumber": 1
}
],
"qExcludedValues": [
{
"qText": "value",
"qIsNumeric": true,
"qNumber": 1
}
],
"qAndMode": true,
"qOneAndOnlyOne": true
}
]
}
],
"qForAnnotations": true,
"qIncludeAllVariables": true
},
"qClassicMetadata": {
"qShared": true,
"qUtcModifyTime": 1,
"qSheetId": "value",
"qTemporary": true,
"qRestrictedAccess": true,
"qAccessList": [
"value"
],
"qPersonalEditionHash_OBSOLETE": "value",
"qHidden": true,
"qLinkedTo": [
"value"
]
}
}
}
GenericObjectGetHyperCubeBinnedData(qPath, qPages, qViewport, qDataRanges, qMaxNbrCells, qQueryLevel, qBinningMethod)
This method supports data binning. When a generic object with two or three measures and one dimension contains a lot of data, groups of points (for example, cells) can be rendered instead of points. A zone of interest can be refined (for zooming in) up to a maximum refinement level (set in the qQueryLevel parameter) or coarsened (for zoom out). The grid of cells is adaptive (not static), meaning that it adapts to different length scales. The GetHyperCubeBinnedData method gives information about the adaptive grid and the values of the generic object. The number of points in a cell and the coordinates (expressed in the measure range) of each cell are returned. Dimension values and measure values are rendered at point level (highest detailed level).
Adaptive Grid
More details about the properties of the adaptive grid are given in this paragraph. When the refinement is not the highest (cells are rendered), information about the adaptive grid is returned through several arrays. The first array contains the following properties:
Name | Description | Type |
---|---|---|
qNum | Maximum number of points that a cell can contain. | String |
qElemNumber | Is set to 0. | Boolean |
qState | The default value is L. | One of:
|
The next arrays give the coordinates of each cell in the page. Each array contains the following properties:
Name | Description | Type |
---|---|---|
qText | Coordinates of a cell in the measure range. “qText”: “[[<left>, <top>, <right>, <bottom>], [<left>, <top>, <right>, <bottom>], .... [<left>, <top>, <right>, <bottom>]] Where: < left >, < top >, < right > and < bottom > are the coordinates of the cell in the measure range. | String |
qNum | Number of points in the cell. | Double precision floating point |
qElemNumber | Unique identifier for each cell, calculated by the engine during the construction of the grid. This element number is not stored in the database and can have a positive or a negative value. | Integer |
qState | The default value is L. | One of:
|
Dimension values and measures values
More details about the properties, when dimension and measure values are returned, are given in this paragraph. When the refinement is high, points are rendered (not cells) and dimension and measure values for each cell are returned. The first array is empty because no information on the adaptive grid is needed. The next arrays bring information about the dimension and the measure values.
Name | Description | Type |
---|---|---|
qText | Text value of the dimension or the measure. | String |
qNum | Numerical value of the dimension or the measure. Is set to 0 if the value is only text. | Double precision floating point |
qElemNumber | Unique identifier for each cell, calculated by the engine during the construction of the grid. This element number is not stored in the database and can have a positive or a negative value. | Integer |
qState | The default value is L. | One of:
|
Parameters
qPath required string | Path to the definition of the object. For example, /qHyperCubeDef . |
qPages required | Array of pages to retrieve. Since the generic object contains two measures and one dimension, qWidth should be set to 3. If the value of a measure is Null, the value cannot be rendered. Therefore, the number of elements rendered in a page can be less than the number defined in the property qHeight . |
qViewport required | Defines the canvas and the zoom level. This parameter is not yet used and is optional. |
qDataRanges required | Range of the data to render. This range applies to the measure values. The lowest and highest values of a measure can be retrieved by using the GetLayout method (in /qHyperCube/qMeasureInfo ). |
qMaxNbrCells required integer | Maximum number of cells in the grid. |
qQueryLevel required integer | Level of details. The higher the level, the more detailed information you get (zoom-in). When the number of points to render falls below a certain threshold, the values are no longer rendered as cells but as points. The query level should be no greater than 20. |
qBinningMethod required integer | Selects the algorithm. The default value is 0. One of:
|
Returns
qDataPages | No description |
Errors
No description |
const result = await genericObject.getHyperCubeBinnedData({
"qPath": "value",
"qPages": [
{
"qLeft": 1,
"qTop": 1,
"qWidth": 1,
"qHeight": 1
}
],
"qViewport": {
"qWidth": 1,
"qHeight": 1,
"qZoomLevel": 1
},
"qDataRanges": [
{
"qLeft": 1,
"qTop": 1,
"qWidth": 1,
"qHeight": 1
}
],
"qMaxNbrCells": 1,
"qQueryLevel": 1,
"qBinningMethod": 1
});
[
{
"qMatrix": [
[
{
"qText": "value",
"qNum": 1,
"qElemNumber": 1,
"qState": "value",
"qIsEmpty": true,
"qIsTotalCell": true,
"qIsOtherCell": true,
"qFrequency": "value",
"qHighlightRanges": {
"qRanges": [
{
"qCharPos": 1,
"qCharCount": 1
}
]
},
"qAttrExps": {
"qValues": [
{
"qText": "value",
"qNum": 1
}
]
},
"qAttrDims": {
"qValues": [
{
"qText": "value",
"qElemNo": 1
}
]
},
"qIsNull": true,
"qMiniChart": {
"qMatrix": [
[
{
"qText": "value",
"qNum": 1,
"qElemNumber": 1,
"qAttrExps": {
"qValues": [
{
"qText": "value",
"qNum": 1
}
]
}
}
]
],
"qMin": 1,
"qMax": 1,
"qError": {
"qErrorCode": 1,
"qContext": "value",
"qExtendedMessage": "value"
}
},
"qInExtRow": true
}
]
],
"qTails": [
{
"qUp": 1,
"qDown": 1
}
],
"qArea": {
"qLeft": 1,
"qTop": 1,
"qWidth": 1,
"qHeight": 1
},
"qIsReduced": true
}
]
GenericObjectGetHyperCubeContinuousData(qPath, qOptions, qReverseSort?)
Retrieves and packs compressed hypercube and axis data. It is possible to retrieve specific pages of data.
Parameters
qPath required string | Path to the definition of the object. For example, /qHyperCubeDef . |
qOptions required | Defines the data to return. |
qReverseSort boolean | If set to true the returned data pages are reverse sorted. Optional. |
Returns
Results for GenericObject.GetHyperCubeContinuousData | No description |
Errors
No description |
const result = await genericObject.getHyperCubeContinuousData({
"qPath": "value",
"qOptions": {
"qStart": 1,
"qEnd": 1,
"qNbrPoints": 1,
"qMaxNbrTicks": 1,
"qMaxNumberLines": 1
},
"qReverseSort": true
});
[
{
"qMatrix": [
[
{
"qText": "value",
"qNum": 1,
"qElemNumber": 1,
"qState": "value",
"qIsEmpty": true,
"qIsTotalCell": true,
"qIsOtherCell": true,
"qFrequency": "value",
"qHighlightRanges": {
"qRanges": [
{
"qCharPos": 1,
"qCharCount": 1
}
]
},
"qAttrExps": {
"qValues": [
{
"qText": "value",
"qNum": 1
}
]
},
"qAttrDims": {
"qValues": [
{
"qText": "value",
"qElemNo": 1
}
]
},
"qIsNull": true,
"qMiniChart": {
"qMatrix": [
[
{
"qText": "value",
"qNum": 1,
"qElemNumber": 1,
"qAttrExps": {
"qValues": [
{
"qText": "value",
"qNum": 1
}
]
}
}
]
],
"qMin": 1,
"qMax": 1,
"qError": {
"qErrorCode": 1,
"qContext": "value",
"qExtendedMessage": "value"
}
},
"qInExtRow": true
}
]
],
"qTails": [
{
"qUp": 1,
"qDown": 1
}
],
"qArea": {
"qLeft": 1,
"qTop": 1,
"qWidth": 1,
"qHeight": 1
},
"qIsReduced": true
}
]
GenericObjectGetHyperCubeData(qPath, qPages)
Retrieves the calculated data for a chart, a table, or a scatter plot. It is possible to retrieve specific pages of data.
Parameters
qPath required string | Path to the definition of the object to be selected. For example, /qHyperCubeDef . |
qPages required | Array of pages to retrieve. |
Returns
qDataPages | No description |
Errors
No description |
const result = await genericObject.getHyperCubeData({
"qPath": "value",
"qPages": [
{
"qLeft": 1,
"qTop": 1,
"qWidth": 1,
"qHeight": 1
}
]
});
[
{
"qMatrix": [
[
{
"qText": "value",
"qNum": 1,
"qElemNumber": 1,
"qState": "value",
"qIsEmpty": true,
"qIsTotalCell": true,
"qIsOtherCell": true,
"qFrequency": "value",
"qHighlightRanges": {
"qRanges": [
{
"qCharPos": 1,
"qCharCount": 1
}
]
},
"qAttrExps": {
"qValues": [
{
"qText": "value",
"qNum": 1
}
]
},
"qAttrDims": {
"qValues": [
{
"qText": "value",
"qElemNo": 1
}
]
},
"qIsNull": true,
"qMiniChart": {
"qMatrix": [
[
{
"qText": "value",
"qNum": 1,
"qElemNumber": 1,
"qAttrExps": {
"qValues": [
{
"qText": "value",
"qNum": 1
}
]
}
}
]
],
"qMin": 1,
"qMax": 1,
"qError": {
"qErrorCode": 1,
"qContext": "value",
"qExtendedMessage": "value"
}
},
"qInExtRow": true
}
]
],
"qTails": [
{
"qUp": 1,
"qDown": 1
}
],
"qArea": {
"qLeft": 1,
"qTop": 1,
"qWidth": 1,
"qHeight": 1
},
"qIsReduced": true
}
]
GenericObjectGetHyperCubePivotData(qPath, qPages)
Retrieves the values of a pivot table. It is possible to retrieve specific pages of data.
Parameters
qPath required string | Path to the definition of the object to be selected. For example, /qHyperCubeDef . |
qPages required | Array of pages to retrieve. |
Returns
qDataPages | No description |
Errors
No description |
const result = await genericObject.getHyperCubePivotData({
"qPath": "value",
"qPages": [
{
"qLeft": 1,
"qTop": 1,
"qWidth": 1,
"qHeight": 1
}
]
});
[
{
"qLeft": [
{
"qText": "value",
"qElemNo": 1,
"qValue": 1,
"qCanExpand": true,
"qCanCollapse": true,
"qType": "value",
"qUp": 1,
"qDown": 1,
"qSubNodes": [
null
],
"qAttrExps": {
"qValues": [
{
"qText": "value",
"qNum": 1
}
]
},
"qAttrDims": {
"qValues": [
{
"qText": "value",
"qElemNo": 1
}
]
}
}
],
"qTop": [
{
"qText": "value",
"qElemNo": 1,
"qValue": 1,
"qCanExpand": true,
"qCanCollapse": true,
"qType": "value",
"qUp": 1,
"qDown": 1,
"qSubNodes": [
null
],
"qAttrExps": {
"qValues": [
{
"qText": "value",
"qNum": 1
}
]
},
"qAttrDims": {
"qValues": [
{
"qText": "value",
"qElemNo": 1
}
]
}
}
],
"qData": [
[
{
"qLabel": "value",
"qText": "value",
"qNum": 1,
"qType": "value",
"qAttrExps": {
"qValues": [
{
"qText": "value",
"qNum": 1
}
]
},
"qAttrDims": {
"qValues": [
{
"qText": "value",
"qElemNo": 1
}
]
}
}
]
],
"qArea": {
"qLeft": 1,
"qTop": 1,
"qWidth": 1,
"qHeight": 1
}
}
]
GenericObjectGetHyperCubeReducedData(qPath, qPages, qZoomFactor, qReductionMode)
Reduces the data of a bar chart, a line chart or a scatter plot chart and retrieves them. The reduction is dependent on the zoom factor (parameter qZoomFactor ) and on the reduction mode.
Bar chart or line chart data reduction
For the data reduction to happen, the following conditions must be fulfilled:
- The values cannot fit in the defined page (parameter qPages ).
- The zoom factor is not 0 (parameter qZoomFactor ).
- The reduction mode must be set to D1.
The reduction algorithm keeps the shape of the visualizations and works whatever the number of dimensions in the chart. The global profile of the chart is reduced, and not only a specific dimension. A visualization that has been reduced contains fewer values but its shape is the same. Data of all types can be reduced. Therefore it is hard to relate the values before and after a reduction especially when reducing string values.
Example
If you have a chart with 1 million data, and you have set the zoom factor to 5, the GetHyperCubeReducedData method reduces the chart and retrieves 200 000 data.
Scatter plot chart data reduction
The reduction mode must be set to C. This reduction mechanism follows the 2D K-Means algorithm. Data are reduced into a number of clusters. Each data is assigned to a specific centroid. The number of centroids can be defined in the parameter qZoomFactor.
Scatter plot chart resolution reduction
The reduction mode must be set to S. The resolution is reduced according to the zoom factor (parameter qZoomFactor ).
Example
If you have a scatter plot chart and the zoom factor is set to 2, the scatter plot chart resolution is reduced by 4.
Parameters
qPath required string | Path to the definition of the object to be selected. For example, /qHyperCubeDef . |
qPages required | Array of pages. |
qZoomFactor required integer | Defines the zoom factor. If set to -1, the engine decides of the zoom factor.
|
qReductionMode required string | Defines the reduction mode. One of:
|
Returns
qDataPages | No description |
Errors
No description |
const result = await genericObject.getHyperCubeReducedData({
"qPath": "value",
"qPages": [
{
"qLeft": 1,
"qTop": 1,
"qWidth": 1,
"qHeight": 1
}
],
"qZoomFactor": 1,
"qReductionMode": "value"
});
[
{
"qMatrix": [
[
{
"qText": "value",
"qNum": 1,
"qElemNumber": 1,
"qState": "value",
"qIsEmpty": true,
"qIsTotalCell": true,
"qIsOtherCell": true,
"qFrequency": "value",
"qHighlightRanges": {
"qRanges": [
{
"qCharPos": 1,
"qCharCount": 1
}
]
},
"qAttrExps": {
"qValues": [
{
"qText": "value",
"qNum": 1
}
]
},
"qAttrDims": {
"qValues": [
{
"qText": "value",
"qElemNo": 1
}
]
},
"qIsNull": true,
"qMiniChart": {
"qMatrix": [
[
{
"qText": "value",
"qNum": 1,
"qElemNumber": 1,
"qAttrExps": {
"qValues": [
{
"qText": "value",
"qNum": 1
}
]
}
}
]
],
"qMin": 1,
"qMax": 1,
"qError": {
"qErrorCode": 1,
"qContext": "value",
"qExtendedMessage": "value"
}
},
"qInExtRow": true
}
]
],
"qTails": [
{
"qUp": 1,
"qDown": 1
}
],
"qArea": {
"qLeft": 1,
"qTop": 1,
"qWidth": 1,
"qHeight": 1
},
"qIsReduced": true
}
]
GenericObjectGetHyperCubeStackData(qPath, qPages, qMaxNbrCells?)
Retrieves the values of a stacked pivot table. It is possible to retrieve specific pages of data.
Parameters
qPath required string | Path to the definition of the object to be selected. For example, /qHyperCubeDef . |
qPages required | Array of pages to retrieve. |
qMaxNbrCells integer | Maximum number of cells at outer level. The default value is 10 000. |
Returns
qDataPages | No description |
Errors
No description |
const result = await genericObject.getHyperCubeStackData({
"qPath": "value",
"qPages": [
{
"qLeft": 1,
"qTop": 1,
"qWidth": 1,
"qHeight": 1
}
],
"qMaxNbrCells": 1
});
[
{
"qData": [
{
"qText": "value",
"qElemNo": 1,
"qValue": 1,
"qCanExpand": true,
"qCanCollapse": true,
"qType": "value",
"qMaxPos": 1,
"qMinNeg": 1,
"qUp": 1,
"qDown": 1,
"qRow": 1,
"qSubNodes": [
null
],
"qAttrExps": {
"qValues": [
{
"qText": "value",
"qNum": 1
}
]
},
"qAttrDims": {
"qValues": [
{
"qText": "value",
"qElemNo": 1
}
]
}
}
],
"qArea": {
"qLeft": 1,
"qTop": 1,
"qWidth": 1,
"qHeight": 1
}
}
]
GenericObjectGetHyperCubeTreeData(qPath, qNodeOptions?)
Retrieves data for nodes in a tree structure. It is possible to retrieve specific pages of data.
Parameters
qPath required string | Path to the definition of the object to be selected. |
qNodeOptions | Specifies all the paging filters needed to define the tree to be fetched. If left out the complete tree is returned. |
Returns
qNodes | No description |
Errors
No description |
const result = await genericObject.getHyperCubeTreeData({
"qPath": "value",
"qNodeOptions": {
"qMaxNbrOfNodes": 1,
"qTreeNodes": [
{
"qArea": {
"qLeft": 1,
"qTop": 1,
"qWidth": 1,
"qHeight": 1
},
"qAllValues": true
}
],
"qTreeLevels": {
"qLeft": 1,
"qDepth": 1
}
}
});
[
{
"qText": "value",
"qValue": 1,
"qElemNo": 1,
"qGroupPos": 1,
"qGroupSize": 1,
"qRow": 1,
"qType": "value",
"qValues": [
{
"qText": "value",
"qValue": 1,
"qAttrExps": {
"qValues": [
{
"qText": "value",
"qNum": 1
}
]
},
"qAttrDims": {
"qValues": [
{
"qText": "value",
"qElemNo": 1
}
]
}
}
],
"qNodes": [
null
],
"qAttrExps": {
"qValues": [
{
"qText": "value",
"qNum": 1
}
]
},
"qAttrDims": {
"qValues": [
{
"qText": "value",
"qElemNo": 1
}
]
},
"qMaxPos": [
1
],
"qMinNeg": [
1
],
"qCanExpand": true,
"qCanCollapse": true,
"qState": "value",
"qTreePath": [
1
]
}
]
GenericObjectGetInfo()
Returns the type and identifier of the object.
Returns
qInfo | No description |
Errors
No description |
const result = await genericObject.getInfo({});
{
"qId": "value",
"qType": "value"
}
GenericObjectGetLayout()
Evaluates an object and displays its properties including the dynamic properties. If the member delta is set to true in the request object, only the delta is evaluated. A GetLayout call on a generic object, returns up to one level down in the hierarchy.
Example:
A is a generic object and is the parent of the objects B and C. B is the parent of the objects D and E.
A GetLayout call on A returns information on the objects A, B and C.
A GetLayout call on B returns information on the objects B, D and E.
A GetLayout call on C returns information on the object C.
Returns
qLayout | No description |
Errors
No description |
const result = await genericObject.getLayout({});
{
"qInfo": {
"qId": "value",
"qType": "value"
},
"qMeta": {
"qName": "value"
},
"qExtendsId": "value",
"qHasSoftPatches": true,
"qError": {
"qErrorCode": 1
},
"qSelectionInfo": {
"qInSelections": true,
"qMadeSelections": true
},
"qStateName": "value"
}
GenericObjectGetLinkedObjects()
Lists the linked objects to a generic object, a dimension or a measure.
Returns
qItems | No description |
Errors
No description |
const result = await genericObject.getLinkedObjects({});
[
{
"qRootId": "value",
"qInfo": {
"qId": "value",
"qType": "value"
}
}
]
GenericObjectGetListObjectData(qPath, qPages)
Retrieves the values of a list object. A data set is returned.
Parameters
qPath required string | Path to the definition of the object to be selected. For example, /qListObjectDef . |
qPages required | Array of pages you are interested in. |
Returns
qDataPages | No description |
Errors
No description |
const result = await genericObject.getListObjectData({
"qPath": "value",
"qPages": [
{
"qLeft": 1,
"qTop": 1,
"qWidth": 1,
"qHeight": 1
}
]
});
[
{
"qMatrix": [
[
{
"qText": "value",
"qNum": 1,
"qElemNumber": 1,
"qState": "value",
"qIsEmpty": true,
"qIsTotalCell": true,
"qIsOtherCell": true,
"qFrequency": "value",
"qHighlightRanges": {
"qRanges": [
{
"qCharPos": 1,
"qCharCount": 1
}
]
},
"qAttrExps": {
"qValues": [
{
"qText": "value",
"qNum": 1
}
]
},
"qAttrDims": {
"qValues": [
{
"qText": "value",
"qElemNo": 1
}
]
},
"qIsNull": true,
"qMiniChart": {
"qMatrix": [
[
{
"qText": "value",
"qNum": 1,
"qElemNumber": 1,
"qAttrExps": {
"qValues": [
{
"qText": "value",
"qNum": 1
}
]
}
}
]
],
"qMin": 1,
"qMax": 1,
"qError": {
"qErrorCode": 1,
"qContext": "value",
"qExtendedMessage": "value"
}
},
"qInExtRow": true
}
]
],
"qTails": [
{
"qUp": 1,
"qDown": 1
}
],
"qArea": {
"qLeft": 1,
"qTop": 1,
"qWidth": 1,
"qHeight": 1
},
"qIsReduced": true
}
]
GenericObjectGetParent()
Returns the type of the object and the corresponding handle to the parent object in the hiearchy.
Returns
qReturn | No description |
Errors
No description |
const result = await genericObject.getParent({});
// result is an enigma model, for example: result.getLayout()
{
id: 'xyz',
handle: 1,
getLayout: () => {},
setProperties: () => {},
}
GenericObjectGetProperties()
Returns the identifier, the type and the properties of the object. Because it is not mandatory to set all properties when you define an object, the GetProperties method may show properties that were not set. In that case, default values are given. If the object contains some soft properties, the soft properties are not returned by the GetProperties method. Use the GetEffectiveProperties instead. If the object is linked to another object, the properties of the linking object are not returned by the GetProperties method. Use the GetEffectiveProperties instead.
Returns
qProp | No description |
Errors
No description |
const result = await genericObject.getProperties({});
{
"qInfo": {
"qId": "value",
"qType": "value"
},
"qExtendsId": "value",
"qMetaDef": {},
"qStateName": "value"
}
GenericObjectGetSnapshotObject()
Returns the type of the object and the corresponding handle.
Returns
qReturn | No description |
Errors
No description |
const result = await genericObject.getSnapshotObject({});
// result is an enigma model, for example: result.getLayout()
{
id: 'xyz',
handle: 1,
getLayout: () => {},
setProperties: () => {},
}
GenericObjectLock(qPath, qColIndices?)
Locks the selected values of a generic object.
Parameters
qPath required string | Path to the definition of the object. For example, /qListObjectDef . |
qColIndices Array<integer<int32>> | Dimension numbers or dimension indexes where the lock should apply. Dimension numbers/indexes start from 0. If this parameter is not set, the selected values in all dimensions are locked. |
Returns
Results for GenericObject.Lock object | No description |
Errors
No description |
const result = await genericObject.lock({
"qPath": "value",
"qColIndices": [
1
]
});
undefined
GenericObjectMultiRangeSelectHyperCubeValues(qPath, qRanges, qOrMode?, qDeselectOnlyOneSelected?)
Makes multiple range selections in measures.
Parameters
qPath required string | Path to the definition of the object to be selected. For example, /qHyperCubeDef . |
qRanges required | Ranges of selections. |
qOrMode boolean | Applies to hypercubes with multiple measures. If set to true, it means that at least one of the measures must be in the range of selections for the group of measures to be selected. If set to false, it means that all measures must be in the range of selections for the group of measures to be selected. The default value is false. |
qDeselectOnlyOneSelected boolean | Set this parameter to true to unselect the last single selected value. There must be only one selected value in the field. The default value is false. |
Returns
qSuccess boolean | No description |
Errors
No description |
const result = await genericObject.multiRangeSelectHyperCubeValues({
"qPath": "value",
"qRanges": [
{
"qRanges": [
{
"qRange": {
"qMin": 1,
"qMax": 1,
"qMinInclEq": true,
"qMaxInclEq": true
},
"qMeasureIx": 1
}
],
"qColumnsToSelect": [
1
]
}
],
"qOrMode": true,
"qDeselectOnlyOneSelected": true
});
true
GenericObjectMultiRangeSelectTreeDataValues(qPath, qRanges, qOrMode?, qDeselectOnlyOneSelected?)
Parameters
qPath required string | No description |
qRanges required | No description |
qOrMode boolean | No description |
qDeselectOnlyOneSelected boolean | No description |
Returns
qSuccess boolean | No description |
Errors
No description |
const result = await genericObject.multiRangeSelectTreeDataValues({
"qPath": "value",
"qRanges": [
{
"qRanges": [
{
"qRange": {
"qMin": 1,
"qMax": 1,
"qMinInclEq": true,
"qMaxInclEq": true
},
"qMeasureIx": 1,
"qDimensionIx": 1
}
]
}
],
"qOrMode": true,
"qDeselectOnlyOneSelected": true
});
true
GenericObjectPublish()
Publishes a generic object.
Returns
Results for GenericObject.Publish object | No description |
Errors
No description |
const result = await genericObject.publish({});
undefined
GenericObjectRangeSelectHyperCubeValues(qPath, qRanges, qColumnsToSelect?, qOrMode?, qDeselectOnlyOneSelected?)
Makes range selections in measures.
Parameters
qPath required string | Path to the definition of the object to be selected. For example, /qHyperCubeDef . |
qRanges required | Ranges of selections. |
qColumnsToSelect Array<integer<int32>> | Indicates which dimensions to select. The dimensions numbering starts at 0 (first dimension is 0). If the array is empty, all dimensions are selected. |
qOrMode boolean | Applies to hypercubes with multiple measures. If set to true, it means that at least one of the measures must be in the range of selections for the group of measures to be selected. If set to false, it means that all measures must be in the range of selections for the group of measures to be selected. The default value is false. |
qDeselectOnlyOneSelected boolean | Set this parameter to true to unselect the last single selected value. There must be only one selected value in the field. The default value is false. |
Returns
qSuccess boolean | No description |
Errors
No description |
const result = await genericObject.rangeSelectHyperCubeValues({
"qPath": "value",
"qRanges": [
{
"qRange": {
"qMin": 1,
"qMax": 1,
"qMinInclEq": true,
"qMaxInclEq": true
},
"qMeasureIx": 1
}
],
"qColumnsToSelect": [
1
],
"qOrMode": true,
"qDeselectOnlyOneSelected": true
});
true
GenericObjectResetMadeSelections()
Resets all selections made in selection mode.
Returns
Results for GenericObject.ResetMadeSelections object | No description |
Errors
No description |
const result = await genericObject.resetMadeSelections({});
undefined
GenericObjectSearchListObjectFor(qPath, qMatch)
Searches for a string in a list object.
Parameters
qPath required string | Path to the definition of the list object. For example, /qListObjectDef . |
qMatch required string | Search string. Wild card characters are allowed. The search is not case sensitive. Examples:
|
Returns
qSuccess boolean | No description |
Errors
No description |
const result = await genericObject.searchListObjectFor({
"qPath": "value",
"qMatch": "value"
});
true
GenericObjectSelectHyperCubeCells(qPath, qRowIndices, qColIndices, qSoftLock?, qDeselectOnlyOneSelected?)
Makes selections in multiple dimensions and measures.
Parameters
qPath required string | Path to the definition of the object to be selected. For example, /qHyperCubeDef . |
qRowIndices required Array<integer<int32>> | Array of row indexes to select, starting from 0. If the array is empty [ ] , all rows are selected. |
qColIndices required Array<integer<int32>> | Indexes of the columns to select, starting from 0. A column corresponds to a dimension in the order they are added to the hypercube. If a column is hidden it is ignored, qColIndex n refers to the n:th visible column (starting from zero). Example: If the hypercube has two dimensions:
If the array is empty [ ] , all columns are selected. |
qSoftLock boolean | Set to true to ignore locks; in that case, locked fields can be selected. |
qDeselectOnlyOneSelected boolean | Set this parameter to true to unselect the last single selected value. There must be only one selected value in the field. The default value is false. |
Returns
qSuccess boolean | No description |
Errors
No description |
const result = await genericObject.selectHyperCubeCells({
"qPath": "value",
"qRowIndices": [
1
],
"qColIndices": [
1
],
"qSoftLock": true,
"qDeselectOnlyOneSelected": true
});
true
GenericObjectSelectHyperCubeContinuousRange(qPath, qRanges, qSoftLock?)
The following is returned in the output:
Parameters
qPath required string | Path to the definition of the object. For example, /qHyperCubeDef . |
qRanges required | Selects ranges in a hypercube in (Ranges[N].Min,Ranges[N].Max) intervals. If either Ranges[N].MinInclEq or Ranges[N].MaxInclEq, or both flags are set to true then Min and Max values will be selected. |
qSoftLock boolean | Set to true to ignore locks; in that case, locked fields can be selected. The default value is false. |
Returns
qSuccess boolean | No description |
Errors
No description |
const result = await genericObject.selectHyperCubeContinuousRange({
"qPath": "value",
"qRanges": [
{
"qRange": {
"qMin": 1,
"qMax": 1,
"qMinInclEq": true,
"qMaxInclEq": true
},
"qDimIx": 1
}
],
"qSoftLock": true
});
true
GenericObjectSelectHyperCubeValues(qPath, qDimNo, qValues, qToggleMode)
Selects some values in one dimension. The values are identified by their element numbers.
Parameters
qPath required string | Path to the definition of the object to be selected. For example, /qHyperCubeDef . |
qDimNo required integer | Dimension number or index to select. Dimension numbers/index start from 0. |
qValues required Array<integer<int32>> | Element numbers of the field to select. You can select multiple elements; the separator is the comma. |
qToggleMode required boolean | Set to true to toggle. |
Returns
qSuccess boolean | No description |
Errors
No description |
const result = await genericObject.selectHyperCubeValues({
"qPath": "value",
"qDimNo": 1,
"qValues": [
1
],
"qToggleMode": true
});
true
GenericObjectSelectListObjectAll(qPath, qSoftLock?)
Selects all values of a field.
Parameters
qPath required string | Path to the definition of the object to be selected. For example, /qListObjectDef . |
qSoftLock boolean | Set to true to ignore locks; in that case, locked fields can be selected. The default value is false. |
Returns
qSuccess boolean | No description |
Errors
No description |
const result = await genericObject.selectListObjectAll({
"qPath": "value",
"qSoftLock": true
});
true
GenericObjectSelectListObjectAlternative(qPath, qSoftLock?)
Selects all alternative values in a specific field.
Parameters
qPath required string | Path to the definition of the object to be selected. For example, /qListObjectDef . |
qSoftLock boolean | Set to true to ignore locks; in that case, locked fields can be selected. The default value is false. |
Returns
qSuccess boolean | No description |
Errors
No description |
const result = await genericObject.selectListObjectAlternative({
"qPath": "value",
"qSoftLock": true
});
true
GenericObjectSelectListObjectContinuousRange(qPath, qRanges, qSoftLock?)
The following is returned in the output:
Parameters
qPath required string | Path to the definition of the object. For example, /qHyperCubeDef . |
qRanges required | Selects ranges in a hypercube in (Ranges[N].Min,Ranges[N].Max) intervals. If either Ranges[N].MinInclEq or Ranges[N].MaxInclEq, or both flags are set to true then Min and Max values will be selected. |
qSoftLock boolean | Set to true to ignore locks; in that case, locked fields can be selected. The default value is false. |
Returns
qSuccess boolean | No description |
Errors
No description |
const result = await genericObject.selectListObjectContinuousRange({
"qPath": "value",
"qRanges": [
{
"qMin": 1,
"qMax": 1,
"qMinInclEq": true,
"qMaxInclEq": true
}
],
"qSoftLock": true
});
true
GenericObjectSelectListObjectExcluded(qPath, qSoftLock?)
Inverts the current selections in a specific field.
Parameters
qPath required string | Path to the definition of the object to be selected. For example, /qListObjectDef . |
qSoftLock boolean | Set to true to ignore locks; in that case, locked fields can be selected. The default value is false. |
Returns
qSuccess boolean | No description |
Errors
No description |
const result = await genericObject.selectListObjectExcluded({
"qPath": "value",
"qSoftLock": true
});
true
GenericObjectSelectListObjectPossible(qPath, qSoftLock?)
Selects all possible values of a list object.
Parameters
qPath required string | Path to the definition of the object to be selected. For example, /qListObjectDef . |
qSoftLock boolean | Set to true to ignore locks; in that case, locked fields can be selected. The default value is false. |
Returns
qSuccess boolean | No description |
Errors
No description |
const result = await genericObject.selectListObjectPossible({
"qPath": "value",
"qSoftLock": true
});
true
GenericObjectSelectListObjectValues(qPath, qValues, qToggleMode, qSoftLock?)
Makes single selections in dimensions.
Parameters
qPath required string | Path to the definition of the object to be selected. For example, /qListObjectDef . |
qValues required Array<integer<int32>> | Element numbers to select. You can select multiple values; the separator is the comma. |
qToggleMode required boolean | Set to true to toggle. |
qSoftLock boolean | Set to true to ignore locks; in that case, locked fields can be selected. The default value is false. |
Returns
qSuccess boolean | No description |
Errors
No description |
const result = await genericObject.selectListObjectValues({
"qPath": "value",
"qValues": [
1
],
"qToggleMode": true,
"qSoftLock": true
});
true
GenericObjectSelectPivotCells(qPath, qSelections, qSoftLock?, qDeselectOnlyOneSelected?)
Pivot table
Makes selections in the top or left dimension cells of a pivot table or in the data matrix. Only expanded dimensions can be selected.
Stacked table
Makes selections in the left dimension cells of a stacked table or in the data matrix.
Example of a pivot table
In the representation above:
Sum(OrderTotal) Count(OrderTotal) | Are pseudo dimensions. |
CategoryName | Is a left dimension. Beverages , Condiments ... are left dimension values. |
ProductName | Is a top dimension. Chef Anton's Cajun Seasoning is a top dimension value. |
Numeric values | Are calculated values in the data matrix. 626291,832 is a calculated value. |
The member Change returns the handles of the objects that are updated following the selections. qSuccess is set to true if the selections are successful and is set to false in the following cases:
- The object contains some invalid fields (fields that are not in the data model).
- The selection applies to a locked field.
- A range selection is performed and the parameter OneAndOnlyOne is set to true in the definition of the object.
Parameters
qPath required string | Path to the definition of the object. For example, /qHyperCubeDef . |
qSelections required | Information about the selections to perform. |
qSoftLock boolean | Set to true to ignore locks; in that case, locked fields can be selected. |
qDeselectOnlyOneSelected boolean | Set this parameter to true to unselect the last single selected value. There must be only one selected value in the field. The default value is false. |
Returns
qSuccess boolean | No description |
Errors
No description |
const result = await genericObject.selectPivotCells({
"qPath": "value",
"qSelections": [
{
"qType": "value",
"qCol": 1,
"qRow": 1
}
],
"qSoftLock": true,
"qDeselectOnlyOneSelected": true
});
true
GenericObjectSetChildArrayOrder(qIds)
Sets the order of the children in a generic object.
Parameters
qIds required Array<string> | List of the children identifiers. |
Returns
Results for GenericObject.SetChildArrayOrder object | No description |
Errors
No description |
const result = await genericObject.setChildArrayOrder({
"qIds": [
"value"
]
});
undefined
GenericObjectSetFullPropertyTree(qPropEntry)
Sets the properties of:
- A generic object.
- The children of the generic object.
- The bookmarks/embedded snapshots of the generic object.
Parameters
qPropEntry required | Information about the generic object entry. |
Returns
Results for GenericObject.SetFullPropertyTree object | No description |
Errors
No description |
const result = await genericObject.setFullPropertyTree({
"qPropEntry": {
"qProperty": {
"qInfo": {
"qId": "value",
"qType": "value"
},
"qExtendsId": "value",
"qMetaDef": {},
"qStateName": "value"
},
"qChildren": [
null
],
"qEmbeddedSnapshotRef": {
"qProperties": {
"qInfo": {
"qId": "value",
"qType": "value"
},
"qMetaDef": {},
"qIncludeVariables": true,
"qDistinctValues": true
},
"qBookmark": {
"qStateData": [
{
"qStateName": "value",
"qFieldItems": [
{
"qDef": {
"qName": "value",
"qType": "value"
},
"qLocked": true,
"qSelectInfo": {
"qTextSearch": "value",
"qRangeLo": 1,
"qRangeHi": 1,
"qNumberFormat": {
"qType": "value",
"qnDec": 1,
"qUseThou": 1,
"qFmt": "value",
"qDec": "value",
"qThou": "value"
},
"qRangeInfo": [
{
"qRangeLo": 1,
"qRangeHi": 1,
"qMeasure": "value"
}
],
"qSoftLock": true,
"qContinuousRangeInfo": [
{
"qMin": 1,
"qMax": 1,
"qMinInclEq": true,
"qMaxInclEq": true
}
],
"qSelectFieldSearch": true
},
"qValues": [
{
"qText": "value",
"qIsNumeric": true,
"qNumber": 1
}
],
"qExcludedValues": [
{
"qText": "value",
"qIsNumeric": true,
"qNumber": 1
}
],
"qAndMode": true,
"qOneAndOnlyOne": true
}
]
}
],
"qUtcModifyTime": 1,
"qVariableItems": [
{
"qName": "value",
"qValue": {
"qText": "value",
"qIsNumeric": true,
"qNumber": 1
},
"qDefinition": "value"
}
],
"qPatches": [
{
"qInfo": {
"qId": "value",
"qType": "value"
},
"qPatches": [
{
"qOp": "value",
"qPath": "value",
"qValue": "value"
}
],
"qChildren": [
null
]
}
]
},
"qClassicBookmark": {
"qId": "value",
"qName": "value",
"qUtcModifyTime": 1,
"qUtcRecallTime": 1,
"qRecallCount": 1,
"qApplyAdditive": true,
"qFieldItems": [
{
"qDef": {
"qName": "value",
"qType": "value"
},
"qLocked": true,
"qSelectInfo": {
"qTextSearch": "value",
"qRangeLo": 1,
"qRangeHi": 1,
"qNumberFormat": {
"qType": "value",
"qnDec": 1,
"qUseThou": 1,
"qFmt": "value",
"qDec": "value",
"qThou": "value"
},
"qRangeInfo": [
{
"qRangeLo": 1,
"qRangeHi": 1,
"qMeasure": "value"
}
],
"qSoftLock": true,
"qContinuousRangeInfo": [
{
"qMin": 1,
"qMax": 1,
"qMinInclEq": true,
"qMaxInclEq": true
}
],
"qSelectFieldSearch": true
},
"qValues": [
{
"qText": "value",
"qIsNumeric": true,
"qNumber": 1
}
],
"qExcludedValues": [
{
"qText": "value",
"qIsNumeric": true,
"qNumber": 1
}
],
"qAndMode": true,
"qOneAndOnlyOne": true
}
],
"qVariableItems": [
{
"qName": "value",
"qValue": {
"qText": "value",
"qIsNumeric": true,
"qNumber": 1
},
"qDefinition": "value"
}
],
"qSheetId": "value",
"qObjects": [
{
"qId": "value",
"qActive": true,
"qShowMode": 1,
"qScrollPos": {
"qUsePosition": true,
"qPos": {
"qx": 1,
"qy": 1
}
}
}
],
"qApplyLayoutState": true,
"qShowPopupInfo": true,
"qInfoText": "value",
"qOwner": "value",
"qGroups": [
{
"qId": "value",
"qCyclePos": 1
}
],
"qShow": {
"qAlways": true,
"qExpression": {
"qv": "value"
}
},
"qApplyInputFieldValues": true,
"qInputFieldItems": [
{
"qFieldName": "value",
"qValues": [
{
"qText": "value",
"qIsNumeric": true,
"qNumber": 1
}
],
"qPackedHashKeys": [
1
]
}
],
"qObjectsLayout": [
{
"qId": "value",
"qActive": true,
"qShowMode": 1,
"qScrollPos": {
"qUsePosition": true,
"qPos": {
"qx": 1,
"qy": 1
}
},
"qExpansionInfo": [
{
"qExcludeList": true,
"qPos": {
"qDimName": "value",
"qElemNo": [
1
],
"qElemValues": [
"value"
]
}
}
],
"qLeftCollapsed": true,
"qTopCollapsed": true,
"qSortData": [
{
"qName": "value",
"qReversed": true
}
],
"qDimensionGroupPos": [
{
"qGroupName": "value",
"qCurrentItemName": "value"
}
],
"qExpressionGroupPos": [
{
"qGroupName": "value",
"qCurrentItemName": "value"
}
],
"qUseGraphMode": true,
"qGraphMode": "value",
"qActiveContainerChildObjectId": "value",
"qExtendedPivotState": {
"qExpressionPosition": 1,
"qNumberOfLeftDimensions": 1,
"qDimensionNames": [
"value"
],
"qEnableConditions": [
"value"
]
}
}
],
"qIncludeSelectionState": true,
"qIncludeScrollPosition": true,
"qAlternateStateData": [
{
"qStateName": "value",
"qFieldItems": [
{
"qDef": {
"qName": "value",
"qType": "value"
},
"qLocked": true,
"qSelectInfo": {
"qTextSearch": "value",
"qRangeLo": 1,
"qRangeHi": 1,
"qNumberFormat": {
"qType": "value",
"qnDec": 1,
"qUseThou": 1,
"qFmt": "value",
"qDec": "value",
"qThou": "value"
},
"qRangeInfo": [
{
"qRangeLo": 1,
"qRangeHi": 1,
"qMeasure": "value"
}
],
"qSoftLock": true,
"qContinuousRangeInfo": [
{
"qMin": 1,
"qMax": 1,
"qMinInclEq": true,
"qMaxInclEq": true
}
],
"qSelectFieldSearch": true
},
"qValues": [
{
"qText": "value",
"qIsNumeric": true,
"qNumber": 1
}
],
"qExcludedValues": [
{
"qText": "value",
"qIsNumeric": true,
"qNumber": 1
}
],
"qAndMode": true,
"qOneAndOnlyOne": true
}
]
}
],
"qForAnnotations": true,
"qIncludeAllVariables": true
},
"qClassicMetadata": {
"qShared": true,
"qUtcModifyTime": 1,
"qSheetId": "value",
"qTemporary": true,
"qRestrictedAccess": true,
"qAccessList": [
"value"
],
"qPersonalEditionHash_OBSOLETE": "value",
"qHidden": true,
"qLinkedTo": [
"value"
]
}
}
}
});
undefined
GenericObjectSetProperties(qProp)
Sets some properties for a generic object.
Parameters
qProp required | Information about the generic object. |
Returns
Results for GenericObject.SetProperties object | No description |
Errors
No description |
const result = await genericObject.setProperties({
"qProp": {
"qInfo": {
"qId": "value",
"qType": "value"
},
"qExtendsId": "value",
"qMetaDef": {},
"qStateName": "value"
}
});
undefined
GenericObjectUnApprove()
Removes the generic object from the list of approved objects
Returns
Results for GenericObject.UnApprove object | No description |
Errors
No description |
const result = await genericObject.unApprove({});
undefined
GenericObjectUnPublish()
Unpublishes a generic object.
Returns
Results for GenericObject.UnPublish object | No description |
Errors
No description |
const result = await genericObject.unPublish({});
undefined
GenericObjectUnlock(qPath, qColIndices?)
Unlocks the selected values of a generic object if the target (or handle ) is a generic object
Parameters
qPath required string | Path to the definition of the object. For example, /qListObjectDef . |
qColIndices Array<integer<int32>> | Dimension numbers/indexes where the unlock should apply. Dimension numbers/indexes start from 0. If this parameter is not set, the locked values in all dimensions are unlocked. |
Returns
Results for GenericObject.Unlock object | No description |
Errors
No description |
const result = await genericObject.unlock({
"qPath": "value",
"qColIndices": [
1
]
});
undefined