QIX

v12.1368.0

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

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.

This method applies to list objects (objects with one dimension).
After an abort on a list object search, the GetLayout does not return any more search results but it does return the values in the field.

Parameters

qPath
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"
});
// console.log(result);
undefined

GenericObjectAcceptListObjectSearch(qPath, qToggleMode, qSoftLock?)

Accept the results of a search in a list object. The search results become selected in the field.

This method applies to list objects (objects with one dimension).
The search results are displayed using the GetLayout.

Parameters

qPath
string

Path to the definition of the list object. For example, /qListObjectDef .

qToggleMode
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
optional
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
});
// console.log(result);
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.

Soft properties apply only to generic objects.

Parameters

qPatches

Array of patches.

qSoftPatch
optional
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
});
// console.log(result);
undefined

GenericObjectApprove()

Adds the generic object to the list of approved objects

This operation is possible only in Qlik Sense Enterprise.

Returns

Results for GenericObject.Approve
object

No description

Errors

No description

const result = await genericObject.approve({});
// console.log(result);
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
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"
  ]
});
// console.log(result);
undefined

GenericObjectClearSelections(qPath, qColIndices?)

Clears the selections in a dimension of a visualization.

Parameters

qPath
string

Path to the definition of the visualization. For example, /qListObjectDef .

qColIndices
optional
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
  ]
});
// console.log(result);
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({});
// console.log(result);
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
string

Path to the definition of the object to be collapsed. For example, /qHyperCubeDef .

qRow
integer

Row index in the data matrix. Indexing starts from 0.

qCol
integer

Column index. The index is based on the left dimension indexes. Indexing starts from 0.

qAll
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
});
// console.log(result);
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
string

Path to the definition of the object to be collapsed For example, /qHyperCubeDef .

qRow
integer

Row index. The index is based on the top dimension indexes. Indexing starts from 0.

qCol
integer

Column index in the data matrix. Indexing starts from 0.

qAll
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
});
// console.log(result);
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.

The identifier of the destination object is the same as before the copy takes place.

Parameters

qFromId
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"
});
// console.log(result);
undefined

GenericObjectCreateChild(qProp, qPropForThis?)

Creates a generic object that is a child of another generic object.

It is possible to update the properties of the child's parent at the same time that the child is created. Both operations are performed by the same call.
It is possible to create a child that is linked to another generic object. The two objects have the same properties.

Parameters

qProp

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"
  }
});
// console.log(result);
// 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"
  }
});
// console.log(result);
undefined

GenericObjectDestroyChild(qId, qPropForThis?)

Removes a child object.

It is possible to update the properties of the child's parent at the same time that the child is removed. Both operations are performed by the same call.
Removing a linked object, invalidate the linking object.
The operation is successful if **qSuccess** is set to true.

Parameters

qId
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"
  }
});
// console.log(result);
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
string

Path to the definition of the object to be selected. For example, /qHyperCubeDef .

qDimNo
integer

Dimension number or index starting from 0. The default value is 0.

qNbrSteps
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
});
// console.log(result);
undefined

GenericObjectEmbedSnapshotObject(qId)

Adds a snapshot to a generic object.

Only one snapshot can be embedded in a generic object.
If you embed a snapshot in an object that already contains a snapshot, the new snapshot overwrites the previous one.

Parameters

qId
string

Identifier of the bookmark.

Returns

Results for GenericObject.EmbedSnapshotObject
object

No description

Errors

No description

const result = await genericObject.embedSnapshotObject({
  "qId": "value"
});
// console.log(result);
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
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
});
// console.log(result);
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
string

Path to the definition of the object to be expanded. For example, /qHyperCubeDef .

qRow
integer

Row index in the data matrix to expand. Indexing starts from 0.

qCol
integer

Column index. The index is based on the left dimension indexes. Indexing starts from 0.

qAll
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
});
// console.log(result);
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
string

Path to the definition of the object to be expanded. For example, /qHyperCubeDef .

qRow
integer

Row index. The index is based on the top dimension indexes. Indexing starts from 0.

qCol
integer

Column index in the data matrix. Indexing starts from 0.

qAll
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
});
// console.log(result);
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.

ExportData method is not supported in SaaS Editions of Qlik Sense.

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

The exported file is truncated if the number of cells exceeds the limit. A warning message with code 1000 is sent.

There is an option to export only the possible values ( _qExportState_ is P).

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.

Exported files are temporary and are available only for a certain time span and only to the user who created them.

Parameters

qFileType
string

Type of the file to export.

One of:

  • CSV_C or EXPORT_CSV_C
  • CSV_T or EXPORT_CSV_T
  • OOXML or EXPORT_OOXML
qPath
optional
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
optional
string

Name of the exported file after download from browser. This parameter is optional and only used in Qlik Sense Desktop.

qExportState
optional
string

Defines the values to be exported. The default value is A.

One of:

  • P or EXPORT_POSSIBLE
  • A or EXPORT_ALL
qServeOnce
optional
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
});
// console.log(result);
"value"

GenericObjectGetChild(qId)

Returns the type of the object and the corresponding handle.

Parameters

qId
string

Identifier of the object.

Returns

qReturn

No description

Errors

No description

const result = await genericObject.getChild({
  "qId": "value"
});
// console.log(result);
// 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({});
// console.log(result);
[
  {
    "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({});
// console.log(result);
{
  "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({});
// console.log(result);
{
  "qProperty": {
    "qInfo": {
      "qId": "value",
      "qType": "value"
    },
    "qExtendsId": "value",
    "qMetaDef": {},
    "qStateName": "value"
  },
  "qChildren": [
    null
  ],
  "qEmbeddedSnapshotRef": {
    "qProperties": {
      "qInfo": {
        "qId": "value",
        "qType": "value"
      },
      "qMetaDef": {}
    },
    "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
          }
        }
      ],
      "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
          }
        }
      ],
      "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": [
                  [
                    1
                  ]
                ]
              }
            }
          ],
          "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).

The generic object should contain two or three measures and one dimension. When the refinement is high, the first two measures are represented on the x-axis and on the y-axis, while the third measure is visualized as color or point size.

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:

NameDescriptionType
qNumMaximum number of points that a cell can contain.String
qElemNumberIs set to 0.Boolean
qStateThe default value is L.One of:
  • L for Locked
  • S for Selected
  • O for Optional
  • D for Deselected
  • A for Alternative
  • X for eXcluded
  • XS for eXcluded Selected
  • XL for eXcluded Locked

The next arrays give the coordinates of each cell in the page. Each array contains the following properties:

NameDescriptionType
qTextCoordinates 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
qNumNumber of points in the cell.Double precision floating point
qElemNumberUnique 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
qStateThe default value is L.One of:
  • L for Locked
  • S for Selected
  • O for Optional
  • D for Deselected
  • A for Alternative
  • X for eXcluded
  • XS for eXcluded Selected
  • XL for eXcluded Locked
Cells are represented as rectangles.

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.

NameDescriptionType
qTextText value of the dimension or the measure.String
qNumNumerical value of the dimension or the measure.
Is set to 0 if the value is only text.
Double precision floating point
qElemNumberUnique 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
qStateThe default value is L.One of:
  • L for Locked
  • S for Selected
  • O for Optional
  • D for Deselected
  • A for Alternative
  • X for eXcluded
  • XS for eXcluded Selected
  • XL for eXcluded Locked

Parameters

qPath
string

Path to the definition of the object. For example, /qHyperCubeDef .

qPages

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

Defines the canvas and the zoom level. This parameter is not yet used and is optional.

qDataRanges

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
integer

Maximum number of cells in the grid.

qQueryLevel
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
integer

Selects the algorithm. The default value is 0. One of:

  • 0: Adaptive grid
  • 1: Hexagonal grid
  • 2: Uniform grid

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
});
// console.log(result);
[
  {
    "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.

Binning is done on the time stamp data as well as the date. This means that you can zoom in to a level of granularity as low as seconds.

Parameters

qPath
string

Path to the definition of the object. For example, /qHyperCubeDef .

qOptions

Defines the data to return.

qReverseSort
optional
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
});
// console.log(result);
[
  {
    "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.

This method works for a hypercube in DATA_MODE_STRAIGHT.
A data set is returned.

Parameters

qPath
string

Path to the definition of the object to be selected. For example, /qHyperCubeDef .

qPages

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
    }
  ]
});
// console.log(result);
[
  {
    "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.

This method works for a hypercube in DATA_MODE_PIVOT.

Parameters

qPath
string

Path to the definition of the object to be selected. For example, /qHyperCubeDef .

qPages

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
    }
  ]
});
// console.log(result);
[
  {
    "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.

This method can be used to create mini charts.

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
string

Path to the definition of the object to be selected. For example, /qHyperCubeDef .

qPages

Array of pages.

qZoomFactor
integer

Defines the zoom factor. If set to -1, the engine decides of the zoom factor.

  • If the reduction mode is D1 or S , the zoom factor is 2ⁿ. If the zoom factor is 5, the data are reduced by a factor 32.
  • If the reduction mode is C , the zoom factor defines the number of centroids.
qReductionMode
string

Defines the reduction mode.

One of:

  • N or DATA_REDUCTION_NONE
  • D1 or DATA_REDUCTION_ONEDIM
  • S or DATA_REDUCTION_SCATTERED
  • C or DATA_REDUCTION_CLUSTERED
  • ST or DATA_REDUCTION_STACKED

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"
});
// console.log(result);
[
  {
    "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.

This method works for a hypercube in DATA_MODE_PIVOT_STACK.

Parameters

qPath
string

Path to the definition of the object to be selected. For example, /qHyperCubeDef .

qPages

Array of pages to retrieve.

qMaxNbrCells
optional
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
});
// console.log(result);
[
  {
    "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.

This method works for a treedata object or a hypercube in DATA_MODE_TREE.

Parameters

qPath
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
    }
  }
});
// console.log(result);
[
  {
    "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({});
// console.log(result);
{
  "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.

In addition to the parameters displayed above, the **GetLayout** method can return other properties according to what is defined in the generic object. For example, if **qHyperCubeDef** is defined in the generic object, the **GetLayout** method returns the properties described in _HyperCube_.

Returns

qLayout

No description

Errors

No description

const result = await genericObject.getLayout({});
// console.log(result);
{
  "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({});
// console.log(result);
[
  {
    "qRootId": "value",
    "qInfo": {
      "qId": "value",
      "qType": "value"
    }
  }
]

GenericObjectGetListObjectData(qPath, qPages)

Retrieves the values of a list object. A data set is returned.

Parameters

qPath
string

Path to the definition of the object to be selected. For example, /qListObjectDef .

qPages

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
    }
  ]
});
// console.log(result);
[
  {
    "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({});
// console.log(result);
// 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.

The properties depends on the generic object type, see [properties](genericobject-layout.html).
If the member delta is set to true in the request object, only the delta is retrieved.

Returns

qProp

No description

Errors

No description

const result = await genericObject.getProperties({});
// console.log(result);
{
  "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({});
// console.log(result);
// 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
string

Path to the definition of the object. For example, /qListObjectDef .

qColIndices
optional
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
  ]
});
// console.log(result);
undefined

GenericObjectMultiRangeSelectHyperCubeValues(qPath, qRanges, qOrMode?, qDeselectOnlyOneSelected?)

Makes multiple range selections in measures.

This method applies to hypercubes. For example, bar charts, tables and scatter plots.
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
string

Path to the definition of the object to be selected. For example, /qHyperCubeDef .

qRanges

Ranges of selections.

qOrMode
optional
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
optional
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
});
// console.log(result);
true

GenericObjectMultiRangeSelectTreeDataValues(qPath, qRanges, qOrMode?, qDeselectOnlyOneSelected?)

Parameters

qPath
string

No description

qRanges

No description

qOrMode
optional
boolean

No description

qDeselectOnlyOneSelected
optional
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
});
// console.log(result);
true

GenericObjectPublish()

Publishes a generic object.

This operation is not applicable for Qlik Sense Desktop.

Returns

Results for GenericObject.Publish
object

No description

Errors

No description

const result = await genericObject.publish({});
// console.log(result);
undefined

GenericObjectRangeSelectHyperCubeValues(qPath, qRanges, qColumnsToSelect?, qOrMode?, qDeselectOnlyOneSelected?)

Makes range selections in measures.

This method applies to hypercubes. For example, bar charts, tables and scatter plots.
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
string

Path to the definition of the object to be selected. For example, /qHyperCubeDef .

qRanges

Ranges of selections.

qColumnsToSelect
optional
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
optional
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
optional
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
});
// console.log(result);
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({});
// console.log(result);
undefined

GenericObjectSearchListObjectFor(qPath, qMatch)

Searches for a string in a list object.

This method applies to list objects (objects with one dimension).
The search results can be displayed using the GetLayout.
The operation is successful if **qSuccess** is set to true.

Parameters

qPath
string

Path to the definition of the list object. For example, /qListObjectDef .

qMatch
string

Search string. Wild card characters are allowed. The search is not case sensitive. Examples:

  • P*U*: retrieves only values that start with P and contain U
  • P U S: retrieves values that start with P, U or S

Returns

qSuccess
boolean

No description

Errors

No description

const result = await genericObject.searchListObjectFor({
  "qPath": "value",
  "qMatch": "value"
});
// console.log(result);
true

GenericObjectSelectHyperCubeCells(qPath, qRowIndices, qColIndices, qSoftLock?, qDeselectOnlyOneSelected?)

Makes selections in multiple dimensions and measures.

This method applies to hypercubes, such as bar charts, tables and scatter plots.
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
string

Path to the definition of the object to be selected. For example, /qHyperCubeDef .

qRowIndices
Array<integer<int32>>

Array of row indexes to select, starting from 0. If the array is empty [ ] , all rows are selected.

qColIndices
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:

  • [0] selects the first column (i.e the first dimension).
  • [1] selects the second column (i.e the second dimension).

If the array is empty [ ] , all columns are selected.

qSoftLock
optional
boolean

Set to true to ignore locks; in that case, locked fields can be selected.

qDeselectOnlyOneSelected
optional
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
});
// console.log(result);
true

GenericObjectSelectHyperCubeContinuousRange(qPath, qRanges, qSoftLock?)

The following is returned in the output:

The operation is successful if **qSuccess** is set to true.

Parameters

qPath
string

Path to the definition of the object. For example, /qHyperCubeDef .

qRanges

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
optional
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
});
// console.log(result);
true

GenericObjectSelectHyperCubeValues(qPath, qDimNo, qValues, qToggleMode)

Selects some values in one dimension. The values are identified by their element numbers.

This method applies to charts, tables and scatter plots.
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
string

Path to the definition of the object to be selected. For example, /qHyperCubeDef .

qDimNo
integer

Dimension number or index to select. Dimension numbers/index start from 0.

qValues
Array<integer<int32>>

Element numbers of the field to select. You can select multiple elements; the separator is the comma.

qToggleMode
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
});
// console.log(result);
true

GenericObjectSelectListObjectAll(qPath, qSoftLock?)

Selects all values of a field.

This method applies to list objects (objects with one dimension).
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
string

Path to the definition of the object to be selected. For example, /qListObjectDef .

qSoftLock
optional
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
});
// console.log(result);
true

GenericObjectSelectListObjectAlternative(qPath, qSoftLock?)

Selects all alternative values in a specific field.

This method applies to list objects (objects with one dimension).
If a field contains at least one selected value, the values that are neither selected nor excluded are alternatives values.
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
string

Path to the definition of the object to be selected. For example, /qListObjectDef .

qSoftLock
optional
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
});
// console.log(result);
true

GenericObjectSelectListObjectContinuousRange(qPath, qRanges, qSoftLock?)

The following is returned in the output:

The operation is successful if **qSuccess** is set to true.

Parameters

qPath
string

Path to the definition of the object. For example, /qHyperCubeDef .

qRanges

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
optional
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
});
// console.log(result);
true

GenericObjectSelectListObjectExcluded(qPath, qSoftLock?)

Inverts the current selections in a specific field.

This method applies to list objects (objects with one dimension).
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
string

Path to the definition of the object to be selected. For example, /qListObjectDef .

qSoftLock
optional
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
});
// console.log(result);
true

GenericObjectSelectListObjectPossible(qPath, qSoftLock?)

Selects all possible values of a list object.

This method applies to list objects (objects with one dimension).
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 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
string

Path to the definition of the object to be selected. For example, /qListObjectDef .

qSoftLock
optional
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
});
// console.log(result);
true

GenericObjectSelectListObjectValues(qPath, qValues, qToggleMode, qSoftLock?)

Makes single selections in dimensions.

This method applies to list objects only.
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 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
string

Path to the definition of the object to be selected. For example, /qListObjectDef .

qValues
Array<integer<int32>>

Element numbers to select. You can select multiple values; the separator is the comma.

qToggleMode
boolean

Set to true to toggle.

qSoftLock
optional
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
});
// console.log(result);
true

GenericObjectSelectPivotCells(qPath, qSelections, qSoftLock?, qDeselectOnlyOneSelected?)

This method only applies to hypercubes that are not represented as straight tables. The parameter _qMode_ in _HyperCubeDef_ must be set either to _P_  or _K_ .

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.

There is no top dimensions in a stacked table. A stacked table can only contain one measure.

Example of a pivot table


In the representation above:

Sum(OrderTotal)
Count(OrderTotal)
Are pseudo dimensions.
CategoryNameIs a left dimension.
Beverages , Condiments ... are left dimension values.
ProductNameIs a top dimension.
Chef Anton's Cajun Seasoning is a top dimension value.
Numeric valuesAre 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
string

Path to the definition of the object. For example, /qHyperCubeDef .

qSelections

Information about the selections to perform.

qSoftLock
optional
boolean

Set to true to ignore locks; in that case, locked fields can be selected.

qDeselectOnlyOneSelected
optional
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
});
// console.log(result);
true

GenericObjectSetChildArrayOrder(qIds)

Sets the order of the children in a generic object.

To change the order of the children in a generic object, the identifiers of all the children must be included in the list of the identifiers (in _qIds_ ).

Parameters

qIds
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"
  ]
});
// console.log(result);
undefined

GenericObjectSetFullPropertyTree(qPropEntry)

Sets the properties of:

  • A generic object.
  • The children of the generic object.
  • The bookmarks/embedded snapshots of the generic object.
If the SetFullPropertyTree is asked to set some properties to a child that does not exist, it creates the child.
The type of an object cannot be updated.

Parameters

qPropEntry

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": {}
      },
      "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
            }
          }
        ],
        "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
            }
          }
        ],
        "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": [
                    [
                      1
                    ]
                  ]
                }
              }
            ],
            "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"
        ]
      }
    }
  }
});
// console.log(result);
undefined

GenericObjectSetProperties(qProp)

Sets some properties for a generic object.

The properties depends on the generic object type, see [properties](genericobject-property.html).

Parameters

qProp

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"
  }
});
// console.log(result);
undefined

GenericObjectUnApprove()

Removes the generic object from the list of approved objects

This operation is possible only in Qlik Sense Enterprise.

Returns

Results for GenericObject.UnApprove
object

No description

Errors

No description

const result = await genericObject.unApprove({});
// console.log(result);
undefined

GenericObjectUnPublish()

Unpublishes a generic object.

This operation is not applicable for Qlik Sense Desktop.

Returns

Results for GenericObject.UnPublish
object

No description

Errors

No description

const result = await genericObject.unPublish({});
// console.log(result);
undefined

GenericObjectUnlock(qPath, qColIndices?)

Unlocks the selected values of a generic object if the target (or handle ) is a generic object

Parameters

qPath
string

Path to the definition of the object. For example, /qListObjectDef .

qColIndices
optional
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
  ]
});
// console.log(result);
undefined
Was this page helpful?