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

KB482992: With Data Engine Version=11 or later, behavior is changed for equality between double type and zero


Paramjeet Sidhu

Quality Architect, Senior • MicroStrategy


Starting from MicroStrategy 11.0 with Data Engine set to 11, the behavior for calculating equality between double-type data and 0 is changed, which may result in unexpected data changes in some cases.

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

Symptoms


Data mismatch is seen after changing Data Engine Version to 11 for data that involves calculations that compare a double-type metric to 0, for example, in a filter or a condition on the metric.
 

Cause


Data Engine Version 10 uses an absolute tolerance number (1E-10) in double-type comparisons to account for the random order of aggregations resulting in slightly different double values with seemingly the same data. In other words, all the numbers between -1E-10 and 1E-10 are considered logically equal to 0.
Starting with Data Engine Version 11, we are using the relative tolerance; it is calculated dynamically to be relative to the values that are being compared. The relative tolerance is calculated as Max(abs(M1), abs(M2))*1E-10. This change will introduce data differences for comparisons with 0. As double type data won't be stored in an accurate way by the computer, the equality comparison between a small number and 0 should be avoided. The user can achieve the V10's behavior by using BETWEEN comparison. 
 

Steps to Reproduce


We provide an example of how data may change between Data Engine Versions because of what is considered equal to 0.

  • Set Data Engine Version to 10.
  • Create a new dossier, and add the data below using Clipboard:  

    https


    Expected BehaviorCurrent BehaviorUnable to load visualization. Data exceeds the maximum limit. Use a filter to reduce the data and try again.AttributeMetrica0b1e-9c1e-10d1e-11Data Engine Version = 10Data Engine Version = 11

    https


    Expected BehaviorCurrent BehaviorUnable to load visualization. Data exceeds the maximum limit. Use a filter to reduce the data and try again.AttributeMetrica0b1e-9c1e-10d1e-11Data Engine Version = 10Data Engine Version = 11

    https


    Expected BehaviorCurrent BehaviorUnable to load visualization. Data exceeds the maximum limit. Use a filter to reduce the data and try again.AttributeMetrica0b1e-9c1e-10d1e-11Data Engine Version = 10Data Engine Version = 11

    https


    Expected BehaviorCurrent BehaviorUnable to load visualization. Data exceeds the maximum limit. Use a filter to reduce the data and try again.AttributeMetrica0b1e-9c1e-10d1e-11Data Engine Version = 10Data Engine Version = 11

    https


    Expected BehaviorCurrent BehaviorUnable to load visualization. Data exceeds the maximum limit. Use a filter to reduce the data and try again.AttributeMetrica0b1e-9c1e-10d1e-11Data Engine Version = 10Data Engine Version = 11

    https


    Expected BehaviorCurrent BehaviorUnable to load visualization. Data exceeds the maximum limit. Use a filter to reduce the data and try again.AttributeMetrica0b1e-9c1e-10d1e-11Data Engine Version = 10Data Engine Version = 11

    https


    Expected BehaviorCurrent BehaviorUnable to load visualization. Data exceeds the maximum limit. Use a filter to reduce the data and try again.AttributeMetrica0b1e-9c1e-10d1e-11Data Engine Version = 10Data Engine Version = 11

    https


    Expected BehaviorCurrent BehaviorUnable to load visualization. Data exceeds the maximum limit. Use a filter to reduce the data and try again.AttributeMetrica0b1e-9c1e-10d1e-11Data Engine Version = 10Data Engine Version = 11


  • Drag Attribute and Metric to a Grid Visualization.
  • Add a filter, Metric equals 0: 
ka0PW0000001JZeYAM_0EM2R000000lnGT.jpeg
  • Save the dossier, change the Data Engine Version to 11, and re-run the dossier.
  • Note the difference between what is considered equal to 0 for this specific case:

https


Expected BehaviorCurrent BehaviorUnable to load visualization. Data exceeds the maximum limit. Use a filter to reduce the data and try again.AttributeMetrica0b1e-9c1e-10d1e-11Data Engine Version = 10Data Engine Version = 11

https


Expected BehaviorCurrent BehaviorUnable to load visualization. Data exceeds the maximum limit. Use a filter to reduce the data and try again.AttributeMetrica0b1e-9c1e-10d1e-11Data Engine Version = 10Data Engine Version = 11

Strategy Internal Reference number for this technical note is KB482992 and DE118648.


Comment

0 comments

Details

Knowledge Article

Published:

March 21, 2019

Last Updated:

March 21, 2024