EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

How To Reduce Intelligent Cube Size By Finding Intelligent Cube Objects Which Are Not In Use


Matthew Pierce

Director, Cloud Support • MicroStrategy


This article shows how to find intelligent cube objects which are not in use so that those objects can be removed from the cube in order to reduce publication time and shrink the size of cube in memory.

Starting with the release of Strategy ONE (March 2024), dossiers are also known as dashboards.
As an Administrator, large cubes may be used in order to handle many reporting needs throughout a project.  They may be constructed of all attributes from a particular hierarchy/department and their metrics so as to cover as wide of a reporting area as possible.  This is beneficial in preventing heavy load on the warehouse and network during peak load hours and to ensure the most responsive report executions.  These large cubes can beneficial in being able to service most reporting needs across a business unit, but can be bulky leading to slow publication time and a large amount of data stored in server memory.
To check if these cubes can potentially be reduced in size an audit can be performed on the cube objects to see which cube objects are not being used by any of the view reports, documents, or dossiers.  The below are examples for a few of the common metadata database platforms.
NOTE: To perform this audit, queries are run against the Strategy metadata database. Ensure a metadata backup is taken prior to performing the below actions.
Steps:
1) Identify the object ID of the Intelligent cube to be audited by checking the objects Property window
2) Identify the object ID of the project this cube exists within by opening the Project Configuration
Sample Cube ID = CFAF1E9B4D53990698C42E87C7AF2EB5
Sample Project ID = B7CA92F04B9FAE8D941C3E9B7E0CD754
 
3) Run the below SQL against the metadata database by replacing the Cube ID and Project ID within the respective location.
The following is the syntax for a MySQL metadata:
select a13.OBJECT_NAME, a13.OBJECT_ID,  a13.OBJECT_TYPE, a13.PROJECT_ID, a13.PARENT_ID from DSSMDOBJINFO a13 where Object_ID in (SELECT a12.DEPN_OBJID as Object_ID FROM DSSMDOBJDEPN a12 where a12.object_id = ('CFAF1E9B4D53990698C42E87C7AF2EB5') and a12.DEPN_OBJID not in (SELECT distinct a11.DEPN_OBJID FROM DSSMDOBJDEPN a11 where object_id in (SELECT OBJECT_ID FROM DSSMDOBJDEPN where depn_objid = ('CFAF1E9B4D53990698C42E87C7AF2EB5')))) and a13.PROJECT_ID = 'B7CA92F04B9FAE8D941C3E9B7E0CD754';
4) Review the results returned to quickly identify which attributes/metrics within the cube are not being used.

ka0PW0000001JWJYA2_0EM44000000gQJD.jpeg

From these results it can be determined that the Month attribute is not being used within any of the view Reports, Documents, Dossiers that reference this Intelligent Cube.  At this point, the Month attribute can be removed from the cube to reduce the publication time and size of the Intelligent Cube within memory.
Other metadata database platforms:
SQL Server:
select a13.OBJECT_NAME,  dbo.fn_UniqueIdentifierToCharMSTR(a13.OBJECT_ID) as OBJECT_ID, a13.OBJECT_TYPE as OBJECT_TYPE, dbo.fn_UniqueIdentifierToCharMSTR(a13.PROJECT_ID) as PROJECT_ID,  dbo.fn_UniqueIdentifierToCharMSTR(a13.PARENT_ID) as PARENT_FOLDER from dbo.DSSMDOBJINFO as a13 where Object_ID in (SELECT a12.DEPN_OBJID as Object_ID FROM dbo.DSSMDOBJDEPN as a12 where a12.object_id = dbo.fn_CharToUniqueIdentifier('CFAF1E9B4D53990698C42E87C7AF2EB5') and a12.DEPN_OBJID not in (SELECT distinct a11.DEPN_OBJID FROM dbo.DSSMDOBJDEPN as a11 where object_id in (SELECT OBJECT_ID FROM dbo.DSSMDOBJDEPN where depn_objid = dbo.fn_CharToUniqueIdentifier('CFAF1E9B4D53990698C42E87C7AF2EB5')))) and a13.project_id= dbo.fn_CharToUniqueIdentifier('B7CA92F04B9FAE8D941C3E9B7E0CD754');
Oracle:
select a13.OBJECT_NAME, a13.OBJECT_ID, a13.OBJECT_TYPE, a13.PROJECT_ID, a13.PARENT_ID from DSSMDOBJINFO a13 where Object_ID in (SELECT a12.DEPN_OBJID as Object_ID FROM DSSMDOBJDEPN a12 where a12.object_id = ('CFAF1E9B4D53990698C42E87C7AF2EB5') and a12.DEPN_OBJID not in (SELECT distinct a11.DEPN_OBJID FROM DSSMDOBJDEPN a11 where object_id in (SELECT OBJECT_ID FROM DSSMDOBJDEPN where depn_objid = ('CFAF1E9B4D53990698C42E87C7AF2EB5')))) and a13.PROJECT_ID = 'B7CA92F04B9FAE8D941C3E9B7E0CD754';
Third Party Products Disclaimer
Disclaimer:The third-party product(s) discussed in this technical note is manufactured by vendors independent of Strategy. Strategy makes no warranty, express, implied or otherwise, regarding this product, including its performance or reliability.
Limitation of Liability: The attached details are provided "as is" and without warranty of any kind. Strategy shall have no liability to licensee for any damages of any kind, including, but not limited to, liability for direct, indirect, special, incidental or consequential, damages (which shall include, but not be limited to, loss of data or information, loss of revenue or anticipated profits or lost business).


Comment

0 comments

Details

Knowledge Article

Published:

February 22, 2019

Last Updated:

March 21, 2024