Logo
MicroStrategy REST API API Documentation

Update an attribute

PATCH {{baseUrl}}/api/model/attributes/:attributeId

Updates a specific attribute in the changeset.
This request replaces the attribute's top-level fields with the new definition provided in the request body.

In the request body, forms contains the detailed definition of a list of attribute forms. Each attribute contains one or more attribute forms.
Each attribute form contains:

  • expressions: A list of attribute form expressions. Attribute form contains one or more attribute form expressions. Each attribute form expression contains expression and tables.
    • ”expression”: Needs to be in either tree or tokens format.
      • Tokens are a semi-structured representation of MicroStrategy expression text that includes object references. For example, let’s say an attribute form expression is Year - 10. When the attribute form expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: (Year_ID, YearcolumnID), (-, Minus_ID), (10, Constant).
    • tables: A list of tables that the expression applies to. Warehouse partition base tables and metadata partition mapping tables are not allowed here.
  • dataType and alias are optional. If omitted, they are calculated based on the first attribute form expression.
  • childForms is specific to a form group, which contains the reference for child forms

Provide a lookup table on either the attribute level or attribute form level, as it is required for the object to be committed to the metadata. A lookup table can be defined on the attribute level using attributeLookupTable, or the attribute form level using lookupTable. If LookupTable is defined at the attribute form level, it is used, or it falls back to attributeLookupTable. Warehouse partition base tables and metadata partition mapping tables are not allowed to use in the lookup table.

Provide keyForm and displays, as they are required for the object to be committed to the metadata.

The changeset ID can be obtained using the changeset creation API. An authorization token is required to execute the request and can be obtained using Authentication endpoints.

To save the newly updated attribute to the metadata, commit using the changeset commit API.

 

Body PARAM

Key Datatype Required Description 
showExpressionAs
string This parameter specifies the format in which the expressions are returned in response. This parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. Expressions are presented in the following formats: * "text": A human readable, but non-parsable text, describing the expression. This is the default format that is always returned in the response. * "tree": A tree data structure fully defining the expression. This format can be used if you want to examine and modify the expression programmatically. * "tokens": A list of parsed tokens. This format can be used if you want to examine and modify the expression using the parser component. Note that generating tokens requires additional time. Tokens are a semi-structured representation of MicroStrategy expression text that includes object references. For example, let’s say a filter expression is "Revenue > Cost". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: ("Revenue", Revenue_ID), (">", GreaterThan_ID), ("Cost", Cost_ID). If omitted, the expression is returned in "text" format. If `tree`, the expression is returned in "text" and "tree" formats. If `tokens`, the expression is returned in "text" and "tokens" formats.
showExpressionAs
string This parameter specifies the format in which the expressions are returned in response. This parameter applies to the expressions in a fact or attribute and custom expressions used in a filter, prompt, security filter, custom group, etc. Expressions are presented in the following formats: * "text": A human readable, but non-parsable text, describing the expression. This is the default format that is always returned in the response. * "tree": A tree data structure fully defining the expression. This format can be used if you want to examine and modify the expression programmatically. * "tokens": A list of parsed tokens. This format can be used if you want to examine and modify the expression using the parser component. Note that generating tokens requires additional time. Tokens are a semi-structured representation of MicroStrategy expression text that includes object references. For example, let’s say a filter expression is "Revenue > Cost". When the filter expression is represented as tokens, the text is broken down into pieces (tokens) with information about what these pieces represent in the metadata: ("Revenue", Revenue_ID), (">", GreaterThan_ID), ("Cost", Cost_ID). If omitted, the expression is returned in "text" format. If `tree`, the expression is returned in "text" and "tree" formats. If `tokens`, the expression is returned in "text" and "tokens" formats.
showPotentialTables
Curl
curl -X PATCH 'baseUrl/api/model/attributes/:attributeId?showExpressionAs=tree&showExpressionAs=tree&showPotentialTables=true&showFields=acl&fields=&removeInvalidFields=true&showAdvancedProperties=true' -H 'X-MSTR-AuthToken: authToken' -H 'X-MSTR-MS-Changeset: rd_changesetId' -H 'Content-Type: application/json' -d '{"information":{"subType":"attribute","name":"Updated Test Attribute"},"forms":[{"name":"ID","description":"Customer ID","category":"ID","displayFormat":"number","expressions":[{"expression":{"tokens":[{"value":"CUSTOMER_ID"}]},"tables":[{"objectId":"8D67935611D3E4981000E787EC6DE8A4","subType":"logical_table","name":"LU_CUSTOMER"}]}],"alias":"CUSTOMER_ID","lookupTable":{"objectId":"8D67935611D3E4981000E787EC6DE8A4","subType":"logical_table","name":"LU_CUSTOMER"}},{"name":"Last Name","description":"Customer Last Name","category":"Customer DESC (1)","displayFormat":"text","expressions":[{"expression":{"tokens":[{"value":"CUST_LAST_NAME"}]},"tables":[{"objectId":"8D67935611D3E4981000E787EC6DE8A4","subType":"logical_table","name":"LU_CUSTOMER"}]}],"alias":"CUST_LAST_NAME","lookupTable":{"objectId":"8D67935611D3E4981000E787EC6DE8A4","subType":"logical_table","name":"LU_CUSTOMER"}},{"name":"First Name","description":"Customer First Name","category":"Customer DESC (2)","displayFormat":"text","expressions":[{"expression":{"tokens":[{"value":"CUST_FIRST_NAME"}]},"tables":[{"objectId":"8D67935611D3E4981000E787EC6DE8A4","subType":"logical_table","name":"LU_CUSTOMER"}]}],"alias":"CUST_FIRST_NAME","lookupTable":{"objectId":"8D67935611D3E4981000E787EC6DE8A4","subType":"logical_table","name":"LU_CUSTOMER"}},{"name":"Email","category":"Customer Email None","displayFormat":"text","expressions":[{"expressionId":"8A29B203463142E586DF10CD572701A6","expression":{"tokens":[{"value":"EMAIL"}]},"tables":[{"objectId":"8D67935611D3E4981000E787EC6DE8A4","subType":"logical_table","name":"LU_CUSTOMER"}]}],"alias":"EMAIL","lookupTable":{"objectId":"8D67935611D3E4981000E787EC6DE8A4","subType":"logical_table","name":"LU_CUSTOMER"}}],"attributeLookupTable":{"objectId":"8D67935611D3E4981000E787EC6DE8A4","subType":"logical_table","name":"LU_CUSTOMER"},"keyForm":{"name":"ID"},"displays":{"reportDisplays":[{"name":"Last Name"},{"name":"First Name"}],"browseDisplays":[{"name":"Last Name"},{"name":"First Name"}]},"sorts":{"reportSorts":[{"form":{"name":"Last Name"},"ascending":true}],"browseSorts":[{"form":{"name":"Last Name"},"ascending":true}]}}'

ENDPOINTS