Skip to main content

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

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



If the i-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 MicroStrategy 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.



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';

Comments

Popular posts from this blog

Prompt-in-prompt(Nested Prompts) in Microstrategy

Prompt-in-prompt(Nested Prompts) in  Microstrategy Nested prompts allows you to create one prompt based on the other and other bases on another, nested prompts allows us to prompt the highest level(Like year) to middle level(like Quarter, then to the low level(like Month). Here you can see how to  create a 3-level deep nested prompt that will prompt the user to select a year, then a quarter within that year, then a month within that quarter. Prompt-in-prompt is a feature in which the answer to one prompt is used to define another prompt. This feature is only implemented for element list prompts . The following procedure describes how to achieve this: Create the highest level filter. This is a filter which contains a prompt on an attribute element list. Create a filter on the attribute "Year." Click "prompt on attribute element list" and click "Next" through the rest of the screens to accept the default values. Do not set any additio...

Like / Contains operator in Tableau

Contains (Like) operator in Tableau SInce there is no like operator in Tableau it provides CONTAINS operator.  Little different syntax is there but not too complex. Syntax for contains is:  Below is the example for using CONTAINS operator in a calculated field in Tableau. IF (CONTAINS([campaign_name],"Intent")) OR (CONTAINS([campaign_name_derived],"Intent")) THEN "Yes"   ELSE "No" END  

Microstrategy document/dashboard applying selections as filters or slices

Applying selections as filters or slices In a Microstrategy Document the selections a user makes in a selector can either filter or slice the data in the target: Filtering means that the data for the current selection is calculated only when it is requested by the user. The selections are used to filter the underlying dataset before the metric values are aggregated at the level of the Grid/Graph that is displayed in the document. If the source attribute is not included in the Grid/Graph, the metric values from all the selected elements are aggregated and shown at the level specified in the Grid/Graph. All metric condition selectors (which filter metric values or ranks) and selectors that target other selectors filter data by default. You cannot change them to slicing selectors. Slicing means that the data for each available item in the selector is calculated in advance when the document is first displayed. Selections made while ...

Prompt-in-prompt (Nested prompt) feature in a FreeForm SQL Report

Prompt-in-prompt (Nested prompt) feature in a FreeForm SQL Report In some business scenarios, it is required to implement prompt-in-prompt (nested prompt) feature to use the answer of one prompt to qualify on the elements of another prompt in Freefrom SQL reports in MicroStrategy Developer 9.4.x-10.x. The following procedure describes how to achieve prompt-in-prompt in a Freeform SQL report in MicroStrategy Tutorial project: Create a new filter, select Add an Attribute qualification and choose the highest level attribute Country. Make sure to Qualify On: Elements. Click Prompt as the image shown below. Accept all the default values without any changes in the popped up window after clicking on "Prompt" as shown below. Save the filter as "Country Filter". Click "Prompt", choose "Use a filter to reduce the number of elements" option and select Country Filter created in last step, as shown below. Save the filter as "Region Filter...

Custom formatting Microstrategy metric format into 1M 2M etc

Custom formatting metric values of 1,100,000 into a 1.1 million 1.1M type format  In addition to the the pre-defined options for metric formatting, MicroStrategy supports custom formatting. The MicroStrategy Tutorial project is used to explain how users can customize numbers from "1,000,000" to a "1.00" format. Consider a report containing row data values greater than a million, as illustrated below: To format these metric values to use a decimal (i.e., 1.1) instead of showing all the numerals, right-click on the metric (' Revenue ' , for this example) and select  Formatting > Revenue Values , as shown below: Select " Custom " as a category in the Number tab and enter ' 0,,.## ' (without quotation marks), as shown below: Confirm that the format applied properly:

HyperIntelligence Training Videos

HyperIntelligence  Training Videos           Design and build hyper cards Optimizing Datasets for HyperIntelligence Using the HyperIntelligence for Office Outlook Add-In Building HyperIntelligence Cards Using HyperIntelligence for Mobile on Android Deploying HyperIntelligence for Outlook Insights On-The-Go: HyperIntelligence for Mobile Building HyperIntelligence Profile Cards Designing Custom HyperIntelligence Cards Using the Calendar with HyperIntelligence for Mobile

Email Subscription in Microstrategy

Create Email Subscription in Microstrategy Creates an email subscription. Do not include any leading or trailing spaces in the ANSWER parameters. This causes a SQL error and prevents the command from executing. Ex: CREATE EMAILSUBSCRIPTION "New Multi Users" FOR OWNER "administrator" SCHEDULE "Books Closed" CONTACTGROUP "TEST"  CONTENT "Electronics Revenue by Region" IN FOLDER "\Public Objects\REPORTS\SUBJECT Areas\Sales and Profitability Analysis" IN PROJECT "MicroStrategy Tutorial" DELIVERYFORMAT HTML  EXPIRATIONDATE NEVER EXPRIED FILENAME "file_name"   SUBJECT  "Test REPORT" MESSAGE "Please Test"; CREATE EMAILSUBSCRIPTION [ subscription_name ] [FOR OWNER login_name ] SCHEDULE schedule_name  (ADDRESS address_name | USER user_name  | CONTACT contact_name [ADDRESS contact_ address_name ] | CONTACTGROUP contact_group_name ) CONTENT ( report_or_document_name IN FOLDER   loc...
Star schemas and aggregate (or summary) fact tables Aggregate tables can further improve query performance by reducing the number of rows over which higher-level metrics must be aggregated.  However, the use of aggregate tables with dimension tables is not a valid physical modeling strategy. Whenever aggregation is performed over fact data, it is a general requirement that tables joined to the fact table must be at the same attribute level or at a higher level. If the auxiliary table is at a lower level, fact rows will be replicated prior to aggregation and this will result in inflated metric values (also known as "multiple counting"). With the above Time dimension table, a fact table at the level of Day functions correctly because there is exactly one row in DIM_TIME for each day. To aggregate the facts to the level of Quarter, it is valid to join the fact table to the dimension table and group by the quarter ID from the dimension table. Sql select DT...

"System Prompt" and its uses in MicroStrategy

System Prompt and its uses in MicroStrategy WHAT IS A "SYSTEM PROMPT"? "System Prompt" is a system object that was introduced back in version 8.0.0. The object is named as "User Login" and is implemented as a prompt object. The object can be found under Public Objects > Prompts > System prompts, as shown below: Unlike ordinary prompt objects, system prompts don't require any answers from the user. When a report containing a system prompt runs, the prompt is answered automatically with the login of the user who runs the report. On the other hand, like other prompt objects, answers to system prompts are used to match caches. Therefore, users don't share caches for reports that contain system prompts. For details on how caches are matched, refer to the following MicroStrategy Knowledge Base document: KB5300-7X0-0147 - How are caches matched in MicroStrategy Intelligence Server 7.x? WHEN ARE SYSTEM PROMPTS USED?    System pr...