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

KB484356: Cross join produced when applying unrelated filter


Min Zhao

Quality Engineer, Principal • MicroStrategy


This article addresses a case which fails with a cross join when an unrelated filter is applied. This article also provides a workaround to avoid this behavior.

Starting with the release of Strategy ONE (March 2024), dossiers are also known as dashboards.

Description


A cross join might be produced to apply an unrelated filter with the following criteria:

  1. Metric is defined on Attribute ONLY: Max(CurrentDay@ID){~+}
  2. Filter on unrelated attribute: Quarter in {202002}
  3. No common table between filter attribute Quarter and attribute in metric CurrentDay


The following internationalized error appears in a dossier visualization or document grid. We can see that a cross join is used to apply a filter when viewing Query Details or Engine CSI log.
A cartesian join is detected and execution is aborted per "Cartesian Join Governing" setting. Please review the design of the report/visualization. Excerpt of the query: F_currentF9F6C801172860D79EB13016C1917189 cross join L_QUARTER.[Strategy Error Instance: 91D72011439E7EAEE1124295B73837CA]

ka0PW0000001JebYAE_0EM2R000001HorI.jpeg


************   Individual Step Start   ************
Tables Accessed:
Table1	[L_QUARTER]:	Quarter, 		LOOKUP_TABLE	
Table2	[F_currentF9F6C801172860D79EB13016C1917189]:	CurrentDay, 	Row Count - current, 	FACT_TABLE	

select	max([CurrentDay]@[CurrentDay]) as [New Metric]
from	current quarter (2 tables)
with Table Join Tree: 	[F_currentF9F6C801172860D79EB13016C1917189]
	 CrossJoin [L_QUARTER]<[Quarter]@[QuarterID] in (202002)> with output level Tuple([Quarter]@[QuarterID], [CurrentDay]@[CurrentDay])
************   Individual Step End     ************

Workaround


Modify the VLDB property ‘Cartesian Join Governing’ on the Dossier Visualization level or Document Grid level to be Execute Cartesian Join. For details on how to modify the VLDB property, ‘Cartesian Join Governing’, please refer to KB484289: How to set VLDB Property "Cartesian Join Governing."

 


Comment

0 comments

Details

Knowledge Article

Published:

June 22, 2020

Last Updated:

March 21, 2024