Skip to content

Commit ec865f3

Browse files
authored
[ES|QL] Add rounding to stddev csv tests (#134586)
[ES|QL] Add rounding to stddev csv tests This commit adds in rounding to the results of the std_dev tests in order to deal with potential discrepancies in results if data is evaluated in different orders. Fixes #134244, #134251, #134448
1 parent a682ed8 commit ec865f3

File tree

4 files changed

+49
-35
lines changed

4 files changed

+49
-35
lines changed

docs/reference/query-languages/esql/_snippets/functions/examples/std_dev.md

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/kibana/definition/functions/std_dev.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/query-languages/esql/kibana/docs/functions/std_dev.md

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

x-pack/plugin/esql/qa/testFixtures/src/main/resources/stats.csv-spec

Lines changed: 43 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2986,13 +2986,14 @@ stdDeviation
29862986
required_capability: std_dev
29872987
// tag::stdev[]
29882988
FROM employees
2989-
| STATS STD_DEV(height)
2989+
| STATS std_dev_height = STD_DEV(height)
29902990
// end::stdev[]
2991+
| EVAL std_dev_height = ROUND(std_dev_height, 10)
29912992
;
29922993

29932994
// tag::stdev-result[]
2994-
STD_DEV(height):double
2995-
0.20637044362020449
2995+
std_dev_height:double
2996+
0.2063704436
29962997
// end::stdev-result[]
29972998
;
29982999

@@ -3002,33 +3003,36 @@ required_capability: std_dev
30023003
FROM employees
30033004
| STATS stddev_salary_change = STD_DEV(MV_MAX(salary_change))
30043005
// end::docsStatsStdDevNestedExpression[]
3006+
| EVAL stddev_salary_change = ROUND(stddev_salary_change, 10)
30053007
;
30063008

30073009
// tag::docsStatsStdDevNestedExpression-result[]
30083010
stddev_salary_change:double
3009-
6.875829592924112
3011+
6.8758295929
30103012
// end::docsStatsStdDevNestedExpression-result[]
30113013
;
30123014

30133015

30143016
stdDeviationWithLongs
30153017
required_capability: std_dev
30163018
FROM employees
3017-
| STATS STD_DEV(avg_worked_seconds)
3019+
| STATS std_dev = STD_DEV(avg_worked_seconds)
3020+
| EVAL std_dev = ROUND(std_dev, 10)
30183021
;
30193022

3020-
STD_DEV(avg_worked_seconds):double
3023+
std_dev:double
30213024
5.76010425971634E7
30223025
;
30233026

30243027
stdDeviationWithInts
30253028
required_capability: std_dev
30263029
FROM employees
3027-
| STATS STD_DEV(salary)
3030+
| STATS std_dev = STD_DEV(salary)
3031+
| EVAL std_dev = ROUND(std_dev, 9)
30283032
;
30293033

3030-
STD_DEV(salary):double
3031-
13765.12550278783
3034+
std_dev:double
3035+
13765.125502788
30323036
;
30333037

30343038
stdDeviationConstantValue
@@ -3045,17 +3049,19 @@ STD_DEV(languages):double
30453049
stdDeviationGroupedDoublesOnly
30463050
required_capability: std_dev
30473051
FROM employees
3048-
| STATS STD_DEV(height) BY languages
3052+
| STATS std_dev = STD_DEV(height) BY languages
3053+
| EVAL std_dev = ROUND(std_dev, 10)
30493054
| SORT languages asc
3055+
| KEEP std_dev, languages
30503056
;
30513057

3052-
STD_DEV(height):double | languages:integer
3053-
0.22106409327010415 | 1
3054-
0.22797190865484734 | 2
3055-
0.18893070075713295 | 3
3056-
0.14656141004227627 | 4
3057-
0.17733860152780256 | 5
3058-
0.2486543786061287 | null
3058+
std_dev:double | languages:integer
3059+
0.2210640933 | 1
3060+
0.2279719087 | 2
3061+
0.1889307008 | 3
3062+
0.14656141 | 4
3063+
0.1773386015 | 5
3064+
0.2486543786 | null
30593065
;
30603066

30613067
stdDeviationGroupedAllTypes
@@ -3067,12 +3073,14 @@ FROM employees
30673073
int_std_dev = STD_DEV(salary),
30683074
long_std_dev = STD_DEV(avg_worked_seconds)
30693075
BY languages
3076+
| EVAL double_std_dev = ROUND(double_std_dev, 10), int_std_dev = ROUND(int_std_dev, 10), long_std_dev = ROUND(long_std_dev, 10)
30703077
| SORT languages asc
3078+
| KEEP double_std_dev, int_std_dev, long_std_dev, languages
30713079
;
30723080

30733081
double_std_dev:double | int_std_dev:double | long_std_dev:double | languages:integer
3074-
0.22106409327010415 | 15166.244178730898 | 5.1998715922156096E7 | 1
3075-
0.22797190865484734 | 12139.61099378116 | 5.309085506583288E7 | 2
3082+
0.2210640933 | 15166.2441787309 | 5.1998715922156096E7 | 1
3083+
0.2279719087 | 12139.6109937812 | 5.309085506583288E7 | 2
30763084
;
30773085

30783086
stdDeviationNoRows
@@ -3089,11 +3097,12 @@ null
30893097
stdDevMultiValue
30903098
required_capability: std_dev
30913099
FROM employees
3092-
| STATS STD_DEV(salary_change)
3100+
| STATS std_dev = STD_DEV(salary_change)
3101+
| EVAL std_dev = ROUND(std_dev, 10)
30933102
;
30943103

3095-
STD_DEV(salary_change):double
3096-
7.062226788733394
3104+
std_dev:double
3105+
7.0622267887
30973106
;
30983107

30993108
stdDevFilter
@@ -3103,23 +3112,28 @@ FROM employees
31033112
, less_than = STD_DEV(salary_change) WHERE languages <= 3
31043113
, salary = STD_DEV(salary * 2)
31053114
, count = COUNT(*) BY gender
3115+
| EVAL greater_than = ROUND(greater_than, 10)
3116+
, less_than = ROUND(less_than, 10)
3117+
, salary = ROUND(salary, 10)
31063118
| SORT gender asc
3119+
| KEEP greater_than, less_than, salary, count, gender
31073120
;
31083121

3109-
greater_than:double | less_than:double | salary:double | count:long | gender:keyword
3110-
6.4543266953142835 | 7.57786788789264 | 29045.770666969744 | 33 | F
3111-
6.975232333891946 | 6.604807075547775 | 26171.331109641273 | 57 | M
3112-
6.949207097931448 | 7.127229475750027 | 27921.220736207077 | 10 | null
3122+
greater_than:double | less_than:double | salary:double | count:long | gender:keyword
3123+
6.4543266953 | 7.5778678879 | 29045.7706669697 | 33 | F
3124+
6.9752323339 | 6.6048070755 | 26171.3311096413 | 57 | M
3125+
6.9492070979 | 7.1272294758 | 27921.2207362071 | 10 | null
31133126
;
31143127

31153128
stdDevRow
31163129
required_capability: std_dev
31173130
ROW a = [1,2,3], b = 5
3118-
| STATS STD_DEV(a), STD_DEV(b)
3131+
| STATS std_dev_a = STD_DEV(a), std_dev_b = STD_DEV(b)
3132+
| EVAL std_dev_a = ROUND(std_dev_a, 10), std_dev_b = ROUND(std_dev_b, 10)
31193133
;
31203134

3121-
STD_DEV(a):double | STD_DEV(b):double
3122-
0.816496580927726 | 0.0
3135+
std_dev_a:double | std_dev_b:double
3136+
0.8164965809 | 0.0
31233137
;
31243138

31253139
resolveGroupingsBeforeResolvingImplicitReferencesToGroupings

0 commit comments

Comments
 (0)