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

KB35189: "The object shown in the following hierarchy no longer exists in schema: -Table XXX error. Engine Attribute Role Limit Exceeded!" error appears when updating the schema in MicroStrategy


Community Admin

• Strategy


This article notes a limitation for updating schema with engine attribute role option enabled

SYMPTOM:
When attempting to update the schema in a metadata where the Attribute Engine Role VLDB setting is enabled, the error below is thrown:
 
Error(s) occurred while loading schema: DSSSQLEngine: Schema loading error: Population Exception: The object shown in the following hierarchy no longer exists in schema: -Table XXX error. Engine Attribute Role Limit Exceeded! To get rid off this error: (1) Turn off Engine Attribute Role setting in VLDB dialog; OR (2) Use Table Alias feature.
Error(s) occurred while loading schema: 0.
  
CAUSE:
This error message means that the table shown in the error text needs to be split into a very large number tables. Strategy has a limitation that only allows one table to be split into no more than 100 tables. The error above is shown when this limitation is surpassed.
 
When the Engine Attribute Role feature is enabled, for each table in a Strategy metadata, depending on the number of attributes associated with each column in the table, Strategy splits it and creates a table for each combination. This number of tables is therefore calculated by multiplying the number of distinct attributes mapped to each column in the table.  An example is shown below:

  • C1 represents the number of attributes pointing to Column1;
  • C2 represents the number of attributes pointed to Column2;

Table A contains two columns:

  • ColA
  • ColB
  • There are 2 attributes (A1, A2) mapped to ColA;
  • There are 3 attributes (A3, A4, A5) mapped to ColA + ColB;

This means that Table A will be split into 6 (3*2) tables for each combination from these 5 attributes. This number cannot be larger than 100, otherwise the issue described above will be reproduced.
 
ACTION:
There are two ways to address this issue:
 
1) Create table aliases to separate some attribute groups, this will bring down the splitting to less than 100 tables for each of those aliases.
2) Disable the Engine Attribute Role feature at the database instance level, as shown in the screenshot below:
 

ka04W000000OfAuQAK_0EM440000002Ds7.jpeg

  


Comment

0 comments

Details

Knowledge Article

Published:

May 17, 2017

Last Updated:

May 17, 2017