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

Case functions Microstrategy

Ca se functions Microstrategy Case functions return specified data in a SQL query based on the evaluation of user-defined conditions. In general, a user specifies a list of conditions and corresponding return values. Case This function evaluates multiple expressions until a condition is determined to be true, then returns a corresponding value. If all conditions are false, a default value is returned.  Case  can be used for categorizing data based on multiple conditions. This is a single-value function. Syntax Case ( Condition1 ,  ReturnValue1 ,  Condition2 , ReturnValue2 ,...,  DefaultValue ) Example Case(([Total Revenue] < 300000), 0, ([Total Revenue] < 600000), 1, 2) sum(Case (Day@DESC in (“Sat”,”Sun”), Sales, 0) {~+} Sum(Case(Category@DESC In("Books","Electronics"),Revenue,0)){~+} CaseV (case vector) CaseV  evaluates a single metric and returns different values according to the results. It can be used to perfo...

Apply or Pass-through functions in Microstrategy

Ap ply (Pass-Through) functions MSTR Apply functions provide access to functions or syntactic constructs that are not standard in MicroStrategy but are provided by various RDBMS systems.. Syntax common to Apply functions Apply Function Name   ("expression with placeholders", Arg1, Arg2, Arg3, …ArgN) where: Apply Function Name  – is a generic name used for the predefined pass-through functions described above expression with placeholders  – is the string describing the actual expression or syntax that the engine uses while generating the SQL and which is sent to the RDBMS. The placeholders are represented by #0, #1, and so on. "#" is a reserved character for MicroStrategy. Arg  – is an argument that replaces the parameter markers in the pattern. Arg1 replaces #0, Arg2 replaces #1, and so on. There are   five  pre-defined Apply functions to replace regular, predefined functions of the same type. For more details, cli...

MicroStrategy URL API Parameters

MicroStrategy URL Structure The following table summarizes the root URL structure used for every request to MicroStrategy Web. Environment Main Application URL Administration URL J2EE http://webserver/MicroStrategy/servlet/mstrWeb http://webserver/MicroStrategy/servlet/mstrWebAdmin .NET http://webserver/MicroStrategy/asp/Main.aspx http://webserver/MicroStrategy/asp/Admin.aspx Every request sent to MicroStrategy Web calls a central controller. Parameters are appended to  Main.aspx  or  mstrWeb  (in a .NET and J2EE environment, respectively) to indicate to the controller how the request should be internally forwarded and handled. The following examples show a URL for accessing a MicroStrategy folder when the user does not have an existing session. The URL contains not only the parameters needed to connect to MicroStrategy Web, but also the parameters needed to log on and create a session. J2EE environment: <a href="http:...

Microstrategy Custom number formatting symbols

Custom number formatting symbols If none of the built-in number formats meet your needs, you can create your own custom format in the Number tab of the Format Cells dialog box. Select  Custom  as the Category and create the format using the number format symbols listed in the table below. Each custom format can have up to four optional sections, one each for: Positive numbers Negative numbers Zeros Text Each section is optional. Separate the sections by semicolons, as shown in the example below: #,###;(#,###);0;"Error: Entry must be numeric" For more examples, see  Custom number formatting examples . To jump to a section of the formatting symbol table, click one of the following: Numeric symbols Character/text symbols Date and time symbols Text color symbols Currency symbols Conditional symbols Numeric symbols For details on how numeric symbols apply to the Big Decimal data type, refer to the  Project Design Guide . ...

Control the display of null and zero metric values

Show   Control the display of null and zero metric values in a grid report You can determine how to display or hide rows and columns in a grid report that consist only of null or zero metric values. You can have MicroStrategy hide the rows and columns in the following ways: Hide rows and columns that consist only of null metric values Hide rows and columns that consist only of zero metric values Hide rows and columns that consist only of null or zero metric values (default) Once you have defined how MicroStrategy hides null and zero metric values in the grid, you can quickly show or hide the grid using the Hide Nulls/Zeros option in the Data menu, as described below, or by clicking the  Hide Nulls/Zeros  icon  in the Data toolbar. To determine how null and zero metric values are displayed or hidden in a grid report Open the report in Edit mode. From the  Tools  menu, select  Report Options . The Report Options...

Transaction Services - Configure Transactions

Configure Transactions in MSTR Web Transaction Services-enabled document displayed on an iPhone, iPad, or Android device can allow users to insert/update/delete data in to the database, using the options in the Configure Transactions Editor. To do so, you must link a Transaction Services report to a grid or to text fields in a panel stack. If the document is being displayed on an iOS device, you can link the report to the cells of a transaction table. Data from the input objects defined in the Transaction Services report is displayed in the grid, text fields, or cells for users to edit. Prerequisites:        Ø   You must have the Web Configure Transaction privilege assigned by MSTR user admin. Ø   Create the Transaction Services report (usually a grid report) you want to link to the grid, text fields, or transaction table cells. Make sure that the Transaction Services report must contain the input object for each value you w...

Derived metric based on attribute values

Derived metric based on attribute values Here is how could create and display data correctly on using below simple steps.  Create a report with Category, Subcategory and Revenue. Create New Metric in a report or VI.  Case((Category@ID = 1), Revenue, 0) Booksand Name it as Revenue for  where 2 is Category ID for "Books"  Report will display result as below.  Result for new metric is blank. Now to fix this create a new Derived metric on Category attribute first with formula as  Max(Category) {~ }  and calling Books Now Edit the "Revenue for Books metric and Replace Category@ID with this new Books metric formula would looks like this  Case((Books = 1), Revenue, 0).  Report result would now display as expected as shown below

Events and event-triggered schedules in Microstrategy

Events and event-triggered schedules in Microstrategy Subscriptions and tasks that are based on event-triggered schedules execute when a MicroStrategy event is triggered. These triggers do not need to be defined in advance. A system external to Intelligence Server is responsible for determining whether the conditions for triggering an event are met. Once Intelligence Server has been notified that the event has taken place, Intelligence Server performs the tasks associated with the corresponding schedule. In a clustered environment, administrative tasks associated with event-triggered schedules are executed only by the node on which the event is triggered. MicroStrategy recommends that you use event-triggered schedules in situations where it is important to control which node performs certain tasks. If projects are distributed asymmetrically across the cluster, when you assign an event-triggered schedule to a project, make sure you trigger the event on all nodes on which tha...

Microstrategy "Error type: Odbc error. Odbc operation attempted

 "Error type: Odbc error. Odbc operation attempted: SQLExecDirect. [HYT00:0: on SQLHANDLE] [MicroStrategy][ODBC Oracle Wire Protocol driver]Timeout expired" is shown when executing reports from Web When users are trying to execute some reports in MicroStrategy web in particular, they may receive the Error “SQL Generation Complete Index out of range” and “Timeout expired” error as shown below: Possible Causes: One possible cause is that the MicroStrategy Intelligence Server using a cached database connection that was already dropped by the RDBMS. To resolve this: Admin should delete the database connection caches and create a new DSNs in case they are sharing DSNs to connect to different databases. In addition, change the settings for the ‘Connection lifetime’ and the ‘Connection idle time out’.  Follow the steps below to perform the mentioned changes and verify the report after each step and some of the settings require i-server r...

RunningSum calculation only on the metric subtotal in MicroStrategy

RunningSum calculation only on the metric subtotal in MicroStrategy Here are the series of steps to setup report objects in which metrics and subtotals so only the  subtotal field  will contain the  RunningSum  and the  regular metric values  will be  standard sum values . 1) Create Metric 1 which is the sum of the fact that is to be in the columns. 2) Create Metric2 as the RunningSum of Metric1.  NOTE:  The  sortby  parameter for the RunningSum should be set to whichever attribute you want the report sorted by. 3) Create Metric3 as Metric1 + (Metric2 x 0) 4) Create a new subtotal called "Max" which is defined as Max() 5) On the Subtotals/Aggregation tab for Metric 3, set the Total subtotal function to be "Max" and select the check box for "Allow Smart Metric" 6) Create the desired report and place the 3 metrics on the report.  NOTE:  Only Metric3 is required on the gri...