Posts

Showing posts from 2012

Microstrategy Performance Tuning

Image
We have different options to make MSTR to write a better query and again it is depends on your business logic. Here I am giving few useful and handy options which improves MSTR query and its performance. Few VLDB settings which are helpful to write better query with respect to different scenarios: Select/Insert --> Attribute Form Selection --> change to select ID and other forms -this might prevent some of the lookup table joins if all information are already in the temp tables. Might not work if you have outer join settings in final pass  Select/Insert --> Attribute Selection Option --> change to select other attributes in join tree - this might again diminish the amount of joins in the final pass Query Optimization --> Additional Final Pass --> change to have one additional pass for lkp tables only - this might split your final join and make it easier for SQL server Lookup Table Join Order --> change to "Fully ..." - this might change the

Internationalization - Translation details for particular language object (Metadata query)

select a . object_id , a . object_name , b . translation from dbo . DSSMDOBJINFO a join dbo . DSSMDOBJTRNS b on a . object_id = b . object_id where b . project_id = 'Project_id' and b . Locale = 16778249 and a . project_id = 'Project_id' you can use the query to get path from object id to get the path information along with this.

Useful Metadata Queries - Microstrategy

Object ID in MSTR 9.2: Object id in MSTR 9.2 metadata tables has been stored as Unique identifier. So we cannot use Metadata object id in MSTR Desktop and vice versa. But we have a built in functions to convert this. MSTR Metadata Object ID to Desktop Object ID: dbo.fn_UniqueidentifierToCharMsTR () MSTR Desktop Object ID to MSTR Metadata Object ID dbo.fn_CharToUniqueidentifier() Metadata query to get user and group details Excluding Everyone group: select GROUPNAME . object_name [Customer_group] , USERNAME . object_name [User_name] from dbo . DSSMDOBJINFO GROUPNAME       join             ( select object_name , OBJDEPN . depn_objid from dbo . DSSMDOBJINFO b                     join                     ( select distinct Object_id , depn_objid from dbo . DSSMDOBJDEPN                      where object_id in ( select object_id from dbo . DSSMDUSRACCT where isgroup = 0 )                      and depn_obji