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: