Qlik Sense Engine (qix)

GenericVariable

GenericVariable ApplyPatches

(qPatches)

Applies a patch to the properties of a variable. Allows an update to some of the properties. It should not be possible to patch "/qInfo/qId", and it will be forbidden in the near future.

Applying a patch takes less time than resetting all the properties.

Parameters

  • qPatches array of objects
    Required

    Array of patches.

    Show qPatches properties
    • qOp string

      Can be one of: "add""remove""replace"

    • qPath string

      Path to the property to add, remove or replace.

    • qValue string

      This parameter is not used in a remove operation. Corresponds to the value of the property to add or to the new value of the property to update. Examples: "false", "2", ""New title""

Response

object

Errors

array

ApplyPatches(qPatches)

enigma.js
const result = await genericVariable.applyPatches([
{
"qOp": "add",
"qPath": "value",
"qValue": "value"
}
])

Request

{
"jsonrpc": "2.0",
"id": 1,
"handle": 3,
"method": "ApplyPatches",
"params": {
"qPatches": [
{
"qOp": "add",
"qPath": "value",
"qValue": "value"
}
]
}
}

Response

{
"jsonrpc": "2.0",
"id": 1,
"result": {}
}

GenericVariable GetInfo

()

Returns the type and identifier of the object.

Response

  • qInfo object
    Show qInfo properties
    • qId string

      Identifier of the object. If the chosen identifier is already in use, the engine automatically sets another one. If an identifier is not set, the engine automatically sets one. This parameter is optional.

    • qType string

      Type of the object. This parameter is mandatory.

Errors

array

GetInfo()

enigma.js
const result = await genericVariable.getInfo()

Request

{
"jsonrpc": "2.0",
"id": 1,
"handle": 3,
"method": "GetInfo"
}

Response

{
"jsonrpc": "2.0",
"id": 1,
"result": {
"qInfo": {
"qId": "value",
"qType": "value"
}
}
}

GenericVariable GetLayout

()

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.

Response

  • qLayout object

    Is the layout for GenericVariableProperties.

    Show qLayout properties
    • qInfo object
      Show qInfo properties
      • qId string

        Identifier of the object. If the chosen identifier is already in use, the engine automatically sets another one. If an identifier is not set, the engine automatically sets one. This parameter is optional.

      • qType string

        Type of the object. This parameter is mandatory.

    • qMeta object

      Layout for NxMetaDef.

      Show qMeta properties
      • qName string

        Name. This property is optional.

    • qText string

      Some text.

    • qNum number

      A value.

    • qIsScriptCreated boolean

      If set to true, it means that the variable was defined via script.

Errors

array

GetLayout()

enigma.js
const result = await genericVariable.getLayout()

Request

{
"jsonrpc": "2.0",
"id": 1,
"handle": 3,
"method": "GetLayout"
}

Response

{
"jsonrpc": "2.0",
"id": 1,
"result": {
"qLayout": {
"qInfo": {
"qId": "value",
"qType": "value"
},
"qMeta": {
"qName": "value"
},
"qText": "value",
"qNum": 123,
"qIsScriptCreated": true
}
}
}

GenericVariable GetProperties

()

Shows the properties of an object.

If the member **delta** is set to true in the request, only the delta is retrieved.
The following is always returned in the output:

Response

  • qProp object
    Show qProp properties
    • qInfo object
      Show qInfo properties
      • qId string

        Identifier of the object. If the chosen identifier is already in use, the engine automatically sets another one. If an identifier is not set, the engine automatically sets one. This parameter is optional.

      • qType string

        Type of the object. This parameter is mandatory.

    • qMetaDef object

      Used to collect metadata.

      Properties

      Semantic type with an empty structure.

    • qName string

      Name of the variable. The name must be unique. This parameter is mandatory.

    • qComment string

      Comment related to the variable. This parameter is optional.

    • qNumberPresentation object

      Sets the formatting of a field. The properties of qFieldAttributes and the formatting mechanism are described below.

      Formatting mechanism

      The formatting mechanism depends on the type set in qType, as shown below:

      In case of inconsistencies between the type and the format pattern, the format pattern takes precedence over the type.

      Type is DATE, TIME, TIMESTAMP or INTERVAL

      The following applies:

      • If a format pattern is defined in qFmt , the formatting is as defined in qFmt .
      • If qFmt is empty, the formatting is defined by the number interpretation variables included at the top of the script ( TimeFormat , DateFormat , TimeStampFormat ).
      • The properties qDec , qThou , qnDec , qUseThou are not used.

      Type is INTEGER

      The following applies:

      • If a format pattern is defined in qFmt , the engine looks at the values set in qDec and qThou . If these properties are not defined, the formatting mechanism uses the number interpretation variables included at the top of the script ( DecimalSep and ThousandSep ).
      • If no format pattern is defined in qFmt , no formatting is applied. The properties qDec , qThou , qnDec , qUseThou and the number interpretation variables defined in the script are not used .

      Type is REAL

      The following applies:

      • If a format pattern is defined in qFmt , the engine looks at the values set in qDec and qThou . If these properties are not defined, the engine uses the number interpretation variables included at the top of the script ( DecimalSep and ThousandSep ).
      • If no format pattern is defined in qFmt , and if the value is almost an integer value (for example, 14,000012), the value is formatted as an integer. The properties qDec , qThou , qnDec , qUseThou are not used.
      • If no format pattern is defined in qFmt , and if qnDec is defined and not 0, the property qDec is used. If qDec is not defined, the variable DecimalSep defined at the top of the script is used.
      • If no format pattern is defined in qFmt , and if qnDec is 0, the number of decimals is 14 and the property qDec is used. If qDec is not defined, the variable DecimalSep defined at the top of the script is used.

      Type is FIX

      The following applies:

      • If a format pattern is defined in qFmt , the engine looks at the values set in qDec and qThou . If these properties are not defined, the engine uses the number interpretation variables included at the top of the script ( DecimalSep and ThousandSep ).
      • If no format pattern is defined in qFmt , the properties qDec and qnDec are used. If qDec is not defined, the variable DecimalSep defined at the top of the script is used.

      Type is MONEY

      The following applies:

      • If a format pattern is defined in qFmt , the engine looks at the values set in qDec and qThou . If these properties are not defined, the engine uses the number interpretation variables included at the top of any script ( MoneyDecimalSep and MoneyThousandSep ).
      • If no format pattern is defined in qFmt , the engine uses the number interpretation variables included at the top of the script ( MoneyDecimalSep and MoneyThousandSep ).

      Type is ASCII

      No formatting, qFmt is ignored.

      Show qNumberPresentation properties
      • qType string

        Can be one of: "U""A""I""R""F""M""D""T""TS""IV"

      • qnDec integer

        Number of decimals. Default is 10.

      • qUseThou integer

        Defines whether or not a thousands separator must be used. Default is 0.

      • qFmt string

        Defines the format pattern that applies to qText . Is used in connection to the type of the field (parameter qType ). For more information, see Formatting mechanism. Example: YYYY-MM-DD for a date.

      • qDec string

        Defines the decimal separator. Example: .

      • qThou string

        Defines the thousand separator (if any). Is used if qUseThou is set to 1. Example: ,

    • qIncludeInBookmark boolean

      Set this property to true to update the variable when applying a bookmark. The variable value will be persisted in the bookmark. The value of a variable can affect the state of the selections. Script variables cannot be persisted in the bookmark. The default value is false.

    • qDefinition string

      Definition of the variable.

    • qConstraints object
      Show qConstraints properties
      • qType string

        Can be one of: "any""number""text"

      • qValuesText array of strings
      • qValuesNum array of numbers

Errors

array

GetProperties()

enigma.js
const result = await genericVariable.getProperties()

Request

{
"jsonrpc": "2.0",
"id": 1,
"handle": 3,
"method": "GetProperties"
}

Response

{
"jsonrpc": "2.0",
"id": 1,
"result": {
"qProp": {
"qInfo": {
"qId": "value",
"qType": "value"
},
"qMetaDef": {},
"qName": "value",
"qComment": "value",
"qNumberPresentation": {
"qType": "U",
"qnDec": 10,
"qUseThou": 0,
"qFmt": "value",
"qDec": "value",
"qThou": "value"
},
"qIncludeInBookmark": false,
"qDefinition": "value",
"qConstraints": {
"qType": "any",
"qValuesText": [
"value"
],
"qValuesNum": [
123
]
}
}
}
}

GenericVariable GetRawContent

()

Returns the raw value of a variable.

Response

  • qReturn string

Errors

array

GetRawContent()

enigma.js
const result = await genericVariable.getRawContent()

Request

{
"jsonrpc": "2.0",
"id": 1,
"handle": 3,
"method": "GetRawContent"
}

Response

{
"jsonrpc": "2.0",
"id": 1,
"result": {
"qReturn": "value"
}
}

GenericVariable SetDualValue

(qText, qNum)

Sets the value of a dual variable.

These changes are not persistent. They only last the duration of the engine session.

Parameters

  • qText string
    Required

    String representation of a dual value. Set this parameter to "", if the string representation is to be Null.

  • qNum number
    Required

    Numeric representation of a dual value.

Response

object

Errors

array

SetDualValue(qText, qNum)

enigma.js
const result = await genericVariable.setDualValue("value", 123)

Request

{
"jsonrpc": "2.0",
"id": 1,
"handle": 3,
"method": "SetDualValue",
"params": {
"qText": "value",
"qNum": 123
}
}

Response

{
"jsonrpc": "2.0",
"id": 1,
"result": {}
}

GenericVariable SetNumValue

(qVal)

Sets a numerical value to a variable.

These changes are not persistent. They only last the duration of the engine session.

Parameters

  • qVal number
    Required

    Value of the variable.

Response

object

Errors

array

SetNumValue(qVal)

enigma.js
const result = await genericVariable.setNumValue(123)

Request

{
"jsonrpc": "2.0",
"id": 1,
"handle": 3,
"method": "SetNumValue",
"params": {
"qVal": 123
}
}

Response

{
"jsonrpc": "2.0",
"id": 1,
"result": {}
}

GenericVariable SetProperties

(qProp)

Sets some properties for a variable.

The identifier of a variable cannot be modified.
You cannot update the properties of a script-defined variable using the _SetProperties method_.

Parameters

  • qProp object
    Required

    Information about the variable.

    Show qProp properties
    • qInfo object
      Show qInfo properties
      • qId string

        Identifier of the object. If the chosen identifier is already in use, the engine automatically sets another one. If an identifier is not set, the engine automatically sets one. This parameter is optional.

      • qType string

        Type of the object. This parameter is mandatory.

    • qMetaDef object

      Used to collect metadata.

      Properties

      Semantic type with an empty structure.

    • qName string

      Name of the variable. The name must be unique. This parameter is mandatory.

    • qComment string

      Comment related to the variable. This parameter is optional.

    • qNumberPresentation object

      Sets the formatting of a field. The properties of qFieldAttributes and the formatting mechanism are described below.

      Formatting mechanism

      The formatting mechanism depends on the type set in qType, as shown below:

      In case of inconsistencies between the type and the format pattern, the format pattern takes precedence over the type.

      Type is DATE, TIME, TIMESTAMP or INTERVAL

      The following applies:

      • If a format pattern is defined in qFmt , the formatting is as defined in qFmt .
      • If qFmt is empty, the formatting is defined by the number interpretation variables included at the top of the script ( TimeFormat , DateFormat , TimeStampFormat ).
      • The properties qDec , qThou , qnDec , qUseThou are not used.

      Type is INTEGER

      The following applies:

      • If a format pattern is defined in qFmt , the engine looks at the values set in qDec and qThou . If these properties are not defined, the formatting mechanism uses the number interpretation variables included at the top of the script ( DecimalSep and ThousandSep ).
      • If no format pattern is defined in qFmt , no formatting is applied. The properties qDec , qThou , qnDec , qUseThou and the number interpretation variables defined in the script are not used .

      Type is REAL

      The following applies:

      • If a format pattern is defined in qFmt , the engine looks at the values set in qDec and qThou . If these properties are not defined, the engine uses the number interpretation variables included at the top of the script ( DecimalSep and ThousandSep ).
      • If no format pattern is defined in qFmt , and if the value is almost an integer value (for example, 14,000012), the value is formatted as an integer. The properties qDec , qThou , qnDec , qUseThou are not used.
      • If no format pattern is defined in qFmt , and if qnDec is defined and not 0, the property qDec is used. If qDec is not defined, the variable DecimalSep defined at the top of the script is used.
      • If no format pattern is defined in qFmt , and if qnDec is 0, the number of decimals is 14 and the property qDec is used. If qDec is not defined, the variable DecimalSep defined at the top of the script is used.

      Type is FIX

      The following applies:

      • If a format pattern is defined in qFmt , the engine looks at the values set in qDec and qThou . If these properties are not defined, the engine uses the number interpretation variables included at the top of the script ( DecimalSep and ThousandSep ).
      • If no format pattern is defined in qFmt , the properties qDec and qnDec are used. If qDec is not defined, the variable DecimalSep defined at the top of the script is used.

      Type is MONEY

      The following applies:

      • If a format pattern is defined in qFmt , the engine looks at the values set in qDec and qThou . If these properties are not defined, the engine uses the number interpretation variables included at the top of any script ( MoneyDecimalSep and MoneyThousandSep ).
      • If no format pattern is defined in qFmt , the engine uses the number interpretation variables included at the top of the script ( MoneyDecimalSep and MoneyThousandSep ).

      Type is ASCII

      No formatting, qFmt is ignored.

      Show qNumberPresentation properties
      • qType string

        Can be one of: "U""A""I""R""F""M""D""T""TS""IV"

      • qnDec integer

        Number of decimals. Default is 10.

      • qUseThou integer

        Defines whether or not a thousands separator must be used. Default is 0.

      • qFmt string

        Defines the format pattern that applies to qText . Is used in connection to the type of the field (parameter qType ). For more information, see Formatting mechanism. Example: YYYY-MM-DD for a date.

      • qDec string

        Defines the decimal separator. Example: .

      • qThou string

        Defines the thousand separator (if any). Is used if qUseThou is set to 1. Example: ,

    • qIncludeInBookmark boolean

      Set this property to true to update the variable when applying a bookmark. The variable value will be persisted in the bookmark. The value of a variable can affect the state of the selections. Script variables cannot be persisted in the bookmark. The default value is false.

    • qDefinition string

      Definition of the variable.

    • qConstraints object
      Show qConstraints properties
      • qType string

        Can be one of: "any""number""text"

      • qValuesText array of strings
      • qValuesNum array of numbers

Response

object

Errors

array

SetProperties(qProp)

enigma.js
const result = await genericVariable.setProperties({
"qInfo": {
"qId": "value",
"qType": "value"
},
"qMetaDef": {},
"qName": "value",
"qComment": "value",
"qNumberPresentation": {
"qType": "U",
"qnDec": 10,
"qUseThou": 0,
"qFmt": "value",
"qDec": "value",
"qThou": "value"
},
"qIncludeInBookmark": false,
"qDefinition": "value",
"qConstraints": {
"qType": "any",
"qValuesText": [
"value"
],
"qValuesNum": [
123
]
}
})

Request

{
"jsonrpc": "2.0",
"id": 1,
"handle": 3,
"method": "SetProperties",
"params": {
"qProp": {
"qInfo": {
"qId": "value",
"qType": "value"
},
"qMetaDef": {},
"qName": "value",
"qComment": "value",
"qNumberPresentation": {
"qType": "U",
"qnDec": 10,
"qUseThou": 0,
"qFmt": "value",
"qDec": "value",
"qThou": "value"
},
"qIncludeInBookmark": false,
"qDefinition": "value",
"qConstraints": {
"qType": "any",
"qValuesText": [
"value"
],
"qValuesNum": [
123
]
}
}
}
}

Response

{
"jsonrpc": "2.0",
"id": 1,
"result": {}
}

GenericVariable SetStringValue

(qVal)

Sets a string value to a variable.

These changes are not persistent. They only last the duration of the engine session.

Parameters

  • qVal string
    Required

    Value of the variable. The string can contain an expression.

Response

object

Errors

array

SetStringValue(qVal)

enigma.js
const result = await genericVariable.setStringValue("value")

Request

{
"jsonrpc": "2.0",
"id": 1,
"handle": 3,
"method": "SetStringValue",
"params": {
"qVal": "value"
}
}

Response

{
"jsonrpc": "2.0",
"id": 1,
"result": {}
}