admin
2025-01-22 7e31442f0e9b07764e9c6a9680d3d4aeba5fe1de
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Quintiq file version 2.0
#parent: #root
Constraint IsStandardDeviationValid
{
  #keys: '2[151132.0.11701268][151132.0.11701269]'
  ConstraintCondition:
  [*
    return guard( this.Summary().StandardDeviation().IsInfinite()
                or this.Summary().StandardDeviation() < this.UpperThresholdForStandardDeviation(), true );
  *]
  ConstraintKind: 'Soft'
  ConstraintText:
  [*
    @Translations::LibOpt_Statistic_HighStandardDeviation( LibOpt_Utility::FormatRealWithDecimalPlaces( this.Summary().StandardDeviation() ),
                                                                                                       LibOpt_Utility::FormatRealWithDecimalPlaces( this.UpperThresholdForStandardDeviation() ),
                                                                                                       ifexpr( this.UOM() = Translations::LibOpt_UOM_NA(), '', this.UOM() )
                                                                                                    )@
  *]
  Description:
  [*
    Whether the `LibOpt_StatisticSummary.StandardDeviation` among values collected by this `LibOpt_StatisticScopeElement` is within a reasonable range.
    
    The `UpperThreshold` and/or `LowerThreshold` of a `LibOpt_StatisticScopeElement` are derived using the "outlier" approach.
    When the `LibOpt_StatisticSummary.StandardDeviation` is too large (indicating that the spread of the data points is large), it follows that the `LibOpt_StatisticSummary.IQR` is large too, which makes the "outlier" thresholds too large/small.
    As a result, none of the values collected by this statistic would actually violate the "outlier" thresholds, and no `LibOpt_Issues` will be created..
    The absence of issues gives a false impression that the aspect that this `LibOpt_StatisticScopeElement` focuses on does not require further attention.
    Thus, if this constraint is fired for your statistic, then it might be worth to look into the values of this `LibOpt_StatisticScopeElement` even though no issues were created.
  *]
}