Initial experiments using the new Database query logic with Conditional Statistical Functions (#1880)

- Refactoring of the Statistical Conditional functions (`AVERAGEIF()`, `AVERAGEIFS()`, `COUNTIF()`, `COUNTIFS()`, `MAXIFS()` and `MINIFS()` to use the new Database functions codebase.
- Extended unit testing
- Fix handling for null values
- Fixes to wildcard text searches

There's still scope for further improvements to memory usage and performance; but for now the code is stable with all unit tests passing
This commit is contained in:
Mark Baker
2021-02-27 18:26:12 +01:00
committed by GitHub
parent 8dcdf58131
commit 08673b5820
22 changed files with 570 additions and 254 deletions
@@ -21,6 +21,20 @@ return [
],
'=H',
],
[
1,
[
[1],
[2],
[3],
],
[
['Y'],
['Y'],
['N'],
],
'=Y',
],
[
2,
[
@@ -41,4 +55,18 @@ return [
],
'=B',
],
[
125000,
[223000, 125000, 456000, 322000, 340000, 198000, 310000, 250000, 460000, 261000, 389000, 305000],
[1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4],
1,
],
[
261000,
[223000, 125000, 456000, 322000, 340000, 198000, 310000, 250000, 460000, 261000, 389000, 305000],
[1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4],
'>2',
['Jeff', 'Chris', 'Carol', 'Jeff', 'Chris', 'Carol', 'Jeff', 'Chris', 'Carol', 'Jeff', 'Chris', 'Carol'],
'Jeff',
],
];