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

KB440215: Not Create M:M Relationship Tables when publishing MTDI cubes in memory


Community Admin

• Strategy


This knowledge base article describes a new feature when publishing MTDI cubes in memory which does not create M:M relationship tables.

Business users might not want Strategy to build any M:M Relationship tables while publishing the Intelligent Cube In-Memory due to the following reasons: 
1) It distorts the actual relationship between a tuple of 3 or more attributes related to each other through M:M relationship in Project Schema by creating individual tables and joining through them when dataset is In-Memory. Live Connect provides true-er behavior reflecting the tuple data provided in the table.
2) If users want to provide and isolated M:M relationship between two attributes in the dataset, a separate table would be uploaded/provided anyways. Strategy should use this table to perform joins instead of building another table that just adds to memory footprint and degrade cube publication/incremental update performance by adding one more in-memory structure to update/manage. 
Other Reasons:
1) M:M Relationships are always supported via a fact. Going forward, Strategy intend to not overload relationship concept with such special relationships through fact. 1:M/1:1 relationships are the only relationships that are true relationships independent on facts.
2) CSI/SQL Engine have capability to perform auto join via user uploaded tables. 
3) CSI/SQL Engine would also have capability to define the scope of auto-join/filter propagation through fact tables using hierarchies.
Criteria:
1) For any cubes that are (re)published with either user defined/auto detected local M:M relationships OR inherited M:M relationships from Project Schema, there is no REL_A_B MANY_TO_MANY table created when publishing In-Memory cube.
2) Compared to a similar cube in previous release, memory foot print and cube publication performance improve proportional to the number/size of M:M relationships created while publishing the cube.
3) Unless a cube is republished, the existing M:M relationships that are part of cube cache do not get dropped during incremental update/unload/reload operations.
When a cube meeting the above criteria is published successfully, there will be some warning messages printed in the DSSErrors log, like the following:
2018-12-10 05:04:38.252 [HOST:env-123623laiouse1][SERVER:CastorServer][PID:29202][THR:139648007051008][Engine][Error] Attribute named Time Period with GUID 83505B4C40389AE45A9BDEA806DDB35E and Attribute named Date with GUID 3286D44B4572B4CAD29A80B0E88E789C  from Intelligent Cube named Platform Analytics Cube with GUID 7C5CD53E11E529671FB700802FF7BD86 are mapped to project attributes and are 1:M relationship in the project but M:M relationship as per data in Intelligent Cube.
Strategy is using this message to warn the user the M:M relation table won't be created which could cause some potential performance/data issue. The user can fix the data in the WH if the expected relation should be 1:M. Or they can remove the relation definition if the actual relation is M:M. Though Strategy won't create M:M relationship table any more, the user can still upload their own separate relation table.
This feature has been implemented since Strategy 10.11. To utilize this feature,

  • If you are upgrading to Strategy 11.0 or above, enable project level setting "Data Engine Version" to 11. This property can only be enabled through Workstation. For more details on enabling the setting, refer to Change Data Engine Version.
  • If you are upgrading to Strategy 10.9 / 10.10 / 10.11: enable the Feature Flag "Defect fixes that may impact Data, SQL, MDX, CSI" within the Web Preferences -> Project Defaults. For more details on enabling Feature Flags refer to KB439821: What are the Feature Flag options and what do they accomplish in MicroStrategy Web 10.8 and up. . Starting Strategy 11.0, this Feature Flag is removed and replaced with project level setting called "Data Engine Version".

The internal reference number for this is   KB440215


Comment

0 comments

Details

Knowledge Article

Published:

March 31, 2018

Last Updated:

December 31, 2018