diff --git a/docs/common-workflows/administration/manage-application-objects/manage-application-customized-emails.md b/docs/common-workflows/administration/manage-application-objects/manage-application-customized-emails.md index fd542d973..a30a597c9 100644 --- a/docs/common-workflows/administration/manage-application-objects/manage-application-customized-emails.md +++ b/docs/common-workflows/administration/manage-application-objects/manage-application-customized-emails.md @@ -15,6 +15,12 @@ Get the authorization token needed to execute the request with [POST /api/auth/l ::: +:::info + +The [DssXmlPrivilegesManageApplication](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesManageApplication) privilege is required to manage application customized emails. + +::: + ## Create an application with customized email The following table lists important fields in the email settings. diff --git a/docs/common-workflows/administration/manage-application-objects/manage-application-general-settings.md b/docs/common-workflows/administration/manage-application-objects/manage-application-general-settings.md index 9a99f2439..bfe46c0f0 100644 --- a/docs/common-workflows/administration/manage-application-objects/manage-application-general-settings.md +++ b/docs/common-workflows/administration/manage-application-objects/manage-application-general-settings.md @@ -13,6 +13,12 @@ Get the authorization token needed to execute the request with [POST /api/auth/l ::: +:::info + +The [DssXmlPrivilegesManageApplication](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesManageApplication) privilege is required to manage an application's general settings. + +::: + ## Create an application Let's create a general application named company A. diff --git a/docs/common-workflows/administration/manage-application-objects/manage-application-themes.md b/docs/common-workflows/administration/manage-application-objects/manage-application-themes.md index 8e3cb3683..fd6592aa4 100644 --- a/docs/common-workflows/administration/manage-application-objects/manage-application-themes.md +++ b/docs/common-workflows/administration/manage-application-objects/manage-application-themes.md @@ -17,6 +17,12 @@ Get the authorization token needed to execute the request with ::: +:::info + +The [DssXmlPrivilegesManageApplication](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesManageApplication) privilege is required to manage application themes. + +::: + ## Create an application with customized theme The following table lists important fields in the theme object. diff --git a/docs/common-workflows/administration/manage-content-group-objects/create-a-content-group.md b/docs/common-workflows/administration/manage-content-group-objects/create-a-content-group.md index ee8d42788..85b28f5e8 100644 --- a/docs/common-workflows/administration/manage-content-group-objects/create-a-content-group.md +++ b/docs/common-workflows/administration/manage-content-group-objects/create-a-content-group.md @@ -15,6 +15,12 @@ Get the authorization token needed to execute the request with [POST /api/auth/l ::: +:::info + +The [DssXmlPrivilegesManageContentBundle](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesManageContentBundle) privilege is required to create a content group. + +::: + Endpoint: [POST /api/contentGroups](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Content%20Groups/createContentGroup) Sample Request Header: diff --git a/docs/common-workflows/administration/manage-content-group-objects/update-a-content-group.md b/docs/common-workflows/administration/manage-content-group-objects/update-a-content-group.md index 3873469a5..23d7a52dc 100644 --- a/docs/common-workflows/administration/manage-content-group-objects/update-a-content-group.md +++ b/docs/common-workflows/administration/manage-content-group-objects/update-a-content-group.md @@ -15,6 +15,12 @@ Get the authorization token needed to execute the request with [POST /api/auth/l ::: +:::info + +The [DssXmlPrivilegesManageContentBundle](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesManageContentBundle) privilege is required to update a content group. + +::: + Endpoint: [PATCH /api/contentGroups/{id}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Content%20Groups/updateContentGroup) Sample Request Header: diff --git a/docs/common-workflows/administration/manage-content-group-objects/update-contents-of-an-existing-content-group.md b/docs/common-workflows/administration/manage-content-group-objects/update-contents-of-an-existing-content-group.md index ab8845a00..ab3a2ed7c 100644 --- a/docs/common-workflows/administration/manage-content-group-objects/update-contents-of-an-existing-content-group.md +++ b/docs/common-workflows/administration/manage-content-group-objects/update-contents-of-an-existing-content-group.md @@ -17,6 +17,12 @@ Get the project ID from [GET /api/projects](https://demo.microstrategy.com/Micro ::: +:::info + +The [DssXmlPrivilegesManageContentBundle](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesManageContentBundle) privilege is required to update the contents of a content group. + +::: + Endpoint: [PATCH /api/contentGroups/{id}/contents](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Content%20Groups/updateContentGroupContent) Sample Request Header: diff --git a/docs/common-workflows/administration/migrations/migrations-in-workstation/validate-migrations.md b/docs/common-workflows/administration/migrations/migrations-in-workstation/validate-migrations.md index 6027c5ed1..c8cf59522 100644 --- a/docs/common-workflows/administration/migrations/migrations-in-workstation/validate-migrations.md +++ b/docs/common-workflows/administration/migrations/migrations-in-workstation/validate-migrations.md @@ -25,6 +25,13 @@ Only Administrator users can validate migrations. Administrators must have the f To execute the API, you must get the authorization token by executing the `POST /api/auth/login` request, and get a token as `"X-MSTR-AuthToken": "ns42kvi9lb36ae7g3scphn0ga9"` in the response body. Keep the token value. It is required to execute the REST API. See [Authentication](/docs/getting-started/authentication.md) for more information. +:::info + +The [DssXmlPrivilegesCreatePackage](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesCreatePackage) or [DssXmlPrivilegesApplyPackage](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesApplyPackage) privilege is required +to get the details of a migration record or update a migration. + +::: + ## Use scenarios The best practice scenario is when Workstation uses one Library server as a source and another Library server as a target. The source and target environments can be the same. diff --git a/docs/common-workflows/administration/monitors/manage-an-intelligence-server-cluster.md b/docs/common-workflows/administration/monitors/manage-an-intelligence-server-cluster.md index 7a78179bf..e6ba84dd0 100644 --- a/docs/common-workflows/administration/monitors/manage-an-intelligence-server-cluster.md +++ b/docs/common-workflows/administration/monitors/manage-an-intelligence-server-cluster.md @@ -26,6 +26,12 @@ Intelligence Server provides you the functionality to cluster a group of Intelli - Make sure no other user is connected to Library Server and Intelligence Server nodes. Editing cluster membership is an administrative action and should be performed exclusively. - Make sure all Intelligence Server nodes are running during the life-time of Library Server. If some Intelligence Server nodes are/were down, you can start them first and then restart Library Server. This ensures changes are synchronized in a timely manner. +:::info + +The [DssXmlPrivilegesUseClusterMonitor](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseClusterMonitor) and [DssXmlPrivilegesClusterAdministration](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesClusterAdministration) privileges are required to manage nodes from the connected Intelligence Server cluster. + +::: + ## List nodes Endpoint: [GET /api/monitors/iServer/nodes](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Monitors/getClusterNodes) @@ -128,3 +134,61 @@ Use the exact name returned by `GET /api/monitors/iServer/nodes` - **Success**: 204 No Content - **Timeout, still in-progress**: 202 Accepted - **Node not a member**: 404 Not Found + +## Cluster startup membership + +The endpoints: [PUT /api/monitors/iServer/nodes/{name}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Monitors/addServerClusterMember) and [DELETE /api/monitors/iServer/nodes/{name}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Monitors/removeServerClusterMember) allow to add or remove a node from a working cluster. The changes introduced by the endpoints aren't permanent. When a cluster is being restarted the cluster setup will be restored to the cluster startup membership configuration from metadata. In order to display the configuration, you can use a following endpoint: [GET /api/iserver/clusterStartupMembership](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/System%20Administration/getClusterStartupMembership) + +This operation requires "Cluster Administration" privilege. + +| Parameter | Description | Parameter Type | Data Type | Required | +| ---------------- | ------------------- | -------------- | --------- | -------- | +| X-MSTR-AuthToken | Authorization token | Header | String | Yes | + +- Response: 200 (Success : OK) + +### Sample response body + +```json +{ + "clusterStartupMembership": [ + "i-server-hostname-1", + "i-server-hostname-2", + "i-server-hostname-3", + "i-server-hostname-4" + ] +} +``` + +## Cluster startup membership update + +There is also a dedicated [PUT /api/iserver/clusterStartupMembership](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/System%20Administration/getClusterStartupMembership) endpoint to update cluster startup membership configuration. + +This operation requires the "Cluster Administration" privilege. + +| Parameter | Description | Parameter Type | Data Type | Required | +| ---------------- | ------------------- | -------------- | --------- | -------- | +| X-MSTR-AuthToken | Authorization token | Header | String | Yes | + +- Response: + - **Success**: 200 OK + - **Incorrect list of host names**: 400 Bad Request + +### Sample request body + +```json +{ + "clusterStartupMembership": [ + "i-server-hostname-A", + "i-server-hostname-B", + "i-server-hostname-C", + "i-server-hostname-D" + ] +} +``` + +:::tip + +The `PUT` endpoint return updated startup configuration of the cluster in the response. + +::: diff --git a/docs/common-workflows/administration/monitors/manage-caches.md b/docs/common-workflows/administration/monitors/manage-caches.md index 48c977c92..212edd920 100644 --- a/docs/common-workflows/administration/monitors/manage-caches.md +++ b/docs/common-workflows/administration/monitors/manage-caches.md @@ -18,6 +18,12 @@ When a user works with MicroStrategy, cache data is created. The data stored in - `DELETE /api/monitors/projects/{projectId}/cache/{cacheType}` +:::info + +The [DssXmlPrivilegesCacheAdministration](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesCacheAdministration) privilege is required to purge element or object caches. + +::: + ## API The sections below present Cache Management REST API usage. @@ -102,9 +108,9 @@ Please find the `id` for the desired project. For example, `id` of the project: You need to invoke a following endpoint to delete the cache: -Endpoint: [DELETE /api/monitors/projects/{projectId}/cache/{cacheType}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Monitors/deleteCache) +Endpoint: [DELETE /api/monitors/projects/{projectId}/caches/{cacheType}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Monitors/deleteCache) -The endpoint path consists of `projectId` parameter, so you need to replace the placeholder by the `id` value. The last placeholder determines cache type which will be purged. The allowable values are following `element` or `cache`. The example below demonstrates how to call the endpoint using curl command: +The endpoint path consists of the `projectId` parameter, so you must replace the placeholder with the `id` value. The last placeholder determines the cache type to be purged. The allowable values follow `element` or `cache`. The example below demonstrates how to call the endpoint using a curl command: ```bash curl -X 'DELETE' \ diff --git a/docs/common-workflows/administration/monitors/project-administration.md b/docs/common-workflows/administration/monitors/project-administration.md index 6ac580218..8f605b1a5 100644 --- a/docs/common-workflows/administration/monitors/project-administration.md +++ b/docs/common-workflows/administration/monitors/project-administration.md @@ -11,6 +11,12 @@ Learn more about MicroStrategy REST API Playground [here](/docs/getting-started/ ::: +:::info + +The [DssXmlPrivilegesUseClusterMonitor](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseClusterMonitor) privilege is required to fetch information about nodes in the connected Intelligence Server cluster. + +::: + The following sequence of REST API requests allows an administrator to manage project distribution and configuration: ## Log in diff --git a/docs/common-workflows/administration/server-management/manage-languages.md b/docs/common-workflows/administration/server-management/manage-languages.md index d13868129..81baaecf7 100644 --- a/docs/common-workflows/administration/server-management/manage-languages.md +++ b/docs/common-workflows/administration/server-management/manage-languages.md @@ -13,6 +13,12 @@ Learn more about MicroStrategy REST API Playground [here](/docs/getting-started/ ::: +:::info + +The [DssXmlPrivilegesCreateConfigObj](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesCreateConfigObj) privilege is required to create a new language object. + +::: + ## 1. Get server supported langauges Endpoint: [GET /api/iserver/baseLanguages](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Languages/getSupportedLanguages) diff --git a/docs/common-workflows/administration/server-management/manage-server-settings.md b/docs/common-workflows/administration/server-management/manage-server-settings.md index 8847cbaac..dbea0bc15 100644 --- a/docs/common-workflows/administration/server-management/manage-server-settings.md +++ b/docs/common-workflows/administration/server-management/manage-server-settings.md @@ -15,6 +15,12 @@ Learn more about MicroStrategy REST API Playground [here](/docs/getting-started/ A high-level workflow sample for managing server settings is shown below. The sequence of REST API requests in the following procedure allows an administrative user to manage the Intelligence Server settings. +:::info + +The [DssXmlPrivilegesConfigureGoverning](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureGoverning) and [DssXmlPrivilegesConfigureServerBasic](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureServerBasic) privileges are required to manage server settings. + +::: + A detailed explanation of each step is provided below. ## Log in diff --git a/docs/common-workflows/administration/server-management/server-level-privileges/manage-server-level-privileges.md b/docs/common-workflows/administration/server-management/server-level-privileges/manage-server-level-privileges.md index f0a6beee6..0308176c7 100644 --- a/docs/common-workflows/administration/server-management/server-level-privileges/manage-server-level-privileges.md +++ b/docs/common-workflows/administration/server-management/server-level-privileges/manage-server-level-privileges.md @@ -13,6 +13,12 @@ Learn more about MicroStrategy REST API Playground [here](/docs/getting-started/ A high-level workflow sample for managing server-level privileges is shown below. The sequence of REST API requests in the following procedure allows an administrative user to get server-level privilege information for a specific user or user group, grant new server-level privileges to the user, and revoke granted server-level privileges. +:::info + +The [DssXmlPrivilegesUseUserManager](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseUserManager) privilege is required to retrieve user privileges. + +::: + A detailed explanation of each step is provided below: ## Log in diff --git a/docs/common-workflows/administration/user-management/create-and-update-user-groups.md b/docs/common-workflows/administration/user-management/create-and-update-user-groups.md index b9f44d312..ad8b14ee3 100644 --- a/docs/common-workflows/administration/user-management/create-and-update-user-groups.md +++ b/docs/common-workflows/administration/user-management/create-and-update-user-groups.md @@ -22,6 +22,12 @@ A workflow sample for managing user groups in the metadata is provided below. Th To make it easy for you to test this workflow in your environment, [download the zipped Postman script](https://www2.microstrategy.com/producthelp/2021/downloads/RESTSDK/PostmanScripts/ManagingUserGroups_postman_collection.zip) provided for you, extract the JSON file, and configure it to point to your Web server. +:::info + +The [DssXmlPrivilegesUseUserManager](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseUserManager) privilege is required to create a new language object. + +::: + A detailed explanation of each step is provided below: ## Log in diff --git a/docs/common-workflows/administration/user-management/create-security-roles.md b/docs/common-workflows/administration/user-management/create-security-roles.md index 839db72f6..6cce50220 100644 --- a/docs/common-workflows/administration/user-management/create-security-roles.md +++ b/docs/common-workflows/administration/user-management/create-security-roles.md @@ -24,6 +24,12 @@ Administrators can make REST API calls to perform a full set of operations on th To avoid security vulnerabilities, administrators should have a clear understanding of the privileges and security requirements of their system before assigning privileges which provide access to application functionality. +:::info + +The [DssXmlPrivilegesUseSecurityRoleManager](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesUseSecurityRoleManager) privilege is required to manage the security role object. + +::: + ## Creating a security role and managing privileges of a security role A workflow sample for creating a new security role in the metadata is provided below. The following sequence of REST API requests allows an administrator to create a new security role, and optionally get information about the security role to confirm the creation and updates. diff --git a/docs/common-workflows/analytics/manage-reports/manage-report-objects/execute-report.md b/docs/common-workflows/analytics/manage-reports/manage-report-objects/execute-report.md index 49ed9fba3..b678757ca 100644 --- a/docs/common-workflows/analytics/manage-reports/manage-report-objects/execute-report.md +++ b/docs/common-workflows/analytics/manage-reports/manage-report-objects/execute-report.md @@ -15,6 +15,12 @@ Obtain the authorization token needed to execute the request using `POST /api/au You want to get the SQL view of a report with prompts. You can create a report instance and set the executionStage to resolve_prompts. Then after answering the prompts, the SQL view will be available. +:::info + +The [DssXmlPrivilegesWebReportSQL](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesWebReportSQL) privilege is required to get the SQL view of a report instance. + +::: + ### 1. Create a report instance with execution stage Endpoint: [POST /api/model/reports/{reportId}/instances](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Reports/ms-createReportInstance) with executionStage=resolve_prompts diff --git a/docs/common-workflows/analytics/project-management/manage-project-load-settings-on-server-startup.md b/docs/common-workflows/analytics/project-management/manage-project-load-settings-on-server-startup.md index 44befcf81..4bf6bb337 100644 --- a/docs/common-workflows/analytics/project-management/manage-project-load-settings-on-server-startup.md +++ b/docs/common-workflows/analytics/project-management/manage-project-load-settings-on-server-startup.md @@ -13,6 +13,12 @@ Learn more about MicroStrategy REST API Playground [here](/docs/getting-started/ ::: +:::info + +The [DssXmlPrivilegesConfigureServerBasic](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesConfigureServerBasic) privilege is required to manage project load settings on Intelligence Server startup. + +::: + A high-level workflow sample for loading project settings at the startup of the Intelligence Server is shown below. - [Log in](#log-in) diff --git a/docs/common-workflows/analytics/retrieve-sql-statements-and-query-details/retrieve-dataset-sql.md b/docs/common-workflows/analytics/retrieve-sql-statements-and-query-details/retrieve-dataset-sql.md index a7d696494..b5964948e 100644 --- a/docs/common-workflows/analytics/retrieve-sql-statements-and-query-details/retrieve-dataset-sql.md +++ b/docs/common-workflows/analytics/retrieve-sql-statements-and-query-details/retrieve-dataset-sql.md @@ -32,6 +32,12 @@ Get the project ID from [GET /api/projects](https://demo.microstrategy.com/Micro ::: +:::info + +The [DssXmlPrivilegesWebReportSQL](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesWebReportSQL) privilege is required to get the SQL view of a report instance. + +::: + ## Create a dossier instance Use [POST /api/dossiers/{id}/instances](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Dossiers%20and%20Documents/createDossierInstance_2). diff --git a/docs/common-workflows/analytics/retrieve-sql-statements-and-query-details/retrieve-report-or-card-sql.md b/docs/common-workflows/analytics/retrieve-sql-statements-and-query-details/retrieve-report-or-card-sql.md index 7fd6fb138..d44057676 100644 --- a/docs/common-workflows/analytics/retrieve-sql-statements-and-query-details/retrieve-report-or-card-sql.md +++ b/docs/common-workflows/analytics/retrieve-sql-statements-and-query-details/retrieve-report-or-card-sql.md @@ -32,6 +32,12 @@ Get the project ID from [GET /api/projects](https://demo.microstrategy.com/Micro ::: +:::info + +The [DssXmlPrivilegesWebReportSQL](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesWebReportSQL) privilege is required to get the SQL view of a report instance. + +::: + ## Create a report instance Use [POST /api/v2/reports/{id}/instances](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Reports/createReportInstance_1) diff --git a/docs/common-workflows/analytics/retrieve-sql-statements-and-query-details/retrieve-visualization-query-details.md b/docs/common-workflows/analytics/retrieve-sql-statements-and-query-details/retrieve-visualization-query-details.md index 8e03aaf66..fb0d0503b 100644 --- a/docs/common-workflows/analytics/retrieve-sql-statements-and-query-details/retrieve-visualization-query-details.md +++ b/docs/common-workflows/analytics/retrieve-sql-statements-and-query-details/retrieve-visualization-query-details.md @@ -32,6 +32,12 @@ Get the project ID from [GET /api/projects](https://demo.microstrategy.com/Micro ::: +:::info + +The [DssXmlPrivilegesWebReportSQL](https://www2.microstrategy.com/producthelp/Current/WebAPIReference/com/microstrategy/webapi/EnumDSSXMLPrivilegeTypes.html#DssXmlPrivilegesWebReportSQL) privilege is required to get the SQL view of a report instance. + +::: + ## Create a dossier instance Use [POST /api/dossiers/{id}/instances](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Dossiers%20and%20Documents/createDossierInstance_2) diff --git a/docs/common-workflows/modeling/manage-attribute-objects/create-an-attribute-object.md b/docs/common-workflows/modeling/manage-attribute-objects/create-an-attribute-object.md index b3b4921c5..273303bb4 100644 --- a/docs/common-workflows/modeling/manage-attribute-objects/create-an-attribute-object.md +++ b/docs/common-workflows/modeling/manage-attribute-objects/create-an-attribute-object.md @@ -46,12 +46,13 @@ To create an attribute, in the request body, "forms" contains the detailed defin Tokens are a semi-structured representation of MicroStrategy expression text that includes object references. For example, let’s say a fact expression is "Revenue - Cost". When the fact 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), ("-", Minus_ID), ("Cost", Cost_ID). -- "tables": A list of tables that the "expression" applies to. +- "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 can be 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". + 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 attribute to be committed to the metadata. @@ -838,7 +839,7 @@ You can create a compound attribute. In this sample, you want to create an attri } ``` -### Expressions in "tree" format" +### Expressions in "tree" format You can create an attribute with expressions in "tree" format. @@ -962,3 +963,93 @@ You can create an attribute with expressions in "tree" format. } } ``` + +### Use warehouse partition mapping tables or metadata partition base tables in expressions + +In this sample, you want to create an attribute named `"Item"` that references `"item_id"` column of the warehouse partition mapping table `"whpmt"`, and `"year_id"` column of the metadata partition base table `"LU_MONTH"`. + +Sample Request Body: + +```json +{ + "information": { + "name": "Item" + }, + "forms": [ + { + "name": "ID", + "description": "Item", + "displayFormat": "number", + "dataType": { + "type": "integer", + "precision": 2, + "scale": -2147483648 + }, + "expressions": [ + { + "expression": { + "text": "item_id", + "tree": { + "type": "column_reference", + "dependenceType": "default", + "columnName": "item_id", + "objectId": "8D67915C11D3E4981000E787EC6DE8A4" + } + }, + "tables": [ + { + "objectId": "A05E98A407DD407DAA076FC06C6E464F", + "subType": "table_partition_wh", + "name": "whpmt" + } + ] + }, + { + "expression": { + "text": "year_id", + "tree": { + "type": "column_reference", + "dependenceType": "default", + "columnName": "year_id", + "objectId": "8D6791E111D3E4981000E787EC6DE8A4" + } + }, + "tables": [ + { + "objectId": "8D67938011D3E4981000E787EC6DE8A4", + "subType": "logical_table", + "name": "LU_MONTH" + } + ] + } + ], + "alias": "item_id", + "lookupTable": { + "objectId": "A05E98A407DD407DAA076FC06C6E464F", + "subType": "table_partition_wh", + "name": "pmt_tc86967_01" + } + } + ], + "attributeLookupTable": { + "objectId": "A05E98A407DD407DAA076FC06C6E464F", + "subType": "table_partition_wh", + "name": "pmt_tc86967_01" + }, + "keyForm": { + "name": "ID" + }, + "displays": { + "reportDisplays": [ + { + "name": "ID" + } + ], + "browseDisplays": [ + { + "name": "ID" + } + ] + } +} +``` diff --git a/docs/common-workflows/modeling/manage-attribute-objects/update-an-attributes-definition.md b/docs/common-workflows/modeling/manage-attribute-objects/update-an-attributes-definition.md index e87966f30..7d40b8881 100644 --- a/docs/common-workflows/modeling/manage-attribute-objects/update-an-attributes-definition.md +++ b/docs/common-workflows/modeling/manage-attribute-objects/update-an-attributes-definition.md @@ -48,12 +48,12 @@ To update an attribute, in the request body, "forms" contains the detailed defin 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", Year_column_ID), ("-", Minus_ID), ("10", Constant). - - "tables": A list of tables that the "expression" applies to. + - "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 can be 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". +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 attribute to be committed to the metadata. diff --git a/docs/common-workflows/modeling/manage-fact-objects/create-a-fact-object.md b/docs/common-workflows/modeling/manage-fact-objects/create-a-fact-object.md index e44e5a005..d4baf9838 100644 --- a/docs/common-workflows/modeling/manage-fact-objects/create-a-fact-object.md +++ b/docs/common-workflows/modeling/manage-fact-objects/create-a-fact-object.md @@ -49,9 +49,9 @@ To create a fact, in the request body, "expressions" contains a list of fact exp Tokens are a semi-structured representation of MicroStrategy expression text that includes object references. For example, let’s say a fact expression is "Revenue - Cost". When the fact 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), ("-", Minus_ID), ("Cost", Cost_ID). -- "tables": A list of tables that the "expression" applies to. +- "tables": A list of tables that the "expression" applies to. Warehouse partition base tables and metadata partition mapping tables are not allowed here. - "dataType" is optional. If omitted, it calculates based on the first fact expression. +- "dataType" is optional. If omitted, it calculates based on the first fact expression. Sample Request Header: @@ -343,3 +343,96 @@ Sample Request Body: ] } ``` + +### Use warehouse partition mapping tables or metadata partition base tables in expressions + +In this sample, you want to create a fact named `"Time"` that references `"month_id"` column of the warehouse partition mapping table `"pmt_tc86967_02"` and `"pmt_tc86967_01"`, and `"YEAR_ID"` column of the metadata partition base table `"LU_MONTH"` and `"LU_YEAR"`. + +Sample Request Body: + +```json +{ + "information": { + "subType": "fact", + "name": "Time" + }, + "dataType": { + "type": "double", + "precision": 0, + "scale": -2147483648 + }, + "expressions": [ + { + "expression": { + "tokens": [ + { + "type": "column_reference", + "value": "YEAR_ID", + "target": { + "objectId": "8D6791E111D3E4981000E787EC6DE8A4", + "subType": "column", + "name": "YEAR_ID" + } + }, + { + "level": "resolved", + "state": "initial", + "value": "", + "type": "end_of_text" + } + ] + }, + "tables": [ + { + "objectId": "8D6793C211D3E4981000E787EC6DE8A4", + "subType": "logical_table", + "name": "LU_YEAR" + }, + { + "objectId": "8D67938011D3E4981000E787EC6DE8A4", + "subType": "logical_table", + "name": "LU_MONTH" + } + ] + }, + { + "expression": { + "text": "month_id", + "tokens": [ + { + "level": "resolved", + "state": "initial", + "value": "month_id", + "type": "column_reference", + "target": { + "acg": 255, + "primaryLocale": "en-US", + "objectId": "8D6791E011D3E4981000E787EC6DE8A4", + "subType": "column", + "name": "month_id" + } + }, + { + "level": "resolved", + "state": "initial", + "value": "", + "type": "end_of_text" + } + ] + }, + "tables": [ + { + "objectId": "012666511FB24FD18860322376581891", + "subType": "table_partition_wh", + "name": "pmt_tc86967_02" + }, + { + "objectId": "A05E98A407DD407DAA076FC06C6E464F", + "subType": "table_partition_wh", + "name": "pmt_tc86967_01" + } + ] + } + ] +} +``` diff --git a/docs/common-workflows/modeling/manage-fact-objects/update-a-fact-object.md b/docs/common-workflows/modeling/manage-fact-objects/update-a-fact-object.md index 554257953..b18d4f8f8 100644 --- a/docs/common-workflows/modeling/manage-fact-objects/update-a-fact-object.md +++ b/docs/common-workflows/modeling/manage-fact-objects/update-a-fact-object.md @@ -47,7 +47,7 @@ To update a fact, in the request body, "expressions" contains a list of fact exp Tokens are a semi-structured representation of MicroStrategy expression text that includes object references. For example, let’s say a fact expression is "Revenue - Cost". When the fact 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), ("-", Minus_ID), ("Cost", Cost_ID). -- "tables": A list of tables that the "expression" applies to. +- "tables": A list of tables that the "expression" applies to. Warehouse partition base tables and metadata partition mapping tables are not allowed here. - "dataType" is optional. If omitted, it calculates based on the first fact expression. Sample Request Header: diff --git a/docs/common-workflows/modeling/manage-table-objects/create-a-new-partition-mapping-table-object.md b/docs/common-workflows/modeling/manage-table-objects/create-a-new-partition-mapping-table-object.md index 3958a56f9..06ca65d1a 100644 --- a/docs/common-workflows/modeling/manage-table-objects/create-a-new-partition-mapping-table-object.md +++ b/docs/common-workflows/modeling/manage-table-objects/create-a-new-partition-mapping-table-object.md @@ -265,6 +265,8 @@ Response Code: 201 (A new WHPM table is created successfully in the changeset.) In this workflow sample, create a new MDPM table called "my_pmt" and add two PBTs. Their IDs are 16F7047017563FD9541179744D001250 and 16F7047017563FD957E139264D1C2686. For the former PBT, qualify on the ID form of the "Country" attribute. For the latter PBT, qualify on the ID form of the "Category" attribute. +In the "information" field, you can use "destinationFolderId" to locate the table as you wish. You can update it later or if you just leave it blank, the table will fallback to _Schema Objects\Tables_ folder. + For MDPM, you can use any logical table as one of the PBTs, and any standalone attribute to construct your partition filter. You can only use attribute form qualifications and element list qualifications with the partition filter. Refer to [Metadata partition mapping](https://www2.microstrategy.com/producthelp/Current/ProjectDesignGuide/WebHelp/Lang_1033/Content/Metadata_partition_mapping.htm) for details if you are not familiar with metadata partitioning. Create the new table with [POST /api/model/tables](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Tables/ms-addTable). diff --git a/docs/common-workflows/modeling/manage-table-objects/create-a-new-table-object.md b/docs/common-workflows/modeling/manage-table-objects/create-a-new-table-object.md index 97044cad8..4dd5ccc9c 100644 --- a/docs/common-workflows/modeling/manage-table-objects/create-a-new-table-object.md +++ b/docs/common-workflows/modeling/manage-table-objects/create-a-new-table-object.md @@ -18,7 +18,7 @@ This workflow sample demonstrates how to create a new table object through the M ## Create a new table object -In this workflow sample, you create a new `"CITY_CTR_SLS"` table object in the MicroStrategy Tutorial project. The project ID is `B19DEDCC11D4E0EFC000EB9495D0F44F`. All schema tables are created under the objects/tables folder schema. +In this workflow sample, you create a new `"CITY_CTR_SLS"` table object in the MicroStrategy Tutorial project. Table name should be unique within the project. The project ID is `B19DEDCC11D4E0EFC000EB9495D0F44F`. All schema tables are created under the objects/tables folder schema. Get the authorization token needed to execute the request with [POST /api/auth/login](. diff --git a/docs/common-workflows/modeling/manage-table-objects/manage-table-objects.md b/docs/common-workflows/modeling/manage-table-objects/manage-table-objects.md index 2184634ca..b077a5e78 100644 --- a/docs/common-workflows/modeling/manage-table-objects/manage-table-objects.md +++ b/docs/common-workflows/modeling/manage-table-objects/manage-table-objects.md @@ -25,5 +25,6 @@ You can use REST API requests to retrieve, create, and update table objects thro - [Retrieve a partition mapping table's definition](retrieve-a-partition-mapping-tables-definition.md) - [Create a new partition mapping table object](create-a-new-partition-mapping-table-object.md) - [Update a partition mapping table's definition](update-a-partition-mapping-tables-definition.md) +- [Update a table's physical table structure](update-a-tables-physical-table-structure.md) For more information about the Modeling service, see [Configuring the Modeling Service](https://www2.microstrategy.com/producthelp/Current/InstallConfig/en-us/Content/modeling_service.htm). diff --git a/docs/common-workflows/modeling/manage-table-objects/update-a-partition-mapping-tables-definition.md b/docs/common-workflows/modeling/manage-table-objects/update-a-partition-mapping-tables-definition.md index 7e6ccb6d1..bff03a3c7 100644 --- a/docs/common-workflows/modeling/manage-table-objects/update-a-partition-mapping-tables-definition.md +++ b/docs/common-workflows/modeling/manage-table-objects/update-a-partition-mapping-tables-definition.md @@ -30,7 +30,7 @@ Updating a WHPM table is the same as updating a normal table, you cannot update ## Update a MDPM table -For a metadata partition mapping tables, you can update the logical table name in the information field, logicalSize, isLogicalSizeLocked, and partition base tables. You can also update their partition filters in partitionTables field. +For a metadata partition mapping tables, you can update the logical table name in the information field, logicalSize, isLogicalSizeLocked, and partition base tables. You can also update their partition filters in partitionTables field. Desitination folder can also be updated. Update an MDPM table with [PATCH /api/model/tables/{tableId}](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Tables/ms-patchTableDetails). diff --git a/docs/common-workflows/modeling/manage-table-objects/update-a-tables-definition.md b/docs/common-workflows/modeling/manage-table-objects/update-a-tables-definition.md index 03a0681c2..b215946ed 100644 --- a/docs/common-workflows/modeling/manage-table-objects/update-a-tables-definition.md +++ b/docs/common-workflows/modeling/manage-table-objects/update-a-tables-definition.md @@ -40,6 +40,8 @@ For a normal table, you can update the logical table name in the `information` f For a freeform sql table, you can update the logical table name in the `information` field, `isTrueKey`, `logicalSize`, `isLogicalSizeLocked`, `primaryDatasource`, `encloseSqlInParentheses` field, physical table object name, `sqlStatement`, and columns in `physicalTable` field. The `primaryDatasource` change does not affect other logical tables that share the same physical table with this logical table. +Table name should be unique within the project. + Sample Request Header: ```http diff --git a/docs/common-workflows/modeling/manage-table-objects/update-a-tables-physical-table-structure.md b/docs/common-workflows/modeling/manage-table-objects/update-a-tables-physical-table-structure.md new file mode 100644 index 000000000..9b3c3b552 --- /dev/null +++ b/docs/common-workflows/modeling/manage-table-objects/update-a-tables-physical-table-structure.md @@ -0,0 +1,374 @@ +--- +title: Update a table's physical table structure +sidebar_label: Update a table's physical table structure +description: This workflow sample demonstrates how to update a table's physical table structure through the Modeling service. +--- + +:::tip + +You can try out this workflow at [REST API Playground]. + +Learn more about MicroStrategy REST API Playground [here](/docs/getting-started/playground.md). + +::: + +This workflow sample demonstrates how to update an existing table's physical table structure through the Modeling service. + +In this workflow sample, you update an existing `"CITY_CTR_SLS"` table's physical table structure in the MicroStrategy Tutorial project. The project ID is `B19DEDCC11D4E0EFC000EB9495D0F44F`. + +:::info + +Get the authorization token needed to execute the request with [POST /api/auth/login](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Authentication/postLogin). + +Get the project ID from [GET /api/projects](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Projects/getProjects_1). + +::: + +:::tip + +Changesets are used in this workflow. For information on how to create and use changesets, see [Changesets](/docs/common-workflows/modeling/changesets.md). + +::: + +Update the `"CITY_CTR_SLS"` table's physical table structure using [POST /api/model/tables/{tableId}/physicalTable/refresh](https://demo.microstrategy.com/MicroStrategyLibrary/api-docs/index.html#/Tables/ms-refreshPhysicalTable). The object ID of the table is `862780DC499A14D74FEC7EB2EF317DA2`. + +If table is missing, table cannot be updated. If the physical table is a free form sql table,it will do nothing. If column is changed, consider following 3 cases. + +- Normal table that does not have secondary DBRole. + + - New columns: Add new columns to DbTable according to column merge option. + + - Column missing: If the missing column is used by any fact or attribute in the table, column will not be removed. If it is not mapped to attribute or fact, remove column reference from table. If the column is not used by other table, delete the column. + + - Column data type change: Change column data type according to new data type. + +- Table that has secondary DBRole case: Need to check each warehouse table’s schema for both primary DBRole and secondary DBRole list. + + - If the new table structure does not meet secondary DBRole condition (column missing, data type incompatible), update will be rejected. + + - If column data type is changed and still compatible, adjust to maximum denominator data type. + +- Warehouse partition case: Need to check top level PMT table and lower level partition table schema. + + - Top level PMT table: If column `“PBTNAME”` is missing, update will be rejected. For other columns, the rules are same with normal table. + + - Partition table: Only check the first table in `“PBTNAME“` and update structure as normal table. + + - If top level PMT table has secondary DBRole, need to check the secondary DBRole table schema. + +The `columnMergeOption` query parameter is used to define column merge options. For example, a project includes a table named Table1 with a C1 column and a char(1) data type. When you add a new table named Table2 with a C1 column and char(4) data type, the column data types are modified in the following ways for consistency. + +- `reuse_any`: Updates the column data type to use the most recent column definition. In the example above, the column data type for C1 is updated to char(4) because Table2 was added after Table1. + +- `reuse_compatible_data_type`: Updates the column data type to use the data type with the largest precision or scale. In the example above, the column data type for C1 is updated to char(4), as defined in Table2. + +- `reuse_matched_data_type`: Renames the column in the newly added table to allow it to have different data types. In the example above, column C1 uses char(1) for Table1. Column C1 in Table2 is defined as a separate copy of C1 and uses char(4). This option can cause unwanted schema changes and should only be used when necessary. If this value is not set, use the option that is applied on the warehouse catalog setting. + +Sample Request Header: + +```http +"accept": "application/json" +"X-MSTR-AuthToken": "ns42kvi9lb36ae7g3scphn0ga9" +"X-MSTR-MS-Changeset": "8DF1659E9D74484D9D47B9478D4C7D00" +``` + +Sample Request Body: Empty + +Sample Curl: + +```bash +curl -X POST "https://demo.microstrategy.com/MicroStrategyLibrary/api/model/tables/862780DC499A14D74FEC7EB2EF317DA2/physicalTable/refresh" -H "accept: application/json" -H "X-MSTR-AuthToken: ns42kvi9lb36ae7g3scphn0ga9" -H "X-MSTR-MS-Changeset: 8DF1659E9D74484D9D47B9478D4C7D00" -H "Content-Type: application/json"}" +``` + +Sample Response Body: + +```json +{ + "information": { + "dateCreated": "2002-02-14T23:06:02.000Z", + "dateModified": "2012-06-06T12:12:35.000Z", + "versionId": "215230EB4F7089CD0261C1AD12D621AD", + "acg": 255, + "primaryLocale": "en-US", + "objectId": "862780DC499A14D74FEC7EB2EF317DA2", + "subType": "logical_table", + "name": "CITY_CTR_SLS" + }, + "physicalTable": { + "information": { + "dateCreated": "2002-02-14T23:04:18.000Z", + "dateModified": "2012-06-06T12:12:35.000Z", + "versionId": "215230EB4F7089CD0261C1AD12D621AD", + "acg": 255, + "primaryLocale": "en-US", + "objectId": "E278D17342991E49710D6F90E2A7BF2C", + "subType": "physical_table", + "name": "CITY_CTR_SLS" + }, + "tableName": "CITY_CTR_SLS", + "columns": [ + { + "information": { + "dateCreated": "2001-01-02T20:48:30.000Z", + "dateModified": "2012-06-06T12:12:35.000Z", + "versionId": "215230EB4F7089CD0261C1AD12D621AD", + "acg": 255, + "primaryLocale": "en-US", + "objectId": "8D6791B211D3E4981000E787EC6DE8A4", + "subType": "column", + "name": "CUST_CITY_ID" + }, + "dataType": { + "type": "integer", + "precision": 2, + "scale": -2147483648 + }, + "columnName": "CUST_CITY_ID" + }, + { + "information": { + "dateCreated": "2001-01-02T20:48:32.000Z", + "dateModified": "2012-06-06T12:12:35.000Z", + "versionId": "215230EB4F7089CD0261C1AD12D621AD", + "acg": 255, + "primaryLocale": "en-US", + "objectId": "8D67917E11D3E4981000E787EC6DE8A4", + "subType": "column", + "name": "CALL_CTR_ID" + }, + "dataType": { + "type": "integer", + "precision": 2, + "scale": 0 + }, + "columnName": "CALL_CTR_ID" + }, + { + "information": { + "dateCreated": "2001-01-02T20:48:35.000Z", + "dateModified": "2012-06-06T12:13:04.000Z", + "versionId": "256D148442065F43BDC42FBB79438A3F", + "acg": 255, + "primaryLocale": "en-US", + "objectId": "8D6792A011D3E4981000E787EC6DE8A4", + "subType": "column", + "name": "TOT_DOLLAR_SALES" + }, + "dataType": { + "type": "double", + "precision": 8, + "scale": 0 + }, + "columnName": "TOT_DOLLAR_SALES" + }, + { + "information": { + "dateCreated": "2001-01-02T20:48:34.000Z", + "dateModified": "2012-06-06T12:13:04.000Z", + "versionId": "256D148442065F43BDC42FBB79438A3F", + "acg": 255, + "primaryLocale": "en-US", + "objectId": "8D67929F11D3E4981000E787EC6DE8A4", + "subType": "column", + "name": "TOT_UNIT_SALES" + }, + "dataType": { + "type": "double", + "precision": 8, + "scale": 0 + }, + "columnName": "TOT_UNIT_SALES" + }, + { + "information": { + "dateCreated": "2001-09-18T19:59:30.000Z", + "dateModified": "2012-06-06T12:13:04.000Z", + "versionId": "256D148442065F43BDC42FBB79438A3F", + "acg": 255, + "primaryLocale": "en-US", + "objectId": "7A4ABDFD11D5AC6FC000D98A4CC5F24F", + "subType": "column", + "name": "TOT_COST" + }, + "dataType": { + "type": "double", + "precision": 8, + "scale": 0 + }, + "columnName": "TOT_COST" + }, + { + "information": { + "dateCreated": "2007-01-08T12:22:02.000Z", + "dateModified": "2012-06-06T12:12:35.000Z", + "versionId": "215230EB4F7089CD0261C1AD12D621AD", + "acg": 255, + "primaryLocale": "en-US", + "objectId": "E50524EE420B2F1F441EFE9752DFBD7A", + "subType": "column", + "name": "New GROSS_DOLLAR_SALES (2)" + }, + "dataType": { + "type": "double", + "precision": 8, + "scale": 0 + }, + "columnName": "GROSS_DOLLAR_SALES" + } + ], + "namespace": "", + "tablePrefix": "", + "type": "normal" + }, + "logicalSize": 15, + "isLogicalSizeLocked": false, + "isTrueKey": true, + "isPartOfPartition": false, + "tableKey": [ + { + "objectId": "8D679D3511D3E4981000E787EC6DE8A4", + "subType": "attribute", + "name": "Call Center" + }, + { + "objectId": "8D679D3A11D3E4981000E787EC6DE8A4", + "subType": "attribute", + "name": "Customer City" + } + ], + "attributes": [ + { + "information": { + "objectId": "8D679D3511D3E4981000E787EC6DE8A4", + "subType": "attribute", + "name": "Call Center" + }, + "forms": [ + { + "formCategory": { + "objectId": "45C11FA478E745FEA08D781CEA190FE5", + "subType": "attribute_form_system", + "name": "ID" + }, + "name": "ID", + "dataFormat": "number", + "isKeyForm": true, + "lookupTable": { + "objectId": "8D67933211D3E4981000E787EC6DE8A4", + "subType": "logical_table", + "name": "LU_CALL_CTR" + }, + "expression": { + "text": "CALL_CTR_ID" + } + }, + { + "formCategory": { + "objectId": "035E890A4157E9828414E8A0E13E2998", + "subType": "attribute_form_custom", + "name": "Call Center None" + }, + "name": "Hyperlink", + "dataFormat": "number", + "isKeyForm": false, + "lookupTable": { + "objectId": "8D67933211D3E4981000E787EC6DE8A4", + "subType": "logical_table", + "name": "LU_CALL_CTR" + }, + "expression": { + "text": "ApplySimple(\"'Details'\",CALL_CTR_ID)" + } + } + ] + }, + { + "information": { + "objectId": "8D679D3A11D3E4981000E787EC6DE8A4", + "subType": "attribute", + "name": "Customer City" + }, + "forms": [ + { + "formCategory": { + "objectId": "45C11FA478E745FEA08D781CEA190FE5", + "subType": "attribute_form_system", + "name": "ID" + }, + "name": "ID", + "dataFormat": "number", + "isKeyForm": true, + "lookupTable": { + "objectId": "8D67934A11D3E4981000E787EC6DE8A4", + "subType": "logical_table", + "name": "LU_CUST_CITY" + }, + "expression": { + "text": "CUST_CITY_ID" + } + } + ] + } + ], + "facts": [ + { + "information": { + "objectId": "7A4ABE9111D5AC6FC000D98A4CC5F24F", + "subType": "fact", + "name": "Cost" + }, + "expression": { + "text": "TOT_COST" + } + }, + { + "information": { + "objectId": "F30CB66411D5AC5FC000D98A4CC5F24F", + "subType": "fact", + "name": "Profit" + }, + "expression": { + "text": "TOT_DOLLAR_SALES - TOT_COST" + } + }, + { + "information": { + "objectId": "8D67958411D3E4981000E787EC6DE8A4", + "subType": "fact", + "name": "Revenue" + }, + "expression": { + "text": "TOT_DOLLAR_SALES" + } + }, + { + "information": { + "objectId": "8D67958511D3E4981000E787EC6DE8A4", + "subType": "fact", + "name": "Units Sold" + }, + "expression": { + "text": "TOT_UNIT_SALES" + } + }, + { + "information": { + "objectId": "6EA98A164E62D247C14B3EBFA4866411", + "subType": "fact", + "name": "Gross Revenue" + }, + "expression": { + "text": "GROSS_DOLLAR_SALES" + } + } + ], + "primaryDataSource": { + "objectId": "37BE16AB11D3E48C1000E787EC6DE8A4", + "subType": "db_role", + "name": "Tutorial Data" + }, + "secondaryDataSources": [] +} +``` + +Response Code: 200 (On success, the API returns a list of logical tables and their specific field information.) diff --git a/docs/whats-new.md b/docs/whats-new.md index 3bc76da4f..17c8842df 100644 --- a/docs/whats-new.md +++ b/docs/whats-new.md @@ -4,6 +4,11 @@ sidebar_label: What's new Description: What's New in the REST API. --- +## 2021 Update 11 + +- [Managing cluster startup membership configuration](common-workflows/administration/monitors/manage-an-intelligence-server-cluster#cluster-startup-membership) +- [Update a table's physical table structure](common-workflows/modeling/manage-table-objects/update-a-tables-physical-table-structure.md) + ## 2021 Update 10 - [Retrieve, create, and update KPI objects and insights](common-workflows/analytics/manage-insights/manage-kpi-and-insights.md) diff --git a/sidebars.js b/sidebars.js index 67270b23c..61909924d 100644 --- a/sidebars.js +++ b/sidebars.js @@ -707,6 +707,7 @@ const sidebars = { "common-workflows/modeling/manage-table-objects/retrieve-a-partition-mapping-tables-definition", "common-workflows/modeling/manage-table-objects/create-a-new-partition-mapping-table-object", "common-workflows/modeling/manage-table-objects/update-a-partition-mapping-tables-definition", + "common-workflows/modeling/manage-table-objects/update-a-tables-physical-table-structure", ], }, {